diff --git a/ReleaseNotes/ReleaseNotes4.3.0.txt b/ReleaseNotes/ReleaseNotes4.3.0.txt new file mode 100644 index 0000000000..abbea305b7 --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.3.0.txt @@ -0,0 +1,530 @@ + + Geant4 3.0 Release Notes + ------------------------ + + 15th December 2000 + +These are the main new features/fixes included in this release (for the +detailed list of fixes/additions, please refer to the related History files): + + o Analysis + -------- + - New module for analysis/histogramming management and concrete + drivers interfaces through AIDA: JAS, Lizard, OpenScientist. + + o Configuration: + ------------- + - Added unsupported configuration WIN32-g++ + for Windows/NT/9X and Cygwin with g++ compiler. + - Introduced changes to handle analysis module. + - Incorporated building of shared libraries into .gmk files + (NOTE: tests on shared libraries currently perfomed only on + Linux-g++ and SUN-CC platforms) + o Introduced new variables steering the building of shared/static + libraries (static still default): G4LIB_BUILD_SHARED and + G4LIB_BUILD_STATIC. + o Introduced new variable (G4LIB_USE_GRANULAR) to force using of + granular libraries. + - Added rules for "includes" gmake target, to copy all header files + in a single location specified by $G4INCLUDE path. + - Introduced SUN-CC5 G4SYSTEM architecture for SUN CC 5.1 compiler. + + o Event: + ----- + - Added new Set methods to G4PrimaryVertex and G4PrimaryParticle. + - Introduced ParticleGun for Ions and weights for primary vertex + and particle: + o G4ParticleGun: added Set/GetParticleCharge methods for ions. + o G4ParticleGunMessenger: added new command of /gun/ion; + modified command of /gun/particle. + o G4PrimaryParticle: add Set/GetCharge methods, added weight. + o G4PrimaryVertex: added weight. + o G4PrimaryTransformer: use G4PrimaryParticle::GetCharge to give + dynamic charge in G4DynamicParticle; set weight of G4Track. + - Introduced G4GeneralParticleSource and related classes. + G4GeneralParticleSource is an alternative primary source + generator to G4ParticleGun. It has all the functions of + G4ParticleGun plus many options for specifying the primary + event particle and vertex. + + o Electromagnetic Processes (Low-energy): + -------------------------------------- + - Bug fix to G4hLowEnergyIonisation, relevant for particles + with absolute charge value greater than 1. + - Bug fix on electron energy loss fluctuations. + - New features on antiproton ionisation, extending the model for + application to generic materials. + - Modifications in hadron classes (renaming of classes). + - Bug fix related to the charge dependence of ion fluctuations. + - Fixes to G4LowEnergyUtilities to replace the obsolete HepString + with G4String. + - Bug fixes for problems found on setting cuts. + - Bug fix for nuclear stopping table name, improvements in + code quality and added comments for the Software Reference Manual. + + o Electromagnetic Processes (Standard): + ------------------------------------ + - G4eBremsstrahlung : new cross section and energy-loss parametrisation. + - Update to G4VhEnergyLoss.cc, G4VhEnergyLoss.hh, G4hIonisation.cc + in order to simulate energy losses of ions; correction to cross + section for particles with spin 1. + - Removed class G4ionIonisation. + - Fix in G4VhEnergyLoss and G4ionIonisation in AlongStepDoIt + for particles with Charge^2 > 1. + - Stopped very low energy photons in photo electric effect. + - Moved ElossMessenger to G4VEnergyLoss. + - Bug fix in G4Cerenkov and G4Scintillation: corrected usage of + the 'step length' to position the origins of secondaries. + - Corrections on Polarized Compton: + o Sampling of Phi + o Depolarization probability + - G4IeBremsstrahlung: + o new cross section/en.loss parametrisation, LPM flag. + o corrections in the LPM implementation. + - Changed signature in GetLossWithFluct. + - G4EnergyLossMessenger: created subdirectory /process/eLoss. + Added class description for Software Reference Manual. + - EnergyLossTable: use "const G4Material*" where required. + - Introduced correction to G4Cerenkov to fix a problem when + an optical medium has refraction indices all equal to 1. + + o General Processes, Parameterisation, Decay, Optical: + --------------------------------------------------- + - Bug fix in G4Decay to avoid direct modification of G4Track by + the Decay process. + - Fixed bugs in G4ProcTblElement::operator= + - Removed destruction of processes in G4ProcessTable destructor. + - Implemented full STL migration in G4ProcessVector. + - Added thePILfactor and GPIL methods in G4VProcess. + - Added Store/RetrievePhysicsTable() methods. + + o Geometry: + -------- + QA code cleanup. Cleanup warnings issued by "-Wall -ansi -pedantic" + g++ compiler options. + - Boolean solids: + o G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), + where it is now allowed for a point to be inside the solid. + A message is thrown to cerr instead of a G4Exception. + o Added new set methods for matrix/vectors to G4DisplacedSolid: + SetTransform(G4AffineTransform&), + SetDirectTransform(G4AffineTransform&), + SetFrameRotation(const G4RotationMatrix&), + SetFrameTranslation(const G4ThreeVector&), + SetObjectRotation(const G4RotationMatrix&), + SetObjectTranslation(const G4ThreeVector&). + - BREPS solids: + o Fix in G4Ellipse::Project() for computation of u as function + of atan2(). + o Changed return value to be "const" pointer to functions: + - G4BREPSolid::GetPlace() + - G4BREPSolid::GetBBox() + o G4Assembly: fix in destructor, added call to clearAndDestroy(). + o G4BREPSolid: changed method NumberOfFaces() to GetNumberOfFaces(). + o G4Curve: fixed obsolete workaround for XlC compiler. + o G4OsloMatrix: changed internal class "Matrix" to "G4PointMatrix" + and updated classes making use of it. + o G4ThreeMat:removed unused overloaded operators =, +, -, +=, -=, *. + - CSG solids + o Fix to G4Tubs and G4Cons in DistanceToIn/DistanceToOut: + + fixes to DistanceToOut(p,v,...) to make roots of quadratic + equations more stable. + + added check against negative distance returned. + o Fixes to G4Cons: + + corrected condition on conical surface to consider a real + projection of the conical surface thickness on XY plane + (0.5*kCarTolerance*secRMin instead of 0.5*kCarTolerance), + when dealing with cons with large opening angle. + + fix in constructor to check if one of the Rmin different than 0, + to avoid degenerated cones. + o G4Torus: introduced Newton-based numerical method for computing + roots of equations in DistanceToIn() and DistanceToOut(). + o Bug fixed in G4Tubs::Inside(p) for analysis of phi positioning + when on +-fDz surface. + o Fix in G4Tubs::DistanceToOut(p,v,...): initialised sr and sphi to + kInfinity and re-introduced additional condition on check for + Rmin intersection (t2 >= 0). + - Specific solids: + o Fix in G4IntersectingCone.cc: the check for a zero radical has been + adjusted to be less sensitive to round off error in LineHitsCone1(), + LineHitsCone2(). + - STEP + o dirobj.h: protected from missing definition of MAXNAMLEN, S_IFMT + and S_IFDIR originally defined in /usr/include/sys/stat.h. + - STEPinterface + o Added GetInstanceManager() method to G4GeometryCreator. + o Changed return value to "const char*" to method Name() and made + post-const in all creator classes. + o Fix in G4Axis2Placement3dCreator::CreateSTEPGeometry(void*). + - Magnetic Field + o Fix in G4FieldManager: added check on existence of allocated + fChordFinder in CreateChordFinder(G4MagneticField*) method. + o Changed return value to be "const" pointer to functions: + + G4EquationOfMotion::GetFieldObj() + + G4FieldManager::GetDetectorField() + + G4MagIntegratorDriver::GetStepper() + o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin(). + - Management + o Fixed bug in destructor of G4SolidStore. Memory corruption at + application exit was occuring when Boolean solids were involved. + o Fix in G4VSolid::CalculateClippedPoligonExtent(): + removed assumption that pMinngamma inelastic channel + o Added recoil production to several inelastic channels + o Added protections in cases interpolations between expansions in terms + of legendre polynomials lead to non-physical cross-section integrals. + - radiative_decay + o Fix to const-ness of G4DynamicParticle to co-work with latest changes + in 'track' module. + o Code correction in integration of Fermi beta functions. + - diffractive_string + o Updated sampling of impact parameter for re-use. + - kinetic_model + o Fixed a memory leak + o Added protection in case to pre-compound phase was registered + - management(gen) + o Added impact parameter sampling possibility to G4V3DNucleus. + - quark_gluon_string + o Fixed memory leak in G4SPBaryon and G4SPBaryonTable + o Introduced improved of low energy cut-off for string creation + o Updated sampling of impact parameter for re-use + - string_fragmentation + o Design iteration to allow for use of quark molecular dynamics. + - util + o Updated G4Parton to allow for use of quark molecular dynamics. + o Bug-fix in Lorentz boost in G4Fancy3DNucleus + o Added protection of G4Fragment against negative excitation energies + o Fixed memory leaks in G4KinetiTrack + - pre_equilibrium + o Design iteration + o Update of barrier penetration factors + - string_common + o Design iteration to allow for usage of quark molecular dynamics. + + NOTE: the consistent data sets for photon evaporation and radio-active + decay (derived from the same version of the ENSDF data) are + provided from Web in the source download area. A previous version + of photon evaporation data is also provided. + + o Interfaces: + ---------- + - Modified G4UIterminal, G4VUIshell, G4UIcsh and G4UItcsh to display + the break status as a prompt characters. + - Minor fixes in G4VInteractorManager and G4VUIShell. + + o Materials: + --------- + - Fixed initialization of pointers in G4SandiaTable constructor + and corrected deletion of fPhotoAbsorptionCof in destructor. + + o Parameterisations + ----------------- + - New top category for specific parameterisation models: + G4FoamXrayTRmodel, G4GamDistrXrayTRmodel, G4IrregularXrayTRmodel, + G4PAIclusterModel, G4PhotoClusterModel, G4PlateIrrGasXrayTRmodel, + G4RegularXrayTRmodel, G4VClusterModel, G4VXrayTRmodel. + + o Particles: + --------- + - Added const to G4DynamicParticle::GetPreAssignedDecayProducts. + - Added method G4IonTable::GetElementNumber. + - Added neutron life time. + - Fixed stable flag for G4PionMinus. + + o Run and Intercoms: + ----------------- + - Modified G4RunManager and G4RunMessenger: eliminated + G4StateManager::Pause(). + - Made G4UImanager state dependent. + - Added Retrieve/StorePhysicsTable() and related methods in + G4VUserPhysicsList and modified BuildPhysicsTable() method. + - Added store/retreivePhysicsTable command in + G4UserPhysicsListMessenger. + - Moved default place for storing random number status out of main + directory. + - Added G4VModularPhysicsList and G4VPhysicsConstructor + to modularize UserPhysicsList. + - Fixed bug in G4VUserPhysicsList::StorePhysicsTable(). + + o Tracking & Track: + ---------------- + - Added protection when PiMinusAbsorptionAtRest and Decay processes + are deactivated. + - Bug fixes in copy constructor of G4ParticleChange. + - Added "const" to G4DynamicParticle pointer of returned value of + G4Track::GetDynamicParticle + + o Visualization: + ------------- + - Fixed bug in /vis/lights/direction to not refresh view. + - G4PhysicalVolumeModel: added protection against volumes without + material. + - Removed /vis/viewer/update from compound commands /vis/drawVolume + and /vis/specify. + + o G4toG4 Tool: + ----------- + - Moved tests clGeometry and cltog4 from source/g3tog4/test to + examples/extended/g3tog4. Default build mechanism is now used. + - Bug-fix in destructor for G3RotTable. + - Added handling of ELTU (Elliptical Tube) solid. + - Fixed initialisation of pDPhi for CONS in G3toG4MakeSolid.cc. + - G4PhysicalVolumeModel: added protection against volumes without + material. + - Added protection against multiple positiong of the same physical + volume and added methods ClearG3PosCopy(G4int) and ClearDivision() + in G3VolTableEntry . + - Removed useless G3toG4Debug global method and file. + Replaced verbosity by G3G4DEBUG flag. + - Removed obsolete class/files G3CalcParams[.hh.cc]. + + - Examples: + -------- + o New "advanced" examples for specific applications: + xray_telescope, brachyterapy and gammaray_telescope. + +Notes: + + o Geant4 3.0 is based on STL and can be installed with strict + ISO/ANSI C++ compliant setup or not. See notes below. + +The code and some binary libraries are available through our "Source +Code" Web page: +- see our Geant4 Home Page. + +Please refer to Geant4 +User Documentation for further information about using Geant4. +Updates to the documentation for Geant4 3.0 are expected to be published as +usual within three weeks from the release date. + + +Contents +-------- + + 1. Supported and Tested Platforms + 2. ANAPHE and CLHEP + 3. The Standard Template Library (STL) + 4. Persistency + 5. Compiler Specific Problems + 6. Known Run-Time Problems + 7. Compilation Warnings + 8. Known Run-Time Warnings + + +1. Supported and Tested Platforms +--------------------------------- + + o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.1 Patch 109490-01. + o HP 10.20, aCC C++ B3910B A.01.23 + o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2). + This configuration was tested with the RedHat 6.1 distribution, but + versions of Geant4 have also been compiled successfully on Debian + and Suse distributions. + o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: + Visual C++ 6.0 Service Pack 2 + +Platforms also tested but giving rise to some problems - see below: + + o DEC V4.0, cxx C++ V6.1-027. + +Platforms configured but not tested and not supported: + o SGI V6.5.5, CC 7.2.1 with ObjectSpace + o AIX 4.3.2, xlC compiler with ObjectSpace + + +2. ANAPHE and CLHEP +------------------- + +Geant4 3.0 requires the installation of CLHEP. + +See +CLHEP. Tests have been performed with CLHEP 1.6.0.0. + +By default, the CLHEP installation scripts will activate ISO/ANSI C++ features +if the compiler is capable. You need to explicitly disable CLHEP settings in +case you wish non-ISO/ANSI setup on specific compilers (for example, DEC). + +Geant4 3.0 coworks with ANAPHE 3.2.0 and components included therein: + Objectivity 5.2.1 + ObjectSpace 2.1 + HepODBMS 0.3.1.4 + CLHEP 1.6.0.0 + +For more information about ANAPHE 3.2.0, see: + ANAPHE 3.2.0 + + +3. The Standard Template Library +-------------------------------- + +The following versions of STL have been tested: + + ObjectSpace STL on + DEC, HP and SUN (CC 4.2). + + See ObjectSpace. + + "Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.1). + +This is selected at installation/compile time by the environment variable +G4USE_OSPACE in the case of the former - see documentation. + +NOTES: +- Be aware that by default, the installation scripts will expect to use + the native STL implementation. You must set the G4USE_OSPACE variable + in the environment in order to select the ObjectSpace implementation. + +- Platform specific setup: + o DEC: ObjectSpace is required in non ISO/ANSI setup. + Native STL is required for ISO/ANSI setup. + o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup). + o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2). + Native STL is required for ISO/ANSI setup (CC 5.1 only). + o Linux: Native STL is required (non ISO/ANSI setup). + o NT: Native STL and ISO/ANSI setup required. + +In the interest of stability, part of the code in Geant4 3.0 still makes use +of the "STL Interface" wrapper classes, used for allowing the migration from +Rogue Wave Tools.h++ container library. For these the emphasis has remained +on correct behaviour, rather than performance. + + +4. Persistency +-------------- + + Platform + -------- + + Persistency in Geant4 3.0 release is tested on the following + platforms: + + G4SYSTEM OS C++ compiler HepODBMS Objectivity + --------- ----------- ------------ --------- ----------- + SUN-CC SunOS 5.6 CC 4.2 0.3.1.4 5.2.1 + SUN-CC5 SunOS 5.7 CC 6.0 0.3.2.3 (*) 6.0 (*) + Linux-g++ RedHat 6.1 egcs-2.91.66 0.3.1.4 5.2.1 + + (*) HepODBMS header files must be prepared with "ooddlx -noline" option. + See below. + + Known Problems + -------------- + + - There are several warning messages on some platforms during the + installation of the libraries and the compilation of the examples. + Most of them can be safely ignored. It is annoying but hard to get + rid of them due to various reasons. + + - A warning message "Could not find naming root directory" appears at + runtime of the persistency examples. It is generaged by HepDbApplication + in HepODBMS. It can be ignored. + + - On Solaris7 (SUN-CC5), persistent header files has to be generated by + ooddlx with "-noline" option to work around a bug in C++ compiler. + This workaround applies not only to Geant4 Persistency category but + also to HepODBMS, and the user defined ddl files as well. This option + removes the "#line" directive of the file name and the line number of + the original ddl file. As a consequences, C++ compiler no longer + "tell" the correct file name and the line number of the ddl file if + compiler error occurs. Try to identify the compiler error by first + looking into the header file generated by ooddlx, and then locate the + source of the problem by looking into the ddl file. + A patch to the compiler is expected from Sun. + + +5. Compiler Specific Problems +----------------------------- + + o DEC V4.0, cxx C++ V6.1-027. + + - We have found cases of mis-compilation of min and max templates + on DEC. We have traced those which cause serious malfunction + but there is no guarantee that there are no other cases. + Detailed inspection of assembler output suggests that this + problem might not be confined to min and max. This has been + reported to DEC/Compaq. We understand a new version 6.2 of the + compiler is now available. However we cannot guarantee correct + execution of Geant4 on DEC with the current version of the + compiler. + - A bug in cin.getline() system function causes an anomalous + behavior when running in interactive-mode on DEC-cxx 6.1 in + ISO/ANSI mode. We tested the bug has been fixed in more recent + versions of the compiler. + + +6. Known Run-Time Problems and Limitations +------------------------------------------ + +For a complete list of outstanding run-time problems and to submit any +problem you may find running this version of Geant4, please refer to the +Geant4 Problem Reporting System, available on the Web at this address: + + http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport + + +7. Compilation Warnings +----------------------- + +There are compilation warnings on some platforms. We do not believe +that any will lead to incorrect run-time behaviour, but we are working +on reducing them. + + +8. Known Run-Time Warnings +-------------------------- + +The following messages can be written to error output while tracking. We +believe none give rise to incorrect behaviour. + + o G4PropagateInField: Warning: Particle is looping + - tracking in field will be stopped. + It has performed 10000 steps in Field while a maximum of 10000 + are allowed. diff --git a/config/G4UI_USE.gmk b/config/G4UI_USE.gmk index 3ab00c06a9..97c0244478 100644 --- a/config/G4UI_USE.gmk +++ b/config/G4UI_USE.gmk @@ -1,4 +1,4 @@ -# $Id: G4UI_USE.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $ +# $Id: G4UI_USE.gmk,v 1.2 2000/11/21 10:15:22 maire Exp $ # ------------------------------------------------------------- # GNUmakefile for CPPFLAGS for interfaces USE phase. # John Allison, 6th July 1998. @@ -17,6 +17,12 @@ ifdef G4UI_USE_TERMINAL CPPFLAGS += -DG4UI_USE_TERMINAL endif +ifdef G4UI_USE_TCSH + G4UI_USE = 1 + G4UI_USE_BASIC = 1 + CPPFLAGS += -DG4UI_USE_TCSH +endif + ifdef G4UI_USE_XM G4UI_USE = 1 G4UI_USE_BASIC = 1 diff --git a/config/History b/config/History index e72592e471..7538852736 100644 --- a/config/History +++ b/config/History @@ -1,5 +1,5 @@ -$Id: History,v 1.105 2000/05/23 06:48:25 gcosmo Exp $ -$Name: geant4-02-00 $ +$Id: History,v 1.129 2000/12/13 09:19:56 gcosmo Exp $ +$Name: geant4-03-00 $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,103 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +13th December 2000 Gunter Folger (config-V02-00-14) +- common.gmk: fix to rule for building dependencies, parsing is skip + if $(dependencies) is empty. +- globlib.gmk: added "includes" to PHONY target list and fixed typo. +- Added comments to "includes" rules. + +8th December 2000 Gabriele Cosmo (config-V02-00-13) +- Changed G4LIB_BUILD_ARCHIVE to G4LIB_BUILD_STATIC in architecture.gmk, + common.gmk and globlib.gmk. + +7th December 2000 Gabriele Cosmo (config-V02-00-12) +- Added options to SUN-CC5.gmk to handle multithreading and persistency. + +5th December 2000 Youhei Morita (config-V02-00-11) +- Introduced GPPFLAGS to set -M or -MM according to G4ODBMS. + +5th December 2000 Gabriele Cosmo (config-V02-00-10) +- Restored -MM option to g++ for making dependencies. -M was introduced in + tag config-V02-00-02 to allow dependency search on system headers as well + (#include<...> statements). This however introduces serious clashes with + Objectivity schema generation for the persistency module. + +4th December 2000 Gunter Folger (config-V02-00-09) +- Disable G4RUNPATHOPTION (internal variable) for all but SUN. This is/will + be used when linking with G4 shared libraries to store the path to these + libraries in the executable. + +1st December 2000 Gabriele Cosmo (config-V02-00-08) +- Added G4UI_USE_TCSH and related settings to G4UI_USE.gmk (M.Maire). +- Merged SUN-CC6.gmk to SUN-CC5.gmk and removed SUN-CC6.gmk. + +1st December 2000 Gunter Folger (config-V02-00-07) +- Change -M to -M -MG in common.gmk, binmake.gmk. This will output a "correct" + dependency file even when missing header files are missing. Correct in the + sense that liblist will work, and that the missing header is supposed to be + (made) in the source directory. + +17th November 2000 Gunter Folger (config-V02-00-06) +- Link with CLHEP using -L/-l instead of absolute filename; this allows + to link with shared lib of Anaphe, or static lib of Geant4. +- Added shared-lib settings to sys configurations. + +14th November 2000 Gabriele Cosmo (config-V02-00-05) +- Added reference to new "parameterisations" top category. + Modified files: binmake.gmk. +- Removed makeshlib.sh script, now obsolete. + +7th November 2000 Guy Barrand +- analysis.gmk : renamed OpenScientist things to "Lab" ; + Lab is the concrete package where analysis is done. + +3rd November 2000 Gunter Folger (config-V02-00-04) +- common.gmk: fix for shared-library build. +- common.gmk, globlib.gmk: added rules for "includes" gmake target. +- architecture.gmk: introduced new user settable variable G4INCLUDE + to specify path where headers (files or symbolic-links) should be installed. + +1st November 2000 Guy Barrand +- analysis.gmk: declared Lizard. + +24th October 2000 Gunter Folger (config-V02-00-03) +- architecture.gmk, common.gmk, globlib.gmk, sys/*: + o merged building shared libraries into makefiles. + The MAKESHLIB script is no longer used. +- Introduced new variables steering the building of archive/shared libs: + G4LIB_BUILD_SHARED + G4LIB_BUILD_ARCHIVE (still default) + note that G4MAKESHLIB set will internally set G4LIB_BUILD_SHARED for + backwards compatiblity. +- Introduced new variable (G4LIB_USE_GRANULAR) to force using of granular + libraries, even when libG4global.a/.so exists. + +14th September 2000 Guy Barrand +- Introduced changes to handle analysis module. + o added analysis.gmk. + o sys/Linux-g++.gmk: added macro DLDLIBS for library dynamic loading. + o binmake.gmk: added inclusion of analysis.gmk. + o binmake.gmk: place LDLIBS3 += $(ANALYSISLIBS) after LDLIBS3 += $(INTYLIBS). + +22nd August 2000 John Allison (config-V02-00-02) +- Changed -MM to -M in dependency file making in binmake.gmk and common.gmk. + This causes dependencies of both #include "..." and #include <...> to be + followed. This is the safer option, since some users might/should use, + e.g., #include , but even these files change sometime. + +22nd August 2000 Gunter Folger +- globlib.gmk: fix for protection from infinite loops when a dir does + not exist (G.Folger). + +1st August 2000 Gabriele Cosmo (config-V02-00-01) +- Added setup WIN32-g++ for Windows/NT/9X with Cygwin and g++ compiler. + Configuration non officially supported (courtesy of S.Agostinelli and + IST group, Genova). + +24th July 2000 Gabriele Cosmo (config-V02-00-00) +- Added path to g3tog4 for global libs. + 23rd May 2000 John Allison (config-V01-01-04) - Added -I$(G4BASE)/processes/hadronic/models/radiative_decay/include to binmake.gmk. diff --git a/config/analysis.gmk b/config/analysis.gmk new file mode 100644 index 0000000000..b1668db50f --- /dev/null +++ b/config/analysis.gmk @@ -0,0 +1,152 @@ +# Guy Barrand, 20th Mai 2000 +# +# Analysis variables... +# + +# ----------------------------------- + +ifdef G4ANALYSIS_USE + CPPFLAGS += -DG4ANALYSIS_USE + G4ANALYSIS_BUILD = 1 +endif + +ifdef G4ANALYSIS_BUILD + CPPFLAGS += -DG4ANALYSIS_BUILD + INC_ANALYSIS = 1 + LIB_ANALYSIS = 1 +endif + +# ------------- Lab ----------------- +ifdef G4ANALYSIS_USE_LAB + CPPFLAGS += -DG4ANALYSIS_USE_LAB + CPPFLAGS += -DG4ANALYSIS_USE + G4ANALYSIS_BUILD_LAB = 1 +endif + +ifdef G4ANALYSIS_BUILD_LAB + CPPFLAGS += -DG4ANALYSIS_BUILD + CPPFLAGS += -DG4ANALYSIS_BUILD_LAB + INC_ANALYSIS = 1 + LIB_ANALYSIS = 1 + INC_LAB = 1 + LIB_LAB = 1 +endif + +# ------------- jas ----------------- +ifdef G4ANALYSIS_USE_JAS + CPPFLAGS += -DG4ANALYSIS_USE_JAS + CPPFLAGS += -DG4ANALYSIS_USE + G4ANALYSIS_BUILD_JAS = 1 +endif + +ifdef G4ANALYSIS_BUILD_JAS + CPPFLAGS += -DG4ANALYSIS_BUILD + CPPFLAGS += -DG4ANALYSIS_BUILD_JAS + INC_ANALYSIS = 1 + LIB_ANALYSIS = 1 + INC_JAS = 1 + LIB_JAS = 1 +endif + +# ------------- Lizard ----------------- +ifdef G4ANALYSIS_USE_LIZARD + CPPFLAGS += -DG4ANALYSIS_USE_LIZARD + CPPFLAGS += -DG4ANALYSIS_USE + G4ANALYSIS_BUILD_LIZARD = 1 +endif + +ifdef G4ANALYSIS_BUILD_LIZARD + CPPFLAGS += -DG4ANALYSIS_BUILD + CPPFLAGS += -DG4ANALYSIS_BUILD_LIZARD + INC_ANALYSIS = 1 + LIB_ANALYSIS = 1 + INC_LIZARD = 1 + LIB_LIZARD = 1 +endif + +# ------------- Else --------------- + +ifdef G4ANALYSIS_NON_AIDA + CPPFLAGS += -DG4ANALYSIS_NON_AIDA +endif + +# ------------- Hook packages ----------------- +ANALYSISLIBS := +# +ifdef INC_ANALYSIS + CPPFLAGS += -I$(G4BASE)/analysis/management/include +# AIDA interfaces : +ifdef G4ANALYSIS_AIDA + CPPFLAGS += -I$(G4ANALYSIS_AIDA) +endif +endif +# +ifdef LIB_LAB + ANALYSISLIBS += -lG4Lab +endif +ifdef LIB_JAS + ANALYSISLIBS += -lG4jas +endif +ifdef LIB_LIZARD + ANALYSISLIBS += -lG4Lizard +endif +ifdef LIB_ANALYSIS + ANALYSISLIBS += -lG4analysis_management +endif +# +# ------------- Lab ----------------- +ifdef INC_LAB + CPPFLAGS += -I$(G4BASE)/analysis/Lab/include + CPPFLAGS += -I$(LIBROOT)/include -I$(HCLROOT)/include -I$(LABROOT)/include + CPPFLAGS += -DHasRio +ifdef G4ANALYSIS_LAB_VISUALIZATION + CPPFLAGS += -DG4ANALYSIS_LAB_VISUALIZATION + CPPFLAGS += -I$(ONXROOT)/include + INC_XM = 1 +endif +endif +# +ifdef LIB_LAB +ifdef G4ANALYSIS_LAB_VISUALIZATION + ANALYSISLIBS += $(ONXROOT)/$(ONXCONFIG)/XmUI.o + ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnXInventorXt + ANALYSISLIBS += -L$(HEPVISROOT)/$(HEPVISCONFIG) -lHEPVisXt + ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnXInventor + ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnX + ANALYSISLIBS += -L$(EXPATROOT)/$(EXPATCONFIG) -lexpat + ANALYSISLIBS += -L$(SOFREEROOT)/$(SOFREECONFIG) -lSoFreeXt + ANALYSISLIBS += -L$(HEPVISROOT)/$(HEPVISCONFIG) -lHEPVis + ANALYSISLIBS += -L$(SOFREEROOT)/$(SOFREECONFIG) -lSoFree + LIB_XM = 1 + LIB_GL = 1 +endif + ANALYSISLIBS += -L$(LABROOT)/$(LABCONFIG) -lLab + ANALYSISLIBS += -L$(RIOGRANDEROOT)/$(RIOGRANDECONFIG) -lRioTree -lRioBed + ANALYSISLIBS += -L$(CINTROOT)/$(CINTCONFIG) -lcint + ANALYSISLIBS += -L$(HCLROOT)/$(HCLCONFIG) -lHCL + ANALYSISLIBS += -L$(MIDNIGHTROOT)/$(MIDNIGHTCONFIG) -lMidnight + ANALYSISLIBS += -L$(LIBROOT)/$(LIBCONFIG) -lLib + ANALYSISLIBS += $(DLDLIBS) +endif +# +# ------------- jas ----------------- +ifdef INC_JAS + CPPFLAGS += -I$(G4BASE)/analysis/jas/include + CPPFLAGS += -I$(JDKHOME)/include -I$(JDKHOME)/include/linux +endif +# +ifdef LIB_JAS + ANALYSISLIBS += -L$(JDKHOME)/jre/lib/i386/classic -L$(JDKHOME)/jre/lib/i386/native_threads -ljvm -lhpi +endif + +# ------------- Lizard ----------------- +ifdef INC_LIZARD + CPPFLAGS += -I$(G4BASE)/analysis/Lizard/include + CPPFLAGS += -I$(LIZARDROOT)/include +endif +# +ifdef LIB_LIZARD + ANALYSISLIBS += -L$(LIZARDROOT)/lib -lAIDA_HTL -lT_Histoxx -lVector -lAIDA_Annotation -lAIDA_Plotter -lqp -lqpview -lqpqwt -lqt -lHepUtilities +endif + + diff --git a/config/architecture.gmk b/config/architecture.gmk index 154d02c2fd..09fbccc9b8 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 1.66 2000/05/19 07:29:06 gcosmo Exp $ +# $Id: architecture.gmk,v 1.70 2000/12/08 09:41:26 gcosmo Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -86,6 +86,28 @@ endif G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB) ] && mkdir -p $(G4LIB) ) G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB)/$(G4SYSTEM) ] && mkdir -p $(G4LIB)/$(G4SYSTEM) ) +# If not specified, the default path to install G4 include files is G4INCLUDE +# set to $G4INSTALL/include ... +# +ifndef G4INCLUDE + G4INCLUDE := $(G4INSTALL)/include +endif +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4INCLUDE) ] && mkdir -p $(G4INCLUDE) ) + +# backwards compatiblity +ifneq ($(G4MAKESHLIB),) + G4LIB_BUILD_SHARED = 1 +endif + +# defaults for library BUILD. No default for USE, ie. take what is found. +ifeq ($(G4LIB_BUILD_SHARED),) + ifeq ($(G4LIB_BUILD_STATIC),) +# default is building static libs + G4LIB_BUILD_STATIC = 1 + endif +endif + + # If not specified, the default path for G4 binaries G4BIN is # set to $G4WORKDIR/bin/$G4SYSTEM ... # @@ -280,10 +302,10 @@ ifeq ($(G4SYSTEM),WIN32-VC) LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR) LOADLIBS := $(CLHEP_LIB) else -## LDFLAGS := -L$(CLHEP_LIB_DIR) - LDFLAGS := -## LOADLIBS := -l$(CLHEP_LIB) - LOADLIBS := $(CLHEP_LIB_DIR)/lib$(CLHEP_LIB).a + LDFLAGS := -L$(CLHEP_LIB_DIR) +# LDFLAGS := + LOADLIBS := -l$(CLHEP_LIB) +# LOADLIBS := $(CLHEP_LIB_DIR)/lib$(CLHEP_LIB).a LOADLIBS += -lm endif diff --git a/config/binmake.gmk b/config/binmake.gmk index bfb9dceb5e..8e53e52688 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.45 2000/05/23 05:32:14 stesting Exp $ +# $Id: binmake.gmk,v 1.54 2000/12/05 17:19:49 morita Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # Gabriele Cosmo, 25/06/1998. @@ -13,6 +13,7 @@ G4LIBDIR := $(G4LIB)/$(G4SYSTEM) include $(G4INSTALL)/config/G4UI_USE.gmk include $(G4INSTALL)/config/G4VIS_USE.gmk include $(G4INSTALL)/config/interactivity.gmk +include $(G4INSTALL)/config/analysis.gmk ifndef INCFLAGS INCFLAGS := \ @@ -22,6 +23,7 @@ ifndef INCFLAGS -I$(G4BASE)/global/HEPNumerics/include \ -I$(G4BASE)/run/include \ -I$(G4BASE)/materials/include \ + -I$(G4BASE)/parameterisations/include \ -I$(G4BASE)/particles/management/include \ -I$(G4BASE)/particles/bosons/include \ -I$(G4BASE)/particles/leptons/include \ @@ -77,7 +79,8 @@ ifndef INCFLAGS -I$(G4BASE)/readout/include \ -I$(G4BASE)/event/include \ -I$(G4BASE)/graphics_reps/include \ - -I$(G4BASE)/intercoms/include + -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/g3tog4/include endif ifdef G4ODBMS @@ -97,20 +100,41 @@ ifdef G4ODBMS -DHep_HAS_BUILDIN_BOOL_CONSTANTS endif +ifndef G4LIB_USE_GRANULAR + GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.a && echo yes) + ifndef GLOBALLIBS + GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes) + SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes) + endif +endif + +ifndef SHAREDLIBS + SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4globman.$(SHEXT) && echo yes) +endif + CPPFLAGS += $(INCFLAGS) LDFLAGS += -L$(G4LIBDIR) +ifdef SHAREDLIBS + ifdef G4RUNPATHOPTION + LDFLAGS += $(G4RUNPATHOPTION)$(G4LIBDIR) + endif +endif + G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(G4TARGET) G4BINDIR := $(G4BIN)/$(G4SYSTEM) ifdef G4EXLIB G4LIBDIR := $(G4TMPDIR) LDFLAGS += -L$(G4LIBDIR) + ifdef SHAREDLIBS + ifdef G4RUNPATHOPTION + LDFLAGS += $(G4RUNPATHOPTION)$(G4LIBDIR) + endif + endif include $(G4INSTALL)/config/common.gmk endif -GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.a && echo yes) - ifdef LDLIBS USER_DEFINED_LDLIBS := 1 endif @@ -143,7 +167,9 @@ ifdef GLOBALLIBS LDLIBS2 := -lG4readout \ -lG4run \ -lG4event \ + -lG3toG4 \ -lG4tracking \ + -lG4parmodels \ -lG4processes \ -lG4digits+hits \ -lG4track \ @@ -163,7 +189,7 @@ else $(G4LIB)/$(G4SYSTEM)/liblist \ -d $(G4TMPDIR) \ < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) -# Warning: do not add to LDLIBS2 with += becuase this causes it to be +# Warning: do not add to LDLIBS2 with += because this causes it to be # expanded too soon. Hence extra libraries must have a different name... # Extra libraries to resolve remaining circular dependencies... # LDLIBS2EXTRA = @@ -172,6 +198,7 @@ endif # LDLIBS3 contains the first set of low level libraries... # LDLIBS3 += $(INTYLIBS) +LDLIBS3 += $(ANALYSISLIBS) endif # ifndef USER_DEFINED_LDLIBS @@ -211,7 +238,11 @@ else LDLIBS = $(LDLIBS_PREFINAL) endif - +ifdef transform-RPath +#invoke system specific transformation of +include $(G4INSTALL)/config/sys/$(G4SYSTEM)-runpath.gmk +endif + sources := $(wildcard $(G4TARGET).cc) objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.o,$(sources)) dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources)) @@ -277,6 +308,12 @@ else -c $(OUT_OBJ)$(G4TMPDIR)/exe/$(G4TARGET).o $(G4TARGET).cc endif +ifdef G4ODBMS + GPPFLAGS := "-MM" +else + GPPFLAGS := "-M" +endif + # Make the $(G4TARGET).d file and include it. ifdef G4SKIP_DEPEND $(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc @@ -288,7 +325,7 @@ $(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc @if [ ! -d $(G4TMPDIR)/exe ] ; then mkdir $(G4TMPDIR)/exe ;fi @echo Making dependency for file $<... @($(ECHO) $(G4TMPDIR)/exe/\\c ; \ - g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ + g++ $(GPPFLAGS) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ -include $(dependencies) endif diff --git a/config/common.gmk b/config/common.gmk index 5def054826..fecdd7b980 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,4 +1,4 @@ -# $Id: common.gmk,v 1.14 1999/12/05 22:41:38 morita Exp $ +# $Id: common.gmk,v 1.24 2000/12/13 08:31:31 gcosmo Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- @@ -42,25 +42,35 @@ ifdef G4ODBMS objects += $(patsubst include/%.ddl,$(G4TMPDIR)/%_ddl.o,$(schema_ddl)) endif -ifneq ($(G4MAKESHLIB),) -# Make shared library. -$(G4LIBDIR)/lib$(name).$(SHEXT): $(G4LIBDIR)/lib$(name).a -ifneq ($(G4TMPDIR),$(G4LIBDIR)) - @cp $(G4TMPDIR)/*.o $(G4LIBDIR)/. - @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) - @$(RM) $(G4LIBDIR)/*.o -else - @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) + g4libraries_to_build := +ifneq ($(G4LIB_BUILD_SHARED),) + g4libraries_to_build += $(G4LIBDIR)/lib$(name).$(SHEXT) endif +ifneq ($(G4LIB_BUILD_STATIC),) + g4libraries_to_build += $(G4LIBDIR)/lib$(name).a endif -# Make library. +lib: $(g4libraries_to_build) + +ifneq ($(G4LIB_BUILD_SHARED),) +# Make shared library. +$(G4LIBDIR)/lib$(name).$(SHEXT): $(G4TMPDIR)/obj.last + @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ;fi + @echo Creating shared library $@ + @$(RM) $@ +# use architecture specific macro defined in sys/$(G4SYSTEM).gmk + $(build-granular-shared-lib) +endif + +ifneq ($(G4LIB_BUILD_STATIC),) +# Make static (archive) library. $(G4LIBDIR)/lib$(name).a: $(G4TMPDIR)/obj.last @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ;fi @echo Creating/replacing object files in $(G4LIBDIR)/lib$(name).a @rm -f $(G4LIBDIR)/lib$(name).a @$(AR) $(OUT_LIB)$(G4LIBDIR)/lib$(name).a $(G4TMPDIR)/*.o @if [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ; then ranlib $(G4LIBDIR)/lib$(name).a ;fi +endif # Touch the versioning file $(G4TMPDIR)/obj.last: $(objects) @@ -116,7 +126,7 @@ endif endif # Make the .d file(s) and include it(them). -# g++ -MM is good at this, except it forgets the subdirectory +# g++ -MM (or -M) is good at this, except it forgets the subdirectory # (hence the use of $G4TMP/). # define G4SKIP_DEPEND for simplicity @@ -126,8 +136,16 @@ ifdef G4ODBMS endif endif +ifdef G4ODBMS + GPPFLAGS := "-MM" +else + GPPFLAGS := "-M" +endif + ifdef G4SKIP_DEPEND -$(G4TMPDIR)/%.d: +$(G4TMPDIR)/%.d: src/%.cc + @if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi + @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi @echo Skip dependency file creation for file $< ... else $(G4TMPDIR)/%.d: src/%.cc @@ -135,16 +153,18 @@ $(G4TMPDIR)/%.d: src/%.cc @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi @echo Making dependency for file $< ... @($(ECHO) $(G4TMPDIR)/\\c ; \ - g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@ + g++ $(GPPFLAGS) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@ +ifneq ($(dependencies),) -include $(dependencies) endif +endif # .PHONY targets are executed regardless of time-stamp of any file of # same name. ifdef G4ODBMS_DEPEND -.PHONY: all obj lib clean clean_libs d_files install_schema +.PHONY: all obj lib clean clean_libs d_files install_schema includes else -.PHONY: all obj lib clean clean_libs +.PHONY: all obj lib clean clean_libs includes endif obj: $(G4TMPDIR)/obj.last @@ -162,16 +182,24 @@ install_schema: echo " schema header file does not exist, so ignore the error message...") endif -ifneq ($(G4MAKESHLIB),) -lib: $(G4LIBDIR)/lib$(name).$(SHEXT) -else -lib: $(G4LIBDIR)/lib$(name).a -endif +installed_includes:=$(foreach file,$(wildcard include/*),$(shell test -f $(file) && echo $(file))) +installed_includes:=$(patsubst include/%,$(G4INCLUDE)/%,$(installed_includes)) + +# NOTE: the double colon rule allows to add other rules for the same target +# +includes:: $(installed_includes) + +# Static Pattern rules, see GNU make manual for details. +# target(s): target-pattern : dep-pattern +# +$(installed_includes): $(G4INCLUDE)/% : include/% + @cp -p $< $@ ifndef G4EXLIB clean: @echo Cleaning up ... @rm -f $(G4LIBDIR)/lib$(name).a + @rm -f $(G4LIBDIR)/lib$(name).$(SHEXT) @rm -f $(schema_hh) $(schema_ref_hh) @rm -rf $(G4TMPDIR) endif @@ -180,4 +208,7 @@ clean_libs: @if [ -f $(G4LIBDIR)/lib$(name).a ] ; then \ $(ECHO) Removing library lib$(name).a ... ; \ $(RM) -f $(G4LIBDIR)/lib$(name).a ; fi + @if [ -f $(G4LIBDIR)/lib$(name).$(SHEXT) ] ; then \ + $(ECHO) Removing library lib$(name).$(SHEXT) ... ; \ + $(RM) -f $(G4LIBDIR)/lib$(name).$(SHEXT) ; fi diff --git a/config/globlib.gmk b/config/globlib.gmk index d043326676..902c215485 100644 --- a/config/globlib.gmk +++ b/config/globlib.gmk @@ -1,4 +1,4 @@ -# $Id: globlib.gmk,v 1.10 1999/11/30 19:41:08 morita Exp $ +# $Id: globlib.gmk,v 1.16 2000/12/13 09:19:14 gcosmo Exp $ # -------------------------------------------------------------- # Script for compound libraries. Gabriele Cosmo, 25/6/98. # -------------------------------------------------------------- @@ -11,31 +11,47 @@ include $(G4INSTALL)/config/architecture.gmk G4LIBDIR = $(G4LIB)/$(G4SYSTEM) -.PHONY : all glob global objs clean clean_libs wipe_libs +.PHONY : all glob global objs includes clean clean_libs wipe_libs all: ifndef G4ODBMS - @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE)); done else - @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) headers); done - @for dir in $(SUBDIRS); do (cd $$dir; G4ODBMS_DEPEND=1; \ - export G4ODBMS_DEPEND; $(MAKE)); done + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) headers); done + @for dir in $(SUBDIRS); do (cd $$dir && G4ODBMS_DEPEND=1 && \ + export G4ODBMS_DEPEND && $(MAKE)); done @echo Copying tmp schema header from G4TMPDIR to $(G4SCHEMA_INCLUDE) @rm -f $(G4SCHEMA_INCLUDE)/*.hh - @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) install_schema); done + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) install_schema); done @echo Copying tmp schema to $(G4SCHEMA_DIR) for FDID $(G4SCHEMA_FDID) @rm -f $(G4SCHEMA_DIR)/G4SCHEMA @rm -f $(G4SCHEMA_DIR)/G4SCHEMA.FDDB @$(HEP_ODBMS_DIR)/etc/getdb $(G4TMPSCHEMA_BOOT) \ $(G4SCHEMA_DIR)/G4SCHEMA $(G4SCHEMA_FDID) endif +g4libraries_to_build:= -ifndef G4ODBMS -glob global: objs wipe_libs $(G4LIBDIR)/lib$(name).a +ifneq ($(G4LIB_BUILD_SHARED),) + SHARED_LIB=$(G4LIBDIR)/lib$(name).$(SHEXT) + g4libraries_to_build += $(SHARED_LIB) else -glob global: headers d_files objs wipe_libs $(G4LIBDIR)/lib$(name).a $(G4SCHEMA_DIR)/G4SCHEMA.FDDB + SHARED_LIB= endif +ifneq ($(G4LIB_BUILD_STATIC),) + g4libraries_to_build += $(G4LIBDIR)/lib$(name).a +endif + +ifndef G4ODBMS +glob global: objs wipe_libs $(g4libraries_to_build) +else +glob global: headers d_files objs wipe_libs $(g4libraries_to_build) $(G4SCHEMA_DIR)/G4SCHEMA.FDDB +endif + +## +## make static libraries +## +ifneq ($(G4LIB_BUILD_STATIC),) $(G4LIBDIR)/lib$(name).a: \ $(foreach dir,$(SUBLIBS),$(G4TMP)/$(G4SYSTEM)/$(dir)/obj.last) @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ; fi @@ -68,14 +84,19 @@ $(G4LIBDIR)/lib$(name).a: \ # @if [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ; then \ ranlib $(G4LIBDIR)/lib$(name).a ; fi +endif + ## ## make shared libraries ## -ifneq ($(G4MAKESHLIB),) - @for lib in $(SUBLIBS); do (cp $(G4TMP)/$(G4SYSTEM)/$$lib/*.o $(G4LIBDIR)/.); done - @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) - @$(RM) $(G4LIBDIR)/*.o +ifneq ($(G4LIB_BUILD_SHARED),) +$(SHARED_LIB): $(foreach dir,$(SUBLIBS),$(G4TMP)/$(G4SYSTEM)/$(dir)/obj.last) + @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ; fi + @echo Creating global shared library $@ + @$(RM) $@ +# use system specific commands to build the library + $(build-global-shared-lib) endif ifdef G4ODBMS @@ -97,20 +118,32 @@ objs: @for dir in $(SUBDIRS); \ do (cd $$dir; $(MAKE) -q obj && ok=yes; \ if [ $$ok ]; \ - then echo Nothing to be done for lib$(name).a in $$dir/.; \ + then echo Nothing to be done for lib$(name) in $$dir/.; \ else $(MAKE) clean_libs; $(MAKE) obj; \ fi; ) \ done +includes:: + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) $@ ); done + wipe_libs: @for lib in $(SUBLIBS); do (rm -f $(G4LIBDIR)/lib$$lib.a); done + @for lib in $(SUBLIBS); do (rm -f $(G4LIBDIR)/lib$$lib.$(SHEXT)); done clean: @echo Cleaning up ... - @for lib in $(SUBLIBS); do (rm -rf $(G4TMP)/$(G4SYSTEM)/$$lib; rm -f $(G4LIBDIR)/lib$$lib.a); done + @for lib in $(SUBLIBS); do ( \ + rm -rf $(G4TMP)/$(G4SYSTEM)/$$lib;\ + rm -f $(G4LIBDIR)/lib$$lib.a;\ + rm -f $(G4LIBDIR)/lib$$lib.$(SHEXT) );\ + done @rm -f $(G4LIBDIR)/lib$(name).a clean_libs: - @echo Removing lib$(name).a and sub-libraries ... - @for lib in $(SUBLIBS); do (rm -f $(G4LIBDIR)/lib$$lib.a); done + @echo Removing lib$(name).a/.$(SHEXT) and sub-libraries ... + @for lib in $(SUBLIBS); do ( \ + rm -f $(G4LIBDIR)/lib$$lib.a;\ + rm -f $(G4LIBDIR)/lib$$lib.$(SHEXT) );\ + done @rm -f $(G4LIBDIR)/lib$(name).a + @rm -f $(G4LIBDIR)/lib$(name).$(SHEXT) diff --git a/config/makeshlib.sh b/config/makeshlib.sh deleted file mode 100755 index 841ad05719..0000000000 --- a/config/makeshlib.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/sh -f -############################################ -##### To build GEANT4 shared libraries ##### -############# G.Barrand #################### -############################################ -if test $# -eq 2 ; then - g4system=$1 - name=$2 - liba=lib$name.a - #echo $g4system - #echo $name - ############################################ - ##### build libs ########################### - ############################################ - if test `uname` = "OSF1" ; then - if test -f $g4system/$liba ; then - cd $g4system - # Need to specify a path, so that at run time loader - # is able to find the so lib. This path is put in the - # binaries at link time. In principle a relative - # path from the binary is ok, but we will have - # more than one binary at different places; so - # we have to specify an absolute path. - rpath=`pwd` - #echo $rpath - libso=lib$name.so - /bin/rm -f $libso - /bin/rm -f so_locations - ld -expect_unresolved '*' -shared -o $libso -all $liba -rpath $rpath - cd .. - echo "$libso built." - else - ArchiveError=1 - fi - fi - - if test `uname` = "HP-UX" ; then - cd $g4system - libso=lib$name.sl - /bin/rm -f $libso - # get .o files - objs=`ls *.o` - #ld -b -a shared -o $libso $objs - # CC does more than ld. - aCC -b -o $libso $objs - cd .. - echo "$libso built." - fi - - if test `uname` = "SunOS" ; then - cd $g4system - libso=lib$name.so - /bin/rm -f $libso - # get .o files - objs=`ls *.o` - CC -G -o $libso $objs - cd .. - echo "$libso built." - fi - - if test `uname` = "IRIX" ; then - if test -f $g4system/$liba ; then - cd $g4system - # For path same remarks as for OSF1. - rpath=`pwd` - libso=lib$name.so - /bin/rm -f $libso - /bin/rm -f so_locations - #ld -shared -o $libso -all $liba -rpath $rpath - # CC does more than ld. - CC -Wl,-rpath,$rpath -shared -o $libso -all $liba - cd .. - echo "$libso built." - else - ArchivError=1 - fi - fi - - if test `uname` = "Linux" ; then - cd $g4system - # For path same remarks as for OSF1. - libso=lib$name.so - /bin/rm -f $libso - g++ -Wl,-soname,$libso -shared *.o -o $libso - echo "$libso built." - fi - - if test `uname` = "AIX" ; then - # Not yet ready. - exit - #set -x - cd $g4system - libso=lib$name'.so' - /bin/rm -f lib$name.o - /bin/rm -f $libso - /bin/rm -f lib$name.exp - # Get .o files - objs=`ls *.o` - # Determine how to invoke nm depending on AIX version - AIXVERSION=`uname -v` - case ${AIXVERSION} in - #{ - 3*) - NM=/usr/ucb/nm - ;; - 4*) - NM='/usr/bin/nm -B' - ;; - *) - echo "Error in g4makeshlib.sh!" - exit 1 - ;; - #} - esac - # Build export file (from Mesa mklib.aix). - echo "#! lib$name.so " > lib$name.exp - echo "noentry" >> lib$name.exp - $NM $objs | awk '/ [BD] /{print $3}' | sort | uniq >> lib$name.exp - # Below command from Mesa mklib.aix. - #cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE -enoentry - # Unnecessary option -enoentry that produces - # noentry file that contains exported symbols - cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE - if test -f lib$name.o ; then - ar r $libso lib$name.o - /bin/rm -f lib$name.o - else - echo "Can't create lib$name.o." - fi - #cp $libso lib$name.a - cd .. - echo "$libso treated." - fi - - if [ $ArchiveError ]; then - echo "ERROR: Archive libraries needed and not found." - echo " Compile first with G$MAKESHLIB unset." - fi - -############################################ -else - echo 'Give name of binary directory and library' -fi diff --git a/config/sys/AIX-xlC.gmk b/config/sys/AIX-xlC.gmk index 62f30036a5..60f786102a 100644 --- a/config/sys/AIX-xlC.gmk +++ b/config/sys/AIX-xlC.gmk @@ -34,4 +34,12 @@ ifeq ($(G4SYSTEM),AIX-xlC) CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) 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/config/sys/DEC-cxx.gmk b/config/sys/DEC-cxx.gmk index c9c206f976..7238543a00 100644 --- a/config/sys/DEC-cxx.gmk +++ b/config/sys/DEC-cxx.gmk @@ -14,6 +14,8 @@ ifeq ($(G4SYSTEM),DEC-cxx) endif G4_HAVE_BOOL := yes CXXFLAGS += -ieee -timplicit_local + SHEXT := so +#future G4RUNPATHOPTION := -rpath FC := f77 FCLIBS := -lUfor -lfor -lFutil -lots X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 @@ -38,4 +40,14 @@ ifeq ($(G4SYSTEM),DEC-cxx) CPPFLAGS += -DG4USE_STD_NAMESPACE endif endif + + define build-granular-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMPDIR); \ + $(CXX) -shared -o $$libdir/$(@F) *.o + endef +# transform-RPath = 1 + define build-global-shared-lib + @echo "Global shared Libraries not yet supported on $(G4SYSTEM) + endef endif diff --git a/config/sys/HP-aCC.gmk b/config/sys/HP-aCC.gmk index 72a464ec42..509a0be915 100644 --- a/config/sys/HP-aCC.gmk +++ b/config/sys/HP-aCC.gmk @@ -14,11 +14,14 @@ ifeq ($(G4SYSTEM),HP-aCC) endif CXXFLAGS += +DAportable +W823 CPPFLAGS += -I/usr - ifdef G4MAKESHLIB + ifdef G4LIB_BUILD_SHARED CXXFLAGS += +Z + FCFLAGS += +Z + CCFLAGS += +Z endif G4_HAVE_BOOL := yes FC := f77 + SHEXT := sl FCFLAGS += +E6 +ppu CCFLAGS += -Ae +DAportable X11FLAGS := -I/usr/include/X11/extensions -I/usr/contrib/X11R6/include @@ -42,4 +45,16 @@ ifeq ($(G4SYSTEM),HP-aCC) CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__HPACC_NOEH CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) endif + + define build-granular-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMPDIR); \ + $(CXX) -b -o $$libdir/$(@F) *.o + endef + define build-global-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMP)/$(G4SYSTEM); \ + $(CXX) -b -o $$libdir/$(@F) $(foreach dir,$(SUBLIBS),$(dir)/*.o); + endef + endif diff --git a/config/sys/Linux-g++.gmk b/config/sys/Linux-g++.gmk index 3e300119aa..ca994238cc 100644 --- a/config/sys/Linux-g++.gmk +++ b/config/sys/Linux-g++.gmk @@ -16,19 +16,22 @@ ifeq ($(G4SYSTEM),Linux-g++) CCFLAGS := -g endif endif - ifdef G4MAKESHLIB + ifdef G4LIB_BUILD_SHARED CXXFLAGS += -fPIC FCFLAGS += -fPIC CCFLAGS += -fPIC endif +#future G4RUNPATHOPTION := -rpath FC := g77 FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore FCLIBS := -lg2c -lnsl ECHO := /bin/echo -e + SHEXT := so X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE XMFLAGS := -I/usr/X11R6/include XMLIBS := -lXm -lXpm + DLDLIBS := -ldl ifndef OGLFLAGS OGLFLAGS := -I$(OGLHOME)/include endif @@ -44,4 +47,17 @@ ifeq ($(G4SYSTEM),Linux-g++) ifdef G4ODBMS G4OODDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd="" endif + + define build-granular-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMPDIR); \ + $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) *.o + endef + define build-global-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMP)/$(G4SYSTEM); \ + $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) \ + $(foreach dir,$(SUBLIBS),$(dir)/*.o); + endef + endif diff --git a/config/sys/SGI-CC.gmk b/config/sys/SGI-CC.gmk index 04ddec6d99..d227ff145c 100644 --- a/config/sys/SGI-CC.gmk +++ b/config/sys/SGI-CC.gmk @@ -33,4 +33,12 @@ ifeq ($(G4SYSTEM),SGI-CC) CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) 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/config/sys/SUN-CC.gmk b/config/sys/SUN-CC.gmk index e31a890492..479cce90b4 100644 --- a/config/sys/SUN-CC.gmk +++ b/config/sys/SUN-CC.gmk @@ -12,9 +12,12 @@ ifeq ($(G4SYSTEM),SUN-CC) CCFLAGS := -g endif endif - ifdef G4MAKESHLIB + ifdef G4LIB_BUILD_SHARED CXXFLAGS += -KPIC + FCFLAGS += -KPIC + CCFLAGS += -KPIC endif + G4RUNPATHOPTION = -R # CXXFLAGS += -fnonstd CFRONT_G4TEMPLATE_REPOSITORY := true FC := f77 @@ -47,4 +50,17 @@ ifeq ($(G4SYSTEM),SUN-CC) CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) endif + + define build-granular-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMPDIR); \ + $(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) *.o + endef + define build-global-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMP)/$(G4SYSTEM); \ + $(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) \ + $(foreach dir,$(SUBLIBS),$(dir)/*.o); +endef + endif diff --git a/config/sys/SUN-CC5.gmk b/config/sys/SUN-CC5.gmk index 346c98b1ab..75c6d952a7 100644 --- a/config/sys/SUN-CC5.gmk +++ b/config/sys/SUN-CC5.gmk @@ -12,10 +12,14 @@ ifeq ($(G4SYSTEM),SUN-CC5) CCFLAGS := -g endif endif + CXXFLAGS += -features=no%anachronisms -mt -lpthread # CXXFLAGS += -fnonstd - ifdef G4MAKESHLIB + ifdef G4LIB_BUILD_SHARED CXXFLAGS += -KPIC + FCFLAGS += -KPIC + CCFLAGS += -KPIC endif + G4RUNPATHOPTION := -R G4_HAVE_BOOL := yes CFRONT_G4TEMPLATE_REPOSITORY := true FC := f77 @@ -43,6 +47,9 @@ ifeq ($(G4SYSTEM),SUN-CC5) LOADLIBS += -L/usr/lib -lsocket -lnsl CPPFLAGS += -DG4NOT_ISO_DELETES CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) + ifdef G4ODBMS + G4OODDLX_FLAGS += -noline + endif ifdef G4USE_OSPACE CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS @@ -56,4 +63,16 @@ ifeq ($(G4SYSTEM),SUN-CC5) CXXFLAGS += -compat endif endif + + define build-granular-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMPDIR); \ + $(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) *.o + endef + define build-global-shared-lib + @libdir=`(cd $(@D);/bin/pwd)`; \ + cd $(G4TMP)/$(G4SYSTEM); \ + $(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) \ + $(foreach dir,$(SUBLIBS),$(dir)/*.o); + endef endif diff --git a/config/sys/WIN32-VC.gmk b/config/sys/WIN32-VC.gmk index 59d76f69b0..21c32d0824 100644 --- a/config/sys/WIN32-VC.gmk +++ b/config/sys/WIN32-VC.gmk @@ -49,4 +49,12 @@ ifeq ($(G4SYSTEM),WIN32-VC) 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/config/sys/WIN32-g++.gmk b/config/sys/WIN32-g++.gmk new file mode 100644 index 0000000000..ca9df4c61d --- /dev/null +++ b/config/sys/WIN32-g++.gmk @@ -0,0 +1,61 @@ +# +# ------ GNU/WIN32 CYGNUS ------ !!! not supported !!! +# cygnus b20 with cygwin1.dll 1.1.5 patch +# Windows 95 4.00.1111 +# +# Sys file by Stefano Agostinelli, July 2000 +# IST Group: Franca Foppiano, Stefania Garelli, Stefano Agostinelli +# +ifeq ($(G4SYSTEM),WIN32-g++) + CXX := g++ + GNU_GCC = 1 + CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC + ifdef G4OPTIMISE + CXXFLAGS += -O + FCFLAGS := -O + CCFLAGS := -O + else + ifdef G4DEBUG + CXXFLAGS += -g + FCFLAGS := -g + CCFLAGS := -g + endif + endif + ifdef G4LIB_BUILD_SHARED + CXXFLAGS += -fPIC + FCFLAGS += -fPIC + CCFLAGS += -fPIC + endif + FC := g77 + FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore + FCLIBS := -lg2c -lnsl + ECHO := echo -e + X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 + X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE + XMFLAGS := -I/usr/X11R6/include + XMLIBS := -lXm -lXpm + ifndef OGLFLAGS + OGLFLAGS := -I$(OGLHOME)/include + endif + ifndef OGLLIBS + OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL + endif + OIVFLAGS += -I$(OIHOME)/include + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR) + endif + ifdef G4ODBMS + G4OODDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd="" + endif + + 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 01a03bf676..205810b3e1 100644 --- a/environments/OPACS/app/EXPO.cc +++ b/environments/OPACS/app/EXPO.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: EXPO.cc,v 1.8 2000/03/17 08:56:10 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include diff --git a/environments/OPACS/app/TEST.cc b/environments/OPACS/app/TEST.cc index 8654778934..a39053d2e4 100644 --- a/environments/OPACS/app/TEST.cc +++ b/environments/OPACS/app/TEST.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: TEST.cc,v 1.3 1999/12/15 14:48:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include diff --git a/environments/OPACS/include/EXPO_Detector.icc b/environments/OPACS/include/EXPO_Detector.icc index 3ace85c0af..3e34fd3a3c 100644 --- a/environments/OPACS/include/EXPO_Detector.icc +++ b/environments/OPACS/include/EXPO_Detector.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: EXPO_Detector.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // See also G4/run/example/MyDetectorConstruction.cc. diff --git a/environments/OPACS/include/EXPO_PhysicsList.hh b/environments/OPACS/include/EXPO_PhysicsList.hh index c7fabdf9a5..5aaf3aa5a7 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.hh +++ b/environments/OPACS/include/EXPO_PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: EXPO_PhysicsList.hh,v 1.4 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_PhysicsList.icc b/environments/OPACS/include/EXPO_PhysicsList.icc index cd07626ef4..3deb9f78e8 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.icc +++ b/environments/OPACS/include/EXPO_PhysicsList.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: EXPO_PhysicsList.icc,v 1.4 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_Primary.icc b/environments/OPACS/include/EXPO_Primary.icc index 922e5d54ac..7f65466bb5 100644 --- a/environments/OPACS/include/EXPO_Primary.icc +++ b/environments/OPACS/include/EXPO_Primary.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: EXPO_Primary.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // See also G4/run/example/EXPO_PrimaryGeneratorAction.cc. diff --git a/environments/OPACS/include/G4o.h b/environments/OPACS/include/G4o.h index d0605903b7..2adbbe1364 100644 --- a/environments/OPACS/include/G4o.h +++ b/environments/OPACS/include/G4o.h @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4o.h,v 1.3 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oCommon.hh b/environments/OPACS/include/G4oCommon.hh index a12244acc0..37671bcb17 100644 --- a/environments/OPACS/include/G4oCommon.hh +++ b/environments/OPACS/include/G4oCommon.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oCommon.hh,v 1.3 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* Included by G4o.h. diff --git a/environments/OPACS/include/G4oCommon.icc b/environments/OPACS/include/G4oCommon.icc index eda41d54a0..72e59d9a80 100644 --- a/environments/OPACS/include/G4oCommon.icc +++ b/environments/OPACS/include/G4oCommon.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oCommon.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* Included by G4o.cc. diff --git a/environments/OPACS/include/G4oDrawer.hh b/environments/OPACS/include/G4oDrawer.hh index 65d07d1cf5..311cda87a2 100644 --- a/environments/OPACS/include/G4oDrawer.hh +++ b/environments/OPACS/include/G4oDrawer.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oDrawer.hh,v 1.3 1999/12/15 14:48:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oEXPO.h b/environments/OPACS/include/G4oEXPO.h index 4b1c263f7b..4e295e335c 100644 --- a/environments/OPACS/include/G4oEXPO.h +++ b/environments/OPACS/include/G4oEXPO.h @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oEXPO.h,v 1.3 1999/12/15 14:48:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oScene.hh b/environments/OPACS/include/G4oScene.hh index ebc6df3e12..83ab9b2679 100644 --- a/environments/OPACS/include/G4oScene.hh +++ b/environments/OPACS/include/G4oScene.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oScene.hh,v 1.4 2000/03/17 08:58:32 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oState.hh b/environments/OPACS/include/G4oState.hh index f338d63744..60e87e901c 100644 --- a/environments/OPACS/include/G4oState.hh +++ b/environments/OPACS/include/G4oState.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oState.hh,v 1.4 1999/12/15 14:48:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4oState_h #define G4oState_h diff --git a/environments/OPACS/include/WoG4o.h b/environments/OPACS/include/WoG4o.h index a4c94cc69f..d4efa6720c 100644 --- a/environments/OPACS/include/WoG4o.h +++ b/environments/OPACS/include/WoG4o.h @@ -6,7 +6,7 @@ // and all its terms. // // $Id: WoG4o.h,v 1.3 1999/12/15 14:48:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- 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 fde6a6c0ae..48bb398d37 100644 --- a/environments/OPACS/src/G4o.cc +++ b/environments/OPACS/src/G4o.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4o.cc,v 1.7 2000/03/17 08:57:45 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* #define DEBUG diff --git a/environments/OPACS/src/G4oDrawer.cc b/environments/OPACS/src/G4oDrawer.cc index 2e0470c5b3..74a3b82263 100644 --- a/environments/OPACS/src/G4oDrawer.cc +++ b/environments/OPACS/src/G4oDrawer.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oDrawer.cc,v 1.6 2000/03/17 08:57:46 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* From geant4/visualization/management/src/G4VisManager.cc. diff --git a/environments/OPACS/src/G4oScene.cc b/environments/OPACS/src/G4oScene.cc index 566836c2e4..ae2778eda6 100644 --- a/environments/OPACS/src/G4oScene.cc +++ b/environments/OPACS/src/G4oScene.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oScene.cc,v 1.7 2000/06/09 10:00:58 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* +---------------------- 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 b4f936b827..de196810a7 100644 --- a/environments/OPACS/src/G4oState.cc +++ b/environments/OPACS/src/G4oState.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4oState.cc,v 1.6 2000/03/17 08:57:48 barrand Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //#define DEBUG diff --git a/examples/History b/examples/History index 2a4506cb45..81585be3fa 100644 --- a/examples/History +++ b/examples/History @@ -1,4 +1,4 @@ -$Id: History,v 1.55 2000/06/17 12:56:56 stesting Exp $ +$Id: History,v 1.58 2000/11/18 10:56:11 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,16 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18th Nov 2000 Steve O'Neale (examples-V02-00-05) +- Updated test 102,104,508 outputs + +9th August 2000 Steve O'Neale (examples-V02-00-00) +- Updated all (except large_N) .out files ready for public patch + geant4-02-00 + +24th June 2000 John Allison (examples-V01-01-08) +- Updated .out files where necessary for stand-V01-01-05 and utils-V01-01-03. + 17th June 2000 John Allison (examples-V01-01-07) - Updated all .out files for geant4-01-01-ref-06. diff --git a/examples/advanced/brachytherapy/Brachy.cc b/examples/advanced/brachytherapy/Brachy.cc new file mode 100644 index 0000000000..cb832ea6c0 --- /dev/null +++ b/examples/advanced/brachytherapy/Brachy.cc @@ -0,0 +1,118 @@ +// 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: Brachy.cc,v 1.4 2000/12/10 08:56:15 chauvie Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------- +// GEANT 4 - Brachytherapy example +// -------------------------------------------------------------- +// +// Code developed by: +// S. Agostinelli, F. Foppiano, S. Garelli and M. Tropeano +// +// Brachytherapy simulates the dose deposition in a cubic (30*cm) +// water phantom for a Ir-192 MicroSelectron High Dose Rate +// brachytherapy source. +// +// Simplified gamma generation is used. +// Source axis is oriented along Z axis. +// Voxel data on the X-Z plane is output to ASCII file +// "Brachy.out". +// +// For information related to this code contact the developers. +// +// -------------------------------------------------------------- + +#include "BrachyEventAction.hh" +#include "BrachyDetectorConstruction.hh" +#include "BrachyPhysicsList.hh" +#include "BrachyPrimaryGeneratorAction.hh" +#include "BrachyWaterBoxSD.hh" + +#include "Randomize.hh" +#include "G4RunManager.hh" +#include "G4SDManager.hh" +#include "G4UImanager.hh" + +int main() +{ + // Number of generated photons + G4int NumberOfEvents = 10; + + // Define number of voxels in X-Z plane + G4int NumVoxelX = 101; + G4int NumVoxelZ = 101; + + // Construct the default run manager + G4RunManager* pRunManager = new G4RunManager; + + // Set mandatory initialization classes + G4String SDName = "WaterBox"; + BrachyDetectorConstruction *pDetectorConstruction; + pRunManager->SetUserInitialization(pDetectorConstruction = new BrachyDetectorConstruction(SDName,NumVoxelX,NumVoxelZ)); + pRunManager->SetUserInitialization(new BrachyPhysicsList); + + // Set mandatory user action class + pRunManager->SetUserAction(new BrachyPrimaryGeneratorAction); + + // Initialize G4 kernel + pRunManager->Initialize(); + + // Alloc and initialize voxel matrix + G4float* pVoxel = new G4float[NumVoxelX*NumVoxelZ]; + for(G4int j=0;jSetUserAction(pEventAction = new BrachyEventAction(pVoxel,NumVoxelX,NumVoxelZ)); + + // Get the pointer to the UI manager and set verbosities + G4UImanager* UI = G4UImanager::GetUIpointer(); + UI->ApplyCommand("/run/verbose 0"); + UI->ApplyCommand("/event/verbose 0"); + UI->ApplyCommand("/tracking/verbose 0"); + + pRunManager->BeamOn(NumberOfEvents); + + if(pVoxel) + { + G4std::ofstream ofs; + + // Output voxel data to text file + // Format = x coord [mm] z coord [mm] edep [MeV] + ofs.open("Brachy.out"); + { + G4double VoxelWidth_X = pDetectorConstruction->m_BoxDimX/NumVoxelX; + G4double VoxelWidth_Z = pDetectorConstruction->m_BoxDimZ/NumVoxelZ; + G4double x,z; + + for(G4int k=0;k 3*mm || fabs(z) > 6*mm) + ofs << x << '\t' << z << '\t' << pVoxel[j] << G4endl; + } + } + ofs.close(); + } + } + + delete[] pVoxel; + + // Job termination + delete pRunManager; + + return 0; +} diff --git a/examples/advanced/brachytherapy/GNUmakefile b/examples/advanced/brachytherapy/GNUmakefile new file mode 100644 index 0000000000..fe91c98d46 --- /dev/null +++ b/examples/advanced/brachytherapy/GNUmakefile @@ -0,0 +1,19 @@ +# -------------------------------------------------------------- +# $Id: GNUmakefile,v 1.2 2000/12/10 08:38:46 chauvie Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := Brachy + +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/advanced/brachytherapy/History b/examples/advanced/brachytherapy/History new file mode 100644 index 0000000000..90f3739719 --- /dev/null +++ b/examples/advanced/brachytherapy/History @@ -0,0 +1,22 @@ +------------------------------------------------------------------- +$Id: History,v 1.3 2000/12/10 08:42:44 chauvie Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - Brachytherapy example + ========================================================= + + Category History file + --------------------- + +09.11.2000 - SA, tag brachy-V02-00-00 + (dvnote) First submission of Brachytherapy advanced example. + +15.11.2000 - SA, tag brachy-V02-00-01 + (minrev) Data fully compliant to Geant4 types. + (newfea) LowEnergy option available (see BRACHY_OPT_USELOWENERGY in BrachyPhysicsList.cc). + +10.12.2000 - Stephane Chauvie + (minrev) DOS -> Unix text conversion. + (newfea) Added Low Energy Electromagnetic physics. Removed switch to standard. + diff --git a/examples/advanced/brachytherapy/README b/examples/advanced/brachytherapy/README new file mode 100644 index 0000000000..4353f985e5 --- /dev/null +++ b/examples/advanced/brachytherapy/README @@ -0,0 +1,38 @@ +------------------------------------------------------------------- +$Id: README,v 1.2 2000/12/10 08:39:39 chauvie Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - Brachytherapy example + ========================================================= + + README + --------------------- + +0. Introduction. + +Brachytherapy example simulates energy deposition on a voxel grid +for a MicroSelectron Ir-192 HDR brachytherapy source. + +1. Technical description + +1.0. MicroSelectron HDR Ir-192 source is constructed in the +brachyDetectorConstruction class. The source is composed by +an iridium core encapsulated in a stainless steel capsule +(body + tip). The source is put into a 30*cm water box. + +1.1. The water box is made sensitive detector. A longitudinal slice +of it is associated to a planar read out geometry. At every hit +energy deposition is read and stored into a voxel matrix. + +1.2. Voxel matrix is output to an ASCII file for further processing +(e.g. anysotropy and isodose calculations). + +2. Make + +A standard Geant4 example GNUmakefile is provided. + +2. Usage + +Simply run "Brachy" executable. The ASCII "Brachy.out" file is +produced. diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh new file mode 100644 index 0000000000..a5da0669e7 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh @@ -0,0 +1,36 @@ +// **************************************** +// * * +// * BrachyDetectorConstruction.hh * +// * * +// **************************************** + + +#ifndef BrachyDetectorConstruction_H +#define BrachyDetectorConstruction_H 1 + +#include "G4VUserDetectorConstruction.hh" + +class G4VPhysicalVolume; +class BrachyWaterBoxSD; + +class BrachyDetectorConstruction : public G4VUserDetectorConstruction +{ + public: + BrachyDetectorConstruction(G4String &SDName,G4int NumVoxelX,G4int NumVoxelZ); + ~BrachyDetectorConstruction(); + + public: + const G4double m_BoxDimX; + const G4double m_BoxDimY; + const G4double m_BoxDimZ; + + const G4int m_NumVoxelX; + const G4int m_NumVoxelZ; + + G4String m_SDName; + + public: + G4VPhysicalVolume* Construct(); +}; +#endif + diff --git a/examples/advanced/brachytherapy/include/BrachyDummySD.hh b/examples/advanced/brachytherapy/include/BrachyDummySD.hh new file mode 100644 index 0000000000..23df21e977 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyDummySD.hh @@ -0,0 +1,31 @@ +// ******************************** +// * * +// * BrachyDummySD.hh * +// * * +// ******************************** + +// Dummy sensitive used only to flag sensitivity in cells of RO geometry. + +#ifndef BrachyDummySD_h +#define BrachyDummySD_h 1 + +#include "G4VSensitiveDetector.hh" +class G4Step; + +class BrachyDummySD : public G4VSensitiveDetector +{ + public: + BrachyDummySD(); + ~BrachyDummySD() {}; + + void Initialize(G4HCofThisEvent*HCE) {}; + G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) {return false;} + void EndOfEvent(G4HCofThisEvent*HCE) {}; + void clear() {}; + void DrawAll() {}; + void PrintAll() {}; +}; + +BrachyDummySD::BrachyDummySD() : G4VSensitiveDetector("dummySD") +{} +#endif diff --git a/examples/advanced/brachytherapy/include/BrachyEventAction.hh b/examples/advanced/brachytherapy/include/BrachyEventAction.hh new file mode 100644 index 0000000000..0b504cb255 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyEventAction.hh @@ -0,0 +1,35 @@ +// ********************************** +// * * +// * BrachyEventAction.hh * +// * * +// ********************************** + +#ifndef BrachyEventAction_h +#define BrachyEventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class BrachyEventAction : public G4UserEventAction +{ + public: + BrachyEventAction(G4float *pVoxel,G4int NumVoxelX,G4int NumVoxelZ); + ~BrachyEventAction(); + + public: + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + + public: + const G4int m_NumVoxelX; + const G4int m_NumVoxelZ; + G4float *m_pVoxel; + + private: + G4int m_HitsCollectionID; +}; + +#endif + + + diff --git a/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh new file mode 100644 index 0000000000..f0bee00bc4 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh @@ -0,0 +1,70 @@ +// ********************************** +// * * +// * BrachyPhysicsList.hh * +// * * +// ********************************** + +#ifndef BrachyPhysicsList_h +#define BrachyPhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G4LowEnergyIonisation; +class G4LowEnergyPhotoElectric; +class G4LowEnergyBremsstrahlung; + +class BrachyPhysicsList: public G4VUserPhysicsList +{ + public: + BrachyPhysicsList(); + ~BrachyPhysicsList(); + + protected: + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + + public: + // Set Cuts + void SetGammaCut(G4double); + void SetElectronCut(G4double); + void SetPositronCut(G4double); + + void SetGammaLowLimit(G4double); + void SetElectronLowLimit(G4double); + void SetGELowLimit(G4double); + void SetLowEnSecPhotCut(G4double); + void SetLowEnSecElecCut(G4double); + + private: + + G4double cutForGamma; + G4double cutForElectron; + G4double cutForPositron; + + protected: + // these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + + protected: + // these methods Construct physics processes and register them + void ConstructGeneral(); + void ConstructEM(); + + private: + G4LowEnergyIonisation* loweIon; + G4LowEnergyPhotoElectric* lowePhot; + G4LowEnergyBremsstrahlung* loweBrem; + +}; + +#endif + + + diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh new file mode 100644 index 0000000000..d752fa3691 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh @@ -0,0 +1,33 @@ +// ******************************************** +// * * +// * BrachyPrimaryGeneratorAction.hh * +// * * +// ******************************************** + + +#ifndef BrachyPrimaryGeneratorAction_h +#define BrachyPrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4RadioactiveDecay.hh" + +class G4ParticleGun; +class G4Event; + +class BrachyPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + BrachyPrimaryGeneratorAction(); + ~BrachyPrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event* anEvent); + + private: + G4ParticleGun* m_pParticleGun; + G4RadioactiveDecay *m_pRadioactiveDecay; +}; + +#endif + + diff --git a/examples/advanced/brachytherapy/include/BrachyWaterBoxHit.hh b/examples/advanced/brachytherapy/include/BrachyWaterBoxHit.hh new file mode 100644 index 0000000000..239ecd5b2c --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyWaterBoxHit.hh @@ -0,0 +1,85 @@ +// ******************************** +// * * +// * BrachyWaterBoxHit.hh * +// * * +// ******************************** + +#ifndef BrachyWaterBoxHit_h +#define BrachyWaterBoxHit_h 1 + +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" +#include "G4ThreeVector.hh" +#include "G4LogicalVolume.hh" +#include "G4Transform3D.hh" +#include "G4RotationMatrix.hh" + +class BrachyWaterBoxHit : public G4VHit +{ + public: + BrachyWaterBoxHit(G4LogicalVolume* logVol,G4int XID,G4int ZID); + ~BrachyWaterBoxHit(); + BrachyWaterBoxHit(const BrachyWaterBoxHit &right); + const BrachyWaterBoxHit& operator=(const BrachyWaterBoxHit &right); + int operator==(const BrachyWaterBoxHit &right) const; + + inline void *operator new(size_t); + inline void operator delete(void *aHit); + + void Draw(); + void Print(); + + private: + G4ThreeVector m_Pos; + G4RotationMatrix m_Rot; + const G4LogicalVolume* m_pLogV; + + G4double m_Edep; + + G4int m_XID; + G4int m_ZID; + + public: + inline void SetCellID(G4int XID,G4int ZID) + {m_XID = XID;m_ZID = ZID;} + inline G4int GetXID() + {return m_XID;} + inline G4int GetZID() + {return m_ZID;} + inline void SetEdep(G4double edep) + {m_Edep = edep;} + inline void AddEdep(G4double edep) + {m_Edep += edep;} + inline G4double GetEdep() + {return m_Edep;} + inline void SetPos(G4ThreeVector xyz) + {m_Pos = xyz;} + inline G4ThreeVector GetPos() + {return m_Pos;} + inline void SetRot(G4RotationMatrix rmat) + {m_Rot = rmat;} + inline G4RotationMatrix GetRot() + {return m_Rot;} + inline const G4LogicalVolume * GetLogV() + {return m_pLogV;} +}; + +typedef G4THitsCollection BrachyWaterBoxHitsCollection; +extern G4Allocator BrachyWaterBoxHitAllocator; + +inline void* BrachyWaterBoxHit::operator new(size_t) +{ + void *aHit; + aHit = (void *) BrachyWaterBoxHitAllocator.MallocSingle(); + return aHit; +} + +inline void BrachyWaterBoxHit::operator delete(void *aHit) +{ + BrachyWaterBoxHitAllocator.FreeSingle((BrachyWaterBoxHit*) aHit); +} + +#endif + + diff --git a/examples/advanced/brachytherapy/include/BrachyWaterBoxROGeometry.hh b/examples/advanced/brachytherapy/include/BrachyWaterBoxROGeometry.hh new file mode 100644 index 0000000000..a210e118fb --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyWaterBoxROGeometry.hh @@ -0,0 +1,29 @@ +// ************************************ +// * * +// * BrachyWaterBoxROGeometry.hh * +// * * +// ************************************ + + +#ifndef BrachyWaterBoxROGeometry_h +#define BrachyWaterBoxROGeometry_h 1 + +#include "G4VReadOutGeometry.hh" + +class BrachyWaterBoxROGeometry : public G4VReadOutGeometry +{ + public: + BrachyWaterBoxROGeometry(G4String aString,G4double DetDimX,G4double DetDimZ,G4int NumVoxelX,G4int NumVoxelZ); + ~BrachyWaterBoxROGeometry(); + + public: + const G4double m_DetDimX; + const G4double m_DetDimZ; + const G4int m_NumVoxelX; + const G4int m_NumVoxelZ; + + private: + G4VPhysicalVolume* Build(); +}; + +#endif diff --git a/examples/advanced/brachytherapy/include/BrachyWaterBoxSD.hh b/examples/advanced/brachytherapy/include/BrachyWaterBoxSD.hh new file mode 100644 index 0000000000..3ed51aa326 --- /dev/null +++ b/examples/advanced/brachytherapy/include/BrachyWaterBoxSD.hh @@ -0,0 +1,37 @@ +// ******************************** +// * * +// * BrachyWaterBoxSD.hh * +// * * +// ******************************** + +#ifndef BrachyWaterBoxSD_h +#define BrachyWaterBoxSD_h 1 + +#include "G4VSensitiveDetector.hh" +#include "BrachyWaterBoxHit.hh" + +class G4Step; +class G4HCofThisEvent; +class G4TouchableHistory; + +class BrachyWaterBoxSD : public G4VSensitiveDetector +{ + public: + BrachyWaterBoxSD(G4String name, G4int NumVoxelX, G4int NumVoxelZ); + ~BrachyWaterBoxSD(); + + void Initialize(G4HCofThisEvent*HCE); + G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); + void EndOfEvent(G4HCofThisEvent*HCE); + void clear(); + void DrawAll(); + void PrintAll(); + private: + BrachyWaterBoxHitsCollection *m_pWaterBoxHitsCollection; + + const G4int m_NumVoxelX; + const G4int m_NumVoxelZ; + G4int *m_pVoxelID; +}; +#endif + diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc new file mode 100644 index 0000000000..1e5d5ac275 --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc @@ -0,0 +1,183 @@ +// **************************************** +// * * +// * BrachyDetectorConstruction.cc * +// * * +// **************************************** + +#include "BrachyWaterBoxROGeometry.hh" +#include "BrachyWaterBoxSD.hh" +#include "BrachyDetectorConstruction.hh" + +#include "G4CSGSolid.hh" +#include "G4Sphere.hh" +#include "G4MaterialPropertyVector.hh" +#include "G4SDManager.hh" +#include "G4SubtractionSolid.hh" +#include "G4RunManager.hh" +#include "G4MaterialPropertiesTable.hh" +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4Tubs.hh" +#include "G4LogicalVolume.hh" +#include "G4ThreeVector.hh" +#include "G4PVPlacement.hh" +#include "globals.hh" +#include "G4MaterialTable.hh" +#include "G4Element.hh" +#include "G4ElementTable.hh" +#include "G4PVParameterised.hh" +#include "G4Transform3D.hh" +#include "G4RotationMatrix.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +//.... + +BrachyDetectorConstruction::BrachyDetectorConstruction(G4String &SDName,G4int NumVoxelX,G4int NumVoxelZ) : + m_NumVoxelX(NumVoxelX),m_NumVoxelZ(NumVoxelZ),m_BoxDimX(30*cm),m_BoxDimY(30*cm),m_BoxDimZ(30*cm) +{ + m_SDName = SDName; +} + +//.... + +BrachyDetectorConstruction::~BrachyDetectorConstruction() +{ +} + +//.... + +G4VPhysicalVolume* BrachyDetectorConstruction::Construct() +{ + // Define required materials + + G4double A; // atomic mass + G4double Z; // atomic number + G4double d; // density + + // General elements + + A = 1.01*g/mole; + Z = 1; + G4Element* elH = new G4Element ("Hydrogen","H",Z,A); + + A = 14.01*g/mole; + Z = 7; + G4Element* elN = new G4Element("Nitrogen","N",Z,A); + + A = 16.00*g/mole; + Z = 8; + G4Element* elO = new G4Element("Oxygen","O",Z,A); + + // Elements for source capsule and cable + + A = 54.94*g/mole; + Z = 25; + G4Element* elMn = new G4Element("Manganese","Mn",Z,A); + + A = 28.09*g/mole; + Z = 14; + G4Element* elSi = new G4Element("Silicon","Si",Z,A); + + A = 52.00*g/mole; + Z = 24; + G4Element* elCr = new G4Element("Chromium","Cr",Z,A); + + A = 58.70*g/mole; + Z = 28; + G4Element* elNi = new G4Element("Nickel","Ni",Z,A); + + A = 55.85*g/mole; + Z = 26; + G4Element* elFe = new G4Element("Iron","Fe",Z,A); + + // Lead material + A = 207.19*g/mole; + Z = 82; + d = 11.35*g/cm3; + G4Material* matPb = new G4Material("Lead",Z,A,d); + + // Air material + d = 1.290*mg/cm3; + G4Material* matAir = new G4Material("Air",d,2); + matAir->AddElement(elN,0.7); + matAir->AddElement(elO,0.3); + + // Water + d = 1.000*g/cm3; + G4Material* matH2O = new G4Material("Water",d,2); + matH2O->AddElement(elH,2); + matH2O->AddElement(elO,1); + + // Iridium (Medical Physics, Vol 25, No 10, Oct 1998) + d = 22.42*g/cm3; + A = 191.96260*g/mole ; + Z = 77; + G4Material* matIr192 = new G4Material("Iridium",Z,A,d); + + // Stainless steel (Medical Physics, Vol 25, No 10, Oct 1998) + d = 8.02*g/cm3 ; + G4Material* matSteel = new G4Material("Stainless steel",d,5); + matSteel->AddElement(elMn, 0.02); + matSteel->AddElement(elSi, 0.01); + matSteel->AddElement(elCr, 0.19); + matSteel->AddElement(elNi, 0.10); + matSteel->AddElement(elFe, 0.68); + + // Volumes + + // EXPERIMENTAL HALL (our world volume) + G4double ExpHall_x = 4.0*m; + G4double ExpHall_y = 4.0*m; + G4double ExpHall_z = 4.0*m; + + G4Box* ExpHall = new G4Box("ExpHall",ExpHall_x,ExpHall_y,ExpHall_z); + G4LogicalVolume* ExpHallLog = new G4LogicalVolume(ExpHall,matAir,"ExpHallLog",0,0,0); + G4VPhysicalVolume* ExpHallPhys = new G4PVPlacement(0,G4ThreeVector(),"ExpHallPhys",ExpHallLog,0,false,0); + + // Water Box + + G4Box* WaterBox = new G4Box("WaterBox",m_BoxDimX/2,m_BoxDimY/2,m_BoxDimZ/2); + G4LogicalVolume* WaterBoxLog = new G4LogicalVolume(WaterBox,matH2O,"WaterBoxLog",0,0,0); + G4VPhysicalVolume* WaterBoxPhys = new G4PVPlacement(0,G4ThreeVector(),WaterBoxLog,"WaterBoxPhys",ExpHallLog,false,0); + + // Capsule main body + + G4Tubs* Capsule = new G4Tubs("Capsule",0,0.55*mm,3.725*mm,0.*deg,360.*deg); + G4LogicalVolume* CapsuleLog = new G4LogicalVolume(Capsule,matSteel,"CapsuleLog"); + G4VPhysicalVolume* CapsulePhys = new G4PVPlacement(0,G4ThreeVector(0,0,-1.975),CapsuleLog,"CapsulePhys",WaterBoxLog,false,0); + + // Capsule tip + + G4Sphere* CapsuleTip = new G4Sphere("CapsuleTip",0.*mm,0.55*mm,0.*deg,360.*deg,0.*deg,90.*deg); + G4LogicalVolume* CapsuleTipLog = new G4LogicalVolume(CapsuleTip,matSteel,"CapsuleTipLog"); + G4VPhysicalVolume* CapsuleTipPhys = new G4PVPlacement(0,G4ThreeVector(0.,0.,1.75*mm),CapsuleTipLog,"CapsuleTipPhys",WaterBoxLog,false,0); + + // Iridium core + + G4Tubs* IridiumCore = new G4Tubs("IrCore",0,0.30*mm,1.75*mm,0.*deg,360.*deg); + G4LogicalVolume* IridiumCoreLog = new G4LogicalVolume(IridiumCore,matIr192,"IridiumCoreLog"); + G4VPhysicalVolume* IridiumCorePhys = new G4PVPlacement(0,G4ThreeVector(),IridiumCoreLog,"IridiumCorePhys",CapsuleLog,false,0); + + // Sensitive Detector and ReadOut geometry definition + + G4SDManager* pSDManager = G4SDManager::GetSDMpointer(); + BrachyWaterBoxSD* pWaterBoxSD = new BrachyWaterBoxSD(m_SDName,m_NumVoxelX,m_NumVoxelZ); + if(pWaterBoxSD) + { + G4String ROGeometryName = "WaterBoxROGeometry"; + BrachyWaterBoxROGeometry* pWaterBoxROGeometry = new BrachyWaterBoxROGeometry(ROGeometryName,m_BoxDimX,m_BoxDimZ,m_NumVoxelX,m_NumVoxelZ); + pWaterBoxROGeometry->BuildROGeometry(); + pWaterBoxSD->SetROgeometry(pWaterBoxROGeometry); + pSDManager->AddNewDetector(pWaterBoxSD); + WaterBoxLog->SetSensitiveDetector(pWaterBoxSD); + CapsuleLog->SetSensitiveDetector(pWaterBoxSD); + CapsuleTipLog->SetSensitiveDetector(pWaterBoxSD); + IridiumCoreLog->SetSensitiveDetector(pWaterBoxSD); + } + + return ExpHallPhys; +} diff --git a/examples/advanced/brachytherapy/src/BrachyEventAction.cc b/examples/advanced/brachytherapy/src/BrachyEventAction.cc new file mode 100644 index 0000000000..bf45dd7d1b --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyEventAction.cc @@ -0,0 +1,69 @@ +// ******************************* +// * * +// * BrachyEventAction.cc * +// * * +// ******************************* + +#include "BrachyEventAction.hh" +#include "BrachyWaterBoxHit.hh" +#include "BrachyWaterBoxSD.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" + +//.... + +BrachyEventAction::BrachyEventAction(G4float *pVoxel,G4int NumVoxelX,G4int NumVoxelZ) : + m_NumVoxelX(NumVoxelX),m_NumVoxelZ(NumVoxelZ) +{ + m_HitsCollectionID = -1; + m_pVoxel = pVoxel; +} + +//.... + +BrachyEventAction::~BrachyEventAction() +{ +} + +//.... + +void BrachyEventAction::BeginOfEventAction(const G4Event*) +{ + G4SDManager* pSDManager = G4SDManager::GetSDMpointer(); + if(m_HitsCollectionID == -1) + m_HitsCollectionID = pSDManager->GetCollectionID("WaterBoxHitsCollection"); +} + +//.... + +void BrachyEventAction::EndOfEventAction(const G4Event* evt) +{ + if(m_HitsCollectionID < 0) + return; + + G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); + BrachyWaterBoxHitsCollection* CHC = NULL; + + if(HCE) + CHC = (BrachyWaterBoxHitsCollection*)(HCE->GetHC(m_HitsCollectionID)); + + if(CHC) + { + if(m_pVoxel) + { + // Fill voxel matrix with energy deposit data + G4int HitCount = CHC->entries(); + for (G4int h=0; hGetZID() + ((*CHC)[h])->GetXID()*m_NumVoxelX] += (*CHC)[h]->GetEdep(); + } + } +} diff --git a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc new file mode 100644 index 0000000000..716c25c487 --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc @@ -0,0 +1,236 @@ +// ********************************** +// * * +// * BrachyPhysicsList.cc * +// * * +// ********************************** + +#include "BrachyPhysicsList.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" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +BrachyPhysicsList::BrachyPhysicsList(): G4VUserPhysicsList() +{ + defaultCutValue = 1*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForPositron = defaultCutValue; + + SetVerboseLevel(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +BrachyPhysicsList::~BrachyPhysicsList() +{ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::ConstructBosons() +{ + // gamma + G4Gamma::GammaDefinition(); + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4MultipleScattering.hh" +// gamma +#include "G4LowEnergyRayleigh.hh" +#include "G4LowEnergyPhotoElectric.hh" +#include "G4LowEnergyCompton.hh" +#include "G4LowEnergyGammaConversion.hh" +// e- +#include "G4LowEnergyIonisation.hh" +#include "G4LowEnergyBremsstrahlung.hh" +// e+ +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::ConstructEM() +{ + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + //processes + lowePhot = new G4LowEnergyPhotoElectric("LowEnPhotoElec"); + loweIon = new G4LowEnergyIonisation("LowEnergyIoni"); + loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem"); + + if (particleName == "gamma") { + //gamma + pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); + pmanager->AddDiscreteProcess(lowePhot); + pmanager->AddDiscreteProcess(new G4LowEnergyCompton); + pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(loweIon, -1, 2,2); + pmanager->AddProcess(loweBrem, -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); + + } + } +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetCuts() +{ + if (verboseLevel >0){ + G4cout << "BrachyPhysicsList::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(cutForPositron, "e+"); + + SetCutValueForOthers(defaultCutValue); + + if (verboseLevel>0) DumpCutValuesTable(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetGammaLowLimit(G4double lowcut) +{ + if (verboseLevel >0){ + G4cout << "BrachyPhysicsList::SetCuts:"; + G4cout << "Gamma cut in energy: " << lowcut*MeV << " (MeV)" << G4endl; + } + + G4Gamma::SetEnergyRange(lowcut,1e5); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetElectronLowLimit(G4double lowcut) +{ + if (verboseLevel >0){ + + G4cout << "BrachyPhysicsList::SetCuts:"; + G4cout << "Electron cut in energy: " << lowcut*MeV << " (MeV)" << G4endl; + + } + + G4Electron::SetEnergyRange(lowcut,1e5); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetGELowLimit(G4double lowcut) +{ + if (verboseLevel >0){ + G4cout << "BrachyPhysicsList::SetCuts:"; + G4cout << "Gamma and Electron cut in energy: " << lowcut*MeV << " (MeV)" << G4endl; + } + + G4Gamma::SetEnergyRange(lowcut,1e5); + G4Electron::SetEnergyRange(lowcut,1e5); + G4Positron::SetEnergyRange(lowcut,1e5); + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetGammaCut(G4double val) +{ + ResetCuts(); + cutForGamma = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetElectronCut(G4double val) +{ + // ResetCuts(); + cutForElectron = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetPositronCut(G4double val) +{ + // ResetCuts(); + cutForPositron = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetLowEnSecPhotCut(G4double cut){ + + G4cout<<"Low energy secondary photons cut is now set to: "<SetCutForLowEnSecPhotons(cut); + loweIon->SetCutForLowEnSecPhotons(cut); + loweBrem->SetCutForLowEnSecPhotons(cut); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void BrachyPhysicsList::SetLowEnSecElecCut(G4double cut){ + + G4cout<<"Low energy secondary electrons cut is now set to: "<SetCutForLowEnSecElectrons(cut); + +} + diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc new file mode 100644 index 0000000000..7cfc488c53 --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc @@ -0,0 +1,80 @@ +// ******************************************** +// * * +// * BrachyPrimaryGeneratorAction.cc * +// * * +// ******************************************** + +#include "BrachyPrimaryGeneratorAction.hh" + +#include "G4ParticleTable.hh" +#include "Randomize.hh" +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4IonTable.hh" +#include "G4RadioactiveDecay.hh" +#include "G4UImanager.hh" +#include "globals.hh" +#include + +//.... + +BrachyPrimaryGeneratorAction::BrachyPrimaryGeneratorAction() +{ + // Generate a gamma particle with energy = Ir-192 mean energy + G4int NumParticles = 1; + G4double Energy = 0.356*MeV; + + m_pParticleGun = new G4ParticleGun(NumParticles); + if(m_pParticleGun) + m_pParticleGun->SetParticleEnergy(Energy); +} + +//.... + +BrachyPrimaryGeneratorAction::~BrachyPrimaryGeneratorAction() +{ + if(m_pParticleGun) + delete m_pParticleGun; +} + +//.... + +void BrachyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + G4ParticleTable* pParticleTable = G4ParticleTable::GetParticleTable(); + G4String ParticleName = "gamma"; + G4ParticleDefinition* pParticle = pParticleTable->FindParticle(ParticleName); + + m_pParticleGun->SetParticleDefinition(pParticle); + + // Random generation of gamma source point inside the Iridium core cylinder(R=0.3*mm,h=3.5*mm) + G4double radius = 0.3*mm; + G4double x,y,z; + do{ + x = (G4UniformRand()-0.5)*radius/0.5; + y = (G4UniformRand()-0.5)*radius/0.5; + }while(x*x+y*y > radius*radius); + z = (G4UniformRand()-0.5)*1.75*mm/0.5; + + G4ThreeVector position(x,y,z); + m_pParticleGun->SetParticlePosition(position); + + // Random generation of the impulse direction + G4double a,b,c; + G4double n; + do{ + a = (G4UniformRand()-0.5)/0.5; + b = (G4UniformRand()-0.5)/0.5; + c = (G4UniformRand()-0.5)/0.5; + n = a*a+b*b+c*c; + }while(n > 1 || n == 0.0); + n = sqrt(n); + a /= n; + b /= n; + c /= n; + + G4ThreeVector direction(a,b,c); + m_pParticleGun->SetParticleMomentumDirection(direction); + + m_pParticleGun->GeneratePrimaryVertex(anEvent); +} diff --git a/examples/advanced/brachytherapy/src/BrachyWaterBoxHit.cc b/examples/advanced/brachytherapy/src/BrachyWaterBoxHit.cc new file mode 100644 index 0000000000..3b8fa43a4b --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyWaterBoxHit.cc @@ -0,0 +1,72 @@ +// ******************************** +// * * +// * BrachyWaterBoxHit.cc * +// * * +// ******************************** + +#include "BrachyWaterBoxHit.hh" +#include "G4ios.hh" +#include "G4VVisManager.hh" +#include "G4Colour.hh" +#include "G4VisAttributes.hh" +#include "G4LogicalVolume.hh" + +G4Allocator BrachyWaterBoxHitAllocator; + +//.... + +BrachyWaterBoxHit::BrachyWaterBoxHit(G4LogicalVolume* logVol,G4int XID,G4int ZID) +:m_pLogV(logVol),m_XID(XID),m_ZID(ZID) +{ + m_Edep=0; +} + +//.... + +BrachyWaterBoxHit::~BrachyWaterBoxHit() +{ +} + +//.... + +BrachyWaterBoxHit::BrachyWaterBoxHit(const BrachyWaterBoxHit &right) +{ + m_XID = right.m_XID; + m_ZID = right.m_ZID; + m_Edep = right.m_Edep; + m_Pos = right.m_Pos; + m_Rot = right.m_Rot; + m_pLogV = right.m_pLogV; +} + +//.... + +const BrachyWaterBoxHit& BrachyWaterBoxHit::operator=(const BrachyWaterBoxHit &right) +{ + m_XID = right.m_XID; + m_ZID = right.m_ZID; + m_Edep = right.m_Edep; + m_Pos = right.m_Pos; + m_Rot = right.m_Rot; + m_pLogV = right.m_pLogV; + return *this; +} + +//.... + +int BrachyWaterBoxHit::operator==(const BrachyWaterBoxHit &right) const +{ + return((m_XID==right.m_XID)&&(m_ZID==right.m_ZID)); +} + +//.... + +void BrachyWaterBoxHit::Draw() +{ +} + +//.... + +void BrachyWaterBoxHit::Print() +{ +} diff --git a/examples/advanced/brachytherapy/src/BrachyWaterBoxROGeometry.cc b/examples/advanced/brachytherapy/src/BrachyWaterBoxROGeometry.cc new file mode 100644 index 0000000000..b4ad3655e7 --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyWaterBoxROGeometry.cc @@ -0,0 +1,94 @@ +// ************************************ +// * * +// * BrachyWaterBoxROGeometry.cc * +// * * +// ************************************ + +#include "BrachyWaterBoxROGeometry.hh" +#include "BrachyDummySD.hh" + +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4SDManager.hh" +#include "G4Box.hh" +#include "G4Tubs.hh" +#include "G4SubtractionSolid.hh" +#include "G4ThreeVector.hh" +#include "G4Material.hh" + +//.... + +BrachyWaterBoxROGeometry::BrachyWaterBoxROGeometry(G4String aString,G4double DetDimX,G4double DetDimZ,G4int NumVoxelX,G4int NumVoxelZ) +: G4VReadOutGeometry(aString),m_DetDimX(DetDimX),m_DetDimZ(DetDimZ),m_NumVoxelX(NumVoxelX),m_NumVoxelZ(NumVoxelZ) +{ +} + +//.... + +BrachyWaterBoxROGeometry::~BrachyWaterBoxROGeometry() +{ +} + +//.... + +G4VPhysicalVolume* BrachyWaterBoxROGeometry::Build() +{ + // A dummy material is used to fill the volumes of the readout geometry. + // (It will be allowed to set a NULL pointer in volumes of such virtual + // division in future, since this material is irrelevant for tracking.) + + G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); + + // Slice thickness is the average of Voxel X and Z sizes + G4double DetVoxel_y = (m_DetDimX/m_NumVoxelX+m_DetDimZ/m_NumVoxelZ)/2.0; + + G4double ExpHall_x = 4.0*m; + G4double ExpHall_y = 4.0*m; + G4double ExpHall_z = 4.0*m; + + G4double Det_x = m_DetDimX/2; + G4double Det_y = DetVoxel_y; + G4double Det_z = m_DetDimZ/2; + + G4double DetVoxelX_x = Det_x/m_NumVoxelX; + G4double DetVoxelX_y = DetVoxel_y; + G4double DetVoxelX_z = Det_z; + G4double DetVoxelX_dx = 2*DetVoxelX_x; + + G4double DetVoxelZ_x = Det_x; + G4double DetVoxelZ_y = DetVoxel_y; + G4double DetVoxelZ_z = Det_z/m_NumVoxelZ; + G4double DetVoxelZ_dz = 2*DetVoxelZ_z; + + G4Box *ROExpHall = new G4Box("ROExpHall",ExpHall_x,ExpHall_y,ExpHall_z); + G4LogicalVolume *ROExpHallLog = new G4LogicalVolume(ROExpHall,dummyMat,"ROExpHallLog",0,0,0); + G4VPhysicalVolume *ROExpHallPhys = new G4PVPlacement(0,G4ThreeVector(),"ROExpHallPhys",ROExpHallLog,0,false,0); + + G4Box *RODetector = new G4Box("RODetector", Det_x, Det_y, Det_z); + G4LogicalVolume *RODetectorLog = new G4LogicalVolume(RODetector,dummyMat,"RODetectorLog",0,0,0); + G4VPhysicalVolume *RODetectorPhys = new G4PVPlacement(0,G4ThreeVector(),"DetectorPhys",RODetectorLog,ROExpHallPhys,false,0); + + // ReadOut Voxel division + + // X division first... + + G4Box *RODetectorXDivision = new G4Box("RODetectorXDivision",DetVoxelX_x,DetVoxelX_y,DetVoxelX_z); + G4LogicalVolume *RODetectorXDivisionLog = new G4LogicalVolume(RODetectorXDivision,dummyMat,"RODetectorXDivisionLog",0,0,0); + G4VPhysicalVolume *RODetectorXDivisionPhys = new G4PVReplica("RODetectorXDivisionPhys",RODetectorXDivisionLog,RODetectorPhys,kXAxis,m_NumVoxelX,DetVoxelX_dx); + +// ...then Z division + + G4Box *RODetectorZDivision = new G4Box("RODetectorZDivision",DetVoxelZ_x,DetVoxelZ_y,DetVoxelZ_z); + G4LogicalVolume *RODetectorZDivisionLog = new G4LogicalVolume(RODetectorZDivision,dummyMat,"RODetectorZDivisionLog",0,0,0); + G4VPhysicalVolume *RODetectorZDivisionPhys = new G4PVReplica("RODetectorZDivisionPhys",RODetectorZDivisionLog,RODetectorXDivisionPhys,kZAxis,m_NumVoxelZ,DetVoxelZ_dz); + + BrachyDummySD *dummySD = new BrachyDummySD; + RODetectorZDivisionLog->SetSensitiveDetector(dummySD); + + return ROExpHallPhys; +} + + + diff --git a/examples/advanced/brachytherapy/src/BrachyWaterBoxSD.cc b/examples/advanced/brachytherapy/src/BrachyWaterBoxSD.cc new file mode 100644 index 0000000000..2765bcbb5e --- /dev/null +++ b/examples/advanced/brachytherapy/src/BrachyWaterBoxSD.cc @@ -0,0 +1,119 @@ +// ******************************** +// * * +// * BrachyWaterBoxSD.cc * +// * * +// ******************************** + +#include "BrachyWaterBoxSD.hh" +#include "BrachyWaterBoxHit.hh" +#include "BrachyDetectorConstruction.hh" + +#include "G4Track.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4Step.hh" +#include "G4VTouchable.hh" +#include "G4TouchableHistory.hh" +#include "G4SDManager.hh" +#include "G4ParticleDefinition.hh" + +//.... + +BrachyWaterBoxSD::BrachyWaterBoxSD(G4String name, G4int NumVoxelX, G4int NumVoxelZ) + :G4VSensitiveDetector(name),m_NumVoxelX(NumVoxelX),m_NumVoxelZ(NumVoxelZ) +{ + G4String HCname; + collectionName.insert(HCname="WaterBoxHitsCollection"); + m_pVoxelID = new G4int[NumVoxelX*NumVoxelZ]; + m_pWaterBoxHitsCollection = NULL; +} + +//.... + +BrachyWaterBoxSD::~BrachyWaterBoxSD() +{ + delete[] m_pVoxelID; +} + +//.... + +void BrachyWaterBoxSD::Initialize(G4HCofThisEvent*HCE) +{ + m_pWaterBoxHitsCollection = new BrachyWaterBoxHitsCollection(SensitiveDetectorName,collectionName[0]); + + for(G4int k=0;kGetPreStepPoint()->GetPhysicalVolume()->GetName() != "WaterBoxPhys") + return false; + + G4double edep = aStep->GetTotalEnergyDeposit(); + if(edep==0.) + return false; + + G4VPhysicalVolume* physVol = ROhist->GetVolume(); + G4VPhysicalVolume* mothVol = ROhist->GetVolume(1); + + // Read Voxel indexes: i is the x index, k is the z index + G4int k = ROhist->GetReplicaNumber(); + G4int i = ROhist->GetReplicaNumber(1); + + if(m_pVoxelID[i+k*m_NumVoxelX]==-1) + { + BrachyWaterBoxHit* WaterBoxHit = new BrachyWaterBoxHit(physVol->GetLogicalVolume(),i,k); + + G4RotationMatrix rotM; + if(physVol->GetObjectRotation()) + rotM = *(physVol->GetObjectRotation()); + + WaterBoxHit->SetEdep(edep); + WaterBoxHit->SetPos(physVol->GetTranslation()); + WaterBoxHit->SetRot(rotM); + + G4int VoxelID = m_pWaterBoxHitsCollection->insert(WaterBoxHit); + m_pVoxelID[i+k*m_NumVoxelX] = VoxelID - 1; + } + else + (*m_pWaterBoxHitsCollection)[m_pVoxelID[i+k*m_NumVoxelX]]->AddEdep(edep); + + return true; +} + +//.... + +void BrachyWaterBoxSD::EndOfEvent(G4HCofThisEvent*HCE) +{ + static G4int HCID = -1; + if(HCID<0) + { + HCID = GetCollectionID(0); + } + HCE->AddHitsCollection(HCID,m_pWaterBoxHitsCollection); +} + +//.... + +void BrachyWaterBoxSD::clear() +{ +} + +//.... + +void BrachyWaterBoxSD::DrawAll() +{ +} + +//.... + +void BrachyWaterBoxSD::PrintAll() +{ +} diff --git a/examples/advanced/gammaray_telescope/GNUmakefile b/examples/advanced/gammaray_telescope/GNUmakefile new file mode 100644 index 0000000000..a55883e08f --- /dev/null +++ b/examples/advanced/gammaray_telescope/GNUmakefile @@ -0,0 +1,23 @@ +# $Id: GNUmakefile,v 1.3 2000/12/06 16:53:11 flongo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := GammaRayTel +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk + + + + + + diff --git a/examples/advanced/gammaray_telescope/GammaRayTel.cc b/examples/advanced/gammaray_telescope/GammaRayTel.cc new file mode 100644 index 0000000000..791249a954 --- /dev/null +++ b/examples/advanced/gammaray_telescope/GammaRayTel.cc @@ -0,0 +1,144 @@ +// 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: GammaRayTel.cc,v 1.3 2000/12/06 16:53:12 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 main program +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTel example main program ------ +// by F.Longo, R.Giannitrapani & G.Santin (29 nov 2000) +// See README file for details on this example +// ************************************************************ + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" + +#ifdef G4UI_USE_XM +#include "G4UIXm.hh" +#endif + +#ifdef G4VIS_USE +#include "GammaRayTelVisManager.hh" +#endif + +#include "GammaRayTelDetectorConstruction.hh" +#include "GammaRayTelPhysicsList.hh" +#include "GammaRayTelPrimaryGeneratorAction.hh" +#include "GammaRayTelRunAction.hh" +#include "GammaRayTelEventAction.hh" + +#ifdef G4ANALYSIS_USE +#include "GammaRayTelAnalysisManager.hh" +#endif + + +/* This global file is used to store relevant data for + analysis with external tools */ +G4std::ofstream outFile; + +// This is the main function +int main(int argc, char** argv) +{ + // Construct the default run manager + G4RunManager* runManager = new G4RunManager; + + // Set mandatory user initialization classes + GammaRayTelDetectorConstruction* detector = + new GammaRayTelDetectorConstruction; + runManager->SetUserInitialization(detector); + runManager->SetUserInitialization(new GammaRayTelPhysicsList); + + // Set mandatory user action classes + runManager->SetUserAction(new GammaRayTelPrimaryGeneratorAction(detector)); + + +#ifdef G4ANALYSIS_USE + // Creation of the analysis manager + GammaRayTelAnalysisManager* analysisMgr = new GammaRayTelAnalysisManager(detector); +#endif + + // Set optional user action classes +#ifdef G4ANALYSIS_USE + GammaRayTelEventAction* eventAction = + new GammaRayTelEventAction(analysisMgr); + GammaRayTelRunAction* runAction = + new GammaRayTelRunAction(analysisMgr); +#else + GammaRayTelEventAction* eventAction = new GammaRayTelEventAction(); + GammaRayTelRunAction* runAction = new GammaRayTelRunAction(); +#endif + runManager->SetUserAction(eventAction); + runManager->SetUserAction(runAction); + + // Set visualization and user interface + // Initialization of the User Interface Session + G4UIsession* session=0; +#ifdef G4UI_USE_XM + // Create a XMotif user interface + session = new G4UIXm(argc,argv); +#else + // Create the standard user interface + session = new G4UIterminal; +#endif +#ifdef G4VIS_USE + // Visualization manager + G4VisManager* visManager = new GammaRayTelVisManager; + visManager->Initialize(); +#endif + + // Initialize G4 kernel + runManager->Initialize(); + + // Get the pointer to the UI manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (session) + { + /* prerunGammaRayTel.mac is loaded by default + unless a macro file is passed as the argument + of the executable */ + + if(argc>1) + { + G4String command = "/control/execute "; + for (int i=2; i<=argc; i++) + { + G4String macroFileName = argv[i-1]; + UI->ApplyCommand(command+macroFileName); + } + } + else UI->ApplyCommand("/control/execute prerunGammaRayTel.mac"); + session->SessionStart(); + delete session; + } + + // Job termination +#ifdef G4VIS_USE + delete visManager; +#endif +#ifdef G4ANALYSIS_USE + delete analysisMgr; +#endif + delete runManager; + return 0; +} + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/README b/examples/advanced/gammaray_telescope/README new file mode 100644 index 0000000000..c1c478627a --- /dev/null +++ b/examples/advanced/gammaray_telescope/README @@ -0,0 +1,262 @@ +$Id: README,v 1.2 2000/12/06 16:53:12 flongo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + gammaray_telescope + ------------------ + F.Longo, R.Giannitrapani & G.Santin + December 2000 + +-------------------------------------------------------------- +Acknowledgments to GEANT4 people, in particular to R.Nartallo, +A.Pfeiffer, M.G.Pia and G.Cosmo +-------------------------------------------------------------- + +GammaRayTel is an example of application of Geant4 in a space +envinronment. It simulates a typical telescope for gamma ray analysis; +the detector setup is composed by a tracker made with silicon planes, +subdivided in ladders and strips, a CsI calorimeter and an +anticoincidence system. In this version, only the tracker is made +sensitive; the hits on the tracker strips are registered and relevant +information (energy deposition, position etc) are dumped to an external +ASCII file for subsequent analysis. If Lizard is available on the user +platform, than some histograms with relevant hits information are +displayed and saved as PostScript files. + +The main features of this example are + + a) Macros for the visualization of geometry and tracks with + OpenGL, VRML and DAWN drivers + + b) Implementation of messengers to change some parameters of + the detector geometry, the particle generator and the analysis + manager (if present) runtime + + c) Readout geometry mechanism to describe an high number of + subdivisions of the planes of the tracker (strips) without + affecting in a relevant way the simulation performances + + d) Histogramming for Linux and Solaris platform via the + Lizard system (tested on Linux platform); this is a preliminary + feature of GEANT4, so expect some changes and/or improvements in + future releases + + e) User interfaces via Xmotif or normal terminal provided + + +1. Setting up the environment variables +--------------------------------------- + + - Setup for Visualization + + IMPORTANT: be sure that your Geant4 installation has been done + with the proper visualization drivers; for details please see the + file geant4/source/visualization/README. + + To use the visualization drivers set the following variables in + your local environment: + + setenv G4VIS_USE_OPENGLX 1 # OpenGL visualization + setenv G4VIS_USE_DAWNFILE 1 # DAWN file + setenv G4VIS_USE_VRMLFILE 1 # VRML file + setenv G4VRMLFILE_VIEWER vrmlview # If installed + + - Setup for Xmotif user interface + + setenv G4UI_USE_XM 1 + + + - Set up for analysis using Lizard + + IMPORTANT: be sure that your G4 installation has been done properly; + in particular be sure that the following environment variables are + set prior to build the library (this is working only on Linux and + Solaris platform) + + setenv G4ANALYSIS_BUILD 1 # Build the analysis tools + setenv G4ANALYSIS_BUILD_LIZARD 1 # Build the Lizard interface + setenv LIZARDROOT /usr/local/freeLizard/3.2.0 #get correct path + + For example at CERN the path is + setenv LIZARDROOT /afs/cern.ch/project/asddat/lhcxx/3.2.0/freeLizard/3.2.0 + + + To compile the GammaRayTel example with the analysis tools activated, + set the following variables + + setenv G4ANALYSIS_USE 1 # Use the analysis tools + setenv G4ANALYSIS_USE_LIZARD 1 # Use the Lizard one + + and be sure to have the right path to the Lizard library + + #add to the LD_LIBRARY_PATH (get correct path) + setenv LD_LIBRARY_PATH /usr/local/freeLizard/3.2.0/Linux/lib + + For example at CERN the path is + setenv LD_LIBRARY_PATH /afs/cern.ch/project/asddat/lhcxx/3.2.0/freeLizard/3.2.0/Linux/lib + + +2. Sample run +------------- + + To run a sample simulation with gamma tracks interacting with + the detector in its standard configuration and without any + visualization, execute the following command in the example main + directory: + + $G4WORKDIR/bin/$G4SYSTEM/GammaRayTel + + It is possible also to run three different configuration defined in + macro1.mac, macro2.mac and macro3.mac for visualization (OpenGL, VRML + and DAWN respectively) with the following command + + $G4WORKDIR/bin/$G4SYSTEM/GammaRayTel macroX.mac + + where X can be 1, 2 or 3. Be sure to have the right environment (see + the preceding section) and the proper visualization driver enabled in + your local G4 installation (see geant4/source/visualization/README for + more information). + +3. Detector description +----------------------- + + The detector is defined in GammaRayTelDetectorConstruction.cc + It is composed of a Payload with three main detectors, a Tracker (TKR), a + Calorimeter (CAL) and an Anticoincidence system (ACD). + + The standard configuration is made of a TKR of 15 Layers of Si detectors, + with Lead converter, and a CAL of 8 layers of CsI. 4 lateral panels and a + top layer of plastic scintillator (ACT and ACL) complete the configuration. + The Si detectors are composed of two silicon planes subdivided in strips + aligned along the X axis in one plane and along the Y axis for the other. + + It is possible to modify in some way this configuration using the + commands defined in GammaRayTelDetectorMessenger. + This feature is available in the UI throught the commands subtree + "/payload/" (see the help command in the UI for more information). + +4. Physics processes +-------------------- + + This example uses the standard Electromagnetic processes. + +5. Particle Generator +--------------------- + + The GammaRayTelParticleGenerationAction and its Messenger let the user define + the incident flux of particles, from a specific direction or from an + isotropic background. The user can define also between two spectral options: + monochromatic or with a power-law dependence. The particle + generator parameters are accessible throught the UI tree "/gun/" (use the + UI help for more information). We are planning to include, in the next + release of this example, the new General Particle Source module of G4. + +6. ReadOutGeometry +------------------ + + The tracker is made of Silicon Microstrips detectors. The ReadOut geometry + provides the description of the strips. + +7. Hit +------ + + In this version only the hits from the TKR are recorded. Each hit + contains the following information + + a) ID of the event (this is important for multiple events run) + b) Energy deposition of the particle in the strip (keV) + c) Number of the strip + d) Number of the plane + e) Type of the plane (1=X 0=Y) + f) Position of the hit (x,y,z) in the reference frame of the payload + + The hit information are saved on an ASCII file named Tracks_N.dat, where + N is the progressive ID number associated to the run. + +8. Histogramming +---------------- + + Some hits information can be visualized runtime using Lizard (if it is + available on the user platform); two 2D histograms and two 1D histograms + can be visualized and saved (as PostScript files) during the simulation + run. The 2D histograms contain the hits positions on the TKR projected on + the XZ plane and the YZ plane; the 1D histograms contain the energy + deposition in the last X plane of the TKR and the hits distribution along + the X planes of the TKR (note that this histograms have been chosen more + for pedagogical motivation than for physical one). + + These histograms are filled and updated at every event and are initialized + with each new run; the scale of the histograms is automatically derived from + the detector geometry. + + Throught a messenger it is possible to set some options with + the UI subtree "/analysis/" (use the UI help for more info); in particular + it is possible to enable or disable the drawing of the 1D and 2D histograms + at every event and to enable or disable the saving of PostScript files at the + end of each run. If you feel that the simulation is too slow with the + histograms updated every event, you can disable the drawing and retain + the saving. Please note that the updating of the histograms is triggered + only when there is some hit in an event. + + In this example we only show the use of very basic feature of this new + simulation/analysis framework; histogramming and analysis in Geant4 + are in an evolving phase, so expect some changes and/or improvements + for next releases. + + +9. Classes Overview +------------------- + + This is the overview of the classes defined in this example + + GammaRayTelPrimaryGeneratorAction + User action for primaries generator + + GammaRayTelPrimaryGeneratorMessenger + Messenger for interactive particle generator + parameters modification via the User Interface + + GammaRayTelPhysicsList + Determination of particles and processes active in this + example + + GammaRayTelTelVisManager + Visualization manager class + + GammaRayTelDetectorConstruction + Geometry and material definitions for the detector + + GammaRayTelDetectorMessenger + Messenger for interactive geometry parameters + modification via the User Interface + + GammaRayTelAnalysisManager + Analysis manager class with Lizard tool (experimental) + + GammaRayTelAnalysisMessenger + Messenger for interactive analysis options modification + via the User Interface + + GammaRayTelRunAction + User run action class + + GammaRayTelEventAction + User event action class + + GammaRayTelPayloadHit + Description of the hits on the tracker + + GammaRayTelPayloadROGeometry + Description of the readout geometry for strips subdivision + + GammaRayTelPayloadSD + Description of the sensitive detector + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisManager.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisManager.hh new file mode 100644 index 0000000000..ee22c6c018 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisManager.hh @@ -0,0 +1,99 @@ +// This code implementation is the intellectual property of +// the GEANT4 collaboration. +// +// By copying, distributing or modifying the Program (or any work +// based on the Program) you indicate your acceptance of this statement, +// and all its terms. +// +// $Id: GammaRayTelAnalysisManager.hh,v 1.1 2000/12/06 16:53:12 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelAnalysisManager ------ +// by R.Giannitrapani, F. Longo & G.Santin (30 nov 2000) +// +// ************************************************************ + +#ifdef G4ANALYSIS_USE +#ifndef GammaRayTelAnalysisManager_h +#define GammaRayTelAnalysisManager_h 1 + +#include "G4VAnalysisManager.hh" + +#include "globals.hh" +#include "g4std/vector" +#include "G4ThreeVector.hh" + +class GammaRayTelAnalysisMessenger; +class GammaRayTelDetectorConstruction; +class IHistogramFactory; +class IHistogram1D; +class IHistogram2D; +class IPlotter; +class IVectorFactory; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelAnalysisManager: public G4VAnalysisManager +{ +public: + GammaRayTelAnalysisManager(GammaRayTelDetectorConstruction*); + virtual ~GammaRayTelAnalysisManager(); + +public: + G4bool RegisterAnalysisSystem(G4VAnalysisSystem*); + IHistogramFactory* GetHistogramFactory(const G4String&); + void Store(IHistogram* = 0, const G4String& = ""); + void Plot(IHistogram* = 0); + void InsertPositionXZ(double x, double z); + void InsertPositionYZ(double y, double z); + void InsertEnergy(double en); + void InsertHits(int nplane); + void BeginOfRun(); + void EndOfRun(G4int n); + void EndOfEvent(G4int flag); + + void SetHisto1DDraw(G4String str) {histo1DDraw = str;}; + void SetHisto1DSave(G4String str) {histo1DSave = str;}; + void SetHisto2DDraw(G4String str) {histo2DDraw = str;}; + void SetHisto2DSave(G4String str) {histo2DSave = str;}; + void SetHisto2DMode(G4String str) {histo2DMode = str;}; + + G4String GetHisto2DMode() {return histo2DMode;}; + +private: + G4VAnalysisSystem* analysisSystem; + IPlotter* pl; + IVectorFactory* fVectorFactory; + IHistogramFactory* histoFactory; + + IHistogram1D* energy; + IHistogram1D* hits; + IHistogram2D* posXZ; + IHistogram2D* posYZ; + + GammaRayTelDetectorConstruction* GammaRayTelDetector; + + G4String histo1DDraw; + G4String histo1DSave; + G4String histo2DDraw; + G4String histo2DSave; + G4String histo2DMode; + + GammaRayTelAnalysisMessenger* analysisMessenger; +}; + + +#endif +#endif + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh new file mode 100644 index 0000000000..d4f9d58393 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh @@ -0,0 +1,66 @@ +// 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: GammaRayTelAnalysisMessenger.hh,v 1.1 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelAnalysysMessenger ------ +// by R.Giannitrapani, F.Longo & G.Santin (03 dec 2000) +// +// ************************************************************ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#ifdef G4ANALYSIS_USE +#ifndef GammaRayTelAnalysisMessenger_h +#define GammaRayTelAnalysisMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class GammaRayTelAnalysisManager; +class G4UIdirectory; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelAnalysisMessenger: public G4UImessenger +{ +public: + GammaRayTelAnalysisMessenger(GammaRayTelAnalysisManager* ); + ~GammaRayTelAnalysisMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + GammaRayTelAnalysisManager* GammaRayTelAnalysis; + G4UIdirectory* GammaRayTelAnalysisDir; + + G4UIcmdWithAString* Histo1DDrawCmd; + G4UIcmdWithAString* Histo2DDrawCmd; + G4UIcmdWithAString* Histo1DSaveCmd; + G4UIcmdWithAString* Histo2DSaveCmd; + G4UIcmdWithAString* Histo2DModeCmd; +}; +#endif +#endif + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh new file mode 100644 index 0000000000..496f76b591 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh @@ -0,0 +1,288 @@ +// 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: GammaRayTelDetectorConstruction.hh,v 1.4 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelDetectorConstruction ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ + +#ifndef GammaRayTelDetectorConstruction_h +#define GammaRayTelDetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +class G4Box; +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4Material; +class G4UniformMagField; +class GammaRayTelDetectorMessenger; +class GammaRayTelPayloadSD; +class GammaRayTelPayloadROGeometry; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelDetectorConstruction : public G4VUserDetectorConstruction +{ +public: + + GammaRayTelDetectorConstruction(); + ~GammaRayTelDetectorConstruction(); + +public: + + void SetNbOfTKRLayers (G4int); // TKR number of layers, material, detector + void SetTKRTileSizeXY (G4double); + void SetNbOfTKRTiles (G4int); + void SetTKRSiliconThickness(G4double); + void SetTKRSiliconPitch(G4double); + + void SetTKRLayerDistance (G4double); + void SetTKRViewsDistance (G4double); + + void SetConverterMaterial (G4String); // TKR Converter material & thickness + void SetConverterThickness(G4double); + + void SetNbOfCALLayers (G4int); // CAL material, lenght, thickness + void SetNbOfCALBars (G4int); + void SetCALBarThickness(G4double); + + void SetACDThickness (G4double); //ACD Thickness + + void SetMagField(G4double); // Magnetic Field + + + G4VPhysicalVolume* Construct(); + void UpdateGeometry(); + +public: + + void PrintPayloadParameters(); + + + G4double GetWorldSizeZ() {return WorldSizeZ;}; + G4double GetWorldSizeXY() {return WorldSizeXY;}; + + G4double GetPayloadSizeZ() {return PayloadSizeZ;}; + G4double GetPayloadSizeXY() {return PayloadSizeXY;}; + + G4double GetTKRSizeZ() {return TKRSizeZ;}; + G4double GetTKRSizeXY() {return TKRSizeXY;}; + + G4double GetCALSizeZ() {return CALSizeZ;}; + G4double GetCALTKRDistance() {return CALTKRDistance;}; + + G4double GetTKRSiliconThickness() {return TKRSiliconThickness;}; + G4double GetTKRSiliconTileXY() {return TKRSiliconTileXY;}; + G4double GetTKRSiliconPitch() {return TKRSiliconPitch;}; + G4int GetNbOfTKRLayers() {return NbOfTKRLayers;}; + G4int GetNbOfTKRTiles() {return NbOfTKRTiles;}; + G4int GetNbOfTKRStrips() {return NbOfTKRStrips;}; + G4double GetTKRLayerDistance() {return TKRLayerDistance;}; + G4double GetTKRViewsDistance() {return TKRViewsDistance;}; + + G4double GetTKRActiveTileXY() {return TKRActiveTileXY;}; + G4double GetTKRActiveTileZ() {return TKRActiveTileZ;}; + G4double GetSiliconGuardRing() {return SiliconGuardRing;} + G4double GetTilesSeparation() {return TilesSeparation;}; + + G4Material* GetConverterMaterial() {return ConverterMaterial;}; + G4double GetConverterThickness() {return ConverterThickness;}; + + G4double GetCALBarThickness() {return CALBarThickness;}; + G4int GetNbOfCALLayers() {return NbOfCALLayers;}; + G4int GetNbOfCALBars() {return NbOfCALBars;}; + + G4double GetACDThickness() {return ACDThickness;}; + + +private: + + G4Material* ConverterMaterial; + G4double ConverterThickness; + + G4double TKRSiliconThickness; + G4double TKRSiliconTileXY; + G4double TKRSiliconPitch; + + G4double TKRSizeXY; + G4double TKRSizeZ; + + G4double TKRLayerDistance; + G4double TKRViewsDistance; + G4double TKRSupportThickness; + + G4int NbOfTKRLayers; + G4int NbOfTKRTiles; + + G4double CALBarThickness; + G4int NbOfCALLayers; + G4int NbOfCALBars; + G4double CALSizeXY; + G4double CALSizeZ; + + G4double ACDThickness; + G4double ACTSizeXY; + G4double ACTSizeZ; + + G4double ACL1SizeX; + G4double ACL1SizeY; + G4double ACL1SizeZ; + + G4double ACL2SizeX; + G4double ACL2SizeY; + G4double ACL2SizeZ; + + G4double TilesSeparation; + G4double ACDTKRDistance; + G4double CALTKRDistance; + G4double TKRActiveTileXY; + G4double TKRActiveTileZ; + + G4double SiliconGuardRing; + G4int NbOfTKRStrips; + + G4double TKRXStripX; + G4double TKRYStripX; + G4double TKRXStripY; + G4double TKRYStripY; + G4double TKRZStrip; + + G4double PayloadSizeZ; + G4double PayloadSizeXY; + + G4Material* defaultMaterial; + G4Material* CALMaterial; + G4Material* TKRMaterial; + G4Material* ACDMaterial; + G4double WorldSizeXY; + G4double WorldSizeZ; + + G4Box* solidWorld; // World + G4LogicalVolume* logicWorld; + G4VPhysicalVolume* physiWorld; + + G4Box* solidPayload; // Payload + G4LogicalVolume* logicPayload; + G4VPhysicalVolume* physiPayload; + + G4Box* solidTKR; // Tracker + G4LogicalVolume* logicTKR; + G4VPhysicalVolume* physiTKR; + + G4Box* solidCAL; // Calorimeter + G4LogicalVolume* logicCAL; + G4VPhysicalVolume* physiCAL; + + G4Box* solidACT; // Top Anticoincidence + G4LogicalVolume* logicACT; + G4VPhysicalVolume* physiACT; + + G4Box* solidACL1; // Lateral Anticoincidence + G4LogicalVolume* logicACL1; + G4VPhysicalVolume* physiACL1; + + G4Box* solidACL2; + G4LogicalVolume* logicACL2; + G4VPhysicalVolume* physiACL2; + + G4Box* solidTKRDetectorX; // Tracker PLANE X + G4LogicalVolume* logicTKRDetectorX; + G4VPhysicalVolume* physiTKRDetectorX; + + G4Box* solidTKRDetectorY; // Tracker PLANE Y + G4LogicalVolume* logicTKRDetectorY; + G4VPhysicalVolume* physiTKRDetectorY; + + G4Box* solidCALDetector; // Calorimeter PLANE + G4LogicalVolume* logicCALDetector; + + G4VPhysicalVolume* physiCALDetectorX; + G4VPhysicalVolume* physiCALDetectorY; + + G4Box* solidPlane; // Support Plane + G4LogicalVolume* logicPlane; + G4VPhysicalVolume* physiPlane; + + G4Box* solidConverter; // Converter + G4LogicalVolume* logicConverter; + G4VPhysicalVolume* physiConverter; + + G4UniformMagField* magField; //pointer to the magnetic field + + GammaRayTelDetectorMessenger* detectorMessenger; //pointer to the Messenger + GammaRayTelPayloadSD* payloadSD; //pointer to the sensitive detector + +private: + + void DefineMaterials(); + void ComputePayloadParameters(); + G4VPhysicalVolume* ConstructPayload(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void GammaRayTelDetectorConstruction::ComputePayloadParameters() +{ + // Compute derived parameters of the payload + + TKRSupportThickness =TKRLayerDistance -2.*TKRSiliconThickness + - TKRViewsDistance; + TKRSizeXY = NbOfTKRTiles*TKRSiliconTileXY + (NbOfTKRTiles+1)*TilesSeparation; + TKRSizeZ = NbOfTKRLayers*TKRLayerDistance; + + TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing; + TKRActiveTileZ = TKRSiliconThickness; + NbOfTKRStrips = G4int(TKRActiveTileXY/TKRSiliconPitch); + + SiliconGuardRing = TKRActiveTileXY - NbOfTKRStrips*TKRSiliconPitch; + TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing; + + TKRXStripX = TKRYStripY = TKRSiliconPitch; + TKRYStripX = TKRXStripY = TKRActiveTileXY; + TKRZStrip = TKRSiliconThickness; + + CALSizeXY = TKRSizeXY; + CALSizeZ = 2.*NbOfCALLayers*CALBarThickness; + + ACTSizeXY = TKRSizeXY + 2*ACDTKRDistance + 2*ACDThickness; + ACTSizeZ = ACDThickness; + + ACL1SizeX = TKRSizeXY + 2*ACDTKRDistance + ACDThickness; + ACL1SizeY = ACDThickness; + ACL1SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance; + + ACL2SizeX = ACDThickness; + ACL2SizeY = TKRSizeXY + 2*ACDTKRDistance + ACDThickness; + ACL2SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance; + + PayloadSizeZ = 1.1*(ACL1SizeZ + ACTSizeZ); + PayloadSizeXY = (ACTSizeXY); + + WorldSizeZ = 1.5*PayloadSizeZ; WorldSizeXY = 1.5*PayloadSizeXY; +} + +#endif + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh new file mode 100644 index 0000000000..23666bc4d9 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh @@ -0,0 +1,97 @@ +// 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: GammaRayTelDetectorMessenger.hh,v 1.2 2000/11/15 20:27:38 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelDetectorMessenger ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelDetectorMessenger_h +#define GammaRayTelDetectorMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class GammaRayTelDetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithoutParameter; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelDetectorMessenger: public G4UImessenger +{ +public: + GammaRayTelDetectorMessenger(GammaRayTelDetectorConstruction* ); + ~GammaRayTelDetectorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + GammaRayTelDetectorConstruction* GammaRayTelDetector; + + G4UIdirectory* GammaRayTeldetDir; + + // Converter + + G4UIcmdWithAString* ConverterMaterCmd; + G4UIcmdWithADoubleAndUnit* ConverterThickCmd; + + // Silicon Tile + + G4UIcmdWithADoubleAndUnit* SiliconThickCmd; + G4UIcmdWithADoubleAndUnit* SiliconTileXYCmd; + G4UIcmdWithAnInteger* NbSiTilesCmd; + G4UIcmdWithADoubleAndUnit* SiliconPitchCmd; + + // Tracker + + G4UIcmdWithAnInteger* NbTKRLayersCmd; + G4UIcmdWithADoubleAndUnit* LayerDistanceCmd; + G4UIcmdWithADoubleAndUnit* ViewsDistanceCmd; + + // Calorimeter + + G4UIcmdWithADoubleAndUnit* CALThickCmd; + G4UIcmdWithAnInteger* NbCALBarsCmd; + G4UIcmdWithAnInteger* NbCALLayersCmd; + + // Anticoincidence + + G4UIcmdWithADoubleAndUnit* ACDThickCmd; + + // Total + + G4UIcmdWithADoubleAndUnit* MagFieldCmd; + G4UIcmdWithoutParameter* UpdateCmd; +}; + +#endif + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh new file mode 100644 index 0000000000..f834d0f48b --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh @@ -0,0 +1,49 @@ + +// 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: GammaRayTelDummySD.hh,v 1.1 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelDummySD ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ +// +// Dummy sensitive used only to flag sensitivity +// in cells of RO geometry. +// + +#ifndef GammaRayTelDummySD_h +#define GammaRayTelDummySD_h 1 + +#include "G4VSensitiveDetector.hh" +class G4Step; + +class GammaRayTelDummySD : public G4VSensitiveDetector +{ +public: + GammaRayTelDummySD(); + ~GammaRayTelDummySD() {}; + + void Initialize(G4HCofThisEvent*HCE) {}; + G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) {return false;} + void EndOfEvent(G4HCofThisEvent*HCE) {}; + void clear() {}; + void DrawAll() {}; + void PrintAll() {}; +}; +GammaRayTelDummySD::GammaRayTelDummySD() + : G4VSensitiveDetector("dummySD") +{} +#endif diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh new file mode 100644 index 0000000000..eb6333de75 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh @@ -0,0 +1,68 @@ +// 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: GammaRayTelEventAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelEventAction ------ +// by R.Giannitrapani, F. Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelEventAction_h +#define GammaRayTelEventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +#ifdef G4ANALYSIS_USE +#include "GammaRayTelAnalysisManager.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelEventAction : public G4UserEventAction +{ + public: +#ifdef G4ANALYSIS_USE + GammaRayTelEventAction(GammaRayTelAnalysisManager* analysisMgr); +#else + GammaRayTelEventAction(); +#endif + virtual ~GammaRayTelEventAction(); + + public: + virtual void BeginOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); + + void SetDrawFlag (G4String val) {drawFlag = val;}; + + private: + G4int trackerCollID; + G4String drawFlag; +#ifdef G4ANALYSIS_USE + GammaRayTelAnalysisManager* analysisManager; +#endif +}; + +#endif + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadHit.hh new file mode 100644 index 0000000000..e866af2a8b --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadHit.hh @@ -0,0 +1,105 @@ +// 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: GammaRayTelPayloadHit.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadHit ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ +// This Class describe the hits on the Payload + +#ifndef GammaRayTelPayloadHit_h +#define GammaRayTelPayloadHit_h 1 + +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" +#include "G4ThreeVector.hh" + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelPayloadHit : public G4VHit +{ +public: + + GammaRayTelPayloadHit(); + ~GammaRayTelPayloadHit(); + GammaRayTelPayloadHit(const GammaRayTelPayloadHit&); + const GammaRayTelPayloadHit& operator=(const GammaRayTelPayloadHit&); + int operator==(const GammaRayTelPayloadHit&) const; + + inline void* operator new(size_t); + inline void operator delete(void*); + + void Draw(); + void Print(); + +private: + + G4double EdepSil; // Energy deposited on the silicon strip + G4ThreeVector pos; // Position of the hit + G4int NStrip; // Number of the strip + G4int NSilPlane; // Number of the plane + G4int IsXPlane; // Type of the plane (1 X, 0 Y) + +public: + + inline void AddSil(G4double de) {EdepSil += de;}; + inline void SetNStrip(G4int i) {NStrip = i;}; + inline void SetNSilPlane(G4int i) {NSilPlane = i;}; + inline void SetPlaneType(G4int i) {IsXPlane = i;}; + inline void SetPos(G4ThreeVector xyz){ pos = xyz; } + + inline G4double GetEdepSil() { return EdepSil; }; + inline G4int GetNStrip() { return NStrip; }; + inline G4int GetNSilPlane() { return NSilPlane; }; + inline G4int GetPlaneType() {return IsXPlane;}; + inline G4ThreeVector GetPos() { return pos; }; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +typedef G4THitsCollection GammaRayTelPayloadHitsCollection; + +extern G4Allocator GammaRayTelPayloadHitAllocator; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void* GammaRayTelPayloadHit::operator new(size_t) +{ + void* aHit; + aHit = (void*) GammaRayTelPayloadHitAllocator.MallocSingle(); + return aHit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void GammaRayTelPayloadHit::operator delete(void* aHit) +{ + GammaRayTelPayloadHitAllocator.FreeSingle((GammaRayTelPayloadHit*) aHit); +} + +#endif + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadROGeometry.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadROGeometry.hh new file mode 100644 index 0000000000..5693aeea05 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadROGeometry.hh @@ -0,0 +1,45 @@ +// 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: GammaRayTelPayloadROGeometry.hh,v 1.1 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadROGeometry ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ + +#ifndef GammaRayTelPayloadROGeometry_h +#define GammaRayTelPayloadROGeometry_h 1 + +#include "G4VReadOutGeometry.hh" + +class GammaRayTelDetectorConstruction; + +class GammaRayTelPayloadROGeometry : public G4VReadOutGeometry +{ +public: + GammaRayTelPayloadROGeometry(); + GammaRayTelPayloadROGeometry(G4String); + GammaRayTelPayloadROGeometry(G4String, GammaRayTelDetectorConstruction*); + ~GammaRayTelPayloadROGeometry(); + +private: + G4VPhysicalVolume* Build(); + GammaRayTelDetectorConstruction* GammaRayTelDetector; + //pointer to the geometry +}; + +#endif + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadSD.hh new file mode 100644 index 0000000000..d7007e6ff4 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPayloadSD.hh @@ -0,0 +1,66 @@ +// 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: GammaRayTelPayloadSD.hh,v 1.3 2000/11/24 16:56:59 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadSD ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +#ifndef GammaRayTelPayloadSD_h +#define GammaRayTelPayloadSD_h 1 + +#include "G4VSensitiveDetector.hh" +#include "globals.hh" + +class GammaRayTelDetectorConstruction; +class G4HCofThisEvent; +class G4Step; +#include "GammaRayTelPayloadHit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelPayloadSD : public G4VSensitiveDetector +{ +public: + + GammaRayTelPayloadSD(G4String, GammaRayTelDetectorConstruction* ); + ~GammaRayTelPayloadSD(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step* astep,G4TouchableHistory* ROHist); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void DrawAll(); + void PrintAll(); + +private: + + GammaRayTelPayloadHitsCollection* PayloadCollection; + GammaRayTelDetectorConstruction* Detector; + G4int (*HitXID)[30]; + G4int (*HitYID)[30]; + G4int NbOfTKRLayers; + G4int NbOfTKRStrips; + +}; + +#endif + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh new file mode 100644 index 0000000000..682c17752c --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh @@ -0,0 +1,84 @@ +// 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: GammaRayTelPhysicsList.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPhysicsList ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelPhysicsList_h +#define GammaRayTelPhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelPhysicsList: public G4VUserPhysicsList +{ + public: + GammaRayTelPhysicsList(); + ~GammaRayTelPhysicsList(); + + protected: + // Construct particle and physics + virtual void ConstructParticle(); + virtual void ConstructProcess(); + + virtual void SetCuts(); + + public: + // Set/Get cut values + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForProton(G4double); + G4double GetCutForGamma() const; + G4double GetCutForElectron() const; + G4double GetCutForProton() const; + + 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(); + + private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForProton; + G4double currentDefaultCut; +}; + +#endif + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh new file mode 100644 index 0000000000..9b9629aab4 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh @@ -0,0 +1,67 @@ +// 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: GammaRayTelPrimaryGeneratorAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPrimaryGeneratorAction ------ +// by G.Santin, F.Longo & R.Giannitrapani (30 nov 2000) +// +// ************************************************************ + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelPrimaryGeneratorAction_h +#define GammaRayTelPrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; +class GammaRayTelDetectorConstruction; +class GammaRayTelPrimaryGeneratorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ +public: + GammaRayTelPrimaryGeneratorAction(GammaRayTelDetectorConstruction*); + ~GammaRayTelPrimaryGeneratorAction(); + +public: + void GeneratePrimaries(G4Event*); + void SetRndmFlag(G4String val) { rndmFlag = val;} + void SetSourceType(G4int val) { nSourceType = val;} + void SetSpectrumType(G4int val) { nSpectrumType = val;} + void SetVertexRadius(G4double val) { dVertexRadius = val;} + +private: + G4ParticleGun* particleGun; + GammaRayTelDetectorConstruction* GammaRayTelDetector; + GammaRayTelPrimaryGeneratorMessenger* gunMessenger; + G4String rndmFlag; //flag for a random impact point + G4int nSourceType; + G4double dVertexRadius; + G4int nSpectrumType; +}; + +#endif + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..5fe74f96ec --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh @@ -0,0 +1,58 @@ +// 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: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPrimaryGeneratorMessenger ------ +// by G.Santin, F.Longo & R.Giannitrapani (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelPrimaryGeneratorMessenger_h +#define GammaRayTelPrimaryGeneratorMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class GammaRayTelPrimaryGeneratorAction; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithADoubleAndUnit; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelPrimaryGeneratorMessenger: public G4UImessenger +{ +public: + GammaRayTelPrimaryGeneratorMessenger(GammaRayTelPrimaryGeneratorAction*); + ~GammaRayTelPrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + GammaRayTelPrimaryGeneratorAction* GammaRayTelAction; + G4UIcmdWithAString* RndmCmd; + G4UIcmdWithAnInteger* SourceTypeCmd; + G4UIcmdWithADoubleAndUnit* VertexRadiusCmd; + G4UIcmdWithAnInteger* SpectrumTypeCmd; +}; + +#endif + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh new file mode 100644 index 0000000000..ccadc56af1 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh @@ -0,0 +1,61 @@ +// 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: GammaRayTelRunAction.hh,v 1.3 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelRunAction ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelRunAction_h +#define GammaRayTelRunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +#ifdef G4ANALYSIS_USE +#include "GammaRayTelAnalysisManager.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G4Run; + +class GammaRayTelRunAction : public G4UserRunAction +{ +public: +#ifdef G4ANALYSIS_USE + GammaRayTelRunAction(GammaRayTelAnalysisManager* analysisMgr); +#else + GammaRayTelRunAction(); +#endif + ~GammaRayTelRunAction(); + +public: + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + +private: +#ifdef G4ANALYSIS_USE + GammaRayTelAnalysisManager* analysisManager; +#endif +}; + +#endif + + + diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh new file mode 100644 index 0000000000..ad383aed83 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh @@ -0,0 +1,47 @@ +// 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: GammaRayTelVisManager.hh,v 1.2 2000/11/15 20:27:39 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelVisManager ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef GammaRayTelVisManager_h +#define GammaRayTelVisManager_h 1 + +#ifdef G4VIS_USE + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class GammaRayTelVisManager: public G4VisManager { + +public: + + GammaRayTelVisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +#endif + +#endif diff --git a/examples/advanced/gammaray_telescope/macro1.mac b/examples/advanced/gammaray_telescope/macro1.mac new file mode 100644 index 0000000000..2b479396aa --- /dev/null +++ b/examples/advanced/gammaray_telescope/macro1.mac @@ -0,0 +1,59 @@ +# ---------------------------------------------- +# Example macro file for the GammaRayTel +# Visualization with OpenGL +# ---------------------------------------------- +# Authors: R.Giannitrapani, F.Longo and G.Santin +# ---------------------------------------------- + +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/control/saveHistory +/run/verbose 2 + +/gun/particle gamma +/gun/energy 1 GeV +/gun/vertexRadius 25. cm +/gun/sourceType 2 + +# You can modify the geometry of the telescope via a messenger +#/payload/setNbOfTKRLayers 15 +#/payload/update + +# +# Create empty scene ("world" is default) +/vis/scene/create + +# +# Add volume to scene +/vis/scene/add/volume + +# +# Create a scene handler for a specific graphics system +/vis/sceneHandler/create OGLSX + +# Create a viewer +/vis/viewer/create + +# Positioning of the camera +/vis/camera/viewpoint 30 30 + +# for drawing the tracks +# if too many tracks cause core dump => storeTrajectory 0 +/tracking/storeTrajectory 1 +#/vis/scene/include/trajectories +# +# Flush visualization +/vis/viewer/update + +# +# Draw scene +/vis/scene/notifyHandlers + + + + + + diff --git a/examples/advanced/gammaray_telescope/macro2.mac b/examples/advanced/gammaray_telescope/macro2.mac new file mode 100644 index 0000000000..42132974b0 --- /dev/null +++ b/examples/advanced/gammaray_telescope/macro2.mac @@ -0,0 +1,68 @@ +# ---------------------------------------------- +# Example macro file for the GammaRayTel +# Visualization with VRML +# ---------------------------------------------- +# Authors: R.Giannitrapani, F.Longo and G.Santin +# ---------------------------------------------- + +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/control/saveHistory +/run/verbose 2 +/gun/particle mu- +/gun/energy 100 MeV +/gun/vertexRadius 30. cm +/gun/sourceType 2 +/gun/direction 0 0 -1 + +# You can modify the geometry of the telescope via a messenger +/payload/setNbOfTKRLayers 10 +/payload/update + +# +# Create empty scene ("world" is default) +/vis/scene/create + +# +# Add volume to scene +/vis/scene/add/volume + +# +# Create a scene handler for a VRML file +/vis/sceneHandler/create VRML2FILE + +# Create a viewer +/vis/viewer/create + +# Positioning of the camera +/vis/camera/viewpoint 30 30 + + +# Create a viewer +/vis/viewer/create + +# Positioning of the camera +/vis/camera/viewpoint 90 0 + +# Draw scene +/vis/scene/notifyHandlers + + +# for drawing the tracks +# if too many tracks cause core dump => storeTrajectory 0 +/tracking/storeTrajectory 1 +#/vis/scene/include/trajectories +# +# Flush visualization +/vis/viewer/update + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/macro3.mac b/examples/advanced/gammaray_telescope/macro3.mac new file mode 100644 index 0000000000..778c13bd37 --- /dev/null +++ b/examples/advanced/gammaray_telescope/macro3.mac @@ -0,0 +1,59 @@ +# ---------------------------------------------- +# Example macro file for the GammaRayTel +# Visualization with DAWN +# ---------------------------------------------- +# Authors: R.Giannitrapani, F.Longo and G.Santin +# ---------------------------------------------- + +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/control/saveHistory +/run/verbose 2 + +/gun/particle gamma +/gun/energy 1 GeV +/gun/vertexRadius 25. cm +/gun/sourceType 2 + +# You can modify the geometry of the telescope via a messenger +#/payload/setNbOfTKRLayers 15 +#/payload/update + +# +# Create empty scene ("world" is default) +/vis/scene/create + +# +# Add volume to scene +/vis/scene/add/volume + +# +# Create a scene handler for a specific graphics system +/vis/sceneHandler/create DAWNFILE + +# Create a viewer +/vis/viewer/create + +# Positioning of the camera +/vis/camera/viewpoint 30 30 + +# for drawing the tracks +# if too many tracks cause core dump => storeTrajectory 0 +/tracking/storeTrajectory 1 +#/vis/scene/include/trajectories +# +# Flush visualization +/vis/viewer/update + +# +# Draw scene +/vis/scene/notifyHandlers + + + + + + diff --git a/examples/advanced/gammaray_telescope/prerunGammaRayTel.mac b/examples/advanced/gammaray_telescope/prerunGammaRayTel.mac new file mode 100644 index 0000000000..8250603968 --- /dev/null +++ b/examples/advanced/gammaray_telescope/prerunGammaRayTel.mac @@ -0,0 +1,17 @@ +# Macro file for the initialization phase of the +# GammaRayTel +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/control/saveHistory +/run/verbose 2 +/gun/particle gamma +/gun/energy 1 GeV +/gun/vertexRadius 25. cm +/gun/sourceType 2 + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisManager.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisManager.cc new file mode 100644 index 0000000000..1b279c0d30 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisManager.cc @@ -0,0 +1,320 @@ +// This code implementation is the intellectual property of +// the GEANT4 collaboration. +// +// By copying, distributing or modifying the Program (or any work +// based on the Program) you indicate your acceptance of this statement, +// and all its terms. +// +// $Id: GammaRayTelAnalysisManager.cc,v 1.1 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayAnalysisManager ------ +// by R.Giannitrapani, F.Longo & G.Santin (03 dic 2000) +// +// ************************************************************ +#ifdef G4ANALYSIS_USE + +#include +#include "g4std/fstream" +#include "GammaRayTelAnalysisManager.hh" +#include "G4VAnalysisSystem.hh" +#include "GammaRayTelDetectorConstruction.hh" +#include "GammaRayTelAnalysisMessenger.hh" +#include +#include +#include +#include +#include +#include + +#include "G4LizardSystem.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelAnalysisManager::GammaRayTelAnalysisManager(GammaRayTelDetectorConstruction* GammaRayTelDC): + GammaRayTelDetector(GammaRayTelDC), + posXZ(0), posYZ(0), energy(0), hits(0), histoFactory(0), pl(0), + histo1DDraw("enable"),histo1DSave("enable"),histo2DDraw("enable"), + histo2DSave("enable"),histo2DMode("strip") +{ + // Define the messenger and the analysis system + analysisMessenger = new GammaRayTelAnalysisMessenger(this); + analysisSystem = new G4LizardSystem; + + histoFactory = analysisSystem->GetHistogramFactory(); + + /* + The following lines set the plotter and the vectorfactory that + are needed in this example for a multiple histograms + visualization. Please see the README for more information + */ + fVectorFactory = createIVectorFactory(); + pl = createIPlotter(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelAnalysisManager::~GammaRayTelAnalysisManager() { + delete posXZ; + delete posYZ; + delete energy; + delete hits; + delete analysisSystem; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool GammaRayTelAnalysisManager::RegisterAnalysisSystem(G4VAnalysisSystem*) +{ + return true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +IHistogramFactory* GammaRayTelAnalysisManager::GetHistogramFactory(const G4String& aSystem) +{ + return histoFactory; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelAnalysisManager::Store(IHistogram* histo, const G4String& ID) +{ + analysisSystem->Store(histo, ID); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +/* + Since the Lizard interface and analysis classes in G4 are still + experimental, they lack for now the possibility to show directly + more than one histograms at the same time. In order to show 2 or 4 histo + in a single view in our example, we decided to override this implementation + and use directly the IPlotter interface for our needs. This will change + in future releases. + + Please note that for visualization purpouses the histograms result + stretched along the x axis; when they are saved in a PostScript + file the proportions are the right ones. +*/ +void GammaRayTelAnalysisManager::Plot(IHistogram* histo = 0) +{ + // In a normal case we use the following line to use the standard plot + // analysisSystem->Plot(histo); + + // We define some vectors + IVector* vxz = 0; + IVector* vyz = 0; + IVector* ve = 0; + IVector* vhit= 0; + + // We fill them with the histograms and + // draw them + if(histo2DDraw == "enable") + { + vxz = fVectorFactory->from2D(dynamic_cast(posXZ)); + vyz = fVectorFactory->from2D(dynamic_cast(posYZ)); + pl->plot(vxz); + pl->plot(vyz); + pl->refresh(); + } + + if(histo1DDraw == "enable") + { + ve = fVectorFactory->from1D(dynamic_cast(energy)); + vhit = fVectorFactory->from1D(dynamic_cast(hits)); + pl->plot(ve); + pl->plot(vhit); + pl->refresh(); + } + + delete vxz; + delete vyz; + delete ve; + delete vhit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// This function fill the 2d histogram of the XZ positions +void GammaRayTelAnalysisManager::InsertPositionXZ(double x, double z) +{ + posXZ->fill(x, z); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// This function fill the 2d histogram of the YZ positions +void GammaRayTelAnalysisManager::InsertPositionYZ(double y, double z) +{ + posYZ->fill(y, z); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// This function fill the 1d histogram of the energy released in the last Si plane +void GammaRayTelAnalysisManager::InsertEnergy(double en) +{ + energy->fill(en); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// This function fill the 1d histogram of the hits distribution along the TKR planes +void GammaRayTelAnalysisManager::InsertHits(int nplane) +{ + hits->fill(nplane); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +/* + This member reset the histograms and it is called at the begin + of each run; here we put the inizialization so that the histograms have + always the right dimensions depending from the detector geometry +*/ +void GammaRayTelAnalysisManager::BeginOfRun() +{ + float sizexy, sizez; + int nplane; + int Nstrip, Nplane, Ntile, N; + + // Relevant data from the detector to set the histograms dimensions + Nplane = GammaRayTelDetector->GetNbOfTKRLayers(); + Nstrip = GammaRayTelDetector->GetNbOfTKRStrips(); + Ntile = GammaRayTelDetector->GetNbOfTKRTiles(); + sizexy = GammaRayTelDetector->GetTKRSizeXY(); + sizez = GammaRayTelDetector->GetTKRSizeZ(); + N = Nstrip*Ntile; + + if (histoFactory) + { + // 1D histogram that store the energy deposition of the + // particle in the last (number 0) TKR X-plane + histoFactory->destroy(energy); + energy = histoFactory->create1D("Energy deposition in the last X plane (keV)", 100, 50, 200); + + // 1D histogram that store the hits distribution along the TKR X-planes + histoFactory->destroy(hits); + hits = histoFactory->create1D("Hits distribution in the TKR X planes", + Nplane, 0, Nplane-1); + + // 2D histogram that store the position (mm) of the hits (XZ projection) + histoFactory->destroy(posXZ); + if (histo2DMode == "strip") + posXZ = histoFactory->create2D("Tracker Hits XZ (strip,plane)", + N, 0, N-1, + 2*Nplane, 0, Nplane-1); + else + posXZ = histoFactory->create2D("Tracker Hits XZ (x,z) in mm", + sizexy/5, -sizexy/2, sizexy/2, + sizez/5, -sizez/2, sizez/2); + + // 2D histogram that store the position (mm) of the hits (YZ projection) + histoFactory->destroy(posYZ); + if(histo2DMode=="strip") + posYZ = histoFactory->create2D("Tracker Hits YZ (strip,plane)", + N, 0, N-1, + 2*Nplane, 0, Nplane-1); + else + posYZ = histoFactory->create2D("Tracker Hits YZ (y,z) in mm", + sizexy/5, -sizexy/2, sizexy/2, + sizez/5, -sizez/2, sizez/2); + } + + if(posXZ) + posXZ->reset(); + if(posYZ) + posYZ->reset(); + if(energy) + energy->reset(); + if(hits) + hits->reset(); + + // We divide the plotter in the right nuber of zone depending + // on which histograms the user want to draw + if((histo2DDraw == "enable") && (histo1DDraw == "enable")) + pl->zone(2,2); + else if((histo1DDraw == "enable") || (histo2DDraw == "enable")) + pl->zone(1,2); + else + pl->zone(1,1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +/* + This member is called at the end of each run +*/ +void GammaRayTelAnalysisManager::EndOfRun(G4int n) +{ + // This variable contains the names of the PS files + char name[15]; + // We define some vectors + IVector* vxz = 0; + IVector* vyz = 0; + IVector* ve = 0; + IVector* vhit = 0; + + + // Temporary we set one single zone for the plotter + pl->zone(1,1); + + // We now print the histograms, each one in a separate file + if(histo2DSave == "enable") + { + vxz = fVectorFactory->from2D(dynamic_cast(posXZ)); + vyz = fVectorFactory->from2D(dynamic_cast(posYZ)); + + sprintf(name,"posxz_%d.ps", n); + pl->plot(vxz); + pl->psPrint(name); + + sprintf(name,"posyz_%d.ps", n); + pl->plot(vyz); + pl->psPrint(name); + } + + if(histo1DSave == "enable") + { + ve = fVectorFactory->from1D(dynamic_cast(energy)); + vhit = fVectorFactory->from1D(dynamic_cast(hits)); + + sprintf(name,"energy_%d.ps", n); + pl->plot(ve); + pl->psPrint(name); + + sprintf(name,"hits_%d.ps", n); + pl->plot(vhit); + pl->psPrint(name); + + } + + delete vxz; + delete vyz; + delete ve; + delete vhit; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +/* This member is called at the end of every event */ +void GammaRayTelAnalysisManager::EndOfEvent(G4int flag) +{ + // The histograms are updated only if there is some + // hits in the event + if(flag) Plot(); +} + +#endif + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc new file mode 100644 index 0000000000..65c9f2c25b --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc @@ -0,0 +1,152 @@ +// 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: GammaRayTelAnalysisMessenger.cc,v 1.1 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelAnalysisMessenger ------ +// by R.Giannitrapani, F.Longo & G.Santin (03 dic 2000) +// +// ************************************************************ +#ifdef G4ANALYSIS_USE +#include "GammaRayTelAnalysisMessenger.hh" + +#include "GammaRayTelAnalysisManager.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelAnalysisMessenger::GammaRayTelAnalysisMessenger(GammaRayTelAnalysisManager* analysisManager) + :GammaRayTelAnalysis(analysisManager) + +{ + GammaRayTelAnalysisDir = new G4UIdirectory("/analysis/"); + GammaRayTelAnalysisDir->SetGuidance("GammaRayTel analysis control."); + + /* + Commands for the 1D histograms (energy deposition in the last + TKR layer and hits distribution along the TKR) + + The Draw command gives the possibility to draw the 1d histograms + at every event. + + The Save command gives the possibility to save the 1d histograms in + two separate PostScript files at the end of the run. + */ + + Histo1DDrawCmd = new G4UIcmdWithAString("/analysis/histo1dDraw",this); + Histo1DDrawCmd->SetGuidance("Enable the drawing of the 1d histograms every event."); + Histo1DDrawCmd->SetGuidance("Choice: disable, enable(default)"); + Histo1DDrawCmd->SetParameterName("choice",true); + Histo1DDrawCmd->SetDefaultValue("ebable"); + Histo1DDrawCmd->SetCandidates("disable enable"); + Histo1DDrawCmd->AvailableForStates(Idle); + + Histo1DSaveCmd = new G4UIcmdWithAString("/analysis/histo1dSave",this); + Histo1DSaveCmd->SetGuidance("Enable the saving of the 1d histograms every run."); + Histo1DSaveCmd->SetGuidance("Choice: disable, enable(default)"); + Histo1DSaveCmd->SetParameterName("choice",true); + Histo1DSaveCmd->SetDefaultValue("enable"); + Histo1DSaveCmd->SetCandidates("disable enable"); + Histo1DSaveCmd->AvailableForStates(Idle); + + /* + Commands for the 2D histograms (hits positions along the TKR) + + The Draw command gives the possibility to draw the 1d histograms + at every event. + + The Save command gives the possibility to save the 1d histograms in + two separate PostScript files at the end of the run. + + Moreover there is the possibility to set the 2d histograms so + that the info stored are true position ((x,z) or (y,z) + coordinates with respect to the payload reference frame in mm) or + the number of the Strip and the number of the Plane in which the + hit occur. To note that this feature is just for visualization + purpouse since both the information are saved in the external ASCII + file. + */ + Histo2DDrawCmd = new G4UIcmdWithAString("/analysis/histo2dDraw",this); + Histo2DDrawCmd->SetGuidance("Enable the drawing of the 2d histograms every events."); + Histo2DDrawCmd->SetGuidance("Choice: disable, enable(default)"); + Histo2DDrawCmd->SetParameterName("choice",true); + Histo2DDrawCmd->SetDefaultValue("enable"); + Histo2DDrawCmd->SetCandidates("disable enable"); + Histo2DDrawCmd->AvailableForStates(Idle); + + Histo2DSaveCmd = new G4UIcmdWithAString("/analysis/histo2dSave",this); + Histo2DSaveCmd->SetGuidance("Enable the saving of the 2d histograms every run."); + Histo2DSaveCmd->SetGuidance("Choice: disable, enable(default)"); + Histo2DSaveCmd->SetParameterName("choice",true); + Histo2DSaveCmd->SetDefaultValue("enable"); + Histo2DSaveCmd->SetCandidates("disable enable"); + Histo2DSaveCmd->AvailableForStates(Idle); + + Histo2DModeCmd = new G4UIcmdWithAString("/analysis/histo2dMode",this); + Histo2DModeCmd->SetGuidance("Select the mode for the 2d histograms."); + Histo2DModeCmd->SetGuidance("Choice: position, strip(default)"); + Histo2DModeCmd->SetGuidance("position -> the histo is filled with true positions in mm"); + Histo2DModeCmd->SetGuidance("strip -> the histo is filled with the number of the strip and the plane"); + Histo2DModeCmd->SetParameterName("choice",true); + Histo2DModeCmd->SetDefaultValue("strip"); + Histo2DModeCmd->SetCandidates("position strip"); + Histo2DModeCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelAnalysisMessenger::~GammaRayTelAnalysisMessenger() +{ + delete Histo1DDrawCmd; + delete Histo1DSaveCmd; + delete Histo2DDrawCmd; + delete Histo2DSaveCmd; + delete Histo2DModeCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelAnalysisMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + + // 1D Histograms + + if( command == Histo1DDrawCmd ) + { GammaRayTelAnalysis->SetHisto1DDraw(newValue);} + + if( command == Histo1DSaveCmd ) + { GammaRayTelAnalysis->SetHisto1DSave(newValue);} + + // 2D Histograms + + if( command == Histo2DDrawCmd ) + { GammaRayTelAnalysis->SetHisto2DDraw(newValue);} + + if( command == Histo2DSaveCmd ) + { GammaRayTelAnalysis->SetHisto2DSave(newValue);} + + if( command == Histo2DModeCmd ) + { GammaRayTelAnalysis->SetHisto2DMode(newValue);} + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#endif + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc new file mode 100644 index 0000000000..15f00a7a7b --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc @@ -0,0 +1,813 @@ +// 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: GammaRayTelDetectorConstruction.cc,v 1.4 2000/12/06 16:53:13 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelDetectorConstruction ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "GammaRayTelDetectorConstruction.hh" +#include "GammaRayTelDetectorMessenger.hh" + +#include "GammaRayTelPayloadSD.hh" +#include "GammaRayTelPayloadROGeometry.hh" + +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4UniformMagField.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" +#include "G4SDManager.hh" +#include "G4RunManager.hh" + +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelDetectorConstruction::GammaRayTelDetectorConstruction() + :solidWorld(0),logicWorld(0),physiWorld(0), + solidPayload(0),logicPayload(0),physiPayload(0), + solidTKR(0),logicTKR(0),physiTKR(0), + solidCAL(0),logicCAL(0),physiCAL(0), + solidACT(0),logicACT(0),physiACT(0), + solidACL1(0),logicACL1(0),physiACL1(0), + solidACL2(0),logicACL2(0),physiACL2(0), + solidConverter(0),logicConverter(0),physiConverter(0), + solidTKRDetectorX(0),logicTKRDetectorX(0), + solidTKRDetectorY(0),logicTKRDetectorY(0), + physiTKRDetectorX(0),physiTKRDetectorY(0), + solidCALDetector(0),logicCALDetector(0), + physiCALDetectorX(0),physiCALDetectorY(0), + solidPlane(0),logicPlane(0),physiPlane(0) + +{ + // default parameter values of the payload + + ConverterThickness = 300.*micrometer; + TKRSiliconThickness = 400.*micrometer; + TKRSiliconTileXY = 9.*cm; + TKRSiliconPitch = 200.*micrometer; + TKRLayerDistance = 3.*cm; + SiliconGuardRing = 1.5*mm; + TKRViewsDistance = 1.*mm; + NbOfTKRLayers = 15; + NbOfTKRTiles = 4; + CALBarThickness = 1.5*cm; + NbOfCALBars = 12; + NbOfCALLayers = 5; + ACDThickness = 1.*cm; + + TilesSeparation = 100.*micrometer; + ACDTKRDistance = 5.*cm; + CALTKRDistance = 1.5*cm; + + ComputePayloadParameters(); + + // create commands for interactive definition of the payload + detectorMessenger = new GammaRayTelDetectorMessenger(this); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelDetectorConstruction::~GammaRayTelDetectorConstruction() +{ delete detectorMessenger;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VPhysicalVolume* GammaRayTelDetectorConstruction::Construct() +{ + DefineMaterials(); + return ConstructPayload(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::DefineMaterials() +{ + + G4String name, symbol; + G4double a, z, density; + + 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.006*g/mole; + G4Element* N = new G4Element(name="Nitrogen" ,symbol="N" , z= 7., a); + + a = 15.99*g/mole; + G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); + + a = 126.904*g/mole; + G4Element* I = new G4Element(name="Iodine" ,symbol="I" , z= 53., a); + + a = 132.905*g/mole; + G4Element* Cs = new G4Element(name="Cesium" ,symbol="Cs" , z= 55., a); + +// +// define simple materials +// + + density = 2.700*g/cm3; + a = 26.98*g/mole; + G4Material* Al = new G4Material(name="Aluminium", z=13., a, density); + + density = 2.333*g/cm3; + a = 28.09*g/mole; + G4Material* Si = new G4Material(name="Silicon",z=14., a,density); + + density = 19.3*g/cm3; + a = 183.84*g/mole; + G4Material* W = new G4Material(name="Tungsten", z=74., a, density); + + density = 11.35*g/cm3; + a = 207.19*g/mole; + G4Material* Pb = new G4Material(name="Lead", z=82., a, density); + + density = 7.87*g/cm3; + a= 55.845*g/mole; + G4Material* Fe = new G4Material(name="Iron", z=26.,a,density); + + // + // define a material from elements. case 1: chemical molecule + // + + 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 = 4.53*g/cm3; + G4Material* CsI = new G4Material(name="CesiumIodide", density, ncomponents=2); + CsI->AddElement(C, natoms=5); + CsI->AddElement(H, natoms=5); + + // + // 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; //from PhysicalConstants.h + 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); + + 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.); + + G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + //default materials of the payload + + ConverterMaterial = Pb; + defaultMaterial = vacuum; + ACDMaterial = Sci; + CALMaterial = CsI; + TKRMaterial = Si; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VPhysicalVolume* GammaRayTelDetectorConstruction::ConstructPayload() +{ + // complete the Payload parameters definition + ComputePayloadParameters(); + + // + // World + // + + solidWorld = new G4Box("World", + WorldSizeXY/2,WorldSizeXY/2,WorldSizeZ/2); + + logicWorld = new G4LogicalVolume(solidWorld, + defaultMaterial, + "World"); + + physiWorld = new G4PVPlacement(0,G4ThreeVector(),"World",logicWorld, + 0,false,0); + + // + // Payload + // + + solidPayload=0; logicPayload=0; physiPayload=0; + solidTKR=0;logicTKR=0;physiTKR=0; + solidCAL=0;logicCAL=0;physiCAL=0; + solidACT=0;logicACT=0;physiACT=0; + solidACL1=0;logicACL1=0;physiACL1=0; + solidACL2=0;logicACL2=0;physiACL2=0; + solidConverter=0;logicConverter=0;physiConverter=0; + solidTKRDetectorX=0;logicTKRDetectorX=0; + solidTKRDetectorY=0;logicTKRDetectorY=0; + physiTKRDetectorX=0;physiTKRDetectorY=0; + solidCALDetector=0;logicCALDetector=0; + physiCALDetectorX=0;physiCALDetectorY=0; + solidPlane=0;logicPlane=0;physiPlane=0; + + // if (PayloadSizeZ > 0.) + // { + + // + // Payload + // + + solidPayload = new G4Box("Payload", + PayloadSizeXY/2, + PayloadSizeXY/2, + PayloadSizeZ/2); + + logicPayload = new G4LogicalVolume(solidPayload, + defaultMaterial, + "Payload"); + + physiPayload = new G4PVPlacement(0, + G4ThreeVector(), + "Payload", + logicPayload, + physiWorld, + false, + 0); + // + // Calorimeter (CAL) + // + + solidCAL = new G4Box("CAL", + CALSizeXY/2,CALSizeXY/2,CALSizeZ/2); + + logicCAL = new G4LogicalVolume(solidCAL, + defaultMaterial, + "CAL"); + physiCAL = new G4PVPlacement(0, + G4ThreeVector(0,0, + -PayloadSizeZ/2+CALSizeZ/2), + "CAL", + logicCAL, + physiPayload, + false, + 0); + // + // Tracker (TKR) + // + + solidTKR = new G4Box("TKR", + TKRSizeXY/2,TKRSizeXY/2,TKRSizeZ/2); + + logicTKR = new G4LogicalVolume(solidTKR, + defaultMaterial, + "TKR"); + physiTKR = new G4PVPlacement(0, + G4ThreeVector(0,0, + -PayloadSizeZ/2+CALSizeZ+ + CALTKRDistance+TKRSizeZ/2), + "TKR", + logicTKR, + physiPayload, + false, + 0); + + + // + // Anticoincidence Top (ACT) + // + + solidACT = new G4Box("ACT", + ACTSizeXY/2,ACTSizeXY/2,ACTSizeZ/2); + + logicACT = new G4LogicalVolume(solidACT,ACDMaterial,"ACT"); + + physiACT = new G4PVPlacement(0, + G4ThreeVector(0,0, + -PayloadSizeZ/2+CALSizeZ+ + CALTKRDistance+TKRSizeZ+ + ACDTKRDistance+ACTSizeZ/2), + "ACT", + logicACT, + physiPayload, + false, + 0); + + // + // Anticoincidence Lateral Side (ACL) + // + + solidACL1 = new G4Box("ACL1", + ACL1SizeX/2,ACL1SizeY/2,ACL1SizeZ/2); + + logicACL1 = new G4LogicalVolume(solidACL1,ACDMaterial,"ACL"); + + physiACL1 = new G4PVPlacement(0, + G4ThreeVector(-PayloadSizeXY/2+ACL1SizeX/2, + -PayloadSizeXY/2+ACL1SizeY/2, + -PayloadSizeZ/2+ACL1SizeZ/2), + "ACL1", + logicACL1, + physiPayload, + false, + 0); + + physiACL1 = new G4PVPlacement(0, + G4ThreeVector(PayloadSizeXY/2-ACL1SizeX/2, + PayloadSizeXY/2-ACL1SizeY/2, + -PayloadSizeZ/2+ACL1SizeZ/2), + "ACL1", + logicACL1, + physiPayload, + false, + 1); + + solidACL2 = new G4Box("ACL2", + ACL2SizeX/2,ACL2SizeY/2,ACL2SizeZ/2); + + logicACL2 = new G4LogicalVolume(solidACL2, + ACDMaterial, + "ACL2"); + + + physiACL2 = new G4PVPlacement(0, + G4ThreeVector(-PayloadSizeXY/2+ACL2SizeX/2, + PayloadSizeXY/2-ACL2SizeY/2, + -PayloadSizeZ/2+ACL2SizeZ/2), + "ACL2", + logicACL2, + physiPayload, + false, + 0); + + physiACL2 = new G4PVPlacement(0, + G4ThreeVector(PayloadSizeXY/2-ACL2SizeX/2, + -PayloadSizeXY/2+ACL2SizeY/2, + -PayloadSizeZ/2+ACL2SizeZ/2), + "ACL2", + logicACL2, + physiPayload, + false, + 1); + + + // Tracker Structure (Plane + Converter + TKRDetectorX + TKRDetectorY) + + solidPlane = new G4Box("Plane", + TKRSizeXY/2,TKRSizeXY/2,TKRSupportThickness/2); + + logicPlane = new G4LogicalVolume(solidPlane, + defaultMaterial, + "Plane"); + + solidTKRDetectorY = new G4Box + ("TKRDetectorY",TKRSizeXY/2,TKRSizeXY/2,TKRSiliconThickness/2); + + logicTKRDetectorY = new G4LogicalVolume(solidTKRDetectorY, + TKRMaterial, + "TKRDetector Y"); + + + solidTKRDetectorX = new G4Box + ("TKRDetectorX",TKRSizeXY/2,TKRSizeXY/2,TKRSiliconThickness/2); + + logicTKRDetectorX = new G4LogicalVolume(solidTKRDetectorX, + TKRMaterial, + "TKRDetector X"); + + + solidConverter = new G4Box + ("Converter",TKRSizeXY/2,TKRSizeXY/2,ConverterThickness/2); + + logicConverter = new G4LogicalVolume(solidConverter, + ConverterMaterial, + "Converter"); + + G4int i=0; + + for (i = 0; i < NbOfTKRLayers; i++) + { + + physiTKRDetectorY = + new G4PVPlacement(0,G4ThreeVector(0.,0.,-TKRSizeZ/2 + +TKRSiliconThickness/2 + +(i)*TKRLayerDistance), + "TKRDetectorY", + logicTKRDetectorY, + physiTKR, + false, + i); + + physiTKRDetectorX = + new G4PVPlacement(0,G4ThreeVector(0.,0., + -TKRSizeZ/2+ + TKRSiliconThickness/2 + + TKRViewsDistance+ + TKRSiliconThickness+ + (i)*TKRLayerDistance), + "TKRDetectorX", + logicTKRDetectorX, + physiTKR, + false, + i); + + + physiConverter = + new G4PVPlacement(0,G4ThreeVector(0.,0., + -TKRSizeZ/2+ + 2*TKRSiliconThickness + + TKRViewsDistance+ + ConverterThickness/2+ + (i)*TKRLayerDistance), + "Converter", + logicConverter, + physiTKR, + false, + i); + + + physiPlane = + new G4PVPlacement(0,G4ThreeVector(0.,0., + -TKRSizeZ/2+ + 2*TKRSiliconThickness + + TKRViewsDistance+ + ConverterThickness+ + TKRSupportThickness/2), + "Plane", + logicPlane, + physiTKR, + false, + i); + + + } + + + + G4VSolid * solidTKRActiveTileX = new + G4Box("Active Tile X", TKRActiveTileXY/2,TKRActiveTileXY/2,TKRActiveTileZ/2); + + + G4VSolid * solidTKRActiveTileY = new + G4Box("Active Tile Y", TKRActiveTileXY/2,TKRActiveTileXY/2,TKRActiveTileZ/2); + + + G4LogicalVolume* logicTKRActiveTileX = + new G4LogicalVolume(solidTKRActiveTileX, TKRMaterial, + "Active Tile X",0,0,0); + + + G4LogicalVolume* logicTKRActiveTileY = + new G4LogicalVolume(solidTKRActiveTileY, TKRMaterial, + "Active Tile Y",0,0,0); + + + G4int j=0; + G4int k=0; + + G4VPhysicalVolume* physiTKRActiveTileX = 0; + G4VPhysicalVolume* physiTKRActiveTileY = 0; + + G4double x=0.; + G4double y=0.; + G4double z=0.; + + for (i=0;i< NbOfTKRTiles; i++) + { + for (j=0;j< NbOfTKRTiles; j++) + { + k = i*NbOfTKRTiles + j; + + + x = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+ + TKRActiveTileXY/2+(i)*((2*SiliconGuardRing)+ + TilesSeparation+TKRActiveTileXY); + y = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+ + TKRActiveTileXY/2+(j)*((2*SiliconGuardRing)+TilesSeparation+ + TKRActiveTileXY); + z = 0.; + + physiTKRActiveTileY = + new G4PVPlacement(0, + G4ThreeVector(x,y,z), + "Active Tile Y", + logicTKRActiveTileY, + physiTKRDetectorY, + false, + k); + + + x = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+ + TKRActiveTileXY/2+(j)*((2*SiliconGuardRing)+ + TilesSeparation+TKRActiveTileXY); + y = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+ + TKRActiveTileXY/2+(i)*((2*SiliconGuardRing)+ + TilesSeparation+TKRActiveTileXY); + z = 0.; + + physiTKRActiveTileX = + new G4PVPlacement(0, + G4ThreeVector(x,y,z), + "Active Tile X", + logicTKRActiveTileX, + physiTKRDetectorX, + false, + k); + + } + } + + + // Calorimeter Structure (CALDetectorX + CALDetectorY) + + + solidCALDetector = new G4Box("CALDetector", + CALSizeXY/2,CALSizeXY/2,CALBarThickness/2); + + logicCALDetector = new G4LogicalVolume(solidCALDetector, + CALMaterial, + "CALDetector"); + + for (i = 0; i < NbOfCALLayers; i++) + { + + physiCALDetectorY = + new G4PVPlacement(0,G4ThreeVector(0,0, + -CALSizeZ/2+ + CALBarThickness/2 + + (i)*2*CALBarThickness), + "CALDetectorY", + logicCALDetector, + physiCAL, + false, + i); + + physiCALDetectorX = + new G4PVPlacement(0,G4ThreeVector(0,0, + -CALSizeZ/2+ + CALBarThickness/2 + + CALBarThickness + + (i)*2*CALBarThickness), + "CALDetectorX", + logicCALDetector, + physiCAL, + false, + i); + + } + + + //} + + + // + // Sensitive Detectors: TKRDetector + // + + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + if(!payloadSD) + { + payloadSD = new GammaRayTelPayloadSD("PayloadSD",this); + SDman->AddNewDetector( payloadSD ); + } + + G4String ROgeometryName = "PayloadROGeom"; + G4VReadOutGeometry* payloadRO = + payloadRO = new GammaRayTelPayloadROGeometry(ROgeometryName, this); + + payloadRO->BuildROGeometry(); + payloadSD->SetROgeometry(payloadRO); + + + // if (logicTKRDetector) + // logicTKRDetector->SetSensitiveDetector(payloadSD); // sensitive planes + + if (logicTKRActiveTileX) + logicTKRActiveTileX->SetSensitiveDetector(payloadSD); // sensitive tile + if (logicTKRActiveTileY) + logicTKRActiveTileY->SetSensitiveDetector(payloadSD); // sensitive tile + + // + // Visualization attributes + // + + // Invisible Volume + logicWorld->SetVisAttributes (G4VisAttributes::Invisible); + logicPayload->SetVisAttributes (G4VisAttributes::Invisible); + logicTKR->SetVisAttributes(G4VisAttributes::Invisible); + logicTKRActiveTileX->SetVisAttributes(G4VisAttributes::Invisible); + logicTKRActiveTileY->SetVisAttributes(G4VisAttributes::Invisible); + logicPlane->SetVisAttributes(G4VisAttributes::Invisible); + logicConverter->SetVisAttributes(G4VisAttributes::Invisible); + + // Some visualization styles + G4VisAttributes* VisAtt1= new G4VisAttributes(G4Colour(0.3,0.8,0.1)); + VisAtt1->SetVisibility(true); + VisAtt1->SetForceSolid(TRUE); + + G4VisAttributes* VisAtt2= new G4VisAttributes(G4Colour(0.2,0.3,0.8)); + VisAtt2->SetVisibility(true); + VisAtt2->SetForceSolid(FALSE); + + G4VisAttributes* VisAtt3= new G4VisAttributes(G4Colour(0.8,0.2,0.3)); + VisAtt3->SetVisibility(true); + VisAtt3->SetForceWireframe(TRUE); + + // Visible Volumes + logicCAL->SetVisAttributes(VisAtt1); + logicTKRDetectorX->SetVisAttributes(VisAtt2); + logicTKRDetectorY->SetVisAttributes(VisAtt2); + logicACT->SetVisAttributes(VisAtt3); + logicACL1->SetVisAttributes(VisAtt3); + logicACL2->SetVisAttributes(VisAtt3); + + // + //always return the physical World + // + PrintPayloadParameters(); + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::PrintPayloadParameters() +{ + G4cout << "\n------------------------------------------------------------" + << "\n---> The Tracker is " << NbOfTKRLayers << " layers of: " + << ConverterThickness/mm << "mm of " << ConverterMaterial->GetName() + << "\n------------------------------------------------------------\n"; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::SetConverterMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) + { + ConverterMaterial = pttoMaterial; + logicConverter->SetMaterial(pttoMaterial); + PrintPayloadParameters(); + } +} + +void GammaRayTelDetectorConstruction::SetConverterThickness(G4double val) +{ + ConverterThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::SetTKRSiliconThickness(G4double val) +{ + TKRSiliconThickness = val; +} + + +void GammaRayTelDetectorConstruction::SetTKRSiliconPitch(G4double val) +{ + TKRSiliconPitch = val; +} + + +void GammaRayTelDetectorConstruction::SetTKRTileSizeXY(G4double val) +{ + TKRSiliconTileXY = val; +} + + +void GammaRayTelDetectorConstruction::SetNbOfTKRLayers(G4int val) +{ + NbOfTKRLayers = val; +} + + +void GammaRayTelDetectorConstruction::SetNbOfTKRTiles(G4int val) +{ + NbOfTKRTiles = val; +} + +void GammaRayTelDetectorConstruction::SetTKRLayerDistance(G4double val) +{ + TKRLayerDistance = val; +} + +void GammaRayTelDetectorConstruction::SetTKRViewsDistance(G4double val) +{ + TKRViewsDistance = val; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::SetNbOfCALLayers(G4int val) +{ + NbOfCALLayers = val; +} + +void GammaRayTelDetectorConstruction::SetNbOfCALBars(G4int val) +{ + NbOfCALBars = val; +} + +void GammaRayTelDetectorConstruction::SetCALBarThickness(G4double val) +{ + CALBarThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::SetACDThickness(G4double val) +{ + ACDThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::SetMagField(G4double fieldValue) +{ + //apply a global uniform magnetic field along Z axis + 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)); + fieldMgr->SetDetectorField(magField); + fieldMgr->CreateChordFinder(magField); + } else { + magField = 0; + fieldMgr->SetDetectorField(magField); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorConstruction::UpdateGeometry() +{ + // delete payloadSD; + G4RunManager::GetRunManager()->DefineWorldVolume(ConstructPayload()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc new file mode 100644 index 0000000000..9280360f97 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc @@ -0,0 +1,256 @@ +// 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: GammaRayTelDetectorMessenger.cc,v 1.3 2000/12/06 16:53:14 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelDetectorMessenger ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ + +#include "GammaRayTelDetectorMessenger.hh" + +#include "GammaRayTelDetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelDetectorMessenger::GammaRayTelDetectorMessenger(GammaRayTelDetectorConstruction * GammaRayTelDet) + :GammaRayTelDetector(GammaRayTelDet) + +{ + GammaRayTeldetDir = new G4UIdirectory("/payload/"); + GammaRayTeldetDir->SetGuidance("GammaRayTel payload control."); + + // converter material command + + ConverterMaterCmd = new G4UIcmdWithAString("/payload/setConvMat",this); + ConverterMaterCmd->SetGuidance("Select Material of the Converter."); + ConverterMaterCmd->SetParameterName("choice",false); + ConverterMaterCmd->AvailableForStates(Idle); + + // converter thickness command + + ConverterThickCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setConvThick",this); + ConverterThickCmd->SetGuidance("Set Thickness of the Converter"); + ConverterThickCmd->SetParameterName("Size",false); + ConverterThickCmd->SetRange("Size>=0."); + ConverterThickCmd->SetUnitCategory("Length"); + ConverterThickCmd->AvailableForStates(Idle); + + // tracker silicon thickness command + + SiliconThickCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setSiThick",this); + SiliconThickCmd->SetGuidance("Set Thickness of the Silicon"); + SiliconThickCmd->SetParameterName("Size",false); + SiliconThickCmd->SetRange("Size>=0."); + SiliconThickCmd->SetUnitCategory("Length"); + SiliconThickCmd->AvailableForStates(Idle); + + // tracker silicon pitch command + + SiliconPitchCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setSiPitch",this); + SiliconPitchCmd->SetGuidance("Set Pitch of the Silicon Strips"); + SiliconPitchCmd->SetParameterName("Size",false); + SiliconPitchCmd->SetRange("Size>=0."); + SiliconPitchCmd->SetUnitCategory("Length"); + SiliconPitchCmd->AvailableForStates(Idle); + + // tracker silicon tile size command + + SiliconTileXYCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setSiTileXY",this); + SiliconTileXYCmd->SetGuidance("Set XY dimensions of Si Tile"); + SiliconTileXYCmd->SetParameterName("Size",false); + SiliconTileXYCmd->SetRange("Size>=0."); + SiliconTileXYCmd->SetUnitCategory("Length"); + SiliconTileXYCmd->AvailableForStates(Idle); + + // tracker number of silicon tiles + + NbSiTilesCmd = new G4UIcmdWithAnInteger("/payload/setNbOfSiTiles",this); + NbSiTilesCmd->SetGuidance("Set number of Si Tiles."); + NbSiTilesCmd->SetParameterName("NbSiTiles",false); + NbSiTilesCmd->SetRange("NbSiTiles>0 && NbSiTiles<100"); + NbSiTilesCmd->AvailableForStates(Idle); + + // tracker number of silicon layers + + NbTKRLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfTKRLayers",this); + NbTKRLayersCmd->SetGuidance("Set number of TKR Layers."); + NbTKRLayersCmd->SetParameterName("NbTKRLayers",false); + NbTKRLayersCmd->SetRange("NbTKRLayers>0 && NbTKRLayers<30"); + NbTKRLayersCmd->AvailableForStates(Idle); + + // tracker layer distance + + LayerDistanceCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setLayerDistance",this); + LayerDistanceCmd->SetGuidance("Set distance between two layers"); + LayerDistanceCmd->SetParameterName("Size",false); + LayerDistanceCmd->SetRange("Size>=0."); + LayerDistanceCmd->SetUnitCategory("Length"); + LayerDistanceCmd->AvailableForStates(Idle); + + // tracker views distance + + ViewsDistanceCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setViewsDistance",this); + ViewsDistanceCmd->SetGuidance("Set distance between X and Y views"); + ViewsDistanceCmd->SetParameterName("Size",false); + ViewsDistanceCmd->SetRange("Size>=0."); + ViewsDistanceCmd->SetUnitCategory("Length"); + ViewsDistanceCmd->AvailableForStates(Idle); + + // calorimeter detector thickness + + CALThickCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setCALThick",this); + CALThickCmd->SetGuidance("Set thickness of CAL detectors"); + CALThickCmd->SetParameterName("Size",false); + CALThickCmd->SetRange("Size>=0."); + CALThickCmd->SetUnitCategory("Length"); + CALThickCmd->AvailableForStates(Idle); + + // number calorimeter detectors + + NbCALBarsCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALBars",this); + NbCALBarsCmd->SetGuidance("Set number of CsI Bars."); + NbCALBarsCmd->SetParameterName("NbSiTiles",false); + NbCALBarsCmd->SetRange("NbSiTiles>0 && NbSiTiles<100"); + NbCALBarsCmd->AvailableForStates(Idle); + + // number calorimeter layers + + NbCALLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALLayers",this); + NbCALLayersCmd->SetGuidance("Set number of CAL Layers."); + NbCALLayersCmd->SetParameterName("NbCALLayers",false); + NbCALLayersCmd->SetRange("NbCALLayers>0 && NbCALLayers<16"); + NbCALLayersCmd->AvailableForStates(Idle); + + // calorimeter detector thickness + + ACDThickCmd = new G4UIcmdWithADoubleAndUnit + ("/payload/setACDThick",this); + ACDThickCmd->SetGuidance("Set thickness of ACD detectors"); + ACDThickCmd->SetParameterName("Size",false); + ACDThickCmd->SetRange("Size>=0."); + ACDThickCmd->SetUnitCategory("Length"); + ACDThickCmd->AvailableForStates(Idle); + + // update Payload + + UpdateCmd = new G4UIcmdWithoutParameter("/payload/update",this); + UpdateCmd->SetGuidance("Update payload geometry."); + UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); + UpdateCmd->SetGuidance("if you changed geometrical value(s)."); + UpdateCmd->AvailableForStates(Idle); + + // magnetic field + + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/payload/setField",this); + MagFieldCmd->SetGuidance("Define magnetic field."); + MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); + MagFieldCmd->SetParameterName("Bz",false); + MagFieldCmd->SetUnitCategory("Magnetic flux density"); + MagFieldCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelDetectorMessenger::~GammaRayTelDetectorMessenger() +{ + delete ConverterMaterCmd; delete ConverterThickCmd; + delete NbSiTilesCmd; delete NbTKRLayersCmd; + delete SiliconTileXYCmd; delete SiliconPitchCmd; + delete SiliconThickCmd; delete LayerDistanceCmd; + delete ViewsDistanceCmd; delete ACDThickCmd; + delete NbCALLayersCmd; delete NbCALBarsCmd; + delete CALThickCmd; delete UpdateCmd; + delete MagFieldCmd; delete GammaRayTeldetDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + + // converter + + if( command == ConverterMaterCmd ) + { GammaRayTelDetector->SetConverterMaterial(newValue);} + + if( command == ConverterThickCmd ) + { GammaRayTelDetector->SetConverterThickness(ConverterThickCmd->GetNewDoubleValue(newValue));} + + // tracker + + if( command == SiliconTileXYCmd ) + { GammaRayTelDetector->SetTKRTileSizeXY(SiliconTileXYCmd->GetNewDoubleValue(newValue));} + + if( command == SiliconPitchCmd ) + { GammaRayTelDetector->SetTKRSiliconPitch(SiliconPitchCmd->GetNewDoubleValue(newValue));} + + if( command == SiliconThickCmd ) + { GammaRayTelDetector->SetTKRSiliconThickness(SiliconThickCmd->GetNewDoubleValue(newValue));} + + if( command == NbSiTilesCmd ) + { GammaRayTelDetector->SetNbOfTKRTiles(NbSiTilesCmd->GetNewIntValue(newValue));} + + if( command == NbTKRLayersCmd ) + { GammaRayTelDetector->SetNbOfTKRLayers(NbTKRLayersCmd->GetNewIntValue(newValue));} + + if( command == LayerDistanceCmd ) + { GammaRayTelDetector->SetTKRLayerDistance(LayerDistanceCmd->GetNewDoubleValue(newValue));} + + if( command == ViewsDistanceCmd ) + { GammaRayTelDetector->SetTKRViewsDistance(ViewsDistanceCmd->GetNewDoubleValue(newValue));} + + // calorimeter + + if( command == NbCALLayersCmd ) + { GammaRayTelDetector->SetNbOfCALLayers(NbCALLayersCmd->GetNewIntValue(newValue));} + + if( command == NbCALBarsCmd ) + { GammaRayTelDetector->SetNbOfCALBars(NbCALBarsCmd->GetNewIntValue(newValue));} + + if( command == CALThickCmd ) + { GammaRayTelDetector->SetCALBarThickness(CALThickCmd->GetNewDoubleValue(newValue));} + + // anticoincidence + + if( command == ACDThickCmd ) + { GammaRayTelDetector->SetACDThickness(ACDThickCmd->GetNewDoubleValue(newValue));} + + if( command == UpdateCmd ) + { GammaRayTelDetector->UpdateGeometry(); } + + if( command == MagFieldCmd ) + { GammaRayTelDetector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc new file mode 100644 index 0000000000..d044e61ccb --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc @@ -0,0 +1,173 @@ +// 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: GammaRayTelEventAction.cc,v 1.4 2000/12/06 16:53:14 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelEventAction ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +#include "GammaRayTelEventAction.hh" +#include "GammaRayTelPayloadHit.hh" +#include "g4rw/tvordvec.h" + +#ifdef G4ANALYSIS_USE +#include "GammaRayTelAnalysisManager.hh" +#endif + +#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" +#include "Randomize.hh" + +// This file is a global variable in which we store energy deposition per hit +// and other relevant information +extern G4std::ofstream outFile; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifdef G4ANALYSIS_USE +GammaRayTelEventAction::GammaRayTelEventAction(GammaRayTelAnalysisManager* aMgr) + :drawFlag("all"),trackerCollID(-1),analysisManager(aMgr) +{ +} +#else +GammaRayTelEventAction::GammaRayTelEventAction() + :drawFlag("all"), trackerCollID(-1) +{ +} +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelEventAction::~GammaRayTelEventAction() +{ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelEventAction::BeginOfEventAction(const G4Event* evt) +{ + + G4int evtNb = evt->GetEventID(); + G4cout << "Event: " << evtNb << G4endl; + + if (trackerCollID==-1) + { + G4SDManager * SDman = G4SDManager::GetSDMpointer(); + trackerCollID = SDman->GetCollectionID("PayloadCollection"); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelEventAction::EndOfEventAction(const G4Event* evt) +{ + G4int event_id = evt->GetEventID(); + + + G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); + + + G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); + GammaRayTelPayloadHitsCollection* CHC = NULL; + if (HCE) + CHC = (GammaRayTelPayloadHitsCollection*)(HCE->GetHC(trackerCollID)); + + if (CHC) + { + int n_hit = CHC->entries(); + G4cout << "Number of hits in this event = " << n_hit << G4endl; + G4double ESil=0; + G4int NStrip, NPlane, IsX; + // This is a cycle on all the hits of this event + for (int i=0;iGetEdepSil(); + NStrip = (*CHC)[i]->GetNStrip(); + NPlane = (*CHC)[i]->GetNSilPlane(); + IsX = (*CHC)[i]->GetPlaneType(); + + outFile << G4std::setw(7) << event_id << " " << + ESil/keV << " " << NStrip << + " " << NPlane << " " << IsX << " " << + (*CHC)[i]->GetPos().x()/mm <<" "<< + (*CHC)[i]->GetPos().y()/mm <<" "<< + (*CHC)[i]->GetPos().z()/mm <<" "<< + G4endl; + +#ifdef G4ANALYSIS_USE + // Here we fill the histograms of the Analysis manager + if(IsX) + { + if (analysisManager->GetHisto2DMode()=="position") + analysisManager->InsertPositionXZ((*CHC)[i]->GetPos().x()/mm,(*CHC)[i]->GetPos().z()/mm); + else + analysisManager->InsertPositionXZ(NStrip, NPlane); + if (NPlane == 0) analysisManager->InsertEnergy(ESil/keV); + analysisManager->InsertHits(NPlane); + } + else + if (analysisManager->GetHisto2DMode()=="position") + analysisManager->InsertPositionYZ((*CHC)[i]->GetPos().y()/mm,(*CHC)[i]->GetPos().z()/mm); + else + analysisManager->InsertPositionYZ(NStrip, NPlane); +#endif + } + + // Here we call the analysis manager function for visualization +#ifdef G4ANALYSIS_USE + analysisManager->EndOfEvent(n_hit); +#endif + } + + + + if(G4VVisManager::GetConcreteInstance()) + { + for(G4int i=0; iGetTrajectoryContainer()))[i]); + if (drawFlag == "all") trj->DrawTrajectory(50); + else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(50); + } + } +} + + + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadHit.cc new file mode 100644 index 0000000000..71de10ebbe --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadHit.cc @@ -0,0 +1,91 @@ +// 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: GammaRayTelPayloadHit.cc,v 1.2 2000/11/15 20:27:41 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadHit ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "GammaRayTelPayloadHit.hh" + +G4Allocator GammaRayTelPayloadHitAllocator; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPayloadHit::GammaRayTelPayloadHit() +{ + EdepSil = 0.; + NStrip = 0; NSilPlane = 0; IsXPlane = 0; + pos = 0.; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPayloadHit::~GammaRayTelPayloadHit() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPayloadHit::GammaRayTelPayloadHit(const GammaRayTelPayloadHit& right) +{ + EdepSil = right.EdepSil; + NStrip = right.NStrip; NSilPlane = right.NSilPlane; + IsXPlane = right.IsXPlane; + pos = right.pos; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +const GammaRayTelPayloadHit& GammaRayTelPayloadHit::operator=(const GammaRayTelPayloadHit& right) +{ + EdepSil = right.EdepSil; + NStrip = right.NStrip; NSilPlane = right.NSilPlane; + IsXPlane = right.IsXPlane; + pos =right.pos; + return *this; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +int GammaRayTelPayloadHit::operator==(const GammaRayTelPayloadHit& right) const +{ + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPayloadHit::Draw() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPayloadHit::Print() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadROGeometry.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadROGeometry.cc new file mode 100644 index 0000000000..5d6d1ad33a --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadROGeometry.cc @@ -0,0 +1,336 @@ +// 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: GammaRayTelPayloadROGeometry.cc,v 1.2 2000/11/20 16:49:02 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadROGeometry class ------ +// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000) +// +// ************************************************************ + +#include "GammaRayTelPayloadROGeometry.hh" +#include "GammaRayTelDummySD.hh" +#include "GammaRayTelDetectorConstruction.hh" + +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4SDManager.hh" +#include "G4Box.hh" +#include "G4ThreeVector.hh" +#include "G4Material.hh" + + +GammaRayTelPayloadROGeometry::GammaRayTelPayloadROGeometry() + : G4VReadOutGeometry() +{ +} +GammaRayTelPayloadROGeometry::GammaRayTelPayloadROGeometry(G4String aString,GammaRayTelDetectorConstruction* GammaRayTelDC) + :GammaRayTelDetector(GammaRayTelDC), G4VReadOutGeometry(aString) +{ +} + +GammaRayTelPayloadROGeometry::GammaRayTelPayloadROGeometry(G4String aString) + : G4VReadOutGeometry(aString) +{ +} + +GammaRayTelPayloadROGeometry::~GammaRayTelPayloadROGeometry() +{ +} + +G4VPhysicalVolume* GammaRayTelPayloadROGeometry::Build() +{ + // A dummy material is used to fill the volumes of the readout geometry. + // ( It will be allowed to set a NULL pointer in volumes of such virtual + // division in future, since this material is irrelevant for tracking.) + G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); + + //Builds the ReadOut World: + + G4double WorldSizeXY = GammaRayTelDetector->GetWorldSizeXY(); + G4double WorldSizeZ = GammaRayTelDetector->GetWorldSizeZ(); + + G4Box* ROWorldBox = new + G4Box("ROWorldBox",WorldSizeXY/2,WorldSizeXY/2,WorldSizeZ/2); + + G4LogicalVolume* ROWorldLog = new G4LogicalVolume(ROWorldBox, dummyMat, + "ROWorldLogical"); + G4PVPlacement* ROWorldPhys = + new G4PVPlacement(0,G4ThreeVector(),"ROWorldPhysical", + ROWorldLog,0,false,0); + + // Payload RO volume: + + G4double PayloadSizeXY = GammaRayTelDetector->GetPayloadSizeXY(); + G4double PayloadSizeZ = GammaRayTelDetector->GetPayloadSizeZ(); + + G4VSolid* solidPayloadRO + = new G4Box("Payload RO", + PayloadSizeXY/2, + PayloadSizeXY/2, + PayloadSizeZ/2); + + G4LogicalVolume* logicPayloadRO = new + G4LogicalVolume(solidPayloadRO,dummyMat,"Payload RO",0,0,0); + + G4VPhysicalVolume* physiPayloadRO = + new G4PVPlacement(0, G4ThreeVector(), + "Payload RO", logicPayloadRO,ROWorldPhys,false, 0); + + // ------------------------------- + // Tracker readout division: + // ------------------------------- + // TRK Layers of Silicon MicroStrips + + + G4double TKRSizeXY = GammaRayTelDetector->GetTKRSizeXY(); + G4double TKRSizeZ = GammaRayTelDetector->GetTKRSizeZ(); + G4double CALSizeZ = GammaRayTelDetector->GetCALSizeZ(); + G4double CALTKRDistance = GammaRayTelDetector->GetCALTKRDistance(); + + G4VSolid* ROsolidTKR = + new G4Box("ReadOutTKR", TKRSizeXY/2,TKRSizeXY/2,TKRSizeZ/2); + + G4LogicalVolume* ROlogicTKR = + new G4LogicalVolume(ROsolidTKR,dummyMat, "ReadOutTKR",0,0,0); + + + G4VPhysicalVolume* ROphysiTKR = + new G4PVPlacement(0, G4ThreeVector(0,0,-PayloadSizeZ/2+CALSizeZ+ + CALTKRDistance+TKRSizeZ/2), + "ReadOutTKR",ROlogicTKR,physiPayloadRO, + false, 0); + + // TKR Layers + + + G4double TKRSiliconThickness = + GammaRayTelDetector->GetTKRSiliconThickness(); + G4int NbOfTKRLayers = GammaRayTelDetector->GetNbOfTKRLayers(); + G4double TKRLayerDistance = GammaRayTelDetector->GetTKRLayerDistance(); + G4double TKRViewsDistance = GammaRayTelDetector->GetTKRViewsDistance(); + + G4VSolid* solidTKRDetectorYRO = new G4Box + ("TKRDetectorYRO",TKRSizeXY/2,TKRSizeXY/2,TKRSiliconThickness/2); + + G4LogicalVolume* logicTKRDetectorYRO = + new G4LogicalVolume(solidTKRDetectorYRO,dummyMat, "TKRDetectorYRO",0,0,0); + + G4VSolid* solidTKRDetectorXRO = new G4Box + ("TKRDetectorXRO",TKRSizeXY/2,TKRSizeXY/2,TKRSiliconThickness/2); + + G4LogicalVolume* logicTKRDetectorXRO = + new G4LogicalVolume(solidTKRDetectorXRO,dummyMat, "TKRDetectorXRO",0,0,0); + G4int i=0; + G4VPhysicalVolume* physiTKRDetectorXRO = 0; + G4VPhysicalVolume* physiTKRDetectorYRO = 0; + + + for (i = 0; i < NbOfTKRLayers; i++) + { + + physiTKRDetectorYRO = + new G4PVPlacement(0,G4ThreeVector(0.,0.,-TKRSizeZ/2 + +TKRSiliconThickness/2 + +(i)*TKRLayerDistance), + "TKRDetectorYRO", + logicTKRDetectorYRO, + ROphysiTKR, + false, + i); + + physiTKRDetectorXRO = + new G4PVPlacement(0,G4ThreeVector(0.,0., + -TKRSizeZ/2+ + TKRSiliconThickness/2 + + TKRViewsDistance+ + TKRSiliconThickness+ + (i)*TKRLayerDistance), + "TKRDetectorXRO", + logicTKRDetectorXRO, + ROphysiTKR, + false, + i); + } + + + // Silicon Tiles + // some problems with the RO tree + + G4double TKRActiveTileXY = GammaRayTelDetector->GetTKRActiveTileXY(); + G4double TKRActiveTileZ = GammaRayTelDetector->GetTKRActiveTileZ(); + + G4VSolid * solidTKRActiveTileXRO = new + G4Box("Active Tile X", TKRActiveTileXY/2,TKRActiveTileXY/2,TKRActiveTileZ/2); + + G4VSolid * solidTKRActiveTileYRO = new + G4Box("Active Tile Y", TKRActiveTileXY/2,TKRActiveTileXY/2,TKRActiveTileZ/2); + + + G4LogicalVolume* logicTKRActiveTileXRO = + new G4LogicalVolume(solidTKRActiveTileXRO, dummyMat,"Active Tile",0,0,0); + + G4LogicalVolume* logicTKRActiveTileYRO = + new G4LogicalVolume(solidTKRActiveTileYRO, dummyMat,"Active Tile",0,0,0); + + G4int j=0; + G4int k=0; + + G4int NbOfTKRTiles = GammaRayTelDetector->GetNbOfTKRTiles(); + G4double SiliconGuardRing = GammaRayTelDetector->GetSiliconGuardRing(); + G4double TilesSeparation = GammaRayTelDetector->GetTilesSeparation(); + + G4VPhysicalVolume* physiTKRActiveTileXRO = 0; + G4VPhysicalVolume* physiTKRActiveTileYRO = 0; + + G4double x=0.; + G4double y=0.; + G4double z=0.; + + for (i=0;i< NbOfTKRTiles; i++) + { + for (j=0;j< NbOfTKRTiles; j++) + { + k = i*NbOfTKRTiles + j; + + x = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+TKRActiveTileXY/2+ + (j)*((2*SiliconGuardRing)+TilesSeparation+TKRActiveTileXY); + y = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+TKRActiveTileXY/2+ + (i)*((2*SiliconGuardRing)+TilesSeparation+TKRActiveTileXY); + z = 0.; + + physiTKRActiveTileXRO = + new G4PVPlacement(0, + G4ThreeVector(x,y,z), + "Active Tile X", + logicTKRActiveTileXRO, + physiTKRDetectorXRO, + false, + k); + + x = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+TKRActiveTileXY/2+ + (i)*((2*SiliconGuardRing)+TilesSeparation+TKRActiveTileXY); + y = -TKRSizeXY/2+TilesSeparation+SiliconGuardRing+TKRActiveTileXY/2+ + (j)*((2*SiliconGuardRing)+TilesSeparation+TKRActiveTileXY); + z = 0.; + + physiTKRActiveTileYRO = + new G4PVPlacement(0, + G4ThreeVector(x,y,z), + "Active Tile Y", + logicTKRActiveTileYRO, + physiTKRDetectorYRO, + false, + k); + + } + } + + + // Silicon Strips + // some problems with the RO tree + + G4double TKRXStripX=0.; + G4double TKRYStripY=0.; + G4double TKRYStripX=0.; + G4double TKRXStripY=0.; + + TKRXStripX = TKRYStripY = GammaRayTelDetector->GetTKRSiliconPitch(); + TKRYStripX = TKRXStripY= GammaRayTelDetector->GetTKRActiveTileXY(); + G4double TKRZStrip = GammaRayTelDetector->GetTKRSiliconThickness(); + + G4int NbOfTKRStrips = GammaRayTelDetector->GetNbOfTKRStrips(); + + + G4VSolid* solidTKRStripX = new G4Box("Strip X", + TKRXStripX/2,TKRYStripX/2, + TKRZStrip/2); + + G4LogicalVolume* logicTKRStripX = + new G4LogicalVolume(solidTKRStripX,dummyMat,"Strip X",0,0,0); + + + G4VSolid* solidTKRStripY = new G4Box("Strip Y", + TKRXStripY/2,TKRYStripY/2, + TKRZStrip/2); + + + G4LogicalVolume* logicTKRStripY = + new G4LogicalVolume(solidTKRStripY,dummyMat,"Strip Y",0,0,0); + + + G4VPhysicalVolume* physiTKRStripX = 0; + G4VPhysicalVolume* physiTKRStripY = 0; + G4double TKRSiliconPitch = GammaRayTelDetector->GetTKRSiliconPitch(); + + for (i=0;i< NbOfTKRStrips; i++) + { + physiTKRStripX = new + G4PVPlacement(0,G4ThreeVector(-TKRActiveTileXY/2 +TKRSiliconPitch/2 + + (i)*TKRSiliconPitch, 0., 0.), + "Strip X", + logicTKRStripX, + physiTKRActiveTileXRO, + false, + i); + + + physiTKRStripY = new + G4PVPlacement(0,G4ThreeVector(0.,-TKRActiveTileXY/2 + +TKRSiliconPitch/2 + + (i)*TKRSiliconPitch, 0.), + "Strip Y", + logicTKRStripY, + physiTKRActiveTileYRO, + false, + i); + + + + + + } + + + + //Flags the strip as sensitive .The pointer here serves + // as a flag only to check for sensitivity. + // (Could we make it by a simple cast of a non-NULL value ?) + + + GammaRayTelDummySD * dummySensi = new GammaRayTelDummySD; + + logicTKRStripX->SetSensitiveDetector(dummySensi); + logicTKRStripY->SetSensitiveDetector(dummySensi); + + //logicTKRActiveTileXRO->SetSensitiveDetector(dummySensi); + //logicTKRActiveTileYRO->SetSensitiveDetector(dummySensi); + //logicTKRDetectorRO->SetSensitiveDetector(dummySensi); + + return ROWorldPhys; +} + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadSD.cc new file mode 100644 index 0000000000..fcd90c1b03 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPayloadSD.cc @@ -0,0 +1,223 @@ +// 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: GammaRayTelPayloadSD.cc,v 1.6 2000/12/06 17:48:10 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPayloadSD ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +#include "GammaRayTelPayloadSD.hh" + +#include "GammaRayTelPayloadHit.hh" +#include "GammaRayTelDetectorConstruction.hh" + +#include "G4VPhysicalVolume.hh" + +#include "G4Step.hh" +#include "G4VTouchable.hh" +#include "G4TouchableHistory.hh" +#include "G4SDManager.hh" + +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPayloadSD::GammaRayTelPayloadSD(G4String name, + GammaRayTelDetectorConstruction* det) +:G4VSensitiveDetector(name),Detector(det) +{ + G4int NbOfTKRTiles = Detector->GetNbOfTKRTiles(); + NbOfTKRStrips = Detector->GetNbOfTKRStrips(); + NbOfTKRLayers = Detector->GetNbOfTKRLayers(); + NbOfTKRStrips = NbOfTKRStrips*NbOfTKRTiles; + + HitXID = new G4int[NbOfTKRStrips][30]; + HitYID = new G4int[NbOfTKRStrips][30]; + collectionName.insert("PayloadCollection"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPayloadSD::~GammaRayTelPayloadSD() +{ + delete [] HitXID; + delete [] HitYID; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPayloadSD::Initialize(G4HCofThisEvent*HCE) +{ + PayloadCollection = new GammaRayTelPayloadHitsCollection + (SensitiveDetectorName,collectionName[0]); + for (G4int i=0;iGetTotalEnergyDeposit(); + if ((edep/keV == 0.)) return false; + + G4int StripTotal = Detector->GetNbOfTKRStrips(); + G4int TileTotal = Detector->GetNbOfTKRTiles(); + + // This TouchableHistory is used to obtain the physical volume + // of the hit + G4TouchableHistory* theTouchable + = (G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()); + + G4VPhysicalVolume* phys_tile = theTouchable->GetVolume(); + G4VPhysicalVolume* plane = phys_tile->GetMother(); + + G4int PlaneNumber = 0; + PlaneNumber=plane->GetCopyNo(); + G4String PlaneName = plane->GetName(); + + // The RO History is used to obtain the real strip + // of the hit + + G4int StripNumber = 0; + G4VPhysicalVolume* strip = 0; + strip = ROhist->GetVolume(); + G4String StripName = strip->GetName(); + StripNumber= strip->GetCopyNo(); + + ROhist->MoveUpHistory(); + G4VPhysicalVolume* tile = ROhist->GetVolume(); + G4int TileNumber = tile->GetCopyNo(); + G4String TileName = tile->GetName(); + + G4int NTile = (TileNumber%TileTotal); + G4int j=0; + + for (j=0;jMoveUpHistory(); + + G4VPhysicalVolume* ROPlane = ROhist->GetVolume(); + G4int ROPlaneNumber = ROPlane->GetCopyNo(); + G4String ROPlaneName = ROPlane->GetName(); + + if (PlaneName == "TKRDetectorX" ) + // The hit is on an X silicon plane + { + // This is a new hit + if (HitXID[StripNumber][PlaneNumber]==-1) + { + GammaRayTelPayloadHit* PayloadHit = new GammaRayTelPayloadHit; + PayloadHit->SetPlaneType(1); + PayloadHit->AddSil(edep); + PayloadHit->SetPos(aStep->GetPreStepPoint()->GetPosition()); + PayloadHit->SetNSilPlane(PlaneNumber); + PayloadHit->SetNStrip(StripNumber); + HitXID[StripNumber][PlaneNumber] = + PayloadCollection->insert(PayloadHit) -1; + } + else // This is not new + { + (*PayloadCollection)[HitXID[StripNumber][PlaneNumber]]->AddSil(edep); + // G4cout << "X" << PlaneNumber << " " << StripNumber << G4endl; + } + } + + if (PlaneName == "TKRDetectorY") + // The hit is on an Y silicon plane + { + // This is a new hit + if (HitYID[StripNumber][PlaneNumber]==-1) + { + GammaRayTelPayloadHit* PayloadHit = new GammaRayTelPayloadHit; + PayloadHit->SetPlaneType(0); + PayloadHit->AddSil(edep); + PayloadHit->SetPos(aStep->GetPreStepPoint()->GetPosition()); + PayloadHit->SetNSilPlane(PlaneNumber); + PayloadHit->SetNStrip(StripNumber); + HitYID[StripNumber][PlaneNumber] = + PayloadCollection->insert(PayloadHit)-1; + } + else // This is not new + { + (*PayloadCollection)[HitYID[StripNumber][PlaneNumber]]->AddSil(edep); + // G4cout << "Y" << PlaneNumber << " " << StripNumber << G4endl; + } + } + + return true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPayloadSD::EndOfEvent(G4HCofThisEvent* HCE) +{ + static G4int HCID = -1; + if(HCID<0) + { + HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); + } + HCE->AddHitsCollection(HCID,PayloadCollection); + + + for (G4int i=0;ireset(); + 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); + } + } +} + + +#include "G4Decay.hh" + +void GammaRayTelPhysicsList::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 GammaRayTelPhysicsList::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 << "GammaRayTelPhysicsList::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+"); + + // 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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +void GammaRayTelPhysicsList::SetCutForGamma(G4double cut) +{ + ResetCuts(); + cutForGamma = cut; +} + +void GammaRayTelPhysicsList::SetCutForElectron(G4double cut) +{ + ResetCuts(); + cutForElectron = cut; +} + +void GammaRayTelPhysicsList::SetCutForProton(G4double cut) +{ + ResetCuts(); + cutForProton = cut; +} + +G4double GammaRayTelPhysicsList::GetCutForGamma() const +{ + return cutForGamma; +} + +G4double GammaRayTelPhysicsList::GetCutForElectron() const +{ + return cutForElectron; +} + +G4double GammaRayTelPhysicsList::GetCutForProton() const +{ + return cutForProton; +} + + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc new file mode 100644 index 0000000000..6dfa1520b5 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc @@ -0,0 +1,210 @@ +// 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: GammaRayTelPrimaryGeneratorAction.cc,v 1.3 2000/11/24 16:57:00 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPrimaryGeneratorAction ------ +// by G.Santin, F.Longo & R.Giannitrapani (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "GammaRayTelPrimaryGeneratorAction.hh" + +#include "GammaRayTelDetectorConstruction.hh" +#include "GammaRayTelPrimaryGeneratorMessenger.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPrimaryGeneratorAction::GammaRayTelPrimaryGeneratorAction +(GammaRayTelDetectorConstruction* GammaRayTelDC) + :GammaRayTelDetector(GammaRayTelDC),rndmFlag("off"), + nSourceType(0),nSpectrumType(0) +{ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + //create a messenger for this class + gunMessenger = new GammaRayTelPrimaryGeneratorMessenger(this); + + // default particle kinematic + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="e-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,-1.)); + particleGun->SetParticleEnergy(30.*MeV); + G4double position = 0.5*(GammaRayTelDetector->GetWorldSizeZ()); + particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,position)); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPrimaryGeneratorAction::~GammaRayTelPrimaryGeneratorAction() +{ + delete particleGun; + delete gunMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + //this function is called at the begining of event + // + G4double z0 = 0.5*(GammaRayTelDetector->GetWorldSizeZ()); + G4double x0 = 0.*cm, y0 = 0.*cm; + + G4ThreeVector pos0; + G4ThreeVector dir0; + G4ThreeVector vertex0 = G4ThreeVector(x0,y0,z0); + + dir0 = G4ThreeVector(0.,0.,-1.); + + G4double theta, phi, y, f; + G4double theta0,phi0; + + switch(nSourceType) { + case 0: + particleGun->SetParticlePosition(vertex0); + particleGun->SetParticleMomentumDirection(dir0); + break; + case 1: + // GS: Generate random position on the 4PIsphere to create a unif. distrib. + // GS: on the sphere + phi = G4UniformRand() * 2.0 * M_PI; + do { + y = G4UniformRand()*1.0; + theta = G4UniformRand() * M_PI; + f = sin(theta); + } while (y > f); + vertex0 = G4ThreeVector(1.,0.,0.); + vertex0.setMag(dVertexRadius); + vertex0.setTheta(theta); + vertex0.setPhi(phi); + particleGun->SetParticlePosition(vertex0); + + dir0 = G4ThreeVector(1.,0.,0.); + do { + phi = G4UniformRand() * 2.0 * M_PI; + do { + y = G4UniformRand()*1.0; + theta = G4UniformRand() * M_PI; + f = sin(theta); + } while (y > f); + dir0.setPhi(phi); + dir0.setTheta(theta); + } while (vertex0.dot(dir0) >= -0.7 * vertex0.mag()); + particleGun->SetParticleMomentumDirection((G4ParticleMomentum)dir0); + + break; + case 2: + // GS: Generate random position on the upper semi-sphere z>0 to create a unif. distrib. + // GS: on a plane + phi = G4UniformRand() * 2.0 * M_PI; + do { + y = G4UniformRand()*1.0; + theta = G4UniformRand() * M_PI/2; + f = sin(theta) * cos(theta); + } while (y > f); + vertex0 = G4ThreeVector(1.,0.,0.); + + G4double xy = GammaRayTelDetector->GetWorldSizeXY(); + G4double z = GammaRayTelDetector->GetWorldSizeZ(); + + if (dVertexRadius > xy*0.5) + { + G4cout << "vertexRadius too big " << G4endl; + G4cout << "vertexRadius setted to " << xy*0.45 << G4endl; + dVertexRadius = xy*0.45; + } + + if (dVertexRadius > z*0.5) + { + G4cout << "vertexRadius too high " << G4endl; + G4cout << "vertexRadius setted to " << z*0.45 << G4endl; + dVertexRadius = z*0.45; + } + + + vertex0.setMag(dVertexRadius); + vertex0.setTheta(theta); + vertex0.setPhi(phi); + + // GS: Get the user defined direction for the primaries and + // GS: Rotate the random position according to the user defined direction for the particle + + dir0 = particleGun->GetParticleMomentumDirection(); + if (dir0.mag() > 0.001) + { + theta0 = dir0.theta(); + phi0 = dir0.phi(); + } + + if (theta0!=0.) + { + G4ThreeVector rotationAxis(1.,0.,0.); + rotationAxis.setPhi(phi0+M_PI/2.); + vertex0.rotate(theta0+M_PI,rotationAxis); + } + particleGun->SetParticlePosition(vertex0); + break; + } + + + G4double pEnergy; + + switch(nSpectrumType) { + case 0: + break; + case 1: + break; + case 2: + do { + y = G4UniformRand()*100000.0; + pEnergy = G4UniformRand() * 10. * GeV; + f = pow(pEnergy * (1/GeV), -4.); + } while (y > f); + + particleGun->SetParticleEnergy(pEnergy); + + break; + case 3: + break; + } + + particleGun->GeneratePrimaryVertex(anEvent); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc new file mode 100644 index 0000000000..c9398cfe6c --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc @@ -0,0 +1,106 @@ +// 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: GammaRayTelPrimaryGeneratorMessenger.cc,v 1.2 2000/11/15 20:27:41 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelPrimaryGeneratorMessenger ------ +// by G.Santin, F.Longo & R.Giannitrapani (13 nov 2000) +// +// ************************************************************ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "GammaRayTelPrimaryGeneratorMessenger.hh" + +#include "GammaRayTelPrimaryGeneratorAction.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPrimaryGeneratorMessenger::GammaRayTelPrimaryGeneratorMessenger +(GammaRayTelPrimaryGeneratorAction* GammaRayTelGun) + :GammaRayTelAction(GammaRayTelGun) +{ + RndmCmd = new G4UIcmdWithAString("/gun/random",this); + RndmCmd->SetGuidance("Shoot randomly the incident particle."); + RndmCmd->SetGuidance(" Choice : on(default), off"); + RndmCmd->SetParameterName("choice",true); + RndmCmd->SetDefaultValue("on"); + RndmCmd->SetCandidates("on off"); + RndmCmd->AvailableForStates(PreInit,Idle); + + SourceTypeCmd = new G4UIcmdWithAnInteger("/gun/sourceType",this); + SourceTypeCmd->SetGuidance("Select the type of incident flux."); + SourceTypeCmd->SetGuidance(" Choice : 0(default), 1(isotropic), 2(wide parallel beam)"); + SourceTypeCmd->SetParameterName("choice",true); + SourceTypeCmd->SetDefaultValue((G4int)0); + SourceTypeCmd->AvailableForStates(PreInit,Idle); + + VertexRadiusCmd = new G4UIcmdWithADoubleAndUnit("/gun/vertexRadius",this); + VertexRadiusCmd->SetGuidance("Radius (and unit) of sphere for vertices of incident flux."); + VertexRadiusCmd->SetParameterName("choice",true); + VertexRadiusCmd->SetDefaultValue((G4double)1.*cm); + VertexRadiusCmd->AvailableForStates(PreInit,Idle); + + SpectrumTypeCmd = new G4UIcmdWithAnInteger("/gun/spectrumType",this); + SpectrumTypeCmd->SetGuidance("Select the type of incident spectrum."); + SpectrumTypeCmd->SetGuidance(" Choice : 0(default), 1(), 2(E^{-gamma}), 3()"); + SpectrumTypeCmd->SetParameterName("choice",true); + SpectrumTypeCmd->SetDefaultValue((G4int)0); + SpectrumTypeCmd->AvailableForStates(PreInit,Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelPrimaryGeneratorMessenger::~GammaRayTelPrimaryGeneratorMessenger() +{ + delete RndmCmd; + delete SourceTypeCmd; + delete VertexRadiusCmd; + delete SpectrumTypeCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelPrimaryGeneratorMessenger::SetNewValue(G4UIcommand * command,G4String newValue) +{ + if( command == RndmCmd ) + { GammaRayTelAction->SetRndmFlag(newValue);} + + if( command == SourceTypeCmd ) + { GammaRayTelAction->SetSourceType(SourceTypeCmd->GetNewIntValue(newValue));} + + if( command == VertexRadiusCmd ) + { GammaRayTelAction->SetVertexRadius(VertexRadiusCmd->GetNewDoubleValue(newValue));} + + if( command == SpectrumTypeCmd ) + { GammaRayTelAction->SetSpectrumType(SpectrumTypeCmd->GetNewIntValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc new file mode 100644 index 0000000000..8d41e0bd63 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc @@ -0,0 +1,103 @@ +// 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: GammaRayTelRunAction.cc,v 1.3 2000/12/06 16:53:14 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelRunAction ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "GammaRayTelRunAction.hh" + +#include +#include "G4Run.hh" +#include "G4UImanager.hh" +#include "G4VVisManager.hh" +#include "G4ios.hh" + +extern ofstream outFile; + +#ifdef G4ANALYSIS_USE +GammaRayTelRunAction::GammaRayTelRunAction(GammaRayTelAnalysisManager* aMgr) + :analysisManager(aMgr) +{ +} +#else +GammaRayTelRunAction::GammaRayTelRunAction() +{ +} +#endif + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelRunAction::~GammaRayTelRunAction() +{ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelRunAction::BeginOfRunAction(const G4Run* aRun) +{ + char name[15]; + + // Open the file for the tracks of this run + sprintf(name,"Tracks_%d.dat", aRun->GetRunID()); + outFile.open(name); + + // Prepare the visualization + if (G4VVisManager::GetConcreteInstance()) + { + G4UImanager* UI = G4UImanager::GetUIpointer(); + UI->ApplyCommand("/vis/scene/notifyHandlers"); + } + + // If analysis is used reset the histograms +#ifdef G4ANALYSIS_USE + analysisManager->BeginOfRun(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelRunAction::EndOfRunAction(const G4Run* aRun) +{ + // Run ended, update the visualization + if (G4VVisManager::GetConcreteInstance()) { + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); + } + + // Close the file with the hits information + outFile.close(); + + // If analysis is used, print out the histograms +#ifdef G4ANALYSIS_USE + analysisManager->EndOfRun(aRun->GetRunID()); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc new file mode 100644 index 0000000000..3eeea234b7 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc @@ -0,0 +1,139 @@ + +// 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: GammaRayTelVisManager.cc,v 1.2 2000/11/15 20:27:42 flongo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// CERN Geneva Switzerland +// +// For information related to this code contact: +// CERN, IT Division, ASD group +// +// ------------ GammaRayTelVisManager ------ +// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000) +// +// ************************************************************ + +#ifdef G4VIS_USE + +#include "GammaRayTelVisManager.hh" + +// Supported drivers... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_DAWNFILE +#include "G4DAWNFILE.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 + +#ifdef G4VIS_USE_VRMLFILE +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +GammaRayTelVisManager::GammaRayTelVisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void GammaRayTelVisManager::RegisterGraphicsSystems () { + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_DAWNFILE + RegisterGraphicsSystem (new G4DAWNFILE); +#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 + +#ifdef G4VIS_USE_VRMLFILE + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); +#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/advanced/xray_telescope/GNUmakefile b/examples/advanced/xray_telescope/GNUmakefile new file mode 100644 index 0000000000..1461b75bde --- /dev/null +++ b/examples/advanced/xray_telescope/GNUmakefile @@ -0,0 +1,21 @@ +# -------------------------------------------------------------- +# $Id: GNUmakefile,v 1.4 2000/11/16 13:46:04 nartallo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := XrayTel +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +G4VIS_USE = 1 + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk + diff --git a/examples/advanced/xray_telescope/History b/examples/advanced/xray_telescope/History new file mode 100644 index 0000000000..438982d0aa --- /dev/null +++ b/examples/advanced/xray_telescope/History @@ -0,0 +1,68 @@ +$Id: History,v 1.9 2000/12/06 18:34:34 nartallo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Category History file + --------------------- +This file should be used by G4 developers and category coordinators +to briefly summarize all major modifications introduced in the code +and keep track of all category-tags. +It DOES NOT substitute the CVS log-message one should put at every +committal in the CVS repository ! + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +06.12.2000 - RN, tag xraytel-V02-00-10 + Removed old XrayTelPrimaryGeneratorMessenger.cc and .hh + files from cvs + +30.11.2000 - RN, tag xraytel-V02-00-09 + Removed longsection.macro file from cvs + +30.11.2000 - RN, tag xraytel-V02-00-08 + Implemented AnalysisManager class and related histograming + code. Analysis is limited to the Lizard package for now. + +16.11.2000 - RN, tag xraytel-V02-00-07 + Removed analysis directory + +16.11.2000 - RN, tag xraytel-V02-00-06 + Replace standard gun with General Particle Source + Remove all code related to old Histogram implementation + Modified all macros to work with GPS + Cleaned GNUmakefile + Started drafting README file + +08.11.2000 - RN, tag xraytel-V02-00-05 + Tydied up macros + Small bug fixes to compile on Linux, SUN and DEC platforms + +06.11.2000 - RN, tag xraytel-V02-00-04 + Tydied up code added headers + +18.10.2000 - RN, tag xraytel-V02-00-03 + Modified geometry and PrimaryGenerator to speed up events + Modified SteppingAction.cc to call histoManager analyser + Modified Histogram.cc to do all the histo work + +17.10.2000 - RN, tag xraytel-V02-00-02 + Added histograming capability + Added XrayTelHistogram.hh, XrayTelHistogram.cc + Modified: GNUmakefile + XrayTel.cc + XrayTelSteppingAction.hh + XrayTelSteppingAction.cc + +17.10.2000 - RN, tag xraytel-V02-00-01 + Tydied up geometry + Add all physics processes to XrayTelPhysicsList.cc + Modified *.hh accordingly + +06.10.2000 - RN, tag xraytel-V02-00-00 + First submission of XrayTel advanced example. + diff --git a/examples/advanced/xray_telescope/README b/examples/advanced/xray_telescope/README new file mode 100644 index 0000000000..30d0d6b2e0 --- /dev/null +++ b/examples/advanced/xray_telescope/README @@ -0,0 +1,171 @@ +$Id: README,v 1.5 2000/12/06 18:34:42 nartallo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + xray_telescope + -------------- +XrayTel is an advanced Geant4 example based on a realistic simulation of +an X-ray Telescope. It is based on work carried out by a team of Geant4 +experts to simulate the interaction between X-ray Telescopes XMM-Newton +and Chandra with low energy protons present in the orbital radiation +background. The X-ray mirrors are designed to collect x-ray photons at +grazing-incidence angles and focus them onto detectors at the focal plane. +However, this mechanism also seems to work for low energy protons which, +if they reach the detectors in sufficient numbers, can cause damage. +In this example, the geometry has been simplified by using a single mirror +shell and no baffles, but all the dimensions and materials are realistic. + +The aim of this advanced example is to illustrate the use advanced +GUI, visualisation, particle generation and analysis schemes available +in Geant4: + + - the simulation can be run from GAG or the command prompt + + - macros are provided to display the geometry and particle tracks with + OpenGL, DAWN Postscript or VRML visualisation + + - the generation of particles is done via the new General Particle Source + + - histograming facilities are provided for the Linux environment only + with the Lizard system at present, other analysis systems such as + OpenScientist and JAS will be implemented at a later stage + +In order to be able to use any of these packages, prior installation is +necessary and a number of environment variables will have to be set. + + +1. Setting up the environment variables for GAG, Visualisation and + Analysis options (example based on Linux at CERN) + +#set up GAG +setenv G4UI_BUILD_GAG_SESSION 1 +setenv G4UI_USE_GAG 1 + +#set up VRMLview +setenv G4VIS_BUILD_VRMLFILE_DRIVER 1 +setenv G4VIS_USE_VRML 1 +setenv G4VIS_USE_VRMLFILE 1 +setenv G4VRMLFILE_MAX_FILE_NUM 100 +setenv G4VRMLFILE_VIEWER vrmlview #if installed +setenv G4VIS_USE_VRML 1 +setenv G4VIS_USE_VRMLFILE 1 +setenv PATH ${PATH}:"/afs/cern.ch/sw/contrib/VRML/bin/Linux" + +#set up OpenGL or Mesa +setenv G4VIS_BUILD_OPENGLX_DRIVER 1 +setenv G4VIS_USE_OPENGLX 1 +setenv OGLHOME /afs/cern.ch/sw/geant4/dev/Mesa/Linux-g++ + +#set up DAWN +setenv G4VIS_BUILD_DAWN_DRIVER 1 +setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 +setenv G4VIS_USE_DAWN 1 +setenv G4VIS_USE_DAWNFILE 1 +setenv PATH ${PATH}:"/afs/cern.ch/sw/geant4/dev/DAWN/Linux-g++" + +#set up Lizard +setenv LIZARDROOT /usr/local/freeLizard/3.2.0 #get correct path +setenv G4ANALYSIS_SYSTEM Lizard +setenv G4ANALYSIS_USE 1 +setenv G4ANALYSIS_USE_LIZARD 1 +setenv G4ANALYSIS_BUILD 1 +setenv G4ANALYSIS_BUILD_LIZARD 1 + +#add to the LD_LIBRARY_PATH +setenv LD_LIBRARY_PATH /usr/local/freeLizard/3.2.0/Linux/lib:$OGLHOME/lib + + +IMPORTANT WARNING! +setenv G4ANALYSIS_BUILD 1 +must always be set to build the example even if the analysis option +is not required + + +Sources +------- + +GAG can be obtained from + +http://erpc1.naruto-u.ac.jp/~geant4/ + +OpenGL Mesa needs to be installed prior to building Geant4 and can be +downloaded from + +http://www.mesa3d.org/download.html + +DAWN can be obtained from + +http://133.7.51.8/dawn/ + +VRMLview for Linux can be obtained from + + + +2. Run +To execute a sample simulation with visualisation of proton tracks +reaching the detector run: + +XrayTel opengl.mac for OpenGL display +XrayTel vrml.mac for VRML display and output file +XrayTel dawn.mac for dawn display and PS output file + +To execute a run without visualisation + +XrayTel test.mac + + +If the Lizard analysis options are set, histograming windows will +automatically open and the corresponding files will be created. +A 2D histogram (scatter plot) will display in real time every proton +hit that reaches the detector. +A 1D histogram will display the energy distribution of the protons +that reach the detector at the end of the run. + +The final energy and (x,y,z) position of the protons that reach the +detector is output to a file "detector.hits". This file is created +if it does not exist or appended to if it does. + + +3. Detector description + +The telescope and detector geometry is defined in +XrayTelDetectorConstruction.cc + +4. Physics processes + +The physics processes are in XrayTelPhysicsList.cc +The main process in this example is MultipleScattering of the protons +on the mirror surfaces. + +5. Event generation + +This is done using the new General Particle Source. Documentation for +this can be found in + +http://www.space.dera.gov.uk/space_env/gspm.html + +6. Analysis + +At present the analysis package implemented is Lizard. As this is still +under development only simple histograming is used. The main purpose of +including this facility was to provide the basis for the implementation of +AIDA interfaces between Geant4 and analysis packages, in particular +Lizard, OpenScientist and JAS. More complex analysis features may be +implemented in future releases. + +The current implementation of the analysis class is very preliminary +and new tags of this example are anticipated to be released soon after +the general release + +Lizard is not currently implemented on platforms other than Linux. +To build and execute the example on other platforms the analysis +environment variables must not be set, except for G4ANALYSIS_BUILD +which is required for building the executable. + + + + + diff --git a/examples/advanced/xray_telescope/XrayTel.cc b/examples/advanced/xray_telescope/XrayTel.cc new file mode 100644 index 0000000000..efbcba1680 --- /dev/null +++ b/examples/advanced/xray_telescope/XrayTel.cc @@ -0,0 +1,124 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTel.cc main file * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// HISTORY +// ------- +// +// The development of this advanced example is based on earlier work +// carried out by a team of Geant4 collaborators to simulate the Chandra +// and XMM X-ray observatories. The authors involved in those models are +// J Apostolakis, P Arce, S Giani, F Lei, R Nartallo, S Magni, +// P Truscott, L Urban +// +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 30.11.2000 R. Nartallo, A. Pfeiffer +// - Implementation of analysis manager code for histograming +// +// 15.11.2000 R. Nartallo +// - Minor changes proposed by F. Lei to implement the GPS module now +// replacing the standard particle gun +// - Remove commented lines related to old histograming code +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// - Lines for using GAG and the histogram manager are commented out. +// +// +// ********************************************************************** + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +//#include "G4UIGAG.hh" +#include "G4UIterminal.hh" +#include "G4UIXm.hh" +#include "XrayTelDetectorConstruction.hh" +#include "XrayTelPhysicsList.hh" +#include "XrayTelVisManager.hh" +#include "XrayTelEventAction.hh" +#include "XrayTelRunAction.hh" +#include "XrayTelSteppingAction.hh" +#include "XrayTelPrimaryGeneratorAction.hh" +#include +#include "g4std/vector" + +#include "XrayTelAnalysisManager.hh" + +int main( int argc, char** argv ) +{ + // Construct the default run manager + G4RunManager * runManager = new G4RunManager; + + // set mandatory initialization classes + runManager->SetUserInitialization(new XrayTelDetectorConstruction ) ; + runManager->SetUserInitialization(new XrayTelPhysicsList); + + // setup some of the common variables + G4bool drawEvent; + G4std::vector EnteringEnergy; + G4std::vector EnteringDirection; + + // create manager for analysis. + char* s = getenv("G4ANALYSIS_SYSTEM"); + XrayTelAnalysisManager* analysisManager = new XrayTelAnalysisManager(s?s:""); + + // set mandatory user action class + runManager->SetUserAction(new XrayTelPrimaryGeneratorAction); + runManager->SetUserAction(new XrayTelRunAction(&EnteringEnergy, + &EnteringDirection, &drawEvent, analysisManager)); + runManager->SetUserAction(new XrayTelEventAction(&drawEvent)); + runManager->SetUserAction(new XrayTelSteppingAction( + &EnteringEnergy, &EnteringDirection, &drawEvent, analysisManager)); + + // visualization manager + G4VisManager* visManager = new XrayTelVisManager; + visManager->Initialize(); + + //Initialize G4 kernel + runManager->Initialize(); + + // get the pointer to the User Interface manager + G4UImanager *UI = G4UImanager::GetUIpointer(); + if ( argc==1 ){ + // G4UIsession * session = new G4UIGAG; + G4UIsession * session = new G4UIterminal; + session->SessionStart(); + delete session; + } + else { + // Create a pointer to the User Interface manager + G4String command = "/control/execute "; + for (int i=2; i<=argc; i++) { + G4String macroFileName = argv[i-1]; + UI->ApplyCommand(command+macroFileName); + } + } + + // job termination + delete visManager; + delete analysisManager; + delete runManager; + return 0; +} diff --git a/examples/advanced/xray_telescope/dawn.mac b/examples/advanced/xray_telescope/dawn.mac new file mode 100644 index 0000000000..436212b5c0 --- /dev/null +++ b/examples/advanced/xray_telescope/dawn.mac @@ -0,0 +1,131 @@ +####################################################################### +# # +# 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. # +# # +# ******************************************************************* # +# * * # +# * GEANT 4 xray_telescope advanced example * # +# * * # +# * MACRO: dawn.mac * # +# * ------ demostrates the DAWN DRIVER * # +# * * # +# * Version: 0.6 * # +# * Date: 15/11/00 * # +# * Author: R Nartallo * # +# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # +# * * # +# ******************************************************************* # +# # +# NOTES # +# ----- # +# USAGE: Idle> /control/execute dawn.mac # +# prompt> XrayTel dawn.mac # +# # +# REQUIRED PLATFORMS & SOFTWARE: DAWN (version 3.85 or after) # +# Ghostview # +# # +# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_USE_DAWN 1 # +# % setenv G4VIS_USE_DAWNFILE 1 # +# % setenv G4VIS_BUILD_DAWN_DRIVER 1 # +# % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # +# # +# Addional Notes: # +# # +# * You may have to set the command path to the directory where # +# a Fukui Renderer DAWN is installed, e.g., to # +# "/afs/cern.ch/sw/contrib/DAWN/3.85/bin/Linux/" # +# at CERN. # +# # +# * Set as follows to skip DAWN GUI: # +# % setenv G4DAWNFILE_VIEWER "dawn -d" # +# # +# * In order to make the generated PostScript file "g4_XX.eps" # +# printable, append the "showpage" PostScript command to the file. # +# You can do it with the 4th page of the DAWN GUI panel # +# or by editing the file by hand. # +# # +####################################################################### +# # +# CHANGE HISTORY # +# -------------- # +# # +# 15.11.2000 R. Nartallo # +# - Replaced standard particle gun by GPS set options # +# # +# 08.11.2000 R. Nartallo # +# - Modified version # +# # +# 17.10.2000 S. Tanaka # +# - First implementation # +# # +####################################################################### + +# Set verbose level +/run/verbose 2 + +# Invoke the DAWNFILE driver +/vis/open DAWNFILE + +# Create a new scene +/vis/scene/create + +# Attach the current scene handler to the current scene +/vis/sceneHandler/attach + +# Add the world volume to the current scene +/vis/scene/add/volume + +# Set drawing style +/vis/viewer/set/style surface +#/vis/viewer/set/style wireframe + +# Set camera +/vis/camera/reset +/vis/camera/viewpoint 25 0 + +# Visualize one event added to the current scene +# * Command "/vis/scene/notifyHandlers" is written in +# XrayTelRunAction::BeginOfRunAction() +# * Command "/vis/show/view" is written in +# XrayTelRunAction::EndOfRunAction() + +# Store particle trajactories for visualization +/tracking/storeTrajectory 1 + +# Set to draw tracks of positively charged particles +/event/drawTracks charged + +# Set General Particle Source options +/gps/particle proton +/gps/type Plane +/gps/shape Annulus +/gps/posrot1 0. 0. 1. +/gps/posrot2 0. 1. 0. +/gps/radius 35.5 cm +/gps/radius0 30.5 cm +/gps/centre 780.1 0. 0. cm +/gps/angtype cos +/gps/angrot1 0. 0. 1. +/gps/angrot2 0. 1. 0. +/gps/maxtheta 1. deg +/gps/energytype Mono +/gps/monoenergy 0.5 MeV + +# Set number of particles and start +/run/beamOn 10000 + + + + + + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelAnalysisManager.hh b/examples/advanced/xray_telescope/include/XrayTelAnalysisManager.hh new file mode 100644 index 0000000000..264e565cde --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelAnalysisManager.hh @@ -0,0 +1,91 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelAnalysisManager.cc * +// * ------- * +// * * +// * Version: 0.2 * +// * Date: 30/11/00 * +// * Author: A. Pfeiffer, G. Barrand, MG Pia, R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 30.11.2000 M.G. Pia, R. Nartallo +// - Simplification of code +// - Inheritance directly from the base class G4VAnalysisManager instead +// of the derived class G4AnalysisManager +// +// 16.10.2000 G. Barrand +// - First implementation of XrayAnalysisManager class +// - Provision of code for various AIDA and non-AIDA systems +// +// ********************************************************************** + +#ifndef XrayTelAnalysisManager_h +#define XrayTelAnalysisManager_h 1 + +#include "G4VAnalysisManager.hh" + +#include "globals.hh" +#include "g4std/vector" +#include "G4ThreeVector.hh" +class G4SteppingManager; +class G4VAnalysisSystem; + +#ifdef G4ANALYSIS_USE +class IHistogramFactory; +class IHistogram1D; +class IHistogram2D; +#endif + +#ifdef G4ANALYSIS_USE +class XrayTelAnalysisManager: public G4VAnalysisManager { +#endif +#ifndef G4ANALYSIS_USE +class XrayTelAnalysisManager { +#endif +public: + XrayTelAnalysisManager(const G4String&); + ~XrayTelAnalysisManager(); + + G4bool RegisterAnalysisSystem(G4VAnalysisSystem*); + +#ifdef G4ANALYSIS_USE + IHistogramFactory* GetHistogramFactory(const G4String&); + + virtual void Store(IHistogram* = 0,const G4String& = ""); + virtual void Plot(IHistogram*); +#endif + + void BeginOfRun(); + void EndOfRun(); + void Step(const G4SteppingManager*); + +private: + G4VAnalysisSystem* analysisSystem; + +#ifdef G4ANALYSIS_USE + IHistogramFactory* hFactory; + IHistogram1D* enteringEnergyHistogram; + IHistogram2D* yzHistogram; +#endif +}; + +#endif + + + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelDetectorConstruction.hh b/examples/advanced/xray_telescope/include/XrayTelDetectorConstruction.hh new file mode 100644 index 0000000000..6fd3c5792b --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelDetectorConstruction.hh @@ -0,0 +1,59 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelDetectorConstruction.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelDetectorConstruction_H +#define XrayTelDetectorConstruction_H 1 + +class G4VPhysicalVolume; + +#include "G4VUserDetectorConstruction.hh" +#include "G4LogicalVolume.hh" + +class XrayTelDetectorConstruction : public G4VUserDetectorConstruction +{ +public: + XrayTelDetectorConstruction(); + ~XrayTelDetectorConstruction(); + +public: + G4VPhysicalVolume* Construct(); + +private: + G4double world_x; + G4double world_y; + G4double world_z; + void ConstructTelescope(); + void ConstructFocalPlane(); + G4VPhysicalVolume* physicalWorld; +}; + +#endif + diff --git a/examples/advanced/xray_telescope/include/XrayTelEventAction.hh b/examples/advanced/xray_telescope/include/XrayTelEventAction.hh new file mode 100644 index 0000000000..f56e9997f1 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelEventAction.hh @@ -0,0 +1,66 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelEventAction.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelEventAction_h +#define XrayTelEventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class XrayTelEventActionMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class XrayTelEventAction : public G4UserEventAction +{ +public: + XrayTelEventAction(G4bool* dEvent); + ~XrayTelEventAction(); + +public: + void BeginOfEventAction(const G4Event* anEvent); + void EndOfEventAction(const G4Event* anEvent); + + void SetDrawFlag(G4String val) {drawFlag = val;}; + +private: + G4bool* drawEvent; + G4String drawFlag; // control the drawing of event + XrayTelEventActionMessenger* eventMessenger; +}; + +#endif + + + + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.hh b/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.hh new file mode 100644 index 0000000000..dce507b74c --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelEventActionMessenger.hh @@ -0,0 +1,62 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelEventActionMessenger.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelEventActionMessenger_h +#define XrayTelEventActionMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class XrayTelEventAction; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class XrayTelEventActionMessenger: public G4UImessenger +{ +public: + XrayTelEventActionMessenger(XrayTelEventAction*); + ~XrayTelEventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + XrayTelEventAction* eventAction; + G4UIcmdWithAString* DrawCmd; +}; + +#endif + + + + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelPhysicsList.hh b/examples/advanced/xray_telescope/include/XrayTelPhysicsList.hh new file mode 100644 index 0000000000..9af620f6da --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelPhysicsList.hh @@ -0,0 +1,85 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelPhysicsList.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelPhysicsList_h +#define XrayTelPhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +class XrayTelPhysicsList: public G4VUserPhysicsList +{ +public: + XrayTelPhysicsList(); + ~XrayTelPhysicsList(); + +protected: + // Construct particle and physics process + void ConstructParticle(); + void ConstructProcess(); + void SetCuts(); + +public: + // Set/Get cut values + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForProton(G4double); + G4double GetCutForGamma() const; + G4double GetCutForElectron() const; + G4double GetCutForProton() const; + +protected: + // these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); + void ConstructAllShortLiveds(); + +protected: + // these methods Construct physics processes and register them + void ConstructGeneral(); + void ConstructEM(); + +private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForProton; +}; + +#endif + + + + + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelPrimaryGeneratorAction.hh b/examples/advanced/xray_telescope/include/XrayTelPrimaryGeneratorAction.hh new file mode 100644 index 0000000000..b893fa3b66 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelPrimaryGeneratorAction.hh @@ -0,0 +1,62 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelPrimaryGeneratorAction.hh * +// * ------- * +// * * +// * Version: 0.5 * +// * Date: 15/11/00 * +// * Author: F.Lei * +// * Organisation: DERA, UK * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 15.11.2000 F.Lei +// - New version of PrimaryGeneratorAction using the GPS insead of the +// standard particle gun. +// - The PrimaryGeneratorMessenger is no longer needed. +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelPrimaryGeneratorAction_h +#define XrayTelPrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" + +class G4GeneralParticleSource; +class G4Event; + +class XrayTelPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ +public: + XrayTelPrimaryGeneratorAction(); + ~XrayTelPrimaryGeneratorAction(); + +public: + void GeneratePrimaries(G4Event* anEvent); + +private: + G4GeneralParticleSource* particleGun; + +}; + +#endif + + + diff --git a/examples/advanced/xray_telescope/include/XrayTelRunAction.hh b/examples/advanced/xray_telescope/include/XrayTelRunAction.hh new file mode 100644 index 0000000000..30306795a8 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelRunAction.hh @@ -0,0 +1,67 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelRunAction.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelRunAction_h +#define XrayTelRunAction_h 1 + +#include "G4UserRunAction.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" +#include "g4std/vector" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G4Run; +class XrayTelAnalysisManager; + +class XrayTelRunAction : public G4UserRunAction +{ +public: + XrayTelRunAction(G4std::vector *enEnergy, + G4std::vector *enDirect, + G4bool* dEvent, + XrayTelAnalysisManager* = 0); + ~XrayTelRunAction(); + +public: + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + +private: + G4bool* drawEvent; + G4std::vector* enteringEnergy; + G4std::vector* enteringDirection; + + XrayTelAnalysisManager* fAnalysisManager; +}; + +#endif + diff --git a/examples/advanced/xray_telescope/include/XrayTelStepCut.hh b/examples/advanced/xray_telescope/include/XrayTelStepCut.hh new file mode 100644 index 0000000000..ec61290025 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelStepCut.hh @@ -0,0 +1,128 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelStepCut.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelStepCut_h +#define XrayTelStepCut_h 1 + +#include "G4ios.hh" +#include "G4VDiscreteProcess.hh" +#include "G4Step.hh" +#include "globals.hh" + +class XrayTelStepCut : public G4VDiscreteProcess +{ +public: + + XrayTelStepCut(const G4String& processName ="UserStepCut" ); + XrayTelStepCut(XrayTelStepCut &); + + ~XrayTelStepCut(); + + G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); + + G4VParticleChange* PostStepDoIt( + const G4Track& , + const G4Step& + ); + + void SetMaxStep(G4double); + +protected: + + // it is not needed here ! + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition + ); + + +private: + + // hide assignment operator as private + XrayTelStepCut & operator=(const XrayTelStepCut &right); + +private: + + G4double MaxChargedStep ; +}; + +// inlined function members implementation + +#include "G4Step.hh" +#include "G4Track.hh" +#include "G4UserLimits.hh" +#include "G4VParticleChange.hh" +#include "G4EnergyLossTables.hh" + +inline G4double XrayTelStepCut::PostStepGetPhysicalInteractionLength( + const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition + ) +{ + // condition is set to "Not Forced" + *condition = NotForced; + + G4double ProposedStep = DBL_MAX; + + if((MaxChargedStep > 0.) && + (aTrack.GetVolume() != NULL) && + (aTrack.GetVolume()->GetName() == "Absorber") && + (aTrack.GetDynamicParticle()->GetDefinition()->GetPDGCharge() != 0.)) + ProposedStep = MaxChargedStep ; + + return ProposedStep; +} + +inline G4VParticleChange* XrayTelStepCut::PostStepDoIt( + const G4Track& aTrack, + const G4Step& + ) +{ + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; +} + +inline G4double XrayTelStepCut::GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition + ) +{ + return 0.; +} + +#endif + diff --git a/examples/advanced/xray_telescope/include/XrayTelSteppingAction.hh b/examples/advanced/xray_telescope/include/XrayTelSteppingAction.hh new file mode 100644 index 0000000000..f16d43d8b5 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelSteppingAction.hh @@ -0,0 +1,63 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelSteppingAction.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelSteppingAction_h +#define XrayTelSteppingAction_h 1 + +class XrayTelAnalysisManager; + +#include "G4UserSteppingAction.hh" +#include "G4ThreeVector.hh" +#include "g4std/vector" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class XrayTelSteppingAction : public G4UserSteppingAction +{ +public: + XrayTelSteppingAction( + G4std::vector *enEnergy, + G4std::vector *enDirect, + G4bool* dEvent, + XrayTelAnalysisManager* = 0); + virtual ~XrayTelSteppingAction(); + + virtual void UserSteppingAction(const G4Step*); + +private: + G4bool* drawEvent; + G4std::vector* enteringEnergy; + G4std::vector* enteringDirection; + + XrayTelAnalysisManager* fAnalysisManager; +}; + +#endif diff --git a/examples/advanced/xray_telescope/include/XrayTelVisManager.hh b/examples/advanced/xray_telescope/include/XrayTelVisManager.hh new file mode 100644 index 0000000000..aa101792e7 --- /dev/null +++ b/examples/advanced/xray_telescope/include/XrayTelVisManager.hh @@ -0,0 +1,54 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelVisManager.hh * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of X-ray Telescope advanced example. +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifndef XrayTelVisManager_h +#define XrayTelVisManager_h 1 + +#ifdef G4VIS_USE + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class XrayTelVisManager: public G4VisManager { + +public: + + XrayTelVisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +#endif +#endif diff --git a/examples/advanced/xray_telescope/opengl.mac b/examples/advanced/xray_telescope/opengl.mac new file mode 100644 index 0000000000..41a614b0e6 --- /dev/null +++ b/examples/advanced/xray_telescope/opengl.mac @@ -0,0 +1,115 @@ +####################################################################### +# # +# 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. # +# # +# ******************************************************************* # +# * * # +# * GEANT 4 xray_telescope advanced example * # +# * * # +# * MACRO: opengl.mac * # +# * ------ demostrates the OGLIX DRIVER * # +# * * # +# * Version: 0.6 * # +# * Date: 15/11/00 * # +# * Author: R Nartallo * # +# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # +# * * # +# ******************************************************************* # +# # +# NOTES # +# ----- # +# USAGE: Idle> /control/execute opengl.mac. # +# prompt> XrayTel opengl.mac # +# # +# REQUIRED PLATFORMS & SOFTWARE: OpenGL, e.g. Mesa # +# # +# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv OGLHOME opengl_home_dir # +# (where opengl_home_dir is e.g. /usr/local/Mesa-3.2.1 # +# # +# % setenv G4VIS_USE_OPENGLX 1 # +# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # +# # +####################################################################### +# # +# CHANGE HISTORY # +# -------------- # +# # +# 15.11.2000 R. Nartallo # +# - Replaced standard particle gun by GPS set options # +# # +# 08.11.2000 R. Nartallo # +# - First implementation # +# # +####################################################################### + +# Set verbose level +/run/verbose 2 + +# Invoke the OGLIX driver +/vis/open OGLIX + +# Create a new scene +/vis/scene/create + +# Attach the current scene handler to the current scene +/vis/sceneHandler/attach + +# Add the world volume to the current scene +/vis/scene/add/volume + +# Add all trajectories to the current scene +#/vis/scene/add/trajectories + +# Set drawing style +/vis/viewer/set/style surface + +# Set camera +/vis/camera/reset +/vis/camera/viewpoint 25 0 +#/vis/camera/spin 360 1 + +# Visualize one event added to the current scene +# * Command "/vis/scene/notifyHandlers" is written in +# XrayTelRunAction::BeginOfRunAction() +# * Command "/vis/show/view" is written in +# XrayTelRunAction::EndOfRunAction() + +# Store particle trajactories for visualization +/tracking/storeTrajectory 1 + +# Set to draw tracks of positively charged particles +# /event/drawTracks charged + +# Set General Particle Source options +/gps/particle proton +/gps/type Plane +/gps/shape Annulus +/gps/posrot1 0. 0. 1. +/gps/posrot2 0. 1. 0. +/gps/radius 35.5 cm +/gps/radius0 30.5 cm +/gps/centre 780.1 0. 0. cm +/gps/angtype cos +/gps/angrot1 0. 0. 1. +/gps/angrot2 0. 1. 0. +/gps/maxtheta 1. deg +/gps/energytype Mono +/gps/monoenergy 0.5 MeV + +# Set number of particles and start +/run/beamOn 10000 + + + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelAnalysisManager.cc b/examples/advanced/xray_telescope/src/XrayTelAnalysisManager.cc new file mode 100644 index 0000000000..270c6735d4 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelAnalysisManager.cc @@ -0,0 +1,166 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelAnalysisManager.cc * +// * ------- * +// * * +// * Version: 0.2 * +// * Date: 30/11/00 * +// * Author: A. Pfeiffer, G. Barrand, MG Pia, R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 30.11.2000 M.G. Pia, R. Nartallo +// - Simplification of code: removal of non-Lizard specific code +// - Inheritance directly from the base class G4VAnalysisManager instead +// of the derived class G4AnalysisManager +// +// 15.11.2000 A. Pfeiffer +// - Adaptation to Lizard +// +// 16.10.2000 G. Barrand +// - First implementation of XrayAnalysisManager +// - Provision of code for various AIDA and non-AIDA systems +// +// ********************************************************************** + + +#include "g4std/fstream" + +#include "G4ios.hh" +#include "G4Run.hh" +#include "G4Event.hh" +#include "G4Track.hh" +#include "G4VVisManager.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4SteppingManager.hh" +#include "G4VAnalysisSystem.hh" + +#ifdef G4ANALYSIS_USE +#include +#endif + +#ifdef G4ANALYSIS_USE_LIZARD +#include +#include +#include "G4LizardSystem.hh" +#endif + +#include "XrayTelAnalysisManager.hh" + +#ifndef G4ANALYSIS_USE +XrayTelAnalysisManager::XrayTelAnalysisManager(G4String const& aSystem) +{ +} +XrayTelAnalysisManager::~XrayTelAnalysisManager() +{ +} +#endif + +#ifdef G4ANALYSIS_USE +XrayTelAnalysisManager::XrayTelAnalysisManager(G4String const& aSystem) + : + enteringEnergyHistogram(0), + yzHistogram(0) +{ + // The Lizard analysis system is provided here as default + // other analysis systems will be implemented at a later stage + analysisSystem = new G4LizardSystem; + IHistogramFactory* hFactory = analysisSystem->GetHistogramFactory(); + + if(hFactory) { + // Histogram creation : + enteringEnergyHistogram = hFactory->create1D("Entering energy",100,0,0.5); + // Book the histogram for the 2D position. + // Instead of using a scatter plot, just book enough bins ... + yzHistogram = hFactory->create2D("YZ",200, -50, 50, 200, -50, 50); + } +} + +XrayTelAnalysisManager::~XrayTelAnalysisManager() +{ + // delete hFactory; + delete enteringEnergyHistogram; + delete yzHistogram; + delete analysisSystem; +} + +G4bool XrayTelAnalysisManager::RegisterAnalysisSystem( +G4VAnalysisSystem* ) +{ + return true; +} + +IHistogramFactory* XrayTelAnalysisManager::GetHistogramFactory( + const G4String& aSystem) +{ + return hFactory; +} + +void XrayTelAnalysisManager::Store(IHistogram* aHistogram,const G4String& aSID) +{ + analysisSystem->Store(aHistogram,aSID); +} +void XrayTelAnalysisManager::Plot(IHistogram* aHistogram) +{ + analysisSystem->Plot(aHistogram); +} + +void XrayTelAnalysisManager::BeginOfRun(){ + if(enteringEnergyHistogram) + enteringEnergyHistogram->reset(); + if(yzHistogram) + yzHistogram->reset(); +} +void XrayTelAnalysisManager::EndOfRun(){ + // the following things cannot be done in Run::EndOfRun() + // only now plot the energy of the particles + if(enteringEnergyHistogram) { + Plot(enteringEnergyHistogram); + } + // and store the histograms + if(enteringEnergyHistogram) { + Store(enteringEnergyHistogram,"ekin.vop"); + } + if(yzHistogram) { + Store(yzHistogram,"position.vop"); + } +} + +void XrayTelAnalysisManager::Step(const G4SteppingManager* aSteppingManager) { + if(!aSteppingManager) return; + + G4Track* track = aSteppingManager->GetTrack(); + G4ThreeVector pos = track->GetPosition(); + + if(enteringEnergyHistogram) { + enteringEnergyHistogram->fill(track->GetKineticEnergy()); + } + if(yzHistogram) { + yzHistogram->fill(pos.y(), pos.z()); + Plot(yzHistogram); + } +} + +#endif + + + + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelDetectorConstruction.cc b/examples/advanced/xray_telescope/src/XrayTelDetectorConstruction.cc new file mode 100644 index 0000000000..22a7b95018 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelDetectorConstruction.cc @@ -0,0 +1,408 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelDetectorConstruction.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope geometry +// - Based on Chandra and XMM models by R Nartallo, P Truscott, F Lei +// and P Arce +// +// +// ********************************************************************** + +#include "G4UnitsTable.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4Material.hh" +#include "G4MaterialTable.hh" +#include "G4Element.hh" +#include "G4ElementTable.hh" +#include "G4Box.hh" +#include "G4Cons.hh" +#include "G4Tubs.hh" +#include "G4LogicalVolume.hh" +#include "G4ThreeVector.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +#include "globals.hh" + +#include "XrayTelDetectorConstruction.hh" + +XrayTelDetectorConstruction::XrayTelDetectorConstruction() +{ + world_x = 2500.*cm; + world_y = 2500.*cm; + world_z = 2500.*cm; +} + +XrayTelDetectorConstruction::~XrayTelDetectorConstruction() +{;} + +G4VPhysicalVolume* XrayTelDetectorConstruction::Construct( ) +{ + + // Material: Vacuum + G4Material* Vacuum = new G4Material("Vacuum", + 1.0 , 1.01*g/mole, 1.0E-25*g/cm3, + kStateGas, 2.73*kelvin, 3.0E-18*pascal ); + + // Visualization attributes + G4VisAttributes* VisAttWorld= new G4VisAttributes( G4Colour(204/255.,255/255.,255/255.)); + + // World + G4Box * solidWorld = new G4Box( "world_S", world_x, world_y, world_z ); + G4LogicalVolume * logicalWorld = new G4LogicalVolume( solidWorld, // solid + Vacuum, // material + "world_L", // name + 0,0,0); + + logicalWorld -> SetVisAttributes(VisAttWorld); + + // Physical volume + physicalWorld= new G4PVPlacement( 0, + G4ThreeVector(), + "world_P", // name (2nd constructor) + logicalWorld, // logical volume + NULL, // mother volume + false, // no boolean operation + 0); // copy number + + // Make Invisible + logicalWorld -> SetVisAttributes(G4VisAttributes::Invisible); + + // Construct geometry + ConstructTelescope(); + ConstructFocalPlane(); + + return physicalWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +// Construct Telescope + +void XrayTelDetectorConstruction::ConstructTelescope() +{ + // Construct Mirror + // Single shell mirror made of Nickel with thin Gold coating + // Mirror made up of two cones approximating the parabolic section and + // two cones approximating the hyperbolic section + // The centre of the mirror is filled wiith a solid aluminium rod shaped as the + // mirrors, so as to leave a constant BaffleGap distance from the mirror surface + + // Build materials + G4Material* Ni = new G4Material("Nickel", 28., 58.6934*g/mole, 8.902*g/cm3); + G4Material* Au = new G4Material("Gold", 79., 196.96654*g/mole, 19.300*g/cm3); + G4Material* Al = new G4Material("Aluminium", 13., 26.98*g/mole, 2.700*g/cm3); + + // Visualization attributes + G4VisAttributes* VisAttMirror = new G4VisAttributes( + G4Colour(0/255., 0/255.,255/255.)); + G4VisAttributes* VisAttAuCoating = new G4VisAttributes( + G4Colour(255/255., 255/255., 0/255.)); + G4VisAttributes* VisAttBaffle = new G4VisAttributes( + G4Colour(128/255., 128/255., 128/255.)); + + // Rotation Matrix + G4RotationMatrix *rotateMatrix = new G4RotationMatrix(); + rotateMatrix -> rotateY(90.*deg); + + // Construct cones to make Mirror sections + G4int i; + G4double MirrorEnd[5] = { 34.9995975*cm, 34.8277209*cm, 34.6549918*cm, + 34.1347834*cm, 33.6137753*cm }; + G4double MirrorPosition[4] = { 772.5*cm, 757.5*cm, 742.5*cm, 727.5*cm }; + G4double MirrorSectionLength = 15.0*cm; + G4double MirrorNiThickness = 1.07*mm; + G4double MirrorAuCoating = 50.0e-6*mm; + G4double BaffleGap = 4.0*mm; + + G4Cons* MirrorSolid[4]; + G4Cons* MirrorAuCoatingSolid[4]; + G4Cons* BaffleSolid[4]; + + G4LogicalVolume* MirrorLogicalVolume[4]; + G4LogicalVolume* MirrorAuCoatingLogicalVolume[4]; + G4LogicalVolume* BaffleLogicalVolume[4]; + + for ( i=0; i<4; i++ ) { + + // Mirror Nickel base + MirrorSolid[i] = new G4Cons( "Mirror_S", + MirrorEnd[i], MirrorEnd[i] + MirrorNiThickness, + MirrorEnd[i+1], MirrorEnd[i+1] + MirrorNiThickness, + MirrorSectionLength/2, 0*deg, 360.*deg); + MirrorLogicalVolume[i] = new G4LogicalVolume( + MirrorSolid[i], Ni, "Mirror_L", 0, 0, 0 ); + MirrorLogicalVolume[i]->SetVisAttributes(VisAttMirror); + + // Gold coating on mirror + MirrorAuCoatingSolid[i] = new G4Cons( + "MirrorAuCoating_S", + MirrorEnd[i] - MirrorAuCoating, MirrorEnd[i], + MirrorEnd[i+1] - MirrorAuCoating, MirrorEnd[i+1], + MirrorSectionLength/2, 0*deg, 360.*deg); + MirrorAuCoatingLogicalVolume[i] = new G4LogicalVolume( + MirrorAuCoatingSolid[i], + Au, + "MirrorAuCoating_L", + 0, 0, 0 ); + MirrorAuCoatingLogicalVolume[i]->SetVisAttributes(VisAttAuCoating); + + // Aluminium baffle inside mirror + BaffleSolid[i] = new G4Cons( "Baffle_S", + 0, MirrorEnd[i] - BaffleGap, + 0, MirrorEnd[i+1] - BaffleGap, + MirrorSectionLength/2, 0*deg, 360.*deg); + BaffleLogicalVolume[i] = new G4LogicalVolume( + BaffleSolid[i], Al, "Baffle_L", 0, 0, 0 ); + BaffleLogicalVolume[i]-> SetVisAttributes(VisAttBaffle); + } + + // Physical volume + G4VPhysicalVolume* MirrorPhysicalVolume[4]; + G4VPhysicalVolume* MirrorAuCoatingPhysicalVolume[4]; + G4VPhysicalVolume* BafflePhysicalVolume[4]; + + for ( i=0; i<4; i++ ) { + MirrorPhysicalVolume[i] = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( MirrorPosition[i], 0.0*cm, 0.0*cm ), + "Mirror_P", + MirrorLogicalVolume[i], + physicalWorld, false, 0 ); + MirrorAuCoatingPhysicalVolume[i] = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( MirrorPosition[i], 0.0*cm, 0.0*cm ), + "MirrorAuCoating_P", + MirrorAuCoatingLogicalVolume[i], + physicalWorld, false, 0 ); + BafflePhysicalVolume[i] = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( MirrorPosition[i], 0.0*cm, 0.0*cm ), + "Baffle_P", + BaffleLogicalVolume[i], + physicalWorld, false, 0 ); + } + + // Make Mirror Invisible + + for ( i=0; i<4; i++ ) { + // MirrorLogicalVolume[i] -> SetVisAttributes(G4VisAttributes::Invisible); + // MirrorAuCoatingLogicalVolume[i] -> SetVisAttributes(G4VisAttributes::Invisible); + BaffleLogicalVolume[i] -> SetVisAttributes(G4VisAttributes::Invisible); + } + + + // Construct Optical Bench + // Main Telescope carbon fibre tube and two aluminium end caps + + G4int nel; + G4String symbol; + + // Elements + G4Element* C = new G4Element("Carbon", symbol="C", 6., 12.011*g/mole); + G4Element* H = new G4Element("Hydrogen",symbol="H", 1., 1.00794*g/mole); + + // Materials from Combination + G4Material* Cf = new G4Material("Carbon Fibre", 2.0*g/cm3, nel=2); + Cf->AddElement(C,1); + Cf->AddElement(H,2); + + // Visualization attributes + G4VisAttributes* VisAttBench = new G4VisAttributes( + G4Colour(0/255., 200/255., 0/255.)); + + // Construct Optical bench + G4double BenchThickness = 1.0*cm; + G4double BenchFrontEndMinRadiusOut = MirrorEnd[4] + + ( MirrorEnd[3] - MirrorEnd[4] )*7.5/15 + + MirrorNiThickness; + G4double BenchFrontEndMinRadiusIn = MirrorEnd[4] + + ( MirrorEnd[3] - MirrorEnd[4] )*7.4/15 + + MirrorNiThickness; + G4double BenchFrontEndMaxRadius = MirrorEnd[4] + MirrorNiThickness + 25.*cm; + G4double BenchBackEndMinRadius = 0.0*cm; + G4double BenchBackEndMaxRadius = MirrorEnd[4] + MirrorNiThickness + 5.*cm; + G4double BenchMainLength; + + BenchMainLength = MirrorPosition[3] - BenchThickness; + + G4Cons* BenchFrontEndSolid; + G4Tubs* BenchBackEndSolid; + G4Cons* BenchMainSolid; + + G4LogicalVolume* BenchFrontEndLogicalVolume; + G4LogicalVolume* BenchBackEndLogicalVolume; + G4LogicalVolume* BenchMainLogicalVolume; + + BenchFrontEndSolid = new G4Cons( "BenchFrontEnd_S", + BenchFrontEndMinRadiusOut, BenchFrontEndMaxRadius, + BenchFrontEndMinRadiusIn, BenchFrontEndMaxRadius, + BenchThickness/2, 0*deg, 360.*deg ); + BenchFrontEndLogicalVolume = new G4LogicalVolume( + BenchFrontEndSolid, Al, "BenchFrontEnd_L", 0, 0, 0 ); + BenchFrontEndLogicalVolume->SetVisAttributes(VisAttBench); + + BenchBackEndSolid = new G4Tubs( "BenchBackEnd_S", + BenchBackEndMinRadius, BenchBackEndMaxRadius, + BenchThickness/2, 0*deg, 360.*deg ); + BenchBackEndLogicalVolume = new G4LogicalVolume( + BenchBackEndSolid, Al, "BenchBackEnd_L", 0, 0, 0 ); + BenchBackEndLogicalVolume->SetVisAttributes(VisAttBench); + + BenchMainSolid = new G4Cons( "BenchMain_S", + BenchFrontEndMaxRadius - BenchThickness, + BenchFrontEndMaxRadius, + BenchBackEndMaxRadius - BenchThickness, + BenchBackEndMaxRadius, + BenchMainLength/2, 0*deg, 360.*deg); + BenchMainLogicalVolume = new G4LogicalVolume( + BenchMainSolid, Cf, "BenchMain_L", 0, 0, 0 ); + BenchMainLogicalVolume -> SetVisAttributes(VisAttBench); + + // Physical volume + G4VPhysicalVolume* BenchFrontEndPhysicalVolume; + G4VPhysicalVolume* BenchBackEndPhysicalVolume; + G4VPhysicalVolume* BenchMainPhysicalVolume; + + BenchFrontEndPhysicalVolume = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( MirrorPosition[3] - BenchThickness/2, + 0.0*cm, 0.0*cm ), + "BenchFrontEnd_P", + BenchFrontEndLogicalVolume, + physicalWorld, false, 0 ); + + BenchBackEndPhysicalVolume = new G4PVPlacement( + rotateMatrix, + G4ThreeVector(0.0*cm - BenchThickness/2, 0.0*cm, 0.0*cm ), + "BenchBackEnd_P", + BenchBackEndLogicalVolume, + physicalWorld, false, 0 ); + + BenchMainPhysicalVolume = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( BenchMainLength/2, 0.0*cm, 0.0*cm ), + "BenchMain_P", + BenchMainLogicalVolume, + physicalWorld, false, 0 ); + + //--- Make Bench Invisible + + // BenchFrontEndLogicalVolume -> SetVisAttributes(G4VisAttributes::Invisible); + // BenchBackEndLogicalVolume -> SetVisAttributes(G4VisAttributes::Invisible); + BenchMainLogicalVolume -> SetVisAttributes(G4VisAttributes::Invisible); + + return; +} + +// Construct Focal Plane +// Conical Titanium baffle and silicon detector + +void XrayTelDetectorConstruction::ConstructFocalPlane() +{ + + // Elements + G4Material* Ti = new G4Material("Titanium", 22., 47.867*g/mole, 4.54*g/cm3); + G4Material* Si = new G4Material("Silicon", 14., 28.090*g/mole, 2.33*g/cm3); + + // Visualization attributes + G4VisAttributes* VisDetectorBaffle = new G4VisAttributes( + G4Colour(190/255., 255/255., 0/255.) ); + G4VisAttributes* VisDetector = new G4VisAttributes( + G4Colour(255/255., 0/255., 0/255.) ); + + // Rotation Matrix + G4RotationMatrix *rotateMatrix = new G4RotationMatrix(); + rotateMatrix -> rotateY(90.*deg); + + // Construct Detector Baffle + G4double DetectorBaffleLength = 57.2*cm; + G4double DetectorBaffleOuterRadiusIn = 7.1*cm; + G4double DetectorBaffleOuterRadiusOut = 7.35*cm; + G4double DetectorBaffleInnerRadiusIn = 4.55*cm; + G4double DetectorBaffleInnerRadiusOut = 5.75*cm; + + G4Cons* DetectorBaffleSolid; + + G4LogicalVolume* DetectorBaffleLogicalVolume; + + DetectorBaffleSolid = new G4Cons( "DetectorBaffle_S", + DetectorBaffleOuterRadiusIn, + DetectorBaffleOuterRadiusOut, + DetectorBaffleInnerRadiusIn, + DetectorBaffleInnerRadiusOut, + DetectorBaffleLength/2, 0*deg, 360.*deg); + DetectorBaffleLogicalVolume = new G4LogicalVolume( + DetectorBaffleSolid, Ti, "DetectorBaffle_L", 0, 0, 0 ); + DetectorBaffleLogicalVolume -> SetVisAttributes( VisDetectorBaffle ); + + // Physical volume + G4VPhysicalVolume* DetectorBafflePhysicalVolume; + + DetectorBafflePhysicalVolume = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( DetectorBaffleLength/2, 0.0*cm, 0.0*cm), + "DetectorBaffle_P", + DetectorBaffleLogicalVolume, + physicalWorld, false, 0 ); + + //--- Make Invisible + + // DetectorBaffleLogicalVolume -> SetVisAttributes( G4VisAttributes::Invisible ); + + // Construct Detector + + G4double DetectorRadius = 32.5*mm; + G4double DetectorThickness = 50e-6*m; + + G4Tubs* DetectorSolid; + + G4LogicalVolume* DetectorLogicalVolume; + + DetectorSolid = new G4Tubs( "Detector_S", + 0, DetectorRadius, + DetectorThickness/2, 0*deg, 360.*deg); + DetectorLogicalVolume = new G4LogicalVolume( + DetectorSolid, Si, "Detector_L", 0, 0, 0 ); + DetectorLogicalVolume -> SetVisAttributes( VisDetector ); + + // Physical volume + G4VPhysicalVolume* DetectorPhysicalVolume; + + DetectorPhysicalVolume = new G4PVPlacement( + rotateMatrix, + G4ThreeVector( DetectorThickness/2, 0.0*cm, 0.0*cm), + "Detector_P", + DetectorLogicalVolume, + physicalWorld, false, 0 ); + + //--- Make Invisible + // DetectorLogicalVolume -> SetVisAttributes( G4VisAttributes::Invisible ); + + return; +} diff --git a/examples/advanced/xray_telescope/src/XrayTelEventAction.cc b/examples/advanced/xray_telescope/src/XrayTelEventAction.cc new file mode 100644 index 0000000000..788d48226c --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelEventAction.cc @@ -0,0 +1,137 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelEventAction.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope event action +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4ios.hh" +#include "G4Event.hh" +#include "G4EventManager.hh" +#include "G4HCofThisEvent.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" +#include "G4UImanager.hh" +#include "G4UnitsTable.hh" + +#include "XrayTelEventAction.hh" +#include "XrayTelEventActionMessenger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelEventAction::XrayTelEventAction(G4bool* dEvent) + : drawFlag("all"),eventMessenger(NULL), drawEvent(dEvent) +{ + eventMessenger = new XrayTelEventActionMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelEventAction::~XrayTelEventAction() +{ + delete eventMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelEventAction::BeginOfEventAction(const G4Event* Ev) +{ + *drawEvent=false; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelEventAction::EndOfEventAction(const G4Event* Ev) +{ + if (*drawEvent){ + const G4Event* evt = fpEventManager->GetConstCurrentEvent(); + + G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if ( trajectoryContainer ){ + n_trajectories = trajectoryContainer->entries(); + } + + if ( G4VVisManager::GetConcreteInstance() ) { + for ( G4int i=0; iGetTrajectoryContainer()))[i]; + if ( drawFlag == "all" ) trj->DrawTrajectory(50); + else if ( (drawFlag == "charged")&&(trj->GetCharge() > 0.) ) + trj->DrawTrajectory(50); + trj->ShowTrajectory(); + } + } + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc b/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc new file mode 100644 index 0000000000..f77093eb46 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelEventActionMessenger.cc @@ -0,0 +1,71 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelEventActionMessenger.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope event action messenger +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4UIcmdWithAString.hh" + +#include "globals.hh" + +#include "XrayTelEventAction.hh" +#include "XrayTelEventActionMessenger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelEventActionMessenger::XrayTelEventActionMessenger(XrayTelEventAction* EvAct) + :eventAction(EvAct) +{ + DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); + DrawCmd->SetGuidance("Draw the tracks in the event"); + DrawCmd->SetGuidance(" Choice : none, charged, all (default)"); + DrawCmd->SetParameterName("choice",true); + DrawCmd->SetDefaultValue("charged"); + DrawCmd->SetCandidates("none charged all"); + DrawCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelEventActionMessenger::~XrayTelEventActionMessenger() +{ + delete DrawCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelEventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue) +{ + if(command == DrawCmd) + {eventAction->SetDrawFlag(newValue);} +} + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelPhysicsList.cc b/examples/advanced/xray_telescope/src/XrayTelPhysicsList.cc new file mode 100644 index 0000000000..18d5dd2281 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelPhysicsList.cc @@ -0,0 +1,257 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelPhysicsList.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope Physics list +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4ParticleDefinition.hh" +#include "G4ParticleWithCuts.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4ShortLivedConstructor.hh" +#include "G4Material.hh" +#include "G4MaterialTable.hh" +#include "G4ios.hh" + +#include "globals.hh" + +#include "XrayTelPhysicsList.hh" + +XrayTelPhysicsList::XrayTelPhysicsList(): G4VUserPhysicsList() +{ + // Default cut values + defaultCutValue = 2.0*mm; + cutForGamma = 1.0*micrometer; + cutForElectron = 1.0*micrometer; + cutForProton = 1.0*micrometer; + + SetVerboseLevel(1); +} + +XrayTelPhysicsList::~XrayTelPhysicsList() +{} + +void XrayTelPhysicsList::ConstructParticle() +{ + // Here are constructed all particles + ConstructBosons(); + ConstructLeptons(); + ConstructMesons(); + ConstructBaryons(); + ConstructAllShortLiveds(); +} + +// In this method, static member functions should be called for ALL particles to be used. + +void XrayTelPhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); +} +void XrayTelPhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} +void XrayTelPhysicsList::ConstructMesons() +{ +} +void XrayTelPhysicsList::ConstructBaryons() +{ + // barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} +void XrayTelPhysicsList::ConstructAllShortLiveds() +{ +} +void XrayTelPhysicsList::ConstructProcess() +{ + // Transportation, electromagnetic and general processes + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +// Here are respective header files for chosen processes + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" +#include "G4MultipleScattering.hh" +#include "G4hLowEnergyIonisation.hh" + +void XrayTelPhysicsList::ConstructEM() +{ + 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 ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) + { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + + G4double demax = 0.05; // try to lose at most 5% of the energy in + // a single step (in limit of large energies) + G4double stmin = 1.e-9 * m; // length of the final step: 10 angstrom + // reproduced angular distribution of TRIM + + G4hLowEnergyIonisation* lowEIonisation = new G4hLowEnergyIonisation(); + pmanager->AddProcess( lowEIonisation, -1,2,2); + lowEIonisation->SetStepFunction( demax, stmin ); + } + } +} + +#include "G4Decay.hh" + +void XrayTelPhysicsList::ConstructGeneral() +{ + G4Decay* theDecayProcess = new G4Decay(); + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if (theDecayProcess->IsApplicable(*particle)) { + pmanager ->AddProcess(theDecayProcess); + pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); + } + } +} + +void XrayTelPhysicsList::SetCuts() +{ + // defaultCutValue you have typed in is used + + if (verboseLevel >1){ + G4cout << "XrayTelPhysicsList::SetCuts:" << G4endl; + } + + // set cut values for gamma at first and for e- second + SetCutValue(cutForGamma, "gamma"); + SetCutValue(cutForElectron, "e-"); + SetCutValue(cutForElectron, "e+"); + + // set cut values for proton + SetCutValue(cutForProton, "proton"); + SetCutValue(cutForProton, "anti_proton"); + + SetCutValueForOthers(defaultCutValue); + + if (verboseLevel >1) { + DumpCutValuesTable(); + } +} + +void XrayTelPhysicsList::SetCutForGamma(G4double cut) +{ + ResetCuts(); + cutForGamma = cut; +} + +void XrayTelPhysicsList::SetCutForElectron(G4double cut) +{ + ResetCuts(); + cutForElectron = cut; +} + +void XrayTelPhysicsList::SetCutForProton(G4double cut) +{ + ResetCuts(); + cutForProton = cut; +} + +G4double XrayTelPhysicsList::GetCutForGamma() const +{ + return cutForGamma; +} + +G4double XrayTelPhysicsList::GetCutForElectron() const +{ + return cutForElectron; +} + +G4double XrayTelPhysicsList::GetCutForProton() const +{ + return cutForProton; +} + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelPrimaryGeneratorAction.cc b/examples/advanced/xray_telescope/src/XrayTelPrimaryGeneratorAction.cc new file mode 100644 index 0000000000..9bb70d9670 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelPrimaryGeneratorAction.cc @@ -0,0 +1,59 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelPrimaryGeneratorAction.cc * +// * ------- * +// * * +// * Version: 0.5 * +// * Date: 15/11/00 * +// * Author: F.Lei * +// * Organisation: DERA, UK * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 15.11.2000 F.Lei +// - New version of PrimaryGeneratorAction using the GPS insead of the +// standard particle gun. +// - The PrimaryGeneratorMessenger is no longer needed. +// +// 06.11.2000 R.Nartallo +// - First implementation of PrimaryGeneratorAction +// - Based on Chandra and XMM models by S Magni and F Lei +// +// ********************************************************************** + +#include "G4Event.hh" +#include "G4GeneralParticleSource.hh" + +#include "XrayTelPrimaryGeneratorAction.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelPrimaryGeneratorAction::XrayTelPrimaryGeneratorAction() +{ + particleGun = new G4GeneralParticleSource (); +} + +XrayTelPrimaryGeneratorAction::~XrayTelPrimaryGeneratorAction() +{ + delete particleGun; +} + +void XrayTelPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + particleGun->GeneratePrimaryVertex(anEvent); +} + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelRunAction.cc b/examples/advanced/xray_telescope/src/XrayTelRunAction.cc new file mode 100644 index 0000000000..24ff11c604 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelRunAction.cc @@ -0,0 +1,151 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelRunAction.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 30.11.2000 R. Nartallo +// - Add pre-processor directives to compile without analysis option +// +// 16.11.2000 A. Pfeiffer +// - Implementation of analysis manager call +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope Physics list +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4Run.hh" +#include "G4UImanager.hh" +#include "G4VVisManager.hh" +#include "G4ios.hh" + +#include "g4std/fstream" +#include "g4std/vector" + +#include "XrayTelRunAction.hh" +#include "XrayTelAnalysisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelRunAction::XrayTelRunAction(G4std::vector *enEnergy, + G4std::vector *enDirect, + G4bool* dEvent, + XrayTelAnalysisManager* aAnalysisManager) + :enteringEnergy(enEnergy), + enteringDirection(enDirect),drawEvent(dEvent), + fAnalysisManager(aAnalysisManager) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelRunAction::~XrayTelRunAction() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelRunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4int RunN = aRun->GetRunID(); + if ( RunN % 1000 == 0 ) + G4cout << "### Run : " << RunN << G4endl; + + if (G4VVisManager::GetConcreteInstance()) { + G4UImanager* UI = G4UImanager::GetUIpointer(); + UI->ApplyCommand("/vis/clear/view"); + UI->ApplyCommand("/vis/draw/current"); + } + + enteringEnergy->clear(); + enteringDirection->clear(); + +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->BeginOfRun(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelRunAction::EndOfRunAction(const G4Run* ) +{ + + G4int i; + + if (G4VVisManager::GetConcreteInstance()) + G4UImanager::GetUIpointer()->ApplyCommand("/vis/show/view"); + + G4std::ofstream outscat("detector.hist", ios::app); + + G4cout << "End of Run summary" << G4endl << G4endl; + + G4double totEnteringEnergy = 0.0; + + for (i=0;i< enteringEnergy->size();i++) + totEnteringEnergy += *(*enteringEnergy)[i]; + G4cout << "Total Entering Detector : " << enteringEnergy->size() << G4endl; + G4cout << "Total Entering Detector Energy : " << totEnteringEnergy << G4endl; + + for (i=0;isize();i++) { + outscat << " " + << *(*enteringEnergy)[i] + << " " + << (*enteringDirection)[i]->x() + << " " + << (*enteringDirection)[i]->y() + << " " + << (*enteringDirection)[i]->z() + << G4endl; + } + outscat.close(); + +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->EndOfRun(); +#endif +} + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelStepCut.cc b/examples/advanced/xray_telescope/src/XrayTelStepCut.cc new file mode 100644 index 0000000000..23aa4c579a --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelStepCut.cc @@ -0,0 +1,58 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelStepCut.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope Physics list +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4Step.hh" +#include "G4VParticleChange.hh" +#include "G4EnergyLossTables.hh" + +#include "XrayTelStepCut.hh" + +XrayTelStepCut::XrayTelStepCut(const G4String& aName) + : G4VDiscreteProcess(aName),MaxChargedStep(DBL_MAX) +{ + if (verboseLevel>0) { + G4cout << GetProcessName() << " is created "<< G4endl; + } +} + +XrayTelStepCut::~XrayTelStepCut() +{ +} + +XrayTelStepCut::XrayTelStepCut(XrayTelStepCut& right) + :G4VDiscreteProcess(right) +{} + +void XrayTelStepCut::SetMaxStep(G4double step) +{ + MaxChargedStep = step ; +} + diff --git a/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc b/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc new file mode 100644 index 0000000000..6679123884 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelSteppingAction.cc @@ -0,0 +1,115 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelSteppingAction.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 30.11.2000 R. Nartallo +// - Add pre-processor directives to compile without analysis option +// +// 16.11.2000 A. Pfeiffer +// - Implementation of analysis manager call +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope Physics list +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#include "G4ios.hh" +#include "G4Track.hh" +#include "G4SteppingManager.hh" + +#include "globals.hh" + +#include +#include "g4std/fstream" +#include "g4std/iomanip" +#include "g4std/iostream" +#include "g4std/vector" + +#include "XrayTelSteppingAction.hh" +#include "XrayTelAnalysisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelSteppingAction::XrayTelSteppingAction( + G4std::vector* enEnergy, + G4std::vector* enDirect, + G4bool* dEvent, + XrayTelAnalysisManager* aAnalysisManager) + : enteringEnergy(enEnergy), + enteringDirection(enDirect),drawEvent(dEvent), + fAnalysisManager(aAnalysisManager) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelSteppingAction::~XrayTelSteppingAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelSteppingAction::UserSteppingAction(const G4Step*) +{ + const G4SteppingManager* pSM = fpSteppingManager; + G4Track* fTrack = pSM->GetTrack(); + G4Step* fStep = pSM->GetStep(); + G4int TrackID = fTrack->GetTrackID(); + G4int StepNo = fTrack->GetCurrentStepNumber(); + + if(StepNo >= 10000) fTrack->SetTrackStatus(fStopAndKill); + + G4String volName; + if ( fTrack->GetVolume() ) + volName = fTrack->GetVolume()->GetName(); + G4String nextVolName; + if ( fTrack->GetNextVolume() ) + nextVolName = fTrack->GetNextVolume()->GetName(); + + G4ThreeVector pos = fTrack->GetPosition(); + + //--- Entering Detector + if(volName != "Detector_P" && nextVolName == "Detector_P") { + + enteringEnergy->push_back ( new G4double (fTrack->GetKineticEnergy()) ); + enteringDirection->push_back (new G4ThreeVector (pos)); + + // now we want to do some analysis at this step ... + // call back to the analysis-manger to do the analysis ... + +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->Step(fpSteppingManager); +#endif + + *drawEvent = true; + } +} + + + + + + + + + diff --git a/examples/advanced/xray_telescope/src/XrayTelVisManager.cc b/examples/advanced/xray_telescope/src/XrayTelVisManager.cc new file mode 100644 index 0000000000..22dfadac04 --- /dev/null +++ b/examples/advanced/xray_telescope/src/XrayTelVisManager.cc @@ -0,0 +1,157 @@ +// 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. +// +// ********************************************************************** +// * * +// * GEANT 4 xray_telescope advanced example * +// * * +// * MODULE: XrayTelVisManager.cc * +// * ------- * +// * * +// * Version: 0.4 * +// * Date: 06/11/00 * +// * Author: R Nartallo * +// * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * +// * * +// ********************************************************************** +// +// CHANGE HISTORY +// -------------- +// +// 06.11.2000 R.Nartallo +// - First implementation of xray_telescope Physics list +// - Based on Chandra and XMM models +// +// +// ********************************************************************** + +#ifdef G4VIS_USE + +#include "XrayTelVisManager.hh" + +// Supported drivers... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_DAWNFILE +#include "G4DAWNFILE.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_RAYX +#include "G4RayX.hh" +#endif + +#ifdef G4VIS_USE_VRML +#include "G4VRML1.hh" +#include "G4VRML2.hh" +#endif + +#ifdef G4VIS_USE_VRMLFILE +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +XrayTelVisManager::XrayTelVisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void XrayTelVisManager::RegisterGraphicsSystems () { + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_DAWNFILE + RegisterGraphicsSystem (new G4DAWNFILE); +#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_RAYX + RegisterGraphicsSystem (new G4RayX); +#endif + +#ifdef G4VIS_USE_VRML + RegisterGraphicsSystem (new G4VRML1); + RegisterGraphicsSystem (new G4VRML2); +#endif + +#ifdef G4VIS_USE_VRMLFILE + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); +#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/advanced/xray_telescope/test.mac b/examples/advanced/xray_telescope/test.mac new file mode 100644 index 0000000000..c752355ad1 --- /dev/null +++ b/examples/advanced/xray_telescope/test.mac @@ -0,0 +1,20 @@ +/run/verbose 1 +/tracking/storeTrajectory 1 +/gps/particle proton +/gps/type Plane +/gps/shape Annulus +/gps/posrot1 0. 0. 1. +/gps/posrot2 0. 1. 0. +/gps/radius 35.5 cm +/gps/radius0 30.5 cm +/gps/centre 780.1 0. 0. cm +/gps/angtype cos +/gps/angrot1 0. 0. 1. +/gps/angrot2 0. 1. 0. +/gps/maxtheta 1. deg +/gps/energytype Mono +/gps/monoenergy 0.5 MeV +/run/beamOn 100000 + + + diff --git a/examples/advanced/xray_telescope/vrml.mac b/examples/advanced/xray_telescope/vrml.mac new file mode 100644 index 0000000000..816da1de7d --- /dev/null +++ b/examples/advanced/xray_telescope/vrml.mac @@ -0,0 +1,142 @@ +####################################################################### +# # +# 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. # +# # +# ******************************************************************* # +# * * # +# * GEANT 4 xray_telescope advanced example * # +# * * # +# * MACRO: vrml.mac * # +# * ------ demostrates the VRML DRIVER * # +# * * # +# * Version: 0.6 * # +# * Date: 15/11/00 * # +# * Author: R Nartallo * # +# * Organisation: ESA/ESTEC, Noordwijk, THe Netherlands * # +# * * # +# ******************************************************************* # +# # +# NOTES # +# ----- # +# USAGE: Idle> /control/execute vrml.mac # +# prompt> XrayTel vrml.mac # +# # +# REQUIRED PLATFORMS & SOFTWARE: VRML viewer, e.g. VRMLview # +# # +# ENVIRONMENT VARIABLES (C-MACROS) FOR INSTALLATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_USE_VRML 1 # +# % setenv G4VIS_USE_VRMLFILE 1 # +# % setenv G4VIS_BUILD_VRMLFILE_DRIVER 1 # +# # +# RECOMMENDED ENVIRONMENT VARIABLES FOR THE VRML VIEWER: # +# # +# % setenv G4VRMLFILE_VIEWER vrmlview //default value is "NONE" # +# % setenv G4VRMLFILE_MAX_FILE_NUM 100 //default value is "1" # +# # +# Addional Notes: # +# You may have to set the command path to the directory where # +# a VRML viewer is installed, e.g., to # +# "/afs/cern.ch/sw/contrib/VRML/bin/Linux/" at CERN # +# # +####################################################################### +# # +# CHANGE HISTORY # +# -------------- # +# # +# 15.11.2000 R. Nartallo # +# - Replaced standard particle gun by GPS set options # +# # +# 08.11.2000 R. Nartallo # +# - Modified version # +# # +# 17.10.2000 S. Tanaka # +# - First implementation # +# # +####################################################################### + +# Set verbose level +/run/verbose 2 + +################################################# +# Visualization of detector geometry with +# the VRML2FILE driver. +################################################# + +# Invoke the VRML2FILE driver +#/vis/open VRML2FILE + +# Visualize of the whole detector geometry +#/vis/viewer/set/style surface +#/vis/drawVolume +#/vis/viewer/update + +################################################# +# Visualization of detector geometry and events +# with the VRML2FILE driver. +################################################# + +# Invoke the VRML2FILE driver +/vis/open VRML2FILE + +# Create a new scene +/vis/scene/create + +# Add the world volume to the current scene +/vis/scene/add/volume + +# Attach the current scene handler to the current scene +/vis/sceneHandler/attach + +# Visualize one event added to the current scene +# * Command "/vis/scene/notifyHandlers" is written in +# XrayTelRunAction::BeginOfRunAction() +# * Command "/vis/viewer/update" is written in +# XrayTelRunAction::EndOfRunAction() + +# Set viewer rendering style +# "wireframe" means "half-transparent" in VRML2FILE driver +#/vis/viewer/set/style surface +/vis/viewer/set/style wireframe + +# Store particle trajactories for visualization +/tracking/storeTrajectory 1 + +# Set to draw tracks of positively charged particles +/event/drawTracks charged + +# Set General Particle Source options +/gps/particle proton +/gps/type Plane +/gps/shape Annulus +/gps/posrot1 0. 0. 1. +/gps/posrot2 0. 1. 0. +/gps/radius 35.5 cm +/gps/radius0 30.5 cm +/gps/centre 780.1 0. 0. cm +/gps/angtype cos +/gps/angrot1 0. 0. 1. +/gps/angrot2 0. 1. 0. +/gps/maxtheta 1. deg +/gps/energytype Mono +/gps/monoenergy 0.5 MeV + +# Set number of particles and start +/run/beamOn 10000 + + + + + + + + + + + diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.cc b/examples/extended/analysis/AnaEx01/AnaEx01.cc new file mode 100644 index 0000000000..54c18cd7e0 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/AnaEx01.cc @@ -0,0 +1,87 @@ +// 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: AnaEx01.cc,v 1.6 2000/11/15 13:46:23 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 - exampleN03 +// +// For information related to this code contact: +// CERN, IT Division, ASD Group +// -------------------------------------------------------------- +// Comments +// +// -------------------------------------------------------------- + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" + +#include "Randomize.hh" + +#ifdef G4ANALYSIS_USE +#include "AnaEx01AnalysisManager.hh" +#endif + +#include "AnaEx01DetectorConstruction.hh" +#include "AnaEx01PhysicsList.hh" +#include "AnaEx01PrimaryGeneratorAction.hh" +#include "AnaEx01RunAction.hh" +#include "AnaEx01EventAction.hh" +#include "AnaEx01SteppingAction.hh" +#include "AnaEx01SteppingVerbose.hh" + +int main(int argc,char** argv) { + + // choose the Random engine + HepRandom::setTheEngine(new RanecuEngine); + + //my Verbose output class + G4VSteppingVerbose::SetInstance(new AnaEx01SteppingVerbose); + + // Construct the default run manager + G4RunManager * runManager = new G4RunManager; + + // set mandatory initialization classes + AnaEx01DetectorConstruction* detector = new AnaEx01DetectorConstruction; + runManager->SetUserInitialization(detector); + runManager->SetUserInitialization(new AnaEx01PhysicsList); + +#ifdef G4ANALYSIS_USE + AnaEx01AnalysisManager* analysisManager = + new AnaEx01AnalysisManager(argc==1?"Lab":argv[1]); + runManager->SetUserAction(new AnaEx01PrimaryGeneratorAction(detector)); + runManager->SetUserAction(new AnaEx01RunAction(analysisManager)); + runManager->SetUserAction(new AnaEx01EventAction(analysisManager)); + runManager->SetUserAction(new AnaEx01SteppingAction(analysisManager)); +#else + runManager->SetUserAction(new AnaEx01PrimaryGeneratorAction(detector)); + runManager->SetUserAction(new AnaEx01RunAction()); + runManager->SetUserAction(new AnaEx01EventAction()); + runManager->SetUserAction(new AnaEx01SteppingAction()); +#endif + + //Initialize G4 kernel + runManager->Initialize(); + + // get the pointer to the User Interface manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + // Batch mode + UI->ApplyCommand("/control/execute run.mac"); + + // job termination +#ifdef G4ANALYSIS_USE + delete analysisManager; +#endif + delete runManager; + + return 0; +} + diff --git a/examples/extended/analysis/AnaEx01/GNUmakefile b/examples/extended/analysis/AnaEx01/GNUmakefile new file mode 100644 index 0000000000..26967e7579 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/GNUmakefile @@ -0,0 +1,17 @@ +# $Id: GNUmakefile,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := AnaEx01 +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/analysis/AnaEx01/History b/examples/extended/analysis/AnaEx01/History new file mode 100644 index 0000000000..2407cc79ec --- /dev/null +++ b/examples/extended/analysis/AnaEx01/History @@ -0,0 +1,19 @@ +$Id: History,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +-------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Example AnaEx01 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 * + ---------------------------------------------------------- + +14 September 2000, Guy Barrand : +- Birth. diff --git a/examples/extended/analysis/AnaEx01/README b/examples/extended/analysis/AnaEx01/README new file mode 100644 index 0000000000..1d7c6146ca --- /dev/null +++ b/examples/extended/analysis/AnaEx01/README @@ -0,0 +1,68 @@ +$Id: README,v 1.6 2000/12/06 13:08:13 barrand Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + AnaEx01 + ------- + + This example shows the usage of histogramming with the + analysis category. + + To use the G4AnalysisManager the source/analysis category + must have been reconstructed with one of the environment + variable setted : + G4ANALYSIS_BUILD_JAS + G4ANALYSIS_BUILD_LAB + G4ANALYSIS_BUILD_LIZARD + + To use an analysis system with this example, the coresponding + environment variable must be setted : + G4ANALYSIS_USE_JAS + G4ANALYSIS_USE_LAB + G4ANALYSIS_USE_LIZARD + + Then to cosntruct this example : + csh> cd $G4INSTALL/examples/extended/analysis/AnaEx01 + csh> setenv G4ANALYSIS_USE_JAS 1 + csh> setenv G4ANALYSIS_USE_LAB 1 + csh> setenv G4ANALYSIS_USE_LIZARD 1 + csh> gmake + + Working with the Lab package : + ---------------------------- + If working with the Lab package run the program + from the analysis/Lab directory : + csh> cd analyis/Lab + csh> $G4WORKDIR/bin/$G4SYSTEM/AnaEx01 Lab + It must produce a g4osc.root file that contains + some histograms. You can visualize them with : + csh> source /Lab//cmt/setup.csh + csh> oxm + and click in File/session to execute the session.tcl + file. + + Working with jas : + -------------------------- + If working with jas : + csh> cd $G4INSTALL/examples/extended/analysis/AnaEx01 + csh> $G4WORKDIR/bin/$G4SYSTEM/AnaEx01 jas + The program will pend for a connection toward jas, then + spawn jas : + csh> /jas + + From jas panel, open a connection toward the AnaEx01 job : + - File/Reconnect + - Give no server name if running on same machine. + - Next to end the connect panel. + + When connection is established, the tree widget + on the left of jas panel must display "G4Job". + Click on the tree items to access an histogram. + Double click on the histogram name to visualize it. + + The histogram will update itself according time. + + diff --git a/examples/extended/analysis/AnaEx01/analysis/Lab/run.mac b/examples/extended/analysis/AnaEx01/analysis/Lab/run.mac new file mode 100644 index 0000000000..14c8a2c1e6 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/analysis/Lab/run.mac @@ -0,0 +1,19 @@ +# +# Macro file for "AnEx01.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/particle e+ +/gun/energy 300 MeV +/run/beamOn 100 diff --git a/examples/extended/analysis/AnaEx01/analysis/Lab/session.tcl b/examples/extended/analysis/AnaEx01/analysis/Lab/session.tcl new file mode 100644 index 0000000000..42e1ded934 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/analysis/Lab/session.tcl @@ -0,0 +1,49 @@ +#///////////////////////////////////////////////////////////////////////////// +#///////////////////////////////////////////////////////////////////////////// +#///////////////////////////////////////////////////////////////////////////// +# +# Example of tcl script using a root file. +# +#///////////////////////////////////////////////////////////////////////////// +# If reexecuted : +delete storage +delete v +# +# Get a SWIG handler over the current viewer : +IViewer v -this [ui getCurrentViewer] +v reset page +# +# 2x2 regions : +#v set page "2 2" +v set pageTitle "G4 analysis with Open Scientist" +# +RioStorage storage g4osc.root READ +storage ls +# +delete EAbs +# +#storage cd histograms +#storage ls +# +# Get some histograms with the H1Get +# builtin procedure defined in Lab/user/init.tcl : +# In the below the first "EAbs" is a variable and +# the second is the name of the object in the storage +# (the SID, storage identifier) : +# H1DGet +H1DGet EAbs storage EAbs +# +# Plot the histo : +EAbs vis +# +v set textContext "color black fontName TTF/couri" +v set histogramContext "color red modeling solid" +# +# Fit : +#delete fitExp +# +#Exponential fitExp 0. 1. +#fitExp fit [& EAbs] +# +#fitExp vis +# diff --git a/examples/extended/analysis/AnaEx01/analysis/jas/run.mac b/examples/extended/analysis/AnaEx01/analysis/jas/run.mac new file mode 100644 index 0000000000..c090ebfdc5 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/analysis/jas/run.mac @@ -0,0 +1,19 @@ +# +# Macro file for "AnEx01.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/particle e+ +/gun/energy 300 MeV +/run/beamOn 10000 diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh new file mode 100644 index 0000000000..ff4a3cfcb6 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh @@ -0,0 +1,55 @@ +// 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: AnaEx01AnalysisManager.hh,v 1.3 2000/10/31 13:10:00 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +// Example Analysis Manager implementing virtual function +// RegisterAnalysisSystems. Exploits C-pre-processor variables +// G4ANALYSIS_USE_JAS, 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(). + +#ifndef AnaEx01AnalysisManager_h +#define AnaEx01AnalysisManager_h 1 + +#ifdef G4ANALYSIS_USE + +#include "G4AnalysisManager.hh" + +class G4Run; +class G4Event; +class G4Step; + +class IHistogram1D; +//class ITuple; + +class AnaEx01AnalysisManager: public G4AnalysisManager { +public: + AnaEx01AnalysisManager(const G4String&); +public: + virtual void BeginOfRun(const G4Run*); + virtual void EndOfRun(const G4Run*); + virtual void BeginOfEvent(const G4Event*); + virtual void EndOfEvent(const G4Event*); + virtual void Step(const G4Step*); +private: + G4int fCalorimeterCollID; + IHistogram1D* fEAbs; + IHistogram1D* fLAbs; + IHistogram1D* fEGap; + IHistogram1D* fLGap; + //ITuple* fTuple; +}; + +#endif + +#endif diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh new file mode 100644 index 0000000000..3c3f709e8d --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh @@ -0,0 +1,82 @@ +// 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: AnaEx01CalorHit.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01CalorHit_h +#define AnaEx01CalorHit_h 1 + +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01CalorHit : public G4VHit +{ + public: + + AnaEx01CalorHit(); + ~AnaEx01CalorHit(); + AnaEx01CalorHit(const AnaEx01CalorHit&); + const AnaEx01CalorHit& operator=(const AnaEx01CalorHit&); + int operator==(const AnaEx01CalorHit&) const; + + inline void* operator new(size_t); + inline void operator delete(void*); + + void Draw(); + void Print(); + + public: + + void AddAbs(G4double de, G4double dl) {EdepAbs += de; TrackLengthAbs += dl;}; + void AddGap(G4double de, G4double dl) {EdepGap += de; TrackLengthGap += dl;}; + + G4double GetEdepAbs() { return EdepAbs; }; + G4double GetTrakAbs() { return TrackLengthAbs; }; + G4double GetEdepGap() { return EdepGap; }; + G4double GetTrakGap() { return TrackLengthGap; }; + + private: + + G4double EdepAbs, TrackLengthAbs; + G4double EdepGap, TrackLengthGap; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +typedef G4THitsCollection AnaEx01CalorHitsCollection; + +extern G4Allocator AnaEx01CalorHitAllocator; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void* AnaEx01CalorHit::operator new(size_t) +{ + void* aHit; + aHit = (void*) AnaEx01CalorHitAllocator.MallocSingle(); + return aHit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void AnaEx01CalorHit::operator delete(void* aHit) +{ + AnaEx01CalorHitAllocator.FreeSingle((AnaEx01CalorHit*) aHit); +} + +#endif + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh new file mode 100644 index 0000000000..4b4e98ec2d --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh @@ -0,0 +1,51 @@ +// 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: AnaEx01CalorimeterSD.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01CalorimeterSD_h +#define AnaEx01CalorimeterSD_h 1 + +#include "G4VSensitiveDetector.hh" +#include "globals.hh" + +class AnaEx01DetectorConstruction; +class G4HCofThisEvent; +class G4Step; +#include "AnaEx01CalorHit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01CalorimeterSD : public G4VSensitiveDetector +{ + public: + + AnaEx01CalorimeterSD(G4String, AnaEx01DetectorConstruction* ); + ~AnaEx01CalorimeterSD(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*,G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void DrawAll(); + void PrintAll(); + + private: + + AnaEx01CalorHitsCollection* CalCollection; + AnaEx01DetectorConstruction* Detector; + G4int* HitID; +}; + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh new file mode 100644 index 0000000000..bb31d4494b --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh @@ -0,0 +1,140 @@ +// 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: AnaEx01DetectorConstruction.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01DetectorConstruction_h +#define AnaEx01DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +class G4Box; +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4Material; +class G4UniformMagField; +class AnaEx01DetectorMessenger; +class AnaEx01CalorimeterSD; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + + AnaEx01DetectorConstruction(); + ~AnaEx01DetectorConstruction(); + + public: + + void SetAbsorberMaterial (G4String); + void SetAbsorberThickness(G4double); + + void SetGapMaterial (G4String); + void SetGapThickness(G4double); + + void SetCalorSizeYZ(G4double); + void SetNbOfLayers (G4int); + + void SetMagField(G4double); + + G4VPhysicalVolume* Construct(); + + void UpdateGeometry(); + + public: + + void PrintCalorParameters(); + + G4double GetWorldSizeX() {return WorldSizeX;}; + G4double GetWorldSizeYZ() {return WorldSizeYZ;}; + + G4double GetCalorThickness() {return CalorThickness;}; + G4double GetCalorSizeYZ() {return CalorSizeYZ;}; + + G4int GetNbOfLayers() {return NbOfLayers;}; + + G4Material* GetAbsorberMaterial() {return AbsorberMaterial;}; + G4double GetAbsorberThickness() {return AbsorberThickness;}; + + G4Material* GetGapMaterial() {return GapMaterial;}; + G4double GetGapThickness() {return GapThickness;}; + + const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;}; + const G4VPhysicalVolume* GetAbsorber() {return physiAbsorber;}; + const G4VPhysicalVolume* GetGap() {return physiGap;}; + + private: + + G4Material* AbsorberMaterial; + G4double AbsorberThickness; + + G4Material* GapMaterial; + G4double GapThickness; + + G4int NbOfLayers; + G4double LayerThickness; + + G4double CalorSizeYZ; + G4double CalorThickness; + + G4Material* defaultMaterial; + G4double WorldSizeYZ; + G4double WorldSizeX; + + G4Box* solidWorld; //pointer to the solid World + G4LogicalVolume* logicWorld; //pointer to the logical World + G4VPhysicalVolume* physiWorld; //pointer to the physical World + + G4Box* solidCalor; //pointer to the solid Calor + G4LogicalVolume* logicCalor; //pointer to the logical Calor + G4VPhysicalVolume* physiCalor; //pointer to the physical Calor + + G4Box* solidLayer; //pointer to the solid Layer + G4LogicalVolume* logicLayer; //pointer to the logical Layer + G4VPhysicalVolume* physiLayer; //pointer to the physical Layer + + G4Box* solidAbsorber; //pointer to the solid Absorber + G4LogicalVolume* logicAbsorber; //pointer to the logical Absorber + G4VPhysicalVolume* physiAbsorber; //pointer to the physical Absorber + + G4Box* solidGap; //pointer to the solid Gap + G4LogicalVolume* logicGap; //pointer to the logical Gap + G4VPhysicalVolume* physiGap; //pointer to the physical Gap + + G4UniformMagField* magField; //pointer to the magnetic field + + AnaEx01DetectorMessenger* detectorMessenger; //pointer to the Messenger + AnaEx01CalorimeterSD* calorimeterSD; //pointer to the sensitive detector + + private: + + void DefineMaterials(); + void ComputeCalorParameters(); + G4VPhysicalVolume* ConstructCalorimeter(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void AnaEx01DetectorConstruction::ComputeCalorParameters() +{ + // Compute derived parameters of the calorimeter + LayerThickness = AbsorberThickness + GapThickness; + CalorThickness = NbOfLayers*LayerThickness; + + WorldSizeX = 1.2*CalorThickness; WorldSizeYZ = 1.2*CalorSizeYZ; +} + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh new file mode 100644 index 0000000000..e774dd6559 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh @@ -0,0 +1,54 @@ +// 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: AnaEx01DetectorMessenger.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01DetectorMessenger_h +#define AnaEx01DetectorMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class AnaEx01DetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithoutParameter; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01DetectorMessenger: public G4UImessenger +{ + public: + AnaEx01DetectorMessenger(AnaEx01DetectorConstruction* ); + ~AnaEx01DetectorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + AnaEx01DetectorConstruction* AnaEx01Detector; + + G4UIdirectory* AnaEx01detDir; + G4UIcmdWithAString* AbsMaterCmd; + G4UIcmdWithAString* GapMaterCmd; + G4UIcmdWithADoubleAndUnit* AbsThickCmd; + G4UIcmdWithADoubleAndUnit* GapThickCmd; + G4UIcmdWithADoubleAndUnit* SizeYZCmd; + G4UIcmdWithAnInteger* NbLayersCmd; + G4UIcmdWithADoubleAndUnit* MagFieldCmd; + G4UIcmdWithoutParameter* UpdateCmd; +}; + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh new file mode 100644 index 0000000000..e8183ceaac --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh @@ -0,0 +1,33 @@ +// 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: AnaEx01EventAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifndef AnaEx01EventAction_h +#define AnaEx01EventAction_h + +#include "G4UserEventAction.hh" + +class AnaEx01AnalysisManager; + +class AnaEx01EventAction : public G4UserEventAction { +public: + AnaEx01EventAction(AnaEx01AnalysisManager* = 0); + virtual ~AnaEx01EventAction(); +public: + virtual void BeginOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); +private: + AnaEx01AnalysisManager* fAnalysisManager; +}; + +#endif + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh new file mode 100644 index 0000000000..a6d8e2eee6 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh @@ -0,0 +1,68 @@ +// 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: AnaEx01PhysicsList.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01PhysicsList_h +#define AnaEx01PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01PhysicsList: public G4VUserPhysicsList +{ + public: + AnaEx01PhysicsList(); + ~AnaEx01PhysicsList(); + + protected: + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + + public: + // Set/Get cut values + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForProton(G4double); + G4double GetCutForGamma() const; + G4double GetCutForElectron() const; + G4double GetCutForProton() const; + + 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(); + + private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForProton; + G4double currentDefaultCut; +}; + +#endif + + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..5c17503b6e --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh @@ -0,0 +1,49 @@ +// 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: AnaEx01PrimaryGeneratorAction.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01PrimaryGeneratorAction_h +#define AnaEx01PrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; +class AnaEx01DetectorConstruction; +class AnaEx01PrimaryGeneratorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + AnaEx01PrimaryGeneratorAction(AnaEx01DetectorConstruction*); + ~AnaEx01PrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event*); + void SetRndmFlag(G4String val) { rndmFlag = val;} + + private: + G4ParticleGun* particleGun; //pointer a to G4 service class + AnaEx01DetectorConstruction* AnaEx01Detector; //pointer to the geometry + + AnaEx01PrimaryGeneratorMessenger* gunMessenger; //messenger of this class + G4String rndmFlag; //flag for a random impact point +}; + +#endif + + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..140376b8e5 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh @@ -0,0 +1,41 @@ +// 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: AnaEx01PrimaryGeneratorMessenger.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef AnaEx01PrimaryGeneratorMessenger_h +#define AnaEx01PrimaryGeneratorMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class AnaEx01PrimaryGeneratorAction; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01PrimaryGeneratorMessenger: public G4UImessenger +{ + public: + AnaEx01PrimaryGeneratorMessenger(AnaEx01PrimaryGeneratorAction*); + ~AnaEx01PrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + AnaEx01PrimaryGeneratorAction* AnaEx01Action; + G4UIcmdWithAString* RndmCmd; +}; + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh new file mode 100644 index 0000000000..3b2710d39c --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh @@ -0,0 +1,32 @@ +// 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: AnaEx01RunAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifndef AnaEx01RunAction_h +#define AnaEx01RunAction_h + +#include "G4UserRunAction.hh" + +class AnaEx01AnalysisManager; + +class AnaEx01RunAction : public G4UserRunAction { +public: + AnaEx01RunAction(AnaEx01AnalysisManager* = 0); + ~AnaEx01RunAction(); +public: + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); +private: + AnaEx01AnalysisManager* fAnalysisManager; +}; + +#endif + diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh new file mode 100644 index 0000000000..cfc09db8c9 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh @@ -0,0 +1,29 @@ +// 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: AnaEx01SteppingAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifndef AnaEx01SteppingAction_h +#define AnaEx01SteppingAction_h + +#include "G4UserSteppingAction.hh" + +class AnaEx01AnalysisManager; + +class AnaEx01SteppingAction : public G4UserSteppingAction { +public: + AnaEx01SteppingAction(AnaEx01AnalysisManager* = 0); + virtual ~AnaEx01SteppingAction(); + virtual void UserSteppingAction(const G4Step*); +private: + AnaEx01AnalysisManager* fAnalysisManager; +}; + +#endif diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh new file mode 100644 index 0000000000..d0f7ec975c --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh @@ -0,0 +1,42 @@ +// 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: AnaEx01SteppingVerbose.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +//--------------------------------------------------------------- +// +// AnaEx01SteppingVerbose.hh +// +// Description: +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose +// +//--------------------------------------------------------------- + +class AnaEx01SteppingVerbose; + +#ifndef AnaEx01SteppingVerbose_h +#define AnaEx01SteppingVerbose_h 1 + +#include "G4SteppingVerbose.hh" + +class AnaEx01SteppingVerbose : public G4SteppingVerbose { +public: +// Constructor/Destructor + AnaEx01SteppingVerbose(); + ~AnaEx01SteppingVerbose(); +// + void StepInfo(); + void TrackingStarted(); +// + + +}; + +#endif diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh new file mode 100644 index 0000000000..65e6e7cb4e --- /dev/null +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh @@ -0,0 +1,54 @@ +// 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: AnaEx01VisManager.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....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 AnaEx01VisManager_h +#define AnaEx01VisManager_h 1 + +#ifdef G4VIS_USE + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class AnaEx01VisManager: public G4VisManager { + +public: + + AnaEx01VisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +#endif + +#endif diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc new file mode 100644 index 0000000000..0dcbcccc81 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc @@ -0,0 +1,107 @@ +// 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: AnaEx01AnalysisManager.cc,v 1.9 2000/12/06 13:08:03 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14th Septembre 2000. + +#ifdef G4ANALYSIS_USE + +#include "G4ios.hh" +#include "G4SDManager.hh" +#include "G4Run.hh" +#include "G4Event.hh" +#include "G4HCofThisEvent.hh" + +#include + +#ifdef G4ANALYSIS_USE_JAS +#include "G4JasSystem.hh" +#endif +#ifdef G4ANALYSIS_USE_LAB +#include "G4LabSystem.hh" +#endif +#ifdef G4ANALYSIS_USE_LIZARD +#include "G4LizardSystem.hh" +#endif + +#include "AnaEx01CalorHit.hh" +#include "AnaEx01AnalysisManager.hh" + +AnaEx01AnalysisManager::AnaEx01AnalysisManager( + const G4String& aSystem +) +:fCalorimeterCollID(-1) +,fEAbs(0) +,fLAbs(0) +,fEGap(0) +,fLGap(0) +{ +#ifdef G4ANALYSIS_USE_JAS + RegisterAnalysisSystem(new G4JasSystem); +#endif +#ifdef G4ANALYSIS_USE_LAB + RegisterAnalysisSystem(new G4LabSystem); +#endif +#ifdef G4ANALYSIS_USE_LIZARD + RegisterAnalysisSystem(new G4LizardSystem); +#endif + // The factory and histograms will be deleted by the analysis manager. + IHistogramFactory* hfactory = GetHistogramFactory(aSystem); + if(!hfactory) return; + fEAbs = hfactory->create1D("EAbs",100,0,100); + fLAbs = hfactory->create1D("LAbs",100,0,100); + fEGap = hfactory->create1D("EGap",100,0,10); + fLGap = hfactory->create1D("LGap",100,0,100); +} +void AnaEx01AnalysisManager::BeginOfRun(const G4Run* aRun){ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; +} + +void AnaEx01AnalysisManager::EndOfRun(const G4Run*){ + Store(); + //if(fEAbs) Plot(fEAbs); +} + +void AnaEx01AnalysisManager::BeginOfEvent(const G4Event*){ + if(fCalorimeterCollID==-1) { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + fCalorimeterCollID = SDman->GetCollectionID("CalCollection"); + } +} + +void AnaEx01AnalysisManager::EndOfEvent(const G4Event* aEvent){ + if(!fEAbs) return; // No histo booked ! + //if(!fTuple) return; // No tuple booked ! + + G4int evtNb = aEvent->GetEventID(); + + G4HCofThisEvent* HCE = aEvent->GetHCofThisEvent(); + AnaEx01CalorHitsCollection* CHC = + HCE ? (AnaEx01CalorHitsCollection*)(HCE->GetHC(fCalorimeterCollID)) : 0; + + if(CHC) { + G4int n_hit = CHC->entries(); + //G4double totEAbs=0, totLAbs=0, totEGap=0, totLGap=0; + for (G4int i=0;iGetEdepAbs(); + //totLAbs += (*CHC)[i]->GetTrakAbs(); + //totEGap += (*CHC)[i]->GetEdepGap(); + //totLGap += (*CHC)[i]->GetTrakGap(); + fEAbs->fill((*CHC)[i]->GetEdepAbs()); + fLAbs->fill((*CHC)[i]->GetTrakAbs()); + fEGap->fill((*CHC)[i]->GetEdepGap()); + fLGap->fill((*CHC)[i]->GetTrakGap()); + } + } + +} +void AnaEx01AnalysisManager::Step(const G4Step*){} + +#endif diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc new file mode 100644 index 0000000000..f5fe58bde7 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc @@ -0,0 +1,68 @@ +// 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: AnaEx01CalorHit.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01CalorHit.hh" + +G4Allocator AnaEx01CalorHitAllocator; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01CalorHit::AnaEx01CalorHit() +{ + EdepAbs = 0.; TrackLengthAbs = 0.; + EdepGap = 0.; TrackLengthGap = 0.; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01CalorHit::~AnaEx01CalorHit() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01CalorHit::AnaEx01CalorHit(const AnaEx01CalorHit& right) +{ + EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; + EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +const AnaEx01CalorHit& AnaEx01CalorHit::operator=(const AnaEx01CalorHit& right) +{ + EdepAbs = right.EdepAbs; TrackLengthAbs = right.TrackLengthAbs; + EdepGap = right.EdepGap; TrackLengthGap = right.TrackLengthGap; + return *this; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +int AnaEx01CalorHit::operator==(const AnaEx01CalorHit& right) const +{ + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorHit::Draw() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorHit::Print() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc new file mode 100644 index 0000000000..814590872a --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc @@ -0,0 +1,123 @@ +// 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: AnaEx01CalorimeterSD.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01CalorimeterSD.hh" + +#include "AnaEx01CalorHit.hh" +#include "AnaEx01DetectorConstruction.hh" + +#include "G4VPhysicalVolume.hh" +#include "G4Step.hh" +#include "G4VTouchable.hh" +#include "G4TouchableHistory.hh" +#include "G4SDManager.hh" + +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01CalorimeterSD::AnaEx01CalorimeterSD(G4String name, + AnaEx01DetectorConstruction* det) +:G4VSensitiveDetector(name),Detector(det) +{ + collectionName.insert("CalCollection"); + HitID = new G4int[500]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01CalorimeterSD::~AnaEx01CalorimeterSD() +{ + delete [] HitID; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorimeterSD::Initialize(G4HCofThisEvent*HCE) +{ + CalCollection = new AnaEx01CalorHitsCollection + (SensitiveDetectorName,collectionName[0]); + for (G4int j=0;jGetNbOfLayers();j++) {HitID[j] = -1;}; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool AnaEx01CalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) +{ + G4double edep = aStep->GetTotalEnergyDeposit(); + + G4double stepl = 0.; + if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) + stepl = aStep->GetStepLength(); + + if ((edep==0.)&&(stepl==0.)) return false; + + G4TouchableHistory* theTouchable + = (G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()); + + G4VPhysicalVolume* physVol = theTouchable->GetVolume(); + //theTouchable->MoveUpHistory(); + G4int LayerNumber = 0; + if (Detector->GetNbOfLayers()>1) LayerNumber=theTouchable->GetReplicaNumber(1); + + if (HitID[LayerNumber]==-1) + { + AnaEx01CalorHit* calHit = new AnaEx01CalorHit(); + if (physVol == Detector->GetAbsorber()) calHit->AddAbs(edep,stepl); + if (physVol == Detector->GetGap ()) calHit->AddGap(edep,stepl); + HitID[LayerNumber] = CalCollection->insert(calHit) - 1; + if (verboseLevel>0) + G4cout << " New Calorimeter Hit on layer: " << LayerNumber << G4endl; + } + else + { + if (physVol == Detector->GetAbsorber()) + (*CalCollection)[HitID[LayerNumber]]->AddAbs(edep,stepl); + if (physVol == Detector->GetGap()) + (*CalCollection)[HitID[LayerNumber]]->AddGap(edep,stepl); + if (verboseLevel>0) + G4cout << " Energy added to Layer: " << LayerNumber << G4endl; + } + + return true; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorimeterSD::EndOfEvent(G4HCofThisEvent* HCE) +{ + static G4int HCID = -1; + if(HCID<0) + { HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); } + HCE->AddHitsCollection(HCID,CalCollection); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorimeterSD::clear() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorimeterSD::DrawAll() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01CalorimeterSD::PrintAll() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc new file mode 100644 index 0000000000..5714326c88 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc @@ -0,0 +1,466 @@ +// 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: AnaEx01DetectorConstruction.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01DetectorConstruction.hh" +#include "AnaEx01DetectorMessenger.hh" + +#include "AnaEx01CalorimeterSD.hh" + +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4UniformMagField.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" +#include "G4SDManager.hh" +#include "G4RunManager.hh" + +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01DetectorConstruction::AnaEx01DetectorConstruction() +:solidWorld(NULL),logicWorld(NULL),physiWorld(NULL), + solidCalor(NULL),logicCalor(NULL),physiCalor(NULL), + solidLayer(NULL),logicLayer(NULL),physiLayer(NULL), + solidAbsorber(NULL),logicAbsorber(NULL),physiAbsorber(NULL), + solidGap (NULL),logicGap (NULL),physiGap (NULL), + AbsorberMaterial(NULL),GapMaterial(NULL),defaultMaterial(NULL), + magField(NULL),calorimeterSD(NULL) +{ + // default parameter values of the calorimeter + AbsorberThickness = 10.*mm; + GapThickness = 5.*mm; + NbOfLayers = 10; + CalorSizeYZ = 10.*cm; + ComputeCalorParameters(); + + // create commands for interactive definition of the calorimeter + detectorMessenger = new AnaEx01DetectorMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01DetectorConstruction::~AnaEx01DetectorConstruction() +{ delete detectorMessenger;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VPhysicalVolume* AnaEx01DetectorConstruction::Construct() +{ + DefineMaterials(); + return ConstructCalorimeter(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::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 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); + +a = 28.09*g/mole; +G4Element* Si = new G4Element(name="Silicon",symbol="Si" , z= 14., a); + +a = 55.85*g/mole; +G4Element* Fe = new G4Element(name="Iron" ,symbol="Fe", z=26., 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 +// + +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; +G4Material* lAr = new G4Material(name="liquidArgon", z=18., 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); + +// +// 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); + +density = 2.200*g/cm3; +G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2); +SiO2->AddElement(Si, natoms=1); +SiO2->AddElement(O , natoms=2); + +// +// 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); + +// +// 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); + +// +// 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, + 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, + kStateGas,temperature,pressure); +steam->AddMaterial(H2O, fractionmass=1.); + +// +// examples of vacuum +// + +density = universe_mean_density; //from PhysicalConstants.h +pressure = 3.e-18*pascal; +temperature = 2.73*kelvin; +new G4Material(name="Galactic", z=1., a=1.01*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, + kStateGas,temperature,pressure); +beam->AddMaterial(Air, fractionmass=1.); + +G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + //default materials of the calorimeter + AbsorberMaterial = Pb; + GapMaterial = lAr; + defaultMaterial = Air; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VPhysicalVolume* AnaEx01DetectorConstruction::ConstructCalorimeter() +{ + // complete the Calor parameters definition + ComputeCalorParameters(); + + // + // World + // + 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) + "World", //its name + logicWorld, //its logical volume + NULL, //its mother volume + false, //no boolean operation + 0); //copy number + + // + // Calorimeter + // + solidCalor=NULL; logicCalor=NULL; physiCalor=NULL; + solidLayer=NULL; logicLayer=NULL; physiLayer=NULL; + + if (CalorThickness > 0.) + { 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) + "Calorimeter", //its name + logicCalor, //its logical volume + physiWorld, //its mother volume + false, //no boolean operation + 0); //copy number + + // + // Layer + // + 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) + physiLayer = new G4PVReplica("Layer", //its name + logicLayer, //its logical volume + physiCalor, //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) + "Layer", //its name + logicLayer, //its logical volume + physiCalor, //its mother volume + false, //no boolean operation + 0); //copy number + } + + // + // Absorber + // + solidAbsorber=NULL; logicAbsorber=NULL; physiAbsorber=NULL; + + if (AbsorberThickness > 0.) + { solidAbsorber = new G4Box("Absorber", //its name + AbsorberThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); + + logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid + AbsorberMaterial, //its material + "Absorber"); //its name + + physiAbsorber = new G4PVPlacement(0, //no rotation + G4ThreeVector(-GapThickness/2,0.,0.), //its position + "Absorber", //its name + logicAbsorber, //its logical volume + physiLayer, //its mother + false, //no boulean operat + 0); //copy number + + } + + // + // Gap + // + solidGap=NULL; logicGap=NULL; physiGap=NULL; + + if (GapThickness > 0.) + { solidGap = new G4Box("Gap", + GapThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); + + logicGap = new G4LogicalVolume(solidGap, + GapMaterial, + "Gap"); + + physiGap = new G4PVPlacement(0, //no rotation + G4ThreeVector(AbsorberThickness/2,0.,0.), //its position + "Gap", //its name + logicGap, //its logical volume + physiLayer, //its mother + false, //no boulean operat + 0); //copy number + } + + // + // Sensitive Detectors: Absorber and Gap + // + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + + if(!calorimeterSD) + { + calorimeterSD = new AnaEx01CalorimeterSD("CalorSD",this); + SDman->AddNewDetector( calorimeterSD ); + } + if (logicAbsorber) + logicAbsorber->SetSensitiveDetector(calorimeterSD); + if (logicGap) + logicGap ->SetSensitiveDetector(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 + // + PrintCalorParameters(); + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::PrintCalorParameters() +{ + G4cout << "\n------------------------------------------------------------" + << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ " + << AbsorberThickness/mm << "mm of " << AbsorberMaterial->GetName() + << " + " + << GapThickness/mm << "mm of " << GapMaterial->GetName() << " ] " + << "\n------------------------------------------------------------\n"; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) + {AbsorberMaterial = pttoMaterial; + logicAbsorber->SetMaterial(pttoMaterial); + PrintCalorParameters(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetGapMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) + {GapMaterial = pttoMaterial; + logicGap->SetMaterial(pttoMaterial); + PrintCalorParameters(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetAbsorberThickness(G4double val) +{ + // change Absorber thickness and recompute the calorimeter parameters + AbsorberThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetGapThickness(G4double val) +{ + // change Gap thickness and recompute the calorimeter parameters + GapThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetCalorSizeYZ(G4double val) +{ + // change the transverse size and recompute the calorimeter parameters + CalorSizeYZ = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetNbOfLayers(G4int val) +{ + NbOfLayers = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::SetMagField(G4double fieldValue) +{ + //apply a global uniform magnetic field along Z axis + 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)); + fieldMgr->SetDetectorField(magField); + fieldMgr->CreateChordFinder(magField); + } else { + magField = NULL; + fieldMgr->SetDetectorField(magField); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorConstruction::UpdateGeometry() +{ + G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc new file mode 100644 index 0000000000..e63ab736c9 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc @@ -0,0 +1,125 @@ +// 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: AnaEx01DetectorMessenger.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01DetectorMessenger.hh" + +#include "AnaEx01DetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01DetectorMessenger::AnaEx01DetectorMessenger(AnaEx01DetectorConstruction * AnaEx01Det) +:AnaEx01Detector(AnaEx01Det) +{ + AnaEx01detDir = new G4UIdirectory("/calor/"); + AnaEx01detDir->SetGuidance("AnaEx01 detector control."); + + AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this); + AbsMaterCmd->SetGuidance("Select Material of the Absorber."); + AbsMaterCmd->SetParameterName("choice",false); + AbsMaterCmd->AvailableForStates(Idle); + + GapMaterCmd = new G4UIcmdWithAString("/calor/setGapMat",this); + GapMaterCmd->SetGuidance("Select Material of the Gap."); + GapMaterCmd->SetParameterName("choice",false); + GapMaterCmd->AvailableForStates(Idle); + + AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this); + AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); + AbsThickCmd->SetParameterName("Size",false); + AbsThickCmd->SetRange("Size>=0."); + AbsThickCmd->SetUnitCategory("Length"); + AbsThickCmd->AvailableForStates(Idle); + + GapThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGapThick",this); + GapThickCmd->SetGuidance("Set Thickness of the Gap"); + GapThickCmd->SetParameterName("Size",false); + GapThickCmd->SetRange("Size>=0."); + GapThickCmd->SetUnitCategory("Length"); + GapThickCmd->AvailableForStates(Idle); + + SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this); + SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); + SizeYZCmd->SetParameterName("Size",false); + SizeYZCmd->SetRange("Size>0."); + SizeYZCmd->SetUnitCategory("Length"); + SizeYZCmd->AvailableForStates(Idle); + + NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this); + NbLayersCmd->SetGuidance("Set number of layers."); + NbLayersCmd->SetParameterName("NbLayers",false); + NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); + NbLayersCmd->AvailableForStates(Idle); + + UpdateCmd = new G4UIcmdWithoutParameter("/calor/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(Idle); + + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this); + MagFieldCmd->SetGuidance("Define magnetic field."); + MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); + MagFieldCmd->SetParameterName("Bz",false); + MagFieldCmd->SetUnitCategory("Magnetic flux density"); + MagFieldCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01DetectorMessenger::~AnaEx01DetectorMessenger() +{ + delete NbLayersCmd; + delete AbsMaterCmd; delete GapMaterCmd; + delete AbsThickCmd; delete GapThickCmd; + delete SizeYZCmd; delete UpdateCmd; + delete MagFieldCmd; + delete AnaEx01detDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == AbsMaterCmd ) + { AnaEx01Detector->SetAbsorberMaterial(newValue);} + + if( command == GapMaterCmd ) + { AnaEx01Detector->SetGapMaterial(newValue);} + + if( command == AbsThickCmd ) + { AnaEx01Detector->SetAbsorberThickness(AbsThickCmd->GetNewDoubleValue(newValue));} + + if( command == GapThickCmd ) + { AnaEx01Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} + + if( command == SizeYZCmd ) + { AnaEx01Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} + + if( command == NbLayersCmd ) + { AnaEx01Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} + + if( command == UpdateCmd ) + { AnaEx01Detector->UpdateGeometry(); } + + if( command == MagFieldCmd ) + { AnaEx01Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc new file mode 100644 index 0000000000..321a64db03 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc @@ -0,0 +1,36 @@ +// 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: AnaEx01EventAction.cc,v 1.3 2000/11/10 14:08:08 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifdef G4ANALYSIS_USE +#include "AnaEx01AnalysisManager.hh" +#endif + +#include "AnaEx01EventAction.hh" + +AnaEx01EventAction::AnaEx01EventAction( + AnaEx01AnalysisManager* aAnalysisManager +):fAnalysisManager(aAnalysisManager){} + +AnaEx01EventAction::~AnaEx01EventAction(){} + +void AnaEx01EventAction::BeginOfEventAction(const G4Event* aEvent){ +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->BeginOfEvent(aEvent); +#endif +} + +void AnaEx01EventAction::EndOfEventAction(const G4Event* aEvent) { +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->EndOfEvent(aEvent); +#endif +} + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc new file mode 100644 index 0000000000..ce591e8435 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc @@ -0,0 +1,356 @@ +// 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: AnaEx01PhysicsList.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01PhysicsList.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ParticleWithCuts.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PhysicsList::AnaEx01PhysicsList(): G4VUserPhysicsList() +{ + currentDefaultCut = defaultCutValue = 1.0*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForProton = defaultCutValue; + + SetVerboseLevel(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PhysicsList::~AnaEx01PhysicsList() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PhysicsList::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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PhysicsList::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 AnaEx01PhysicsList::ConstructBaryons() +{ +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +//....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 AnaEx01PhysicsList::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); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4Decay.hh" + +void AnaEx01PhysicsList::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 AnaEx01PhysicsList::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 << "AnaEx01PhysicsList::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+"); + + // 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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +void AnaEx01PhysicsList::SetCutForGamma(G4double cut) +{ + ResetCuts(); + cutForGamma = cut; +} + +void AnaEx01PhysicsList::SetCutForElectron(G4double cut) +{ + ResetCuts(); + cutForElectron = cut; +} + +void AnaEx01PhysicsList::SetCutForProton(G4double cut) +{ + ResetCuts(); + cutForProton = cut; +} + +G4double AnaEx01PhysicsList::GetCutForGamma() const +{ + return cutForGamma; +} + +G4double AnaEx01PhysicsList::GetCutForElectron() const +{ + return cutForElectron; +} + +G4double AnaEx01PhysicsList::GetCutForProton() const +{ + return cutForGamma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + + + + + + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..b546f30161 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc @@ -0,0 +1,79 @@ +// 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: AnaEx01PrimaryGeneratorAction.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01PrimaryGeneratorAction.hh" + +#include "AnaEx01DetectorConstruction.hh" +#include "AnaEx01PrimaryGeneratorMessenger.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PrimaryGeneratorAction::AnaEx01PrimaryGeneratorAction( + AnaEx01DetectorConstruction* AnaEx01DC) +:AnaEx01Detector(AnaEx01DC),rndmFlag("off") +{ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + //create a messenger for this class + gunMessenger = new AnaEx01PrimaryGeneratorMessenger(this); + + // default particle kinematic + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="e-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + particleGun->SetParticleEnergy(30.*MeV); + G4double position = -0.5*(AnaEx01Detector->GetWorldSizeX()); + particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PrimaryGeneratorAction::~AnaEx01PrimaryGeneratorAction() +{ + delete particleGun; + delete gunMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + //this function is called at the begining of event + // + G4double x0 = -0.5*(AnaEx01Detector->GetWorldSizeX()); + G4double y0 = 0.*cm, z0 = 0.*cm; + if (rndmFlag == "on") + {y0 = (AnaEx01Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + z0 = (AnaEx01Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + } + particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + + particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc new file mode 100644 index 0000000000..4731b00e6c --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc @@ -0,0 +1,51 @@ +// 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: AnaEx01PrimaryGeneratorMessenger.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "AnaEx01PrimaryGeneratorMessenger.hh" + +#include "AnaEx01PrimaryGeneratorAction.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PrimaryGeneratorMessenger::AnaEx01PrimaryGeneratorMessenger(AnaEx01PrimaryGeneratorAction* AnaEx01Gun) +:AnaEx01Action(AnaEx01Gun) +{ + RndmCmd = new G4UIcmdWithAString("/gun/random",this); + RndmCmd->SetGuidance("Shoot randomly the incident particle."); + RndmCmd->SetGuidance(" Choice : on(default), off"); + RndmCmd->SetParameterName("choice",true); + RndmCmd->SetDefaultValue("on"); + RndmCmd->SetCandidates("on off"); + RndmCmd->AvailableForStates(PreInit,Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01PrimaryGeneratorMessenger::~AnaEx01PrimaryGeneratorMessenger() +{ + delete RndmCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01PrimaryGeneratorMessenger::SetNewValue(G4UIcommand * command,G4String newValue) +{ + if( command == RndmCmd ) + { AnaEx01Action->SetRndmFlag(newValue);} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc new file mode 100644 index 0000000000..1685c5940c --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc @@ -0,0 +1,36 @@ +// 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: AnaEx01RunAction.cc,v 1.3 2000/11/10 14:08:09 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifdef G4ANALYSIS_USE +#include "AnaEx01AnalysisManager.hh" +#endif + +#include "AnaEx01RunAction.hh" + +AnaEx01RunAction::AnaEx01RunAction( + AnaEx01AnalysisManager* aAnalysisManager +):fAnalysisManager(aAnalysisManager){} + +AnaEx01RunAction::~AnaEx01RunAction(){} + +void AnaEx01RunAction::BeginOfRunAction(const G4Run* aRun) { +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->BeginOfRun(aRun); +#endif +} + +void AnaEx01RunAction::EndOfRunAction(const G4Run* aRun){ +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->EndOfRun(aRun); +#endif +} + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc new file mode 100644 index 0000000000..7edae47e1e --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc @@ -0,0 +1,31 @@ +// 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: AnaEx01SteppingAction.cc,v 1.3 2000/11/10 14:08:10 gbarrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifdef G4ANALYSIS_USE +#include "AnaEx01AnalysisManager.hh" +#endif + +#include "AnaEx01SteppingAction.hh" + +AnaEx01SteppingAction::AnaEx01SteppingAction( + AnaEx01AnalysisManager* aAnalysisManager +):fAnalysisManager(aAnalysisManager){} + +AnaEx01SteppingAction::~AnaEx01SteppingAction(){} +void AnaEx01SteppingAction::UserSteppingAction(const G4Step* aStep){ +#ifdef G4ANALYSIS_USE + if(fAnalysisManager) fAnalysisManager->Step(aStep); +#endif +} + + + diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc new file mode 100644 index 0000000000..5ac0ddcd97 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc @@ -0,0 +1,166 @@ +// 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: AnaEx01SteppingVerbose.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +//--------------------------------------------------------------- +// +// AnaEx01SteppingVerbose.cc +// +// Description: +// Implementation of the AnaEx01SteppingVerbose class +// +//--------------------------------------------------------------- + +#include "AnaEx01SteppingVerbose.hh" +#include "G4SteppingManager.hh" + +#include "G4UnitsTable.hh" + +//////////////////////////////////////////////// +AnaEx01SteppingVerbose::AnaEx01SteppingVerbose() +//////////////////////////////////////////////// +{ +} + +////////////////////////////////////////////////// +AnaEx01SteppingVerbose::~AnaEx01SteppingVerbose() +////////////////////////////////////////////////// +{ +} + +///////////////////////////////////////// +void AnaEx01SteppingVerbose::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) << "NextVolu" + << 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->GetNextVolume()->GetName(); + } else { + G4cout << G4std::setw(10) << "OutOfWorld"; + } + + if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){ + G4cout << G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep() + ->GetProcessName(); + } else { + G4cout << "User Limit"; + } + + 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).entries() + << " ---------------" + << G4endl; + + for(G4int lp1=(*fSecondary).entries()-tN2ndariesTot; + lp1<(*fSecondary).entries(); 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); +} + +//////////////////////////////////////////////// +void AnaEx01SteppingVerbose::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) << "NextVolu" + << 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->GetNextVolume()->GetName() << " "; + } else { + G4cout << G4std::setw(10) << "OutOfWorld" << " "; + } + G4cout << G4std::setw(10) << "initStep" << G4endl; + } + G4cout.precision(prec); +} diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc new file mode 100644 index 0000000000..5c29d55c86 --- /dev/null +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc @@ -0,0 +1,141 @@ +// 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: AnaEx01VisManager.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// John Allison 24th January 1998. + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifdef G4VIS_USE + +#include "AnaEx01VisManager.hh" + +// Supported drivers... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_DAWNFILE +#include "G4DAWNFILE.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 + +#ifdef G4VIS_USE_VRMLFILE +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" +#endif + +#ifdef G4VIS_USE_RAYTRACER +#include "G4RayTracer.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +AnaEx01VisManager::AnaEx01VisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void AnaEx01VisManager::RegisterGraphicsSystems () { + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_DAWNFILE + RegisterGraphicsSystem (new G4DAWNFILE); +#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 + +#ifdef G4VIS_USE_VRMLFILE + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); +#endif + +#ifdef G4VIS_USE_RAYTRACER + RegisterGraphicsSystem (new G4RayTracer); +#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/extended/electromagnetic/TestEm1/GNUmakefile b/examples/extended/electromagnetic/TestEm1/GNUmakefile index 8da7bf3cb7..efd75b2985 100644 --- a/examples/extended/electromagnetic/TestEm1/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm1/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2000/05/17 10:55:09 maire Exp $ +# $Id: GNUmakefile,v 1.4 2000/12/07 11:43:03 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -16,11 +16,4 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk -ifdef G4NOHIST - CPPFLAGS += -DG4NOHIST -else - LDFLAGS += -L$(CERN)/pro/lib - LOADLIBS += -lpacklib $(FCLIBS) -endif - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/electromagnetic/TestEm1/History b/examples/extended/electromagnetic/TestEm1/History index fc10d48428..f5654322e7 100644 --- a/examples/extended/electromagnetic/TestEm1/History +++ b/examples/extended/electromagnetic/TestEm1/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2000/06/17 12:44:26 stesting Exp $ +$Id: History,v 1.7 2000/12/07 11:43:03 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,9 +14,25 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +07-12-00 mma (testem1-V02-00-03 & testem-noHist) + remove hbook histograms: GNUmakefile,runAction,trackingAction, + steppingAction + +06-12-00 mma (testem1-V02-00-02 & testem-withHist) + update of init.mac for new vis commands. + G4UItcsh in the main() + +24-11-00 Steve O'Neale (tagset210) (testem1-V02-00-01) + Update test output Change in processes below ~ 5 per cent + eIoni and hIoni min.delta energy(keV) and energy cut table -June 17, 2000 John Allison (testem1-V01-00-00) -- Updated TestEm1.out for geant4-01-01-ref-06. +13-11-00 G.Cosmo (testem1-V02-00-00) + Fixed memory leak in Em1RunAction: added call to clearAndDestroy() + in EndOfRunAction() to clean ProcCounter vector. + +17-06-00 J.Allison (testem1-V01-00-00) + Updated TestEm1.out for geant4-01-01-ref-06. 21-01-00 cppflag G4NOHIST to protect hbook histograms. diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.cc b/examples/extended/electromagnetic/TestEm1/TestEm1.cc index b1062bc64e..4c971d03b6 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.cc +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.cc @@ -5,26 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TestEm1.cc,v 1.3 1999/12/15 14:48:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: TestEm1.cc,v 1.4 2000/12/06 13:21:48 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -------------------------------------------------------------- -// GEANT 4 - example Em1 -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #define Em1NoOptimize 1 #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "Randomize.hh" #include "Em1DetectorConstruction.hh" @@ -43,6 +35,8 @@ #endif #endif +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + int main(int argc,char** argv) { //choose the Random engine @@ -85,7 +79,12 @@ int main(int argc,char** argv) { if (argc==1) // Define UI terminal for interactive mode { - G4UIsession * session = new G4UIterminal; + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif UI->ApplyCommand("/control/execute init.mac"); session->SessionStart(); delete session; @@ -109,3 +108,4 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.out b/examples/extended/electromagnetic/TestEm1/TestEm1.out index a600c36b99..e6af893cd9 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.out +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -63,15 +63,16 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 0.99 - H2liquid 28.677 - Water 81.518 - liquidArgon 78.381 - Aluminium 125.07 - Iron 224.12 - Lead 229.66 - Uranium 295.96 + H2liquid 28.675 + Water 81.507 + liquidArgon 78.362 + Aluminium 125.06 + Iron 224.07 + Lead 229.55 + Uranium 296.06 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -90,13 +91,13 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) Air 0.99 - H2liquid 28.677 - Water 81.518 - liquidArgon 78.381 - Aluminium 125.07 - Iron 224.12 - Lead 229.66 - Uranium 295.96 + H2liquid 28.675 + Water 81.507 + liquidArgon 78.362 + Aluminium 125.06 + Iron 224.07 + Lead 229.55 + Uranium 296.06 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -121,19 +122,19 @@ 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- mu- proton neutron -Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm + gamma e- +Cut in range 1 mm 1 mm Cut in energy - Air 990 eV 990 eV 48.4 keV 83.2 keV 990 eV - H2liquid 990 eV 108 keV 1.23 MeV 3.18 MeV 990 eV - Water 2.9 keV 347 keV 3.39 MeV 8.95 MeV 990 eV - liquidArgon 6.18 keV 343 keV 3.24 MeV 8.32 MeV 990 eV - Aluminium 6.89 keV 597 keV 5.02 MeV 13.1 MeV 990 eV - Iron 20.8 keV 1.28 MeV 8.52 MeV 22 MeV 990 eV - Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV - Uranium 110 keV 1.92 MeV 10.5 MeV 26.1 MeV 990 eV + Air 990 eV 990 eV + H2liquid 990 eV 108 keV + Water 2.9 keV 347 keV + liquidArgon 6.18 keV 343 keV + Aluminium 6.89 keV 597 keV + Iron 20.8 keV 1.28 MeV + Lead 101 keV 1.38 MeV + Uranium 110 keV 1.92 MeV =================================================== -# $Id: TestEm1.out,v 1.4 2000/06/17 12:44:26 stesting Exp $ +# $Id: TestEm1.out,v 1.7 2000/11/24 10:36:58 stesting Exp $ # # Macro file for "TestEm1.cc" # (can be run in batch, without graphic) @@ -175,13 +176,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to Air 0.99 H2liquid 0.99 Water 3.2733 - liquidArgon 3.7298 - Aluminium 6.301 - Iron 10.426 - Lead 8.9969 - Uranium 11.567 + liquidArgon 3.7293 + Aluminium 6.3003 + Iron 10.422 + Lead 8.9769 + Uranium 11.54 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -202,11 +204,11 @@ msc: Tables of transport mean free paths. Air 0.99 H2liquid 0.99 Water 3.2733 - liquidArgon 3.7298 - Aluminium 6.301 - Iron 10.426 - Lead 8.9969 - Uranium 11.567 + liquidArgon 3.7293 + Aluminium 6.3003 + Iron 10.422 + Lead 8.9769 + Uranium 11.54 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -231,17 +233,17 @@ 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- mu- proton neutron -Cut in range 2.2 mm 6.05 mum 1 mm 1 mm 1 mm + gamma e- +Cut in range 2.2 mm 6.05 mum Cut in energy - Air 990 eV 990 eV 48.4 keV 83.2 keV 990 eV - H2liquid 990 eV 990 eV 1.23 MeV 3.18 MeV 990 eV - Water 4.06 keV 3.27 keV 3.39 MeV 8.95 MeV 990 eV - liquidArgon 9.08 keV 3.98 keV 3.24 MeV 8.32 MeV 990 eV - Aluminium 9.99 keV 9.97 keV 5.02 MeV 13.1 MeV 990 eV - Iron 31.1 keV 43.3 keV 8.52 MeV 22 MeV 990 eV - Lead 124 keV 42.8 keV 8.52 MeV 20.9 MeV 990 eV - Uranium 143 keV 53.4 keV 10.5 MeV 26.1 MeV 990 eV + 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 + Iron 31.1 keV 43.3 keV + Lead 124 keV 42.8 keV + Uranium 143 keV 53.4 keV =================================================== # /run/verbose 2 @@ -263,18 +265,18 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=68.58s Real=73.99s Sys=4.55s + User=70.06s Real=75.54s Sys=4.95s - nb tracks/event neutral: 24.41 charged: 637.29 - nb steps/event neutral: 132.32 charged: 1260.26 + nb tracks/event neutral: 28.42 charged: 650.00 + nb steps/event neutral: 151.89 charged: 1278.63 nb of process calls per event: eIoni eBrem phot compt conv annihil - 1237.22 21.65 23.02 107.91 1.39 1.39 + 1251.55 25.69 27.03 123.47 1.39 1.39 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1386467388, 892794333 + Current couple of seeds = 1391858697, 202982242 ---------------------------------------- G4 kernel has come to Quit state. Deletion of G4 kernel class start. diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh index a74c724482..4d21afe118 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1DetectorConstruction.hh,v 1.2 1999/12/15 14:48:52 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh index b549595bf4..8a626c9073 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1DetectorMessenger.hh,v 1.2 1999/12/15 14:48:53 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh index 63545d2af6..3a64eb6c1d 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1EventAction.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh index 750a2b2f09..852d20b7ef 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1EventActionMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh index d6295a24c4..71bfcc2586 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PhysicsList.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh index 394dc96f92..5e65c38791 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PhysicsListMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh index 72801f8c68..e2719b385c 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh index 11a3e59054..a9d6a88ef5 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1RunAction.hh,v 1.3 2000/01/21 12:29:25 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1RunAction.hh,v 1.4 2000/12/07 11:43:04 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -25,11 +25,6 @@ class G4Run; class Em1RunActionMessenger; -#ifndef G4NOHIST - class HepTupleManager; - class HepHistogram; -#endif - class Em1RunAction : public G4UserRunAction { public: @@ -49,11 +44,7 @@ class Em1RunAction : public G4UserRunAction public: void SetRndmFreq(G4int val) {saveRndm = val;} G4int GetRndmFreq() {return saveRndm;} - -#ifndef G4NOHIST - HepHistogram* GetHisto(G4int id) {return histo[id];} -#endif - + private: void bookHisto(); void cleanHisto(); @@ -65,11 +56,6 @@ class Em1RunAction : public G4UserRunAction Em1RunActionMessenger* runMessenger; G4int saveRndm; - -#ifndef G4NOHIST - HepTupleManager* hbookManager; - HepHistogram* histo[3]; -#endif }; #endif diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1RunActionMessenger.hh index 11a6fd17ca..42dc61f501 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1RunActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1RunActionMessenger.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh index 7d1c2d3c2d..80514236da 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1SteppingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh index 4361888593..36bbbda10d 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh @@ -5,18 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1SteppingVerbose.hh,v 1.3 2000/02/29 12:13:24 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1SteppingVerbose.hh,v 1.4 2000/12/06 13:21:49 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em1SteppingVerbose.hh -// -// Description: // This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class Em1SteppingVerbose; @@ -25,16 +22,17 @@ class Em1SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class Em1SteppingVerbose : public G4SteppingVerbose { + public: -// Constructor/Destructor + Em1SteppingVerbose(); ~Em1SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh index d16f140a07..b54e6f64cb 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1TrackingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh b/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh index 99e8bcbe5c..c4efa5b82e 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1VisManager.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh index 6f5de0a604..0bf9a827e4 100644 --- a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh @@ -7,7 +7,7 @@ // and all its terms. // // $Id: ProcessesCount.hh,v 1.3 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ----------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm1/init.mac b/examples/extended/electromagnetic/TestEm1/init.mac index cbd6c6cd72..77d115cd7e 100644 --- a/examples/extended/electromagnetic/TestEm1/init.mac +++ b/examples/extended/electromagnetic/TestEm1/init.mac @@ -5,6 +5,7 @@ # and initializes the graphic. # /control/verbose 2 +/run/verbose 2 # ####/run/initialize # @@ -18,27 +19,18 @@ # 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 -# -# Create a viewer -/vis/viewer/create +#/vis/open DAWNFILE +/vis/open OGLIX # # Draw scene -/vis/scene/notifyHandlers +/vis/camera/zoom 1.4 +/vis/drawVolume # # for drawing the tracks # if too many tracks cause core dump => storeTrajectory 0 /tracking/storeTrajectory 1 /event/drawTracks all -# -# Flush visualization -/vis/viewer/update -# -/run/verbose 2 + diff --git a/examples/extended/electromagnetic/TestEm1/run04.mac b/examples/extended/electromagnetic/TestEm1/run04.mac index b4bb11d233..4709c21c1a 100644 --- a/examples/extended/electromagnetic/TestEm1/run04.mac +++ b/examples/extended/electromagnetic/TestEm1/run04.mac @@ -1,4 +1,4 @@ -# $Id: run04.mac,v 1.1 1999/10/11 13:07:27 maire Exp $ +# $Id: run04.mac,v 1.2 2000/12/06 13:21:49 maire Exp $ # # Macro file for "TestEm1.cc" # (can be run in batch, without graphic) @@ -11,9 +11,9 @@ # /process/eLoss/StepFunction 0.183 170 micrometer /calor/cutG 95 cm -/calor/cutE 6.05 micrometer +#/calor/cutE 6.05 micrometer +/calor/cutE 100. micrometer /run/initialize -/run/particle/dumpCutValues # /process/inactivate phot /process/inactivate compt diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc index a247ba0115..64db775ed3 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc @@ -6,8 +6,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1DetectorConstruction.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1DetectorConstruction.cc,v 1.4 2000/12/13 11:11:59 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -109,6 +109,10 @@ density = 2.700*g/cm3; a = 26.98*g/mole; G4Material* Al = new G4Material(name="Aluminium" , z=13., a, density); +density = 2.330*g/cm3; +a = 28.09*g/mole; +G4Material* Si = 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); diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc index cb34d2e03d..871692b5b9 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1DetectorMessenger.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc index eaf273d1af..0d9ecfd11e 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1EventAction.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc index 3d6db7e736..9b4cfaea78 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1EventActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc index fdc1407d2c..fda56c9041 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PhysicsList.cc,v 1.3 2000/03/05 03:31:39 kurasige Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc index c5ad1a4110..144729db1e 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PhysicsListMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc index 48faaf5cb5..906368b744 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc index d1314cbaa0..ac95838735 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1RunAction.cc,v 1.4 2000/01/21 12:29:26 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1RunAction.cc,v 1.6 2000/12/07 11:43:04 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -24,51 +24,30 @@ #include "Randomize.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em1RunAction::Em1RunAction() -{runMessenger = new Em1RunActionMessenger(this); - saveRndm = 1; - -#ifndef G4NOHIST - hbookManager = NULL; -#endif -} + : ProcCounter(0), saveRndm (1), + runMessenger(new Em1RunActionMessenger(this)) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em1RunAction::~Em1RunAction() -{cleanHisto(); +{ + cleanHisto(); delete runMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em1RunAction::bookHisto() -{ -#ifndef G4NOHIST - hbookManager = new HBookFile("testem1.histo", 68); - - // booking histograms - histo[0] = hbookManager->histogram("track length (mm) of a charged particle",100,0.,50*cm); - histo[1] = hbookManager->histogram("Nb of steps per track (charged particle)",100,0.,100.); - histo[2] = hbookManager->histogram("step length (mm) charged particle",100,0.,10*mm); -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em1RunAction::cleanHisto() -{ -#ifndef G4NOHIST - delete [] histo; - delete hbookManager; -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -142,7 +121,8 @@ void Em1RunAction::EndOfRunAction(const G4Run* aRun) G4cout.setf(oldform,G4std::ios::floatfield); G4cout.precision(oldprec); } - + + ProcCounter->clearAndDestroy(); delete ProcCounter; //draw the events @@ -154,11 +134,6 @@ void Em1RunAction::EndOfRunAction(const G4Run* aRun) { HepRandom::showEngineStatus(); HepRandom::saveEngineStatus("endOfRun.rndm"); } - -#ifndef G4NOHIST - // writing histogram file - hbookManager->write(); -#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1RunActionMessenger.cc index c8cbd24d80..e0a2aa5a66 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1RunActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1RunActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc index 5c7597a182..f71e3e0cbb 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1SteppingAction.cc,v 1.3 2000/01/21 12:29:26 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1SteppingAction.cc,v 1.4 2000/12/07 11:43:04 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -19,10 +19,6 @@ #include "G4SteppingManager.hh" #include "G4VProcess.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em1SteppingAction::Em1SteppingAction(Em1RunAction* RuAct, Em1EventAction* EvAct) @@ -45,11 +41,7 @@ void Em1SteppingAction::UserSteppingAction(const G4Step* aStep) if (process) runAction->CountProcesses(process->GetProcessName()); G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); - G4double steplen = aStep->GetStepLength(); - -#ifndef G4NOHIST - if (charge != 0.) runAction->GetHisto(2)->accumulate(steplen); -#endif + G4double steplen = aStep->GetStepLength(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc index 257e641321..63afbae7dd 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1SteppingVerbose.cc,v 1.3 2000/02/29 12:13:24 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1SteppingVerbose.cc,v 1.4 2000/12/06 13:21:50 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em1SteppingVerbose.cc -// -// Description: -// Implementation of the Em1SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "Em1SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + Em1SteppingVerbose::Em1SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// Em1SteppingVerbose::~Em1SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void Em1SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -124,11 +115,11 @@ void Em1SteppingVerbose::StepInfo() } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -//////////////////////////////////////////////// void Em1SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3); G4cout << G4std::setw(10) << "initStep" << G4endl; } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc index f270d87f6d..ab35a14cda 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc @@ -6,8 +6,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em1TrackingAction.cc,v 1.3 2000/01/21 12:29:26 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em1TrackingAction.cc,v 1.4 2000/12/07 11:43:04 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -18,10 +18,6 @@ #include "Em1RunAction.hh" #include "G4Track.hh" - -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -42,10 +38,6 @@ void Em1TrackingAction::PostUserTrackingAction(const G4Track* aTrack) if (aTrack->GetDefinition()->GetPDGCharge() == 0.) {runAction->CountTraks0(1); runAction->CountSteps0(nbSteps);} else {runAction->CountTraks1(1); runAction->CountSteps1(nbSteps); -#ifndef G4NOHIST - runAction->GetHisto(0)->accumulate(Trleng); - runAction->GetHisto(1)->accumulate((float)nbSteps); -#endif } } diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc b/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc index b555efb966..ed79ef34f1 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em1VisManager.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm2/GNUmakefile b/examples/extended/electromagnetic/TestEm2/GNUmakefile index 1dde9228f2..70b3f8f6b6 100644 --- a/examples/extended/electromagnetic/TestEm2/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm2/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2000/05/17 10:55:39 maire Exp $ +# $Id: GNUmakefile,v 1.4 2000/12/07 12:14:06 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -16,11 +16,4 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk -ifdef G4NOHIST - CPPFLAGS += -DG4NOHIST -else - LDFLAGS += -L$(CERN)/pro/lib - LOADLIBS += -lpacklib $(FCLIBS) -endif - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History index 78d66ed78a..a08752b5c5 100644 --- a/examples/extended/electromagnetic/TestEm2/History +++ b/examples/extended/electromagnetic/TestEm2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2000/06/24 08:01:20 stesting Exp $ +$Id: History,v 1.7 2000/12/07 12:14:06 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,21 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +07-12-00 mma (testem2-V02-00-03 & testem-noHist) + remove hbook histograms: GNUmakefile,runAction + +06-12-00 mma (testem2-V02-00-02 & testem-withHist) + update of init.mac for new vis commands. + G4UItcsh in the main() + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut and cut tabulation +- Update test outputs Lateral profile changes comparable with rms (10 per cent) +- in first layers, Radial profile stable (values to 1 percent). + +June 28, 2000 John Allison (testem2-V02-00-00) +- Updated TestEm2.out for geant4-02-00. June 24, 2000 John Allison (testem2-V01-01-02) - Updated TestEm2.out for stand-V01-01-05 and utils-V01-01-03. diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.cc b/examples/extended/electromagnetic/TestEm2/TestEm2.cc index 538a1b5a8d..19da0d48f3 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.cc +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.cc @@ -5,17 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TestEm2.cc,v 1.3 1999/12/15 14:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: TestEm2.cc,v 1.4 2000/12/06 14:12:15 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "Randomize.hh" #ifdef G4VIS_USE @@ -31,6 +30,8 @@ #include "Em2SteppingAction.hh" #include "Em2SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + int main(int argc,char** argv) { //choose the Random engine @@ -71,7 +72,12 @@ int main(int argc,char** argv) { if (argc==1) // Define UI terminal for interactive mode. { - G4UIsession * session = new G4UIterminal; + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif UI->ApplyCommand("/control/execute init.mac"); session->SessionStart(); delete session; @@ -92,3 +98,5 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.out b/examples/extended/electromagnetic/TestEm2/TestEm2.out index 482ef5b662..8b233c6800 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -69,16 +69,17 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 0.99 - Water 81.518 - lAr 78.381 - Al 125.07 - Fe 224.12 - BGO 187.02 - PbWO4 200.98 - Tungsten 337 - Lead 229.66 + Water 81.507 + lAr 78.362 + Al 125.06 + Fe 224.07 + BGO 186.87 + PbWO4 200.84 + Tungsten 337.27 + Lead 229.55 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -97,14 +98,14 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) Air 0.99 - Water 81.518 - lAr 78.381 - Al 125.07 - Fe 224.12 - BGO 187.02 - PbWO4 200.98 - Tungsten 337 - Lead 229.66 + Water 81.507 + lAr 78.362 + Al 125.06 + Fe 224.07 + BGO 186.87 + PbWO4 200.84 + Tungsten 337.27 + Lead 229.55 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -129,20 +130,20 @@ 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- mu- proton neutron -Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm + gamma e- +Cut in range 1 mm 1 mm Cut in energy - Air 990 eV 990 eV 48.4 keV 83.2 keV 990 eV - Water 2.9 keV 347 keV 3.39 MeV 8.95 MeV 990 eV - lAr 6.18 keV 343 keV 3.24 MeV 8.32 MeV 990 eV - Al 6.89 keV 597 keV 5.02 MeV 13.1 MeV 990 eV - Fe 20.8 keV 1.28 MeV 8.52 MeV 22 MeV 990 eV - BGO 77.7 keV 1.03 MeV 7.17 MeV 18.1 MeV 990 eV - PbWO4 84.8 keV 1.13 MeV 7.63 MeV 19.2 MeV 990 eV - Tungsten 105 keV 2.31 MeV 11.7 MeV 29.5 MeV 990 eV - Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV + Air 990 eV 990 eV + Water 2.9 keV 347 keV + lAr 6.18 keV 343 keV + Al 6.89 keV 597 keV + Fe 20.8 keV 1.28 MeV + BGO 77.7 keV 1.03 MeV + PbWO4 84.8 keV 1.13 MeV + Tungsten 105 keV 2.31 MeV + Lead 101 keV 1.38 MeV =================================================== -# $Id: TestEm2.out,v 1.5 2000/06/24 08:01:20 stesting Exp $ +# $Id: TestEm2.out,v 1.9 2000/11/24 10:50:41 stesting Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -189,16 +190,17 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 3.2397 - Water 215.05 - lAr 209.6 - Al 349.54 - Fe 697.76 - BGO 570.46 - PbWO4 624.12 - Tungsten 1195.6 - Lead 745.94 + Water 215.03 + lAr 209.58 + Al 349.52 + Fe 697.65 + BGO 571.17 + PbWO4 625.41 + Tungsten 1205.1 + Lead 750.46 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -217,14 +219,14 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) Air 3.2397 - Water 215.05 - lAr 209.6 - Al 349.54 - Fe 697.76 - BGO 570.46 - PbWO4 624.12 - Tungsten 1195.6 - Lead 745.94 + Water 215.03 + lAr 209.58 + Al 349.52 + Fe 697.65 + BGO 571.17 + PbWO4 625.41 + Tungsten 1205.1 + Lead 750.46 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -249,18 +251,18 @@ 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- mu- proton neutron -Cut in range 5 mm 5 mm 5 mm 5 mm 5 mm + gamma e- +Cut in range 5 mm 5 mm Cut in energy - Air 990 eV 3.24 keV 156 keV 326 keV 990 eV - Water 5.78 keV 1.16 MeV 8.21 MeV 22 MeV 990 eV - lAr 13.6 keV 1.16 MeV 8.01 MeV 20.9 MeV 990 eV - Al 14.6 keV 2.31 MeV 12.5 MeV 32.6 MeV 990 eV - Fe 46.4 keV 6.11 MeV 21.5 MeV 54.7 MeV 990 eV - BGO 126 keV 4.72 MeV 18.1 MeV 45.7 MeV 990 eV - PbWO4 137 keV 5.34 MeV 19.4 MeV 48.3 MeV 990 eV - Tungsten 241 keV 13 MeV 30.7 MeV 75.3 MeV 990 eV - Lead 204 keV 6.83 MeV 22 MeV 54 MeV 990 eV + 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 =================================================== # /run/verbose 2 @@ -291,20 +293,20 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=135.06s Real=147.92s Sys=11.58s + User=140.09s Real=152.81s Sys=11.26s LATERAL PROFILE CUMULATIVE LATERAL PROFILE bin Mean rms bin Mean rms - 0.00-> 1.11 radl: 12.83% 4.80% 0-> 1.11 radl: 12.83% 4.80% - 1.11-> 2.22 radl: 22.99% 10.59% 0-> 2.22 radl: 35.82% 13.46% - 2.22-> 3.33 radl: 23.35% 11.11% 0-> 3.33 radl: 59.17% 18.23% - 3.33-> 4.44 radl: 14.66% 7.64% 0-> 4.44 radl: 73.83% 17.47% - 4.44-> 5.55 radl: 10.04% 7.93% 0-> 5.55 radl: 83.88% 14.03% - 5.55-> 6.66 radl: 5.77% 5.99% 0-> 6.66 radl: 89.65% 11.25% - 6.66-> 7.77 radl: 2.68% 3.89% 0-> 7.77 radl: 92.33% 9.04% - 7.77-> 8.88 radl: 1.65% 3.99% 0-> 8.88 radl: 93.97% 5.64% - 8.88-> 9.99 radl: 1.02% 3.35% 0-> 9.99 radl: 94.99% 3.52% + 0.00-> 1.11 radl: 14.27% 5.32% 0-> 1.11 radl: 14.27% 5.32% + 1.11-> 2.22 radl: 25.49% 10.73% 0-> 2.22 radl: 39.76% 12.31% + 2.22-> 3.33 radl: 24.35% 9.19% 0-> 3.33 radl: 64.11% 14.46% + 3.33-> 4.44 radl: 14.08% 8.04% 0-> 4.44 radl: 78.19% 12.42% + 4.44-> 5.55 radl: 7.56% 5.98% 0-> 5.55 radl: 85.75% 9.56% + 5.55-> 6.66 radl: 4.56% 4.61% 0-> 6.66 radl: 90.31% 6.95% + 6.66-> 7.77 radl: 2.53% 3.85% 0-> 7.77 radl: 92.84% 4.92% + 7.77-> 8.88 radl: 1.36% 2.46% 0-> 8.88 radl: 94.20% 3.96% + 8.88-> 9.99 radl: 0.81% 2.04% 0-> 9.99 radl: 95.00% 3.23% @@ -312,21 +314,21 @@ Run Summary bin Mean rms bin Mean rms - 0.00-> 0.11 radl: 66.01% 9.70% 0-> 0.11 radl: 66.01% 9.70% - 0.11-> 0.22 radl: 16.95% 6.97% 0-> 0.22 radl: 82.95% 7.09% - 0.22-> 0.33 radl: 5.91% 4.08% 0-> 0.33 radl: 88.86% 5.43% - 0.33-> 0.44 radl: 2.97% 2.51% 0-> 0.44 radl: 91.83% 4.45% - 0.44-> 0.56 radl: 1.85% 1.52% 0-> 0.56 radl: 93.68% 3.99% - 0.56-> 0.67 radl: 1.31% 1.50% 0-> 0.67 radl: 94.99% 3.52% + 0.00-> 0.11 radl: 66.35% 10.09% 0-> 0.11 radl: 66.35% 10.09% + 0.11-> 0.22 radl: 16.35% 6.18% 0-> 0.22 radl: 82.70% 7.45% + 0.22-> 0.33 radl: 5.98% 3.96% 0-> 0.33 radl: 88.68% 5.74% + 0.33-> 0.44 radl: 3.19% 3.15% 0-> 0.44 radl: 91.87% 4.09% + 0.44-> 0.56 radl: 1.94% 2.23% 0-> 0.56 radl: 93.81% 3.33% + 0.56-> 0.67 radl: 1.19% 1.25% 0-> 0.67 radl: 95.00% 3.23% SUMMARY - energy deposit : 94.99 % E0 +- 3.52 % E0 - charged traklen: 13.64 radl +- 0.52 radl - neutral traklen: 192.15 radl +- 20.63 radl + energy deposit : 95.00 % E0 +- 3.23 % E0 + charged traklen: 13.59 radl +- 0.48 radl + neutral traklen: 200.27 radl +- 20.88 radl --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2001046935, 58619762 + Current couple of seeds = 617458126, 1124214817 ---------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm2/geant3/src/ugeom.F b/examples/extended/electromagnetic/TestEm2/geant3/src/ugeom.F index 8eb092515f..233a0add7a 100644 --- a/examples/extended/electromagnetic/TestEm2/geant3/src/ugeom.F +++ b/examples/extended/electromagnetic/TestEm2/geant3/src/ugeom.F @@ -85,7 +85,7 @@ PAXIS = 0. SAXIS = 0.2*Z1 CALL GDRAWC ('ECAL',IX,0.,10.,10.,SCALE,SCALE) - CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS) +CCC CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS) CALL GDSCAL ( 10., 0.3) CALL GDCLOS END DO diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh index c0e682d742..e3e5202e8f 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2DetectorConstruction.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh index 40dd109ac1..027aaa7bf1 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2DetectorMessenger.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh index d120281a43..c1a8218e7b 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2EventAction.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh index 8e69e63c96..477806dbd8 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2EventActionMessenger.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh index f11c707853..32edfed1b4 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2PhysicsList.hh,v 1.3 2000/04/17 11:25:52 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh index 07f99a9a4f..040184de79 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2PhysicsListMessenger.hh,v 1.1 2000/04/17 11:25:52 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh index 91e4aed434..086e5b11e1 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh index c30ec8c6ad..f1fd283a0d 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em2RunAction.hh,v 1.4 2000/01/21 10:56:14 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em2RunAction.hh,v 1.5 2000/12/07 12:14:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -35,11 +35,6 @@ class Em2RunActionMessenger; class G4Run; -#ifndef G4NOHIST - class HepTupleManager; - class HepHistogram; -#endif - class Em2RunAction : public G4UserRunAction { public: @@ -96,16 +91,7 @@ class Em2RunAction : public G4UserRunAction G4double sum2NeutrTrLength; Em2RunActionMessenger* runMessenger; - G4int saveRndm; - -#ifndef G4NOHIST - HepTupleManager* hbookManager; - HepHistogram *histo1, *histo2, *histo3; - HepHistogram *histo4, *histo5, *histo6; - HepHistogram *histo7, *histo8, *histo9; - HepHistogram *hist10, *hist11, *hist12; -#endif - + G4int saveRndm; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2RunActionMessenger.hh index 0e161650fc..8a963a5bce 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2RunActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2RunActionMessenger.hh,v 1.3 2000/01/21 10:56:15 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh index 271321a02f..b15bf12e22 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2SteppingAction.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh index 12b106ae16..1c48ae3922 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh @@ -5,18 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em2SteppingVerbose.hh,v 1.3 2000/02/29 12:16:59 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em2SteppingVerbose.hh,v 1.4 2000/12/06 14:12:16 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -// Em2SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class Em2SteppingVerbose; @@ -25,16 +22,17 @@ class Em2SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class Em2SteppingVerbose : public G4SteppingVerbose { + public: -// Constructor/Destructor + Em2SteppingVerbose(); ~Em2SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh index b741f15d6c..d1e20288d5 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2TrackingAction.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh b/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh index 2b01a3c009..e13322bdfd 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2VisManager.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/init.mac b/examples/extended/electromagnetic/TestEm2/init.mac index 5089656e59..d824df3b22 100644 --- a/examples/extended/electromagnetic/TestEm2/init.mac +++ b/examples/extended/electromagnetic/TestEm2/init.mac @@ -5,34 +5,26 @@ # and initializes the graphic. # /control/verbose 2 +/run/verbose 2 # # Create empty scene ("world" is default) -/vis/scene/create # -# Add volume to scene -/vis/scene/add/volume +/vis/scene/create # # 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 -# -# Create a viewer -/vis/viewer/create +#/vis/open DAWNFILE +/vis/open OGLIX # # Draw scene +# +/vis/camera/zoom 1.1 /vis/camera/viewpoint 90 180 -/vis/draw/axes 0 0 0 20 -/vis/camera/zoom 1. -/vis/scene/notifyHandlers +/vis/drawVolume # # for drawing the tracks # if too many tracks cause core dump => storeTrajectory 0 /tracking/storeTrajectory 1 /event/drawTracks charged -# -# Flush visualization -/vis/viewer/update -# -/run/verbose 2 + diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc index f64fa884b8..5b49182478 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2DetectorConstruction.cc,v 1.4 2000/05/09 13:56:33 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc index 26e8d64225..3b6deee717 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2DetectorMessenger.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc index e0ed2e4f77..b643d77a2d 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2EventAction.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc index 868ec3e8b4..55c140d877 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2EventActionMessenger.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc index 3c0906bad8..d5d2e67052 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em2PhysicsList.cc,v 1.4 2000/04/17 11:26:49 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em2PhysicsList.cc,v 1.5 2000/12/06 14:12:16 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -165,8 +165,8 @@ void Em2PhysicsList::ConstructEM() //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 G4eBremsstrahlung, -1,-1,3); + } else if (particleName == "e+") { //positron pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc index 79f5d42a2b..55eebcca74 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2PhysicsListMessenger.cc,v 1.1 2000/04/17 11:26:49 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc index 33f5cd7d6d..00dd9433f3 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc index 74907da497..9bd14f019c 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em2RunAction.cc,v 1.5 2000/05/18 15:30:28 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em2RunAction.cc,v 1.6 2000/12/07 12:14:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -29,10 +29,6 @@ #include "Randomize.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em2RunAction::Em2RunAction(Em2DetectorConstruction* det, @@ -58,12 +54,7 @@ Em2RunAction::Em2RunAction(Em2DetectorConstruction* det, sumE2RadialCumul = *new MyVector(nRbin); runMessenger = new Em2RunActionMessenger(this); - saveRndm = 1; - -#ifndef G4NOHIST - hbookManager = NULL; -#endif - + saveRndm = 1; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -77,66 +68,12 @@ Em2RunAction::~Em2RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em2RunAction::bookHisto() -{ -#ifndef G4NOHIST - hbookManager = new HBookFile("TestEm2.histo", 68); - assert (hbookManager != 0); - - G4double Ekin = Em2Kin->GetParticleGun()->GetParticleEnergy(); - G4double dLradl = Em2Det->GetdLradl(); - G4double dRradl = Em2Det->GetdRradl(); - - histo1 = hbookManager->histogram("total energy deposit (percent of E inc)", - 100,0.,100.); - - histo2 = hbookManager->histogram("total charged tracklength (radl)", - 100,0.,100.*Ekin/GeV); - - histo3 = hbookManager->histogram("total neutral tracklength (radl)", - 100,0.,1000.*Ekin/GeV); - - histo4 = hbookManager->histogram("longit energy profile (% of E inc)", - nLbin,0.,nLbin*dLradl); - - G4double Zmin=0.5*dLradl, Zmax=Zmin+nLbin*dLradl; - histo5 = hbookManager->histogram("cumul longit energy dep (% of E inc)", - nLbin,Zmin,Zmax); - - histo6 = hbookManager->histogram("rms on cumul longit Edep (% of E inc)", - nLbin,Zmin,Zmax); - - histo7 = hbookManager->histogram("nb of gamma per plane", - nLbin,Zmin,Zmax); - - histo8 = hbookManager->histogram("nb of positron per plane", - nLbin,Zmin,Zmax); - - histo9 = hbookManager->histogram("nb of electron per plane", - nLbin,Zmin,Zmax); - - hist10 = hbookManager->histogram("radial energy profile (% of E inc)", - nRbin,0.,nRbin*dRradl); - - G4double Rmin=0.5*dRradl, Rmax=Rmin+nRbin*dRradl; - hist11 = hbookManager->histogram("cumul radial energy dep (% of E inc)", - nRbin,Rmin,Rmax); - - hist12 = hbookManager->histogram("rms on cumul radial Edep (% of E inc)", - nRbin,Rmin,Rmax); -#endif -} +{} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em2RunAction::cleanHisto() -{ -#ifndef G4NOHIST - delete histo1; delete histo2; delete histo3; - delete histo4; delete histo5; delete histo6; - delete histo7; delete histo8; delete histo9; - delete hist10; delete hist11; delete hist12; - delete hbookManager; -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -226,19 +163,7 @@ void Em2RunAction::fillPerEvent() sumChargTrLength += ChargTrLength; sum2ChargTrLength += ChargTrLength*ChargTrLength; sumNeutrTrLength += NeutrTrLength; - sum2NeutrTrLength += NeutrTrLength*NeutrTrLength; - -#ifndef G4NOHIST - //fill histograms - // - G4double Ekin=Em2Kin->GetParticleGun()->GetParticleEnergy(); - G4double mass=Em2Kin->GetParticleGun()->GetParticleDefinition()->GetPDGMass(); - G4double radl=Em2Det->GetMaterial()->GetRadlen(); - - histo1->accumulate(100.*dLCumul/(Ekin+mass)); - histo2->accumulate(ChargTrLength/radl); - histo3->accumulate(NeutrTrLength/radl); -#endif + sum2NeutrTrLength += NeutrTrLength*NeutrTrLength; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -278,18 +203,6 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun) gammaFlux (i) /= NbOfEvents; electronFlux(i) /= NbOfEvents; positronFlux(i) /= NbOfEvents; - -#ifndef G4NOHIST - bin = i*dLradl; - histo4->accumulate(bin,MeanELongit(i)/dLradl); - bin = (i+1)*dLradl; - histo5->accumulate(bin,MeanELongitCumul(i)); - histo6->accumulate(bin, rmsELongitCumul(i)); - - histo7->accumulate(bin, gammaFlux(i)); - histo8->accumulate(bin, positronFlux(i)); - histo9->accumulate(bin, electronFlux(i)); -#endif } //radial @@ -308,14 +221,7 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun) MeanERadialCumul(i) = norme*sumERadialCumul(i); rmsERadialCumul(i) = norme*sqrt(abs(NbOfEvents*sumE2RadialCumul(i) - sumERadialCumul(i)*sumERadialCumul(i))); - -#ifndef G4NOHIST - bin = i*dRradl; - hist10->accumulate(bin,MeanERadial(i)/dRradl); - bin = (i+1)*dRradl; - hist11->accumulate(bin,MeanERadialCumul(i)); - hist12->accumulate(bin, rmsERadialCumul(i)); -#endif + } //track length @@ -394,12 +300,7 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun) if (saveRndm == 1) { HepRandom::showEngineStatus(); HepRandom::saveEngineStatus("endOfRun.rndm"); - } - -#ifndef G4NOHIST - // Write histogram file - hbookManager->write(); -#endif + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2RunActionMessenger.cc index 9486795468..e60b5397ff 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2RunActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2RunActionMessenger.cc,v 1.3 2000/01/21 10:56:16 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc index ee6c4a27c6..428b43f405 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2SteppingAction.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc index 75aeae0cdc..60d2ee0109 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em2SteppingVerbose.cc,v 1.3 2000/02/29 12:17:15 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em2SteppingVerbose.cc,v 1.4 2000/12/06 14:12:16 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em2SteppingVerbose.cc -// -// Description: -// Implementation of the Em2SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "Em2SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + Em2SteppingVerbose::Em2SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// Em2SteppingVerbose::~Em2SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void Em2SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -124,11 +115,11 @@ void Em2SteppingVerbose::StepInfo() } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -//////////////////////////////////////////////// void Em2SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3); G4cout << G4std::setw(10) << "initStep" << G4endl; } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc index 67f8afa9aa..3aeb638546 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc @@ -7,7 +7,7 @@ // and all its terms. // // $Id: Em2TrackingAction.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc b/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc index 81d831363d..7e8dcb2201 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em2VisManager.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm3/GNUmakefile b/examples/extended/electromagnetic/TestEm3/GNUmakefile index a2c877e432..5a15451911 100644 --- a/examples/extended/electromagnetic/TestEm3/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm3/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2000/05/17 10:56:08 maire Exp $ +# $Id: GNUmakefile,v 1.4 2000/12/07 12:38:24 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -16,11 +16,4 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk -ifdef G4NOHIST - CPPFLAGS += -DG4NOHIST -else - LDFLAGS += -L$(CERN)/pro/lib - LOADLIBS += -lpacklib $(FCLIBS) -endif - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History index 32378eab14..7b31dfca33 100644 --- a/examples/extended/electromagnetic/TestEm3/History +++ b/examples/extended/electromagnetic/TestEm3/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 2000/06/17 12:49:00 stesting Exp $ +$Id: History,v 1.4 2000/12/07 12:38:24 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,20 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +07-12-00 mma (testem3-V02-00-03 & testem-noHist) + remove hbook histograms: GNUmakefile,runAction,eventAction + +06-12-00 mma (testem3-V02-00-02 & testem-withHist) + update of init.mac for new vis commands. + G4UItcsh in the main() + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut and table printout +- Update test outputs em tags 1 percent change in deposited energy + +June 24, 2000 John Allison (testem3-V01-01-01) +- Updated TestEm3.out for stand-V01-01-05 and utils-V01-01-03. June 17, 2000 John Allison (testem3-V01-00-00) - Updated TestEm3.out for geant4-01-01-ref-06. diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.cc b/examples/extended/electromagnetic/TestEm3/TestEm3.cc index fd4196117c..204135a678 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.cc +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.cc @@ -5,17 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TestEm3.cc,v 1.3 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: TestEm3.cc,v 1.4 2000/12/06 16:43:38 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "Randomize.hh" #ifdef G4VIS_USE @@ -30,6 +29,8 @@ #include "Em3SteppingAction.hh" #include "Em3SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + int main(int argc,char** argv) { //choose the Random engine @@ -69,7 +70,12 @@ int main(int argc,char** argv) { if (argc==1) // Define UI session for interactive mode. { // G4UIterminal is a (dumb) terminal. - G4UIsession * session = new G4UIterminal; + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif UI->ApplyCommand("/control/execute init.mac"); session->SessionStart(); delete session; @@ -90,3 +96,5 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.out b/examples/extended/electromagnetic/TestEm3/TestEm3.out index db5ba708cc..a40528021c 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -107,26 +107,27 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Aluminium 82.754 - liquidArgon 52.224 - Iron 142.67 - Copper 153.07 - Tungsten 210.59 - Lead 146.21 - Uranium 198.55 - Water 54.632 - Scintillator 55.566 - Silicium 76.817 - quartz 76.449 - NemaG10 68.972 + Aluminium 82.738 + liquidArgon 52.207 + Iron 142.65 + Copper 153.03 + Tungsten 210.48 + Lead 145.94 + Uranium 198.28 + Water 54.624 + Scintillator 55.559 + Silicium 76.801 + quartz 76.434 + NemaG10 68.96 Air 0.99 - Aerogel 20.287 - CarbonicGas 6.2987 + Aerogel 20.283 + CarbonicGas 6.298 WaterSteam 0.99 Galactic 0.99 Beam 0.99 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -144,21 +145,21 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) - Aluminium 82.754 - liquidArgon 52.224 - Iron 142.67 - Copper 153.07 - Tungsten 210.59 - Lead 146.21 - Uranium 198.55 - Water 54.632 - Scintillator 55.566 - Silicium 76.817 - quartz 76.449 - NemaG10 68.972 + Aluminium 82.738 + liquidArgon 52.207 + Iron 142.65 + Copper 153.03 + Tungsten 210.48 + Lead 145.94 + Uranium 198.28 + Water 54.624 + Scintillator 55.559 + Silicium 76.801 + quartz 76.434 + NemaG10 68.96 Air 0.99 - Aerogel 20.287 - CarbonicGas 6.2987 + Aerogel 20.283 + CarbonicGas 6.298 WaterSteam 0.99 Galactic 0.99 Beam 0.99 @@ -186,29 +187,29 @@ 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- mu- proton neutron -Cut in range 500 mum 500 mum 500 mum 500 mum 500 mum + gamma e- +Cut in range 500 mum 500 mum Cut in energy - Aluminium 4.96 keV 365 keV 3.43 MeV 8.84 MeV 990 eV - liquidArgon 4.4 keV 217 keV 2.2 MeV 5.54 MeV 990 eV - Iron 14.2 keV 709 keV 5.68 MeV 14.5 MeV 990 eV - Copper 17.1 keV 782 keV 6.04 MeV 15.4 MeV 990 eV - Tungsten 87.5 keV 1.22 MeV 7.92 MeV 19.7 MeV 990 eV - Lead 81.5 keV 763 keV 5.68 MeV 13.8 MeV 990 eV - Uranium 105 keV 1.13 MeV 7.44 MeV 18.3 MeV 990 eV - Water 2.18 keV 223 keV 2.31 MeV 6.04 MeV 990 eV - Scintillator 1.83 keV 226 keV 2.34 MeV 6.11 MeV 990 eV - Silicium 4.96 keV 335 keV 3.18 MeV 8.21 MeV 990 eV - quartz 4.01 keV 330 keV 3.18 MeV 8.21 MeV 990 eV - NemaG10 3.07 keV 292 keV 2.88 MeV 7.54 MeV 990 eV - Air 990 eV 990 eV 27.2 keV 29.6 keV 990 eV - Aerogel 1.27 keV 79.2 keV 863 keV 2.07 MeV 990 eV - CarbonicGas 990 eV 8.52 keV 255 keV 534 keV 990 eV - WaterSteam 990 eV 990 eV 5.97 keV 4.34 keV 990 eV - Galactic 990 eV 990 eV 990 eV 990 eV 990 eV - Beam 990 eV 990 eV 990 eV 990 eV 990 eV + Aluminium 4.96 keV 365 keV + liquidArgon 4.4 keV 217 keV + Iron 14.2 keV 709 keV + Copper 17.1 keV 782 keV + Tungsten 87.5 keV 1.22 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 + 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 =================================================== -# $Id: TestEm3.out,v 1.4 2000/06/17 12:49:00 stesting Exp $ +# $Id: TestEm3.out,v 1.8 2000/11/24 11:02:55 stesting Exp $ # # Macro file for "exampleN03.cc" # (can be run in batch, without graphic) @@ -241,19 +242,19 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=245.22s Real=266.8s Sys=18.67s + User=273.62s Real=311.24s Sys=20.37s ------------------------------------------------------------- total energy dep total tracklen - Absorber0 ( Lead) : 809.43 MeV +- 15.49 MeV 52.53 cm +- 1.18 cm - Absorber1 ( liquidArgon) : 180.05 MeV +- 13.02 MeV 90.31 cm +- 6.77 cm + Absorber0 ( Lead) : 814.79 MeV +- 14.27 MeV 51.33 cm +- 1.17 cm + Absorber1 ( liquidArgon) : 175.43 MeV +- 13.23 MeV 87.65 cm +- 6.82 cm ------------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 915103625, 1965593171 + Current couple of seeds = 1497149051, 1975036636 ---------------------------------------- G4 kernel has come to Quit state. Deletion of G4 kernel class start. diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh b/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh index 4c7d4fea1b..fe5d5765d1 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3CalorHit.hh,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh index 2ed6435588..656ff6bd9c 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3CalorimeterSD.hh,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh index 6436b98607..b2e25de705 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3DetectorConstruction.hh,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh index 52f564e3a9..7fee9b6cb2 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3DetectorMessenger.hh,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh index f2791f062a..6addcb6687 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3EventAction.hh,v 1.2 1999/12/15 14:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh index 9ef77c6dd9..e44cab873f 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3EventActionMessenger.hh,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh index b57b5241aa..ed2915f55d 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PhysicsList.hh,v 1.3 2000/04/17 12:06:23 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh index 48c6a99480..a8bda2378c 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PhysicsListMessenger.hh,v 1.1 2000/04/17 12:06:23 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh index 835723d421..7d3073748f 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh index a34ead4756..32aa59aef4 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PrimaryGeneratorMessenger.hh,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh index 71f05780f7..8e3cc021e8 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em3RunAction.hh,v 1.3 2000/01/21 09:11:06 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em3RunAction.hh,v 1.4 2000/12/07 12:38:24 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -26,11 +26,6 @@ class G4Run; class Em3RunActionMessenger; -#ifndef G4NOHIST - class HepTupleManager; - class HepTuple; -#endif - class Em3RunAction : public G4UserRunAction { public: @@ -45,11 +40,7 @@ class Em3RunAction : public G4UserRunAction void SetRndmFreq(G4int val) {saveRndm = val;} G4int GetRndmFreq() {return saveRndm;} - -#ifndef G4NOHIST - HepTuple* GetnTuple() {return ntuple;} -#endif - + private: void bookHisto(); @@ -61,11 +52,6 @@ class Em3RunAction : public G4UserRunAction Em3DetectorConstruction* Detector; Em3RunActionMessenger* runMessenger; G4int saveRndm; - -#ifndef G4NOHIST - HepTupleManager* hbookManager; - HepTuple* ntuple; -#endif }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh index 39e07502a0..9264a015e3 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3RunActionMessenger.hh,v 1.3 2000/01/21 09:11:06 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh index 7d0d79992b..233f5bf832 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3SteppingAction.hh,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh index 93883d2c36..5bc6402b71 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh @@ -5,19 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em3SteppingVerbose.hh,v 1.3 2000/02/29 12:18:58 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em3SteppingVerbose.hh,v 1.4 2000/12/06 16:43:39 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -// Em3SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class Em3SteppingVerbose; @@ -26,16 +22,17 @@ class Em3SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class Em3SteppingVerbose : public G4SteppingVerbose { + public: -// Constructor/Destructor + Em3SteppingVerbose(); ~Em3SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh b/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh index 0e514037b2..c8dc99e8b5 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3VisManager.hh,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/init.mac b/examples/extended/electromagnetic/TestEm3/init.mac index 4de1fef427..2bef307ee0 100644 --- a/examples/extended/electromagnetic/TestEm3/init.mac +++ b/examples/extended/electromagnetic/TestEm3/init.mac @@ -10,25 +10,17 @@ # 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 -# -# Create a viewer -/vis/viewer/create +#/vis/open DAWNFILE +/vis/open OGLIX # # Draw scene -/vis/scene/notifyHandlers +/vis/camera/zoom 1.4 +/vis/drawVolume # # for drawing the tracks # if too many tracks cause core dump => storeTrajectory 0 /tracking/storeTrajectory 1 /event/drawTracks all -# -# Flush visualization -/vis/viewer/update diff --git a/examples/extended/electromagnetic/TestEm3/run01.mac b/examples/extended/electromagnetic/TestEm3/run01.mac index 09d21af3c4..3bde31499e 100644 --- a/examples/extended/electromagnetic/TestEm3/run01.mac +++ b/examples/extended/electromagnetic/TestEm3/run01.mac @@ -1,4 +1,4 @@ -# $Id: run01.mac,v 1.2 2000/01/21 09:11:04 maire Exp $ +# $Id: run01.mac,v 1.3 2000/12/06 16:43:38 maire Exp $ # # Macro file for "exampleN03.cc" # (can be run in batch, without graphic) @@ -12,8 +12,8 @@ # /run/verbose 2 /event/drawTracks none -/event/printModulo 100 +/event/printModulo 50 # /gun/particle e- /gun/energy 1 GeV -/run/beamOn 100 +/run/beamOn 200 diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc b/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc index fd71749b1e..51ba866869 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3CalorHit.cc,v 1.2 1999/12/15 14:49:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc index 010eb3bd02..f66def6fc0 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3CalorimeterSD.cc,v 1.2 1999/12/15 14:49:03 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc index 7acf4011b8..17b3947a3d 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3DetectorConstruction.cc,v 1.2 1999/12/15 14:49:03 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc index 33a510e19c..88aede4611 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3DetectorMessenger.cc,v 1.2 1999/12/15 14:49:03 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc index 1ca7393e7c..8ff0d9e216 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em3EventAction.cc,v 1.4 2000/01/21 09:11:06 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em3EventAction.cc,v 1.5 2000/12/07 12:38:25 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -35,10 +35,6 @@ #include "G4UnitsTable.hh" #include "Randomize.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em3EventAction::Em3EventAction(Em3RunAction* run, Em3DetectorConstruction* det) @@ -81,10 +77,6 @@ void Em3EventAction::EndOfEventAction(const G4Event* evt) G4double totEAbs, totLAbs; char str1[6], str2[6]; strcpy(str1,"EAbs");strcpy(str2,"LAbs"); - -#ifndef G4NOHIST - HepTuple* ntuple=Em3Run->GetnTuple(); -#endif if (HCE) CHC = (Em3CalorHitsCollection*)(HCE->GetHC(calorimeterCollID)); @@ -98,19 +90,8 @@ void Em3EventAction::EndOfEventAction(const G4Event* evt) totEAbs += (*CHC)[j]->GetEdepAbs(k); totLAbs += (*CHC)[j]->GetTrakAbs(k); } - Em3Run->fillPerEvent(k,totEAbs,totLAbs); - -#ifndef G4NOHIST - //fill ntuple - // - str1[4] = str2[4] = (char)((int)('0') + k); - ntuple->column(str1,totEAbs); - ntuple->column(str2,totLAbs); -#endif + Em3Run->fillPerEvent(k,totEAbs,totLAbs); } -#ifndef G4NOHIST - ntuple->dumpData(); -#endif } if (G4VVisManager::GetConcreteInstance()) diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc index 03118214a7..16b56646fe 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3EventActionMessenger.cc,v 1.2 1999/12/15 14:49:04 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc index e1117c52d0..4fd4f5916f 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PhysicsList.cc,v 1.5 2000/04/17 12:05:39 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc index 07f807d40e..a72789e307 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PhysicsListMessenger.cc,v 1.1 2000/04/17 12:05:40 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc index 1d54c00a4b..d3e753fb88 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:04 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc index 3ae1551075..4d53df97a5 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3PrimaryGeneratorMessenger.cc,v 1.2 1999/12/15 14:49:04 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc index a6fc7c5861..7e7f803fea 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em3RunAction.cc,v 1.4 2000/01/21 09:11:07 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em3RunAction.cc,v 1.5 2000/12/07 12:38:25 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -26,10 +26,6 @@ #include "Randomize.hh" #include "g4std/iomanip" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em3RunAction::Em3RunAction(Em3DetectorConstruction* det) @@ -45,26 +41,12 @@ Em3RunAction::Em3RunAction(Em3DetectorConstruction* det) Em3RunAction::~Em3RunAction() { delete runMessenger; - -#ifndef G4NOHIST - // Delete HBOOK stuff - delete ntuple; - delete hbookManager; -#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em3RunAction::bookHisto() -{ -#ifndef G4NOHIST - // init hbook - hbookManager = new HBookFile("TestEm3.ntupl", 68); - - // book a ntuple - ntuple = hbookManager->ntuple("sum per event"); -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -137,11 +119,6 @@ void Em3RunAction::EndOfRunAction(const G4Run* aRun) G4cout.setf(oldform,G4std::ios::floatfield); G4cout.precision(oldprec); -#ifndef G4NOHIST - // Write histogram file - hbookManager->write(); -#endif - // save Rndm status if (saveRndm == 1) { HepRandom::showEngineStatus(); diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc index a402381352..678e8d3869 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3RunActionMessenger.cc,v 1.3 2000/01/21 09:11:07 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3SteppingAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3SteppingAction.cc index 10f846ee09..6eb8742e32 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3SteppingAction.cc,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm3/src/Em3SteppingVerbose.cc index ccf8c5956e..b272f43e35 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em3SteppingVerbose.cc,v 1.3 2000/02/29 12:19:50 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em3SteppingVerbose.cc,v 1.4 2000/12/06 16:43:39 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em3SteppingVerbose.cc -// -// Description: -// Implementation of the Em3SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "Em3SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + Em3SteppingVerbose::Em3SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// Em3SteppingVerbose::~Em3SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void Em3SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -124,11 +115,11 @@ void Em3SteppingVerbose::StepInfo() } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -//////////////////////////////////////////////// void Em3SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3); G4cout << G4std::setw(10) << "initStep" << G4endl; } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc b/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc index e117f2b73d..e8fa782d23 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em3VisManager.cc,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm4/GNUmakefile b/examples/extended/electromagnetic/TestEm4/GNUmakefile index 3c91a519e6..2ee4bb0740 100644 --- a/examples/extended/electromagnetic/TestEm4/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm4/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2000/05/17 10:56:21 maire Exp $ +# $Id: GNUmakefile,v 1.4 2000/12/07 13:02:11 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -16,11 +16,4 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk -ifdef G4NOHIST - CPPFLAGS += -DG4NOHIST -else - LDFLAGS += -L$(CERN)/pro/lib - LOADLIBS += -lpacklib $(FCLIBS) -endif - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/electromagnetic/TestEm4/History b/examples/extended/electromagnetic/TestEm4/History index aab826e5a7..6c4783fcbf 100644 --- a/examples/extended/electromagnetic/TestEm4/History +++ b/examples/extended/electromagnetic/TestEm4/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2000/06/17 12:52:19 stesting Exp $ +$Id: History,v 1.6 2000/12/07 13:02:11 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,17 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +07-12-00 mma (testem4-V02-00-03 & testem-noHist) + remove hbook histograms: GNUmakefile,runAction,eventAction + +06-12-00 mma (testem4-V02-00-02 & testem-withHist) + update of init.mac for new vis commands. + G4UItcsh in the main() + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for Change in energy cut table printout (cuts not calculated) +- After 50000 events the seeds are not the same as for Aug 28th. June 17, 2000 John Allison (testem4-V01-00-00) - Updated TestEm4.out for geant4-01-01-ref-06. diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.cc b/examples/extended/electromagnetic/TestEm4/TestEm4.cc index 89a70b06ec..2b5813b8f2 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.cc +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.cc @@ -5,24 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TestEm4.cc,v 1.4 2000/03/09 11:27:37 gracia Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: TestEm4.cc,v 1.5 2000/12/06 17:22:24 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - example Em4 -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "Randomize.hh" #ifdef G4VIS_USE @@ -37,6 +29,8 @@ #include "Em4SteppingAction.hh" #include "Em4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + int main(int argc,char** argv) { //choose the Random engine @@ -74,7 +68,12 @@ int main(int argc,char** argv) { if (argc==1) // Define UI terminal for interactive mode { - G4UIsession * session = new G4UIterminal; + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif UI->ApplyCommand("/control/execute init.mac"); session->SessionStart(); delete session; @@ -95,3 +94,5 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.out b/examples/extended/electromagnetic/TestEm4/TestEm4.out index b78d746fea..0cfca19b9d 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.out +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** Material: FluorCarbonate density: 1.610 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 22.435 cm @@ -33,9 +33,10 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - FluorCarbonate 96.463 + FluorCarbonate 96.449 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -44,14 +45,12 @@ 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- mu- proton neutron -Cut in range 1 mm 1 mm -1 mm + gamma e- +Cut in range 1 mm 1 mm Cut in energy - FluorCarbonate 3.61 keV 429 keV ---------- - Cuts in energy have not calculated yet !! - Enter /run/initialize command to calculate cuts + FluorCarbonate 3.61 keV 429 keV =================================================== -# $Id: TestEm4.out,v 1.4 2000/06/17 12:52:19 stesting Exp $ +# $Id: TestEm4.out,v 1.7 2000/11/24 11:15:45 stesting Exp $ # # Macro file for "TestEm4.cc" # @@ -87,11 +86,11 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=93.01s Real=103.38s Sys=9.49s + User=98s Real=112.09s Sys=9.04s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 5382335, 1635673159 + Current couple of seeds = 1157306522, 1306681835 ---------------------------------------- G4 kernel has come to Quit state. Deletion of G4 kernel class start. diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh index 8f54adc88a..fb722c964e 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4DetectorConstruction.hh,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh index 3e96c68157..1c35ff01bc 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4EventAction.hh,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh index 713cf26571..00253f8f7d 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4EventActionMessenger.hh,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh b/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh index 85e74ef5e7..5d10098bf1 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4PhysicsList.hh,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh index 46cb524cad..40ee731b74 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh index b04eaa7855..5e56f3cf78 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em4RunAction.hh,v 1.3 2000/01/20 17:27:55 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em4RunAction.hh,v 1.4 2000/12/07 13:02:11 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -24,11 +24,6 @@ class G4Run; class Em4RunActionMessenger; -#ifndef G4NOHIST - class HepTupleManager; - class HepHistogram; -#endif - class Em4RunAction : public G4UserRunAction { public: @@ -41,10 +36,6 @@ class Em4RunAction : public G4UserRunAction void SetRndmFreq(G4int val) {saveRndm = val;} G4int GetRndmFreq() {return saveRndm;} - -#ifndef G4NOHIST - HepHistogram* GetHisto(G4int id) {return histo[id];} -#endif private: void bookHisto(); @@ -52,11 +43,6 @@ class Em4RunAction : public G4UserRunAction private: Em4RunActionMessenger* runMessenger; G4int saveRndm; - -#ifndef G4NOHIST - HepTupleManager* hbookManager; - HepHistogram* histo[1]; -#endif }; #endif diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm4/include/Em4RunActionMessenger.hh index 295f4779e4..22ddc732e4 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4RunActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4RunActionMessenger.hh,v 1.3 2000/01/20 17:27:56 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh index cb17243a92..ee0aa4e47b 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4SteppingAction.hh,v 1.2 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh index b36da6d4ca..aa67673338 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh @@ -5,19 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em4SteppingVerbose.hh,v 1.3 2000/02/29 12:21:20 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em4SteppingVerbose.hh,v 1.4 2000/12/06 17:22:25 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -// Em4SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class Em4SteppingVerbose; @@ -26,16 +22,17 @@ class Em4SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class Em4SteppingVerbose : public G4SteppingVerbose { + public: -// Constructor/Destructor + Em4SteppingVerbose(); ~Em4SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh b/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh index 986a6db4f1..24b0b01eac 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4VisManager.hh,v 1.2 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/init.mac b/examples/extended/electromagnetic/TestEm4/init.mac index 59f8039847..e963d4e216 100644 --- a/examples/extended/electromagnetic/TestEm4/init.mac +++ b/examples/extended/electromagnetic/TestEm4/init.mac @@ -10,26 +10,17 @@ # 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 -# -# Create a viewer -/vis/viewer/create +#/vis/open DAWNFILE +/vis/open OGLIX # # Draw scene /vis/camera/zoom 1.5 -/vis/scene/notifyHandlers +/vis/drawVolume # # for drawing the tracks # if too many tracks cause core dump => storeTrajectory 0 /tracking/storeTrajectory 1 -/event/drawTracks charged -# -# Flush visualization -/vis/viewer/update +/event/drawTracks all diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc index c5aa2922ad..ad938685ee 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4DetectorConstruction.cc,v 1.2 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc index af484b4f33..525b07179e 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em4EventAction.cc,v 1.3 2000/01/20 17:27:56 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em4EventAction.cc,v 1.4 2000/12/07 13:02:11 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -27,10 +27,6 @@ #include "G4UnitsTable.hh" #include "Randomize.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em4EventAction::Em4EventAction(Em4RunAction* run) @@ -65,10 +61,6 @@ void Em4EventAction::EndOfEventAction( const G4Event* evt) G4cout << " Energy deposit: " << G4BestUnit(TotalEnergyDeposit,"Energy") << G4endl; -#ifndef G4NOHIST - Em4Run->GetHisto(0)->accumulate(TotalEnergyDeposit/MeV); -#endif - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); if(pVVisManager) diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc index a4a668ad9c..ea4b2b999f 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4EventActionMessenger.cc,v 1.2 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc b/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc index bf52d2e701..4c53ebb798 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4PhysicsList.cc,v 1.3 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc index a3e2cf2c8b..b1b65da6f5 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc index f613f04fa0..61deeec953 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em4RunAction.cc,v 1.4 2000/01/20 17:27:57 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em4RunAction.cc,v 1.5 2000/12/07 13:02:11 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -23,10 +23,6 @@ #include "Randomize.hh" -#ifndef G4NOHIST - #include "CLHEP/Hist/HBookFile.h" -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em4RunAction::Em4RunAction() @@ -42,28 +38,12 @@ Em4RunAction::Em4RunAction() Em4RunAction::~Em4RunAction() { delete runMessenger; - -#ifndef G4NOHIST - // Delete HBOOK stuff - delete [] histo; - delete hbookManager; -#endif - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em4RunAction::bookHisto() -{ -#ifndef G4NOHIST - // init hbook - hbookManager = new HBookFile("TestEm4.histo", 68); - - // book histograms - histo[0] = hbookManager->histogram("total energy deposit in C6F6 (MeV)" - , 100,0.,10.); -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -99,12 +79,6 @@ void Em4RunAction::EndOfRunAction(const G4Run* aRun) { HepRandom::showEngineStatus(); HepRandom::saveEngineStatus("endOfRun.rndm"); } - -#ifndef G4NOHIST - // Write histogram file - hbookManager->write(); -#endif - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm4/src/Em4RunActionMessenger.cc index a9a59fed9b..1fca349631 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4RunActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4RunActionMessenger.cc,v 1.3 2000/01/20 17:27:57 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc index 2c07a55179..155015faf6 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4SteppingAction.cc,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc index 41dbcf58ce..9fcff2e21d 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em4SteppingVerbose.cc,v 1.3 2000/02/29 12:22:10 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em4SteppingVerbose.cc,v 1.4 2000/12/06 17:22:25 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em4SteppingVerbose.cc -// -// Description: -// Implementation of the Em4SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "Em4SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + Em4SteppingVerbose::Em4SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// Em4SteppingVerbose::~Em4SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void Em4SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -124,11 +115,11 @@ void Em4SteppingVerbose::StepInfo() } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -//////////////////////////////////////////////// void Em4SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3); G4cout << G4std::setw(10) << "initStep" << G4endl; } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc b/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc index a44f585ce6..069595dc75 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em4VisManager.cc,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm5/GNUmakefile b/examples/extended/electromagnetic/TestEm5/GNUmakefile index a377cc2890..6e9292345b 100644 --- a/examples/extended/electromagnetic/TestEm5/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm5/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2000/05/17 10:56:35 maire Exp $ +# $Id: GNUmakefile,v 1.4 2000/12/07 13:32:33 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -16,11 +16,4 @@ all: lib bin include $(G4INSTALL)/config/architecture.gmk -ifdef G4NOHIST - CPPFLAGS += -DG4NOHIST -else - LDFLAGS += -L$(CERN)/pro/lib - LOADLIBS += -lpacklib $(FCLIBS) -endif - include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/electromagnetic/TestEm5/History b/examples/extended/electromagnetic/TestEm5/History index dd8ca1eca7..ab99a93794 100644 --- a/examples/extended/electromagnetic/TestEm5/History +++ b/examples/extended/electromagnetic/TestEm5/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2000/06/17 12:54:08 stesting Exp $ +$Id: History,v 1.5 2000/12/07 13:32:34 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,17 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +07-12-00 mma (testem5-V02-00-03 & testem-noHist) + remove hbook histograms: GNUmakefile,runAction + +06-12-00 mma (testem5-V02-00-02 & testem-withHist) + update of init.mac for new vis commands. + G4UItcsh in the main() + +25th November 2000 Steve O'Neale (tagset210) +- update test outputs for min.delta energy cut and cut table +- Change in processes below ~ 1 per cent. June 17, 2000 John Allison (testem5-V01-00-00) - Updated TestEm5.out for geant4-01-01-ref-06. diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.cc b/examples/extended/electromagnetic/TestEm5/TestEm5.cc index b37f3130d0..be40778852 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.cc +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.cc @@ -5,24 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TestEm5.cc,v 1.3 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: TestEm5.cc,v 1.4 2000/12/06 18:25:54 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - TestEm5 -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "Randomize.hh" #ifdef G4VIS_USE @@ -37,6 +29,8 @@ #include "Em5SteppingAction.hh" #include "Em5SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + int main(int argc,char** argv) { //choose the Random engine @@ -80,7 +74,12 @@ int main(int argc,char** argv) { if (argc==1) // Define UI terminal for interactive mode { - G4UIsession * session = new G4UIterminal; + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif UI->ApplyCommand("/control/execute init.mac"); session->SessionStart(); delete session; @@ -101,3 +100,5 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.out b/examples/extended/electromagnetic/TestEm5/TestEm5.out index 1d0ee9da25..82e1eaa63e 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -100,15 +100,15 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Beryllium 104.76 - Aluminium 125.07 - Silicon 116.08 - liquidArgon 78.381 - Iron 224.11 - Copper 238.31 - Gold 334.59 - Lead 229.67 - Water 81.518 + Beryllium 104.75 + Aluminium 125.06 + Silicon 116.06 + liquidArgon 78.362 + Iron 224.07 + Copper 238.25 + Gold 334.85 + Lead 229.56 + Water 81.507 Air 0.27455 XenonGas 1.7521 CarbonicGas 0.54205 @@ -118,7 +118,8 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to XenonMethanePropane 1.547 Galactic 0.25 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -154,15 +155,15 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) - Beryllium 104.76 - Aluminium 125.07 - Silicon 116.08 - liquidArgon 78.381 - Iron 224.11 - Copper 238.31 - Gold 334.59 - Lead 229.67 - Water 81.518 + Beryllium 104.75 + Aluminium 125.06 + Silicon 116.06 + liquidArgon 78.362 + Iron 224.07 + Copper 238.25 + Gold 334.85 + Lead 229.56 + Water 81.507 Air 0.27455 XenonGas 1.7521 CarbonicGas 0.54205 @@ -177,26 +178,26 @@ hIoni: Knock-on electron cross sections . delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. ============= The cut Energy ============================== - gamma e- mu- proton neutron -Cut in range 1 mm 1 mm 1 mm 1 mm + gamma e- +Cut in range 1 mm 1 mm Cut in energy - Beryllium 1.99 keV 468 keV 4.32 MeV 11.4 MeV - Aluminium 6.91 keV 595 keV 5.04 MeV 13.2 MeV - Silicon 6.88 keV 546 keV 4.71 MeV 12.2 MeV - liquidArgon 6.15 keV 347 keV 3.24 MeV 8.31 MeV - Iron 20.7 keV 1.29 MeV 8.48 MeV 22 MeV - Copper 24.8 keV 1.39 MeV 8.98 MeV 23.1 MeV - Gold 112 keV 2.29 MeV 11.8 MeV 29.3 MeV - Lead 101 keV 1.36 MeV 8.48 MeV 20.9 MeV - Water 2.93 keV 351 keV 3.4 MeV 8.98 MeV - Air 250 eV 275 eV 48.8 keV 83.6 keV - XenonGas 250 eV 1.75 keV 80.4 keV 93.8 keV - CarbonicGas 250 eV 542 eV 67.6 keV 135 keV - ArgonCO2 250 eV 419 eV 53.7 keV 74.5 keV - NewArgonCO2 250 eV 419 eV 53.7 keV 74.5 keV - ArgonCH4 250 eV 369 eV 49.7 keV 59.1 keV - XenonMethanePropane 250 eV 1.55 keV 78.9 keV 101 keV - Galactic 250 eV 250 eV 250 eV 250 eV + Beryllium 1.99 keV 468 keV + Aluminium 6.91 keV 595 keV + Silicon 6.88 keV 546 keV + liquidArgon 6.15 keV 347 keV + Iron 20.7 keV 1.29 MeV + Copper 24.8 keV 1.39 MeV + Gold 112 keV 2.29 MeV + Lead 101 keV 1.36 MeV + Water 2.93 keV 351 keV + Air 250 eV 275 eV + XenonGas 250 eV 1.75 keV + CarbonicGas 250 eV 542 eV + ArgonCO2 250 eV 419 eV + NewArgonCO2 250 eV 419 eV + ArgonCH4 250 eV 369 eV + XenonMethanePropane 250 eV 1.55 keV + Galactic 250 eV 250 eV =================================================== # # Macro file for the initialization phase of "TestEm5.cc" @@ -262,14 +263,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Beryllium 6.226 - Aluminium 6.8788 - Silicon 6.3418 - liquidArgon 4.0987 - Iron 11.402 - Copper 11.941 - Gold 14.391 - Lead 9.9278 + Beryllium 6.2257 + Aluminium 6.878 + Silicon 6.341 + liquidArgon 4.0982 + Iron 11.398 + Copper 11.936 + Gold 14.357 + Lead 9.9052 Water 3.9978 Air 0.25 XenonGas 0.25 @@ -280,7 +281,8 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to XenonMethanePropane 0.25 Galactic 0.25 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -316,14 +318,14 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) - Beryllium 6.226 - Aluminium 6.8788 - Silicon 6.3418 - liquidArgon 4.0987 - Iron 11.402 - Copper 11.941 - Gold 14.391 - Lead 9.9278 + Beryllium 6.2257 + Aluminium 6.878 + Silicon 6.341 + liquidArgon 4.0982 + Iron 11.398 + Copper 11.936 + Gold 14.357 + Lead 9.9052 Water 3.9978 Air 0.25 XenonGas 0.25 @@ -339,26 +341,26 @@ hIoni: Knock-on electron cross sections . delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. ============= The cut Energy ============================== - gamma e- mu- proton neutron -Cut in range 2.13 mm 7 mum 1 mm 1 mm + gamma e- +Cut in range 2.13 mm 7 mum Cut in energy - Beryllium 2.47 keV 8.08 keV 4.32 MeV 11.4 MeV - Aluminium 9.83 keV 11.9 keV 5.04 MeV 13.2 MeV - Silicon 9.89 keV 10.2 keV 4.71 MeV 12.2 MeV - liquidArgon 8.97 keV 4.88 keV 3.24 MeV 8.31 MeV - Iron 30.6 keV 47.4 keV 8.48 MeV 22 MeV - Copper 37.1 keV 49.7 keV 8.98 MeV 23.1 MeV - Gold 146 keV 65.1 keV 11.8 MeV 29.3 MeV - Lead 123 keV 46.9 keV 8.48 MeV 20.9 MeV - Water 4.03 keV 4 keV 3.4 MeV 8.98 MeV - Air 250 eV 250 eV 48.8 keV 83.6 keV - XenonGas 250 eV 250 eV 80.4 keV 93.8 keV - CarbonicGas 250 eV 250 eV 67.6 keV 135 keV - ArgonCO2 250 eV 250 eV 53.7 keV 74.5 keV - NewArgonCO2 250 eV 250 eV 53.7 keV 74.5 keV - ArgonCH4 250 eV 250 eV 49.7 keV 59.1 keV - XenonMethanePropane 250 eV 250 eV 78.9 keV 101 keV - Galactic 250 eV 250 eV 250 eV 250 eV + 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 + 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 =================================================== # /gun/particle pi+ @@ -398,99 +400,99 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=242.39s Real=259.71s Sys=14.95s + User=257.69s Real=286.45s Sys=14.71s ================== run summary ===================== end of Run TotNbofEvents = 100000 - mean charged track length in absorber=0.0209265 +- 1.37984e-05 mm + mean charged track length in absorber=0.0209905 +- 1.66548e-05 mm - mean energy deposit in absorber=0.00675313 +- 2.06813e-05 MeV + mean energy deposit in absorber=0.00682286 +- 2.23919e-05 MeV - mean number of steps in absorber (charged) =0.03886 +- 0.000710985 - mean number of steps in absorber (neutral) =0 +- 0 + mean number of steps in absorber (charged) =0.04007 +- 0.000740165 + mean number of steps in absorber (neutral) =5e-05 +- 2.23601e-05 - mean number of charged secondaries = 0.03646 +- 0.000624425 + mean number of charged secondaries = 0.03709 +- 0.000635093 - mean number of neutral secondaries = 0 +- 0 + mean number of neutral secondaries = 5e-05 +- 2.23601e-05 - mean number of e-s =0.03646 and e+s =0 + mean number of e-s =0.03709 and e+s =0 -(number) transmission coeff=1 reflection coeff=0.49894 +(number) transmission coeff=1 reflection coeff=0.50178 energy deposit distribution -#entries=100000 #underflows=0 #overflows=5844 +#entries=100000 #underflows=0 #overflows=5815 bin nb Elow entries normalized 0 0 0 0 1 0.0002 0 0 2 0.0004 0 0 3 0.0006 0 0 - 4 0.0008 1 0.05 - 5 0.001 2 0.1 - 6 0.0012 6 0.3 - 7 0.0014 19 0.95 - 8 0.0016 57 2.85 - 9 0.0018 120 6 - 10 0.002 237 11.85 - 11 0.0022 417 20.85 - 12 0.0024 766 38.3 - 13 0.0026 1182 59.1 - 14 0.0028 1809 90.45 - 15 0.003 2458 122.9 - 16 0.0032 3111 155.55 - 17 0.0034 3716 185.8 - 18 0.0036 4281 214.05 - 19 0.0038 4566 228.3 - 20 0.004 4753 237.65 - 21 0.0042 4709 235.45 - 22 0.0044 4637 231.85 - 23 0.0046 4359 217.95 - 24 0.0048 4166 208.3 - 25 0.005 3758 187.9 - 26 0.0052 3518 175.9 - 27 0.0054 3163 158.15 - 28 0.0056 3008 150.4 - 29 0.0058 2749 137.45 - 30 0.006 2525 126.25 - 31 0.0062 2355 117.75 - 32 0.0064 2151 107.55 - 33 0.0066 1966 98.3 - 34 0.0068 1854 92.7 - 35 0.007 1789 89.45 - 36 0.0072 1684 84.2 - 37 0.0074 1548 77.4 - 38 0.0076 1408 70.4 - 39 0.0078 1338 66.9 - 40 0.008 1155 57.75 - 41 0.0082 1138 56.9 - 42 0.0084 1019 50.95 - 43 0.0086 978 48.9 - 44 0.0088 842 42.1 - 45 0.009 809 40.45 - 46 0.0092 727 36.35 - 47 0.0094 667 33.35 - 48 0.0096 658 32.9 - 49 0.0098 579 28.95 - 50 0.01 531 26.55 - 51 0.0102 550 27.5 - 52 0.0104 483 24.15 - 53 0.0106 430 21.5 - 54 0.0108 403 20.15 - 55 0.011 401 20.05 - 56 0.0112 386 19.3 - 57 0.0114 320 16 - 58 0.0116 313 15.65 - 59 0.0118 307 15.35 - 60 0.012 285 14.25 - 61 0.0122 271 13.55 - 62 0.0124 260 13 - 63 0.0126 231 11.55 - 64 0.0128 227 11.35 + 4 0.0008 0 0 + 5 0.001 4 0.2 + 6 0.0012 7 0.35 + 7 0.0014 9 0.45 + 8 0.0016 52 2.6 + 9 0.0018 104 5.2 + 10 0.002 232 11.6 + 11 0.0022 432 21.6 + 12 0.0024 751 37.55 + 13 0.0026 1268 63.4 + 14 0.0028 1785 89.25 + 15 0.003 2413 120.65 + 16 0.0032 3161 158.05 + 17 0.0034 3701 185.05 + 18 0.0036 4201 210.05 + 19 0.0038 4552 227.6 + 20 0.004 4729 236.45 + 21 0.0042 4816 240.8 + 22 0.0044 4543 227.15 + 23 0.0046 4361 218.05 + 24 0.0048 3999 199.95 + 25 0.005 3778 188.9 + 26 0.0052 3576 178.8 + 27 0.0054 3199 159.95 + 28 0.0056 2984 149.2 + 29 0.0058 2706 135.3 + 30 0.006 2445 122.25 + 31 0.0062 2400 120 + 32 0.0064 2238 111.9 + 33 0.0066 1984 99.2 + 34 0.0068 1911 95.55 + 35 0.007 1802 90.1 + 36 0.0072 1666 83.3 + 37 0.0074 1524 76.2 + 38 0.0076 1422 71.1 + 39 0.0078 1287 64.35 + 40 0.008 1235 61.75 + 41 0.0082 1180 59 + 42 0.0084 1042 52.1 + 43 0.0086 909 45.45 + 44 0.0088 880 44 + 45 0.009 805 40.25 + 46 0.0092 769 38.45 + 47 0.0094 680 34 + 48 0.0096 630 31.5 + 49 0.0098 624 31.2 + 50 0.01 545 27.25 + 51 0.0102 508 25.4 + 52 0.0104 482 24.1 + 53 0.0106 418 20.9 + 54 0.0108 428 21.4 + 55 0.011 403 20.15 + 56 0.0112 381 19.05 + 57 0.0114 353 17.65 + 58 0.0116 294 14.7 + 59 0.0118 304 15.2 + 60 0.012 276 13.8 + 61 0.0122 261 13.05 + 62 0.0124 249 12.45 + 63 0.0126 241 12.05 + 64 0.0128 246 12.3 - Emp = 0.004 width= 0.003 MeV + Emp = 0.0042 width= 0.003 MeV --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1546919864, 265575626 + Current couple of seeds = 1120554762, 1278607785 ---------------------------------------- # diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh b/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh index a68f71a2c9..6a31ab5245 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5CalorHit.hh,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh index 4de2ebb245..37435bac3e 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5CalorimeterSD.hh,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh index b3c243e65f..9e3138b4c1 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5DetectorConstruction.hh,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh index 6414d582fa..61a83873e0 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5DetectorMessenger.hh,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh index 83ab148a4b..e8b3487d7c 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5EventAction.hh,v 1.2 1999/12/15 14:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh index 7e7b0dd220..8e79701746 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5EventActionMessenger.hh,v 1.2 1999/12/15 14:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh index 71cfc8f8b5..6da4fda0ab 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PhysicsList.hh,v 1.2 1999/12/15 14:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh index 3de7071f9b..4fd894cb9b 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PhysicsListMessenger.hh,v 1.2 1999/12/15 14:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh index 685329dd82..f1b75b8cac 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh index f3da4b374f..0bf5b0ff5f 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PrimaryGeneratorMessenger.hh,v 1.2 1999/12/15 14:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh index 3b186e8752..344c190629 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em5RunAction.hh,v 1.3 2000/01/20 15:34:39 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em5RunAction.hh,v 1.4 2000/12/07 13:32:34 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -25,11 +25,6 @@ class Em5RunMessenger; class G4Run; -#ifndef G4NOHIST - class HepTupleManager; - class HepHistogram; -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class Em5RunAction : public G4UserRunAction @@ -116,13 +111,6 @@ class Em5RunAction : public G4UserRunAction G4String histName ; -#ifndef G4NOHIST - HepTupleManager* hbookManager; - HepHistogram *histo1, *histo2, *histo3, *histo4, *histo5 ; - HepHistogram *histo6, *histo7, *histo8, *histo9, *histo10; - HepHistogram *hi2bis; -#endif - G4double EnergySumAbs,EnergySquareSumAbs; G4double tlSumAbs,tlsquareSumAbs; G4double nStepSumCharged,nStepSum2Charged ; diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh index da7add842f..322ba96d21 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh @@ -7,7 +7,7 @@ // and all its terms. // // $Id: Em5RunMessenger.hh,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh b/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh index 1ccda37c09..9f0e4eaace 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5StepCut.hh,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh index 9196b68614..3027c4707c 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5SteppingAction.hh,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh index 694d7682e3..b4f9392e0a 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5SteppingMessenger.hh,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh index 707ebf914e..10e0232c96 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh @@ -5,20 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em5SteppingVerbose.hh,v 1.3 2000/02/29 12:23:26 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em5SteppingVerbose.hh,v 1.4 2000/12/06 18:25:55 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -// Em5SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// -// -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class Em5SteppingVerbose; @@ -27,16 +22,17 @@ class Em5SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class Em5SteppingVerbose : public G4SteppingVerbose { + public: -// Constructor/Destructor + Em5SteppingVerbose(); ~Em5SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh b/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh index 4137426130..ee9e90f8d2 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5VisManager.hh,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/init.mac b/examples/extended/electromagnetic/TestEm5/init.mac index aaa16af56b..d7f6713d8d 100644 --- a/examples/extended/electromagnetic/TestEm5/init.mac +++ b/examples/extended/electromagnetic/TestEm5/init.mac @@ -9,25 +9,17 @@ # 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 -# -# Create a viewer -/vis/viewer/create +#/vis/open DAWNFILE +/vis/open OGLIX # # Draw scene -/vis/scene/notifyHandlers +/vis/camera/zoom 1.4 +/vis/drawVolume # # for drawing the tracks # if too many tracks cause core dump => storeTrajectory 0 /tracking/storeTrajectory 1 /event/drawTracks charged -# -# Flush visualization -/vis/viewer/update diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc b/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc index 633a4738c0..5e706d943f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5CalorHit.cc,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc index efded05230..3be8657333 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5CalorimeterSD.cc,v 1.2 1999/12/15 14:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc index 743f02f420..9784719558 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5DetectorConstruction.cc,v 1.4 2000/01/20 15:34:39 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc index 8ffb9b4196..f9f6824a1e 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5DetectorMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc index 74294b3368..c7abc62911 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5EventAction.cc,v 1.3 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc index e8044d4982..25b13fd11c 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5EventActionMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc index 82ab6f0217..b1f5051162 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PhysicsList.cc,v 1.6 2000/05/24 16:13:21 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc index 59662a231d..fc5b4ce450 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PhysicsListMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc index fd02501a35..073071c844 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc index f093282c28..48b538b42f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5PrimaryGeneratorMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc index 019df37630..76640286be 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em5RunAction.cc,v 1.4 2000/01/20 15:34:40 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em5RunAction.cc,v 1.5 2000/12/07 13:32:34 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -24,11 +24,6 @@ #include "Randomize.hh" -#ifndef G4NOHIST -#include "CLHEP/Hist/HBookFile.h" -#include -#endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Em5RunAction::Em5RunAction() @@ -36,12 +31,7 @@ Em5RunAction::Em5RunAction() nbinTsec(0),nbinTh(0),nbinThback(0),nbinR(0),nbinGamma(0),nbinvertexz(0) { runMessenger = new Em5RunMessenger(this); - saveRndm = 1; - -#ifndef G4NOHIST - histo1=0; histo2=0; histo3=0; histo4=0; histo5=0; histo6=0; histo7=0; - histo8=0; histo9=0; histo10=0;hi2bis=0; -#endif + saveRndm = 1; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -49,98 +39,12 @@ Em5RunAction::Em5RunAction() Em5RunAction::~Em5RunAction() { delete runMessenger; -#ifndef G4NOHIST - if(histo1) delete histo1 ; - if(histo2) {delete histo2 ; delete hi2bis;} - if(histo3) delete histo3 ; - if(histo4) delete histo4 ; - if(histo5) delete histo5 ; - if(histo6) delete histo6 ; - if(histo7) delete histo7 ; - if(histo8) delete histo8 ; - if(histo9) delete histo9 ; - if(histo10) delete histo10; - delete hbookManager; -#endif } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void Em5RunAction::bookHisto() -{ -#ifndef G4NOHIST - // init hbook - hbookManager = new HBookFile(histName, 68); - assert (hbookManager != 0); - - // book histograms - if(nbinStep>0) - { - histo1 = hbookManager->histogram("number of steps/event" - ,nbinStep,Steplow,Stephigh) ; - assert (histo1 != 0); - } - if(nbinEn>0) - { - histo2 = hbookManager->histogram("energy deposit in absorber(in MeV)" - ,nbinEn,Enlow,Enhigh) ; - assert (histo2 != 0); - - hi2bis = hbookManager->histogram("energy deposit: normalized distribution" - ,nbinEn,Enlow,Enhigh) ; - assert (hi2bis != 0); - } - if(nbinTh>0) - { - histo3 = hbookManager->histogram("angle distribution at exit(deg)" - ,nbinTh,Thlow/deg,Thhigh/deg) ; - assert (histo3 != 0); - } - if(nbinR>0) - { - histo4 = hbookManager->histogram("lateral distribution at exit(mm)" - ,nbinR ,Rlow,Rhigh) ; - assert (histo4 != 0); - } - if(nbinTt>0) - { - histo5 = hbookManager->histogram("kinetic energy of the primary at exit(MeV)" - ,nbinTt,Ttlow,Tthigh) ; - assert (histo5 != 0); - } - if(nbinThback>0) - { - histo6 = hbookManager->histogram("angle distribution of backscattered primaries(deg)" - ,nbinThback,Thlowback/deg,Thhighback/deg) ; - assert (histo6 != 0); - } - if(nbinTb>0) - { - histo7 = hbookManager->histogram("kinetic energy of the backscattered primaries (MeV)" - ,nbinTb,Tblow,Tbhigh) ; - assert (histo7 != 0); - } - if(nbinTsec>0) - { - histo8 = hbookManager->histogram("kinetic energy of the charged secondaries (MeV)" - ,nbinTsec,Tseclow,Tsechigh) ; - assert (histo8 != 0); - } - if(nbinvertexz>0) - { - histo9 = hbookManager->histogram("z of secondary charged vertices(mm)" - ,nbinvertexz ,zlow,zhigh) ; - assert (histo9 != 0); - } - if(nbinGamma>0) - { - histo10= hbookManager->histogram("kinetic energy of gammas escaping the absorber (MeV)" - // ,nbinGamma,ElowGamma,EhighGamma) ; - ,nbinGamma,log10(ElowGamma),log10(EhighGamma)) ; - assert (histo10 != 0); - } -#endif -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -433,9 +337,7 @@ void Em5RunAction::EndOfRunAction(const G4Run* aRun) for(G4int ien=0; ienaccumulate(E+0.5*dEn,distEn[ien]/TotNbofEvents); -#endif + if(distEn[ien]>fmax) { fmax=distEn[ien]; @@ -727,11 +629,6 @@ void Em5RunAction::EndOfRunAction(const G4Run* aRun) if (G4VVisManager::GetConcreteInstance()) G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); - -#ifndef G4NOHIST - // Write histogram file - hbookManager->write(); -#endif // save Rndm status if (saveRndm == 1) @@ -810,9 +707,6 @@ void Em5RunAction::FillNbOfSteps(G4double ns) ibin= bin ; distStep[ibin] += 1. ; } -#ifndef G4NOHIST - histo1->accumulate(ns); -#endif } } @@ -837,9 +731,6 @@ void Em5RunAction::FillEn(G4double En) ibin= bin ; distEn[ibin] += 1. ; } -#ifndef G4NOHIST - histo2->accumulate(En/MeV); -#endif } } @@ -866,9 +757,6 @@ void Em5RunAction::FillTt(G4double En) ibin= bin ; distTt[ibin] += 1. ; } -#ifndef G4NOHIST - histo5->accumulate(En/MeV); -#endif } } @@ -895,9 +783,6 @@ void Em5RunAction::FillTb(G4double En) ibin= bin ; distTb[ibin] += 1. ; } -#ifndef G4NOHIST - histo7->accumulate(En/MeV) ; -#endif } } @@ -922,9 +807,6 @@ void Em5RunAction::FillTsec(G4double En) ibin= bin ; distTsec[ibin] += 1. ; } -#ifndef G4NOHIST - histo8->accumulate(En/MeV) ; -#endif } } @@ -949,9 +831,6 @@ void Em5RunAction::FillGammaSpectrum(G4double En) ibin= bin ; distGamma[ibin] += 1. ; } -#ifndef G4NOHIST - histo10->accumulate(log10(En/MeV)) ; -#endif } } @@ -990,10 +869,7 @@ void Em5RunAction::FillTh(G4double Th) wg=0. ; } distTh[ibin] += wg ; - } -#ifndef G4NOHIST - histo3->accumulate(Th/deg, wg) ; -#endif + } } } @@ -1031,11 +907,7 @@ void Em5RunAction::FillThBack(G4double Th) } distThback[ibin] += wg ; } -#ifndef G4NOHIST - histo6->accumulate(Th/deg, wg) ; -#endif } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -1060,10 +932,7 @@ void Em5RunAction::FillR(G4double R ) bin = (R -Rlow)/dR ; ibin= bin ; distR[ibin] += 1. ; - } -#ifndef G4NOHIST - histo4->accumulate(R/mm) ; -#endif + } } } @@ -1088,9 +957,6 @@ void Em5RunAction::Fillvertexz(G4double z ) ibin= bin ; distvertexz[ibin] += 1. ; } -#ifndef G4NOHIST - histo9->accumulate(z/mm) ; -#endif } } diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc index d28c6df678..f6ec06f989 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5RunMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5StepCut.cc b/examples/extended/electromagnetic/TestEm5/src/Em5StepCut.cc index de590bf74d..a559865bb8 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5StepCut.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5StepCut.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5StepCut.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc index 13fed1c40e..d03ef33d74 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5SteppingAction.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc index 6b22151ef6..d84d6376ff 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5SteppingMessenger.cc,v 1.2 1999/12/15 14:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc index db407e387c..c79f5c9b16 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Em5SteppingVerbose.cc,v 1.3 2000/02/29 12:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Em5SteppingVerbose.cc,v 1.4 2000/12/06 18:25:55 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// Em5SteppingVerbose.cc -// -// Description: -// Implementation of the Em5SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "Em5SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + Em5SteppingVerbose::Em5SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// Em5SteppingVerbose::~Em5SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void Em5SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -124,11 +115,11 @@ void Em5SteppingVerbose::StepInfo() } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -//////////////////////////////////////////////// void Em5SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3); G4cout << G4std::setw(10) << "initStep" << G4endl; } G4cout.precision(prec); + } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc b/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc index ccc1f2cdde..2c41c0d75e 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em5VisManager.cc,v 1.2 1999/12/15 14:49:11 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm8/GNUmakefile b/examples/extended/electromagnetic/TestEm8/GNUmakefile index 93d2708e9e..c29ee82214 100644 --- a/examples/extended/electromagnetic/TestEm8/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm8/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2000/06/28 09:55:54 gcosmo Exp $ +# $Id: GNUmakefile,v 1.3 2000/07/27 13:02:48 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -8,7 +8,7 @@ G4TARGET := $(name) G4EXLIB := true ifndef G4INSTALL - G4INSTALL = ../../../../.. + G4INSTALL = ../../../.. endif .PHONY: all diff --git a/examples/extended/electromagnetic/TestEm8/History b/examples/extended/electromagnetic/TestEm8/History new file mode 100644 index 0000000000..4c1e560fcf --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/History @@ -0,0 +1,27 @@ +$Id: History,v 1.3 2000/11/24 11:41:28 stesting Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + TestEm8 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 * + ---------------------------------------------------------- + +25th November 2000 Steve O'Neale (tagset210) +- Update test output Change in energy cut table printout (cuts are the same) +- Change in results below 20 per cent + +27th July 2000 Gabriele Cosmo (TestEm8-V02-00-01) +- GNUmakefile: fixed definition of G4INSTALL variable. + +28th June 2000 John Allison (TestEm8-V02-00-00) +- Added TestEm8.out. +- Created this file. diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.cc b/examples/extended/electromagnetic/TestEm8/TestEm8.cc index e7bd47562f..58b22c5bb7 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.cc +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: TestEm8.cc,v 1.1 2000/01/07 14:49:19 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.out b/examples/extended/electromagnetic/TestEm8/TestEm8.out new file mode 100644 index 0000000000..943d7b3be4 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.out @@ -0,0 +1,305 @@ +********************************************** + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) + Copyright : Geant4 Collaboration +********************************************** + +***** Table : Nb of materials = 12 ***** + + 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: Mylar density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 19.770 cm + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 48.42 % Abundance 18.18 % + ---> Element: Carbon C Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 45.47 % Abundance 45.45 % + ---> Element: Hydrogen H 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 + ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 25.16 % Abundance 66.67 % + ---> Element: Carbon C Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 74.84 % Abundance 33.33 % + + Material: Kr density: 3.700 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 30.736 m + ---> Element: Kr Z = 36.0 N = 83.8 A = 83.80 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Argon density: 1.784 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 109.604 m + ---> Element: Argon Ar Z = 18.0 N = 39.9 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: N2 density: 1.251 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 303.846 m + ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: O2 density: 1.429 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 239.621 m + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Air density: 1.293 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 283.293 m + ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 75.57 % Abundance 78.48 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 23.15 % Abundance 21.05 % + ---> Element: Argon Ar Z = 18.0 N = 39.9 A = 39.95 g/mole fractionMass: 1.28 % Abundance 0.47 % + + Material: Xenon density: 5.858 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.478 m + ---> Element: Xenon Z = 54.0 N = 131.3 A = 131.29 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: CO2 density: 1.977 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 158.123 m + ---> Element: Carbon C Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 15.81 % Abundance 33.33 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 84.19 % Abundance 66.67 % + + Material: Xe20CO2 density: 5.082 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 17.695 m + ---> Element: Xenon Z = 54.0 N = 131.3 A = 131.29 g/mole fractionMass: 92.20 % Abundance 53.29 % + ---> Element: Carbon C Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 1.23 % Abundance 15.57 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 6.57 % Abundance 31.14 % + + Material: Kr20CO2 density: 3.601 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 33.957 m + ---> Element: Kr Z = 36.0 N = 83.8 A = 83.80 g/mole fractionMass: 89.00 % Abundance 55.02 % + ---> Element: Carbon C Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 1.74 % Abundance 14.99 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 9.26 % Abundance 29.99 % + + + + The WORLD is made of 8e+02mm of Air, the transverse size (R) of the world is 2e+02 mm. + The ABSORBER is made of 40mm of Kr20CO2, the transverse size (R) is 1e+02 mm. + Z position of the (middle of the) absorber 3.6e+02 mm. + +zRad = 1.5e+02 mm +radThick = 3.5e+02 mm +zModule = 10 mm +i = 0 +10 mm 12 mm 13 mm 15 mm 16 mm 18 mm 19 mm 21 mm 22 mm 24 mm 25 mm 27 mm 28 mm 30 mm 31 mm 33 mm 34 mm 36 mm 37 mm 39 mm 41 mm 42 mm 44 mm 45 mm 47 mm 48 mm 50 mm 51 mm 53 mm 54 mm 56 mm 57 mm 59 mm 60 mm 62 mm 63 mm 65 mm 66 mm 68 mm 70 mm 71 mm 73 mm 74 mm 76 mm 77 mm 79 mm 80 mm 82 mm 83 mm 85 mm 86 mm 88 mm 89 mm 91 mm 92 mm 94 mm 95 mm 97 mm 98 mm 1e+02 mm 1e+02 mm 1e+02 mm 1e+02 mm 1.1e+02 mm 1.1e+02 mm 1.1e+02 mm 1.1e+02 mm 1.1e+02 mm 1.1e+02 mm 1.2e+02 mm 1.2e+02 mm 1.2e+02 mm 1.2e+02 mm 1.2e+02 mm 1.2e+02 mm 1.2e+02 mm 1.3e+02 mm 1.3e+02 mm 1.3e+02 mm 1.3e+02 mm 1.3e+02 mm 1.3e+02 mm 1.4e+02 mm 1.4e+02 mm 1.4e+02 mm 1.4e+02 mm 1.4e+02 mm 1.4e+02 mm 1.4e+02 mm 1.5e+02 mm 1.5e+02 mm 1.5e+02 mm 1.5e+02 mm 1.5e+02 mm 1.5e+02 mm 1.5e+02 mm 1.6e+02 mm 1.6e+02 mm 1.6e+02 mm 1.6e+02 mm 1.6e+02 mm 1.6e+02 mm 1.7e+02 mm 1.7e+02 mm 1.7e+02 mm 1.7e+02 mm 1.7e+02 mm 1.7e+02 mm 1.7e+02 mm 1.8e+02 mm 1.8e+02 mm 1.8e+02 mm 1.8e+02 mm 1.8e+02 mm 1.8e+02 mm 1.9e+02 mm 1.9e+02 mm 1.9e+02 mm 1.9e+02 mm 1.9e+02 mm 1.9e+02 mm 1.9e+02 mm 2e+02 mm 2e+02 mm 2e+02 mm 2e+02 mm 2e+02 mm 2e+02 mm 2.1e+02 mm 2.1e+02 mm 2.1e+02 mm 2.1e+02 mm 2.1e+02 mm 2.1e+02 mm 2.1e+02 mm 2.2e+02 mm 2.2e+02 mm 2.2e+02 mm 2.2e+02 mm 2.2e+02 mm 2.2e+02 mm 2.3e+02 mm 2.3e+02 mm 2.3e+02 mm 2.3e+02 mm 2.3e+02 mm 2.3e+02 mm 2.3e+02 mm 2.4e+02 mm 2.4e+02 mm 2.4e+02 mm 2.4e+02 mm 2.4e+02 mm 2.4e+02 mm 2.4e+02 mm 2.5e+02 mm 2.5e+02 mm 2.5e+02 mm 2.5e+02 mm 2.5e+02 mm 2.5e+02 mm 2.6e+02 mm 2.6e+02 mm 2.6e+02 mm 2.6e+02 mm 2.6e+02 mm 2.6e+02 mm 2.6e+02 mm 2.7e+02 mm 2.7e+02 mm 2.7e+02 mm 2.7e+02 mm 2.7e+02 mm 2.7e+02 mm 2.8e+02 mm 2.8e+02 mm 2.8e+02 mm 2.8e+02 mm 2.8e+02 mm 2.8e+02 mm 2.8e+02 mm 2.9e+02 mm 2.9e+02 mm 2.9e+02 mm 2.9e+02 mm 2.9e+02 mm 2.9e+02 mm 3e+02 mm +the number of TR radiator plates = 188 +plate plasma energy = 30 eV +gas plasma energy = 0.73 eV +Irregular X-ray TR model is called +0 fGamma = 107.6 sumE = 0.002585 +1 fGamma = 123.4 sumE = 0.00372 +2 fGamma = 141.5 sumE = 0.005303 +3 fGamma = 162.3 sumE = 0.007488 +4 fGamma = 186.2 sumE = 0.01043 +5 fGamma = 213.7 sumE = 0.01448 +6 fGamma = 245.2 sumE = 0.02005 +7 fGamma = 281.3 sumE = 0.02763 +8 fGamma = 322.9 sumE = 0.03789 +9 fGamma = 370.5 sumE = 0.05165 +10 fGamma = 425.3 sumE = 0.06986 +11 fGamma = 488.2 sumE = 0.09366 +12 fGamma = 560.3 sumE = 0.1243 +13 fGamma = 643.2 sumE = 0.1632 +14 fGamma = 738.3 sumE = 0.2118 +15 fGamma = 847.6 sumE = 0.2714 +16 fGamma = 973 sumE = 0.3433 +17 fGamma = 1117 sumE = 0.4288 +18 fGamma = 1282 sumE = 0.5287 +19 fGamma = 1472 sumE = 0.6434 +20 fGamma = 1690 sumE = 0.7732 +21 fGamma = 1940 sumE = 0.9176 +22 fGamma = 2228 sumE = 1.076 +23 fGamma = 2558 sumE = 1.246 +24 fGamma = 2936 sumE = 1.427 +25 fGamma = 3371 sumE = 1.616 +26 fGamma = 3871 sumE = 1.81 +27 fGamma = 4444 sumE = 2.006 +28 fGamma = 5102 sumE = 2.219 +29 fGamma = 5858 sumE = 2.558 +30 fGamma = 6726 sumE = 2.913 +31 fGamma = 7722 sumE = 3.279 +32 fGamma = 8866 sumE = 3.655 +33 fGamma = 1.018e+04 sumE = 4.035 +34 fGamma = 1.169e+04 sumE = 4.417 +35 fGamma = 1.342e+04 sumE = 4.797 +36 fGamma = 1.541e+04 sumE = 5.172 +37 fGamma = 1.769e+04 sumE = 5.538 +38 fGamma = 2.031e+04 sumE = 5.893 +39 fGamma = 2.332e+04 sumE = 6.234 +40 fGamma = 2.677e+04 sumE = 6.557 +41 fGamma = 3.074e+04 sumE = 6.862 +42 fGamma = 3.529e+04 sumE = 7.147 +43 fGamma = 4.052e+04 sumE = 7.409 +44 fGamma = 4.652e+04 sumE = 7.649 +45 fGamma = 5.342e+04 sumE = 7.865 +46 fGamma = 6.133e+04 sumE = 8.059 +47 fGamma = 7.042e+04 sumE = 8.229 +48 fGamma = 8.085e+04 sumE = 8.377 +49 fGamma = 9.283e+04 sumE = 8.504 + +total time for build X-ray TR tables = 23.54 s +Em8PhysicsList::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. + +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. + +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. + + eIoni Minimum Delta cut in range=0.1 mm. + + material min.delta energy(keV) + + Aluminium 125.06 + Mylar 117.99 + Polypropelene 111.37 + Kr 1.0737 + Argon 0.99 + N2 0.99 + O2 0.99 + Air 0.99 + Xenon 1.8725 + CO2 0.99 + Xe20CO2 1.6715 + Kr20CO2 1.088 + +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 Minimum Delta cut in range=0.1 mm. + + material min.delta energy(keV) + + Aluminium 125.06 + Mylar 117.99 + Polypropelene 111.37 + Kr 1.0737 + Argon 0.99 + N2 0.99 + O2 0.99 + Air 0.99 + Xenon 1.8725 + CO2 0.99 + Xe20CO2 1.6715 + Kr20CO2 1.088 + +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)=41.1 s +# +# Macro file 'run11.mac' for the initialization phase of "TestEm8.cc" +# +# It creates the default geometry (simple absorber cylinder ) +# +# +#control/saveHistory +# +/run/verbose 2 +# +/run/initialize +# +#/calor/setAbsMat Xenon +# +#/calor/setAbsThick 20.0 mm +# +#/calor/setAbsRad 100.0 mm +# +#/calor/update +# +# hist file name +# +#/plots/sethistName g4.p11 +# +# PLOT: energy deposit distribution in absorber +# +#/plots/setnbinEn 95 +#/plots/setEnlow 0.0 MeV +#/plots/setEnhigh 0.1 MeV +# +#/calor/cutG 3.0 mm +# +#/calor/cutE 3.0 mm +# +/run/initialize +/run/particle/dumpCutValues +============= The cut Energy ============================== + gamma e- +Cut in range 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- +# +#/gun/energy 200.00 GeV +# +/gun/energy 9000.0 MeV +# +#/tracking/verbose 2 +# +/run/beamOn 1000 +### Run 0 start. + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 9876, 54321 +---------------------------------------- +Start closing geometry. +Start Run processing. + +---> Begin of Event: 0 +Run terminated. +Run Summary + Number of events processed : 1000 + User=499.2s Real=528.93s Sys=2.64s + ================== run summary ===================== + end of Run TotNbofEvents = 1000 + mean charged track length in absorber=43.6288 +- 0.226983 mm + + mean energy deposit in absorber=0.105986 +- 0.00116297 MeV + + mean number of steps in absorber (charged) =523.456 +- 3.87851 + mean number of steps in absorber (neutral) =5.124 +- 0.0694451 + + mean number of charged secondaries = 1.402 +- 0.0366933 + + mean number of neutral secondaries = 0.017 +- 0.00408791 + + mean number of e-s =1.402 and e+s =0 + +(number) transmission coeff=0.109 reflection coeff=0 + + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 1680269066, 2086392423 +---------------------------------------- +# +# + + + + + + + + +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/TestEm8/include/Em8CalorHit.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh index 983d2f33c8..fc55a51433 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8CalorHit.hh,v 1.2 2000/06/27 13:29:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh index dd26b26a37..5d8c3efa18 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8CalorimeterSD.hh,v 1.2 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh index 222dd36278..049eeca96d 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8DetectorConstruction.hh,v 1.3 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh index 83f05e2f47..bbfd11b884 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8DetectorMessenger.hh,v 1.2 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh index d49096e7ca..ff1930098e 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8EventAction.hh,v 1.2 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh index 97f54b7003..f15c5fca08 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8EventActionMessenger.hh,v 1.2 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh index d0d74a9cff..cfffd66b62 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PhysicsList.hh,v 1.3 2000/06/27 13:29:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef Em8PhysicsList_h diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh index 8a094f3f82..cae0751242 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PhysicsListMessenger.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh index 4b905271fd..fd967d1080 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PrimaryGeneratorAction.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh index 6e0e791808..f8c1a0aeb1 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PrimaryGeneratorMessenger.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh index 8cee60037f..65bd940a96 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8RunAction.hh,v 1.3 2000/06/28 09:55:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh index a567d193ec..9e7de21262 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh @@ -7,7 +7,7 @@ // and all its terms. // // $Id: Em8RunMessenger.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh b/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh index 30fed12cd2..0de9584661 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8StepCut.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh index d6fc371672..310a76b1cc 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingAction.hh,v 1.2 2000/06/27 13:29:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh index 54a39882c4..2a334ce44a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingMessenger.hh,v 1.2 2000/06/27 13:29:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh index 9153d8df20..55f6d2ab71 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingVerbose.hh,v 1.2 2000/06/27 13:29:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh b/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh index 4d78fb7392..4d5bbdae91 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8VisManager.hh,v 1.2 2000/06/27 13:29:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh index 43af39490d..54a0225f65 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: TRTDetectorConstruction.hh,v 1.2 2000/06/27 13:29:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh index 0bc14b52de..c818071350 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: TRTMaterials.hh,v 1.2 2000/06/27 13:29:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc index e32f3a3d5d..4ee7206203 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8CalorHit.cc,v 1.2 2000/06/27 13:29:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc index e33726f6e4..09c40c15fe 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8CalorimeterSD.cc,v 1.3 2000/06/27 13:29:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc index 62eb58f7ad..f38d2391c5 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8DetectorConstruction.cc,v 1.5 2000/06/27 13:29:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc index 7b30c019f8..ba01dfdeac 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8DetectorMessenger.cc,v 1.2 2000/06/27 13:29:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc index dc8d8c5b74..5f39e2d989 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8EventAction.cc,v 1.3 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc index e60a3d927b..06c3a1dc90 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8EventActionMessenger.cc,v 1.2 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc index 3e38483341..25aa7e4430 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PhysicsList.cc,v 1.4 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4Timer.hh" diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc index c565fd9dcd..bc39a84a64 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PhysicsListMessenger.cc,v 1.2 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc index 1df678da60..67d041ddf1 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PrimaryGeneratorAction.cc,v 1.3 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc index f81d14651f..b1b27ceda2 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8PrimaryGeneratorMessenger.cc,v 1.2 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc index 9b647eda90..839ed75678 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8RunAction.cc,v 1.5 2000/06/28 09:55:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc index f11540816d..970ab8ab1d 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8RunMessenger.cc,v 1.3 2000/06/27 13:29:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc b/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc index e4c9c7076f..5b65f764a6 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8StepCut.cc,v 1.3 2000/06/27 13:29:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "Em8StepCut.hh" diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc index d2f4421f8f..d34bb8daeb 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingAction.cc,v 1.3 2000/06/27 13:29:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc index d0f86fa96c..7476e5d891 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingMessenger.cc,v 1.2 2000/06/27 13:29:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc index 6f47946ea1..3f810eddbd 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8SteppingVerbose.cc,v 1.3 2000/06/27 13:29:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc b/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc index 33f44e4651..b792b7c03f 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: Em8VisManager.cc,v 1.2 2000/06/27 13:29:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/g3tog4/README b/examples/extended/g3tog4/README new file mode 100644 index 0000000000..97f6024c2b --- /dev/null +++ b/examples/extended/g3tog4/README @@ -0,0 +1,31 @@ + + G3toG4 tool's examples + ---------------------- + +This directory includes two applications to demonstrate the usage of the +g3tog4 tool for converting Geant 3.21 simple geometries to Geant4 ones. + +clGeometry +---------- +Contains the code to build a detector geometry using the call list +mechanism and also provides visualization. The name of the executable is +clGeometry. + +To run the application, one must provide as input argument a call list file +(few test samples are placed in ../data), generated by the rztog4 application +which can be built typing "gmake bin" from $G4INSTALL/source/g3tog4. + +clGeometry.in is a macro to be executed either interactively or in batch. + +For example: +> cd $G4INSTALL/examples/extended/g3tog4 +> clGeometry data/testmodel.dat < clGeometry.in + +cltog4 +------ +is a simple example which simply invokes the call list interpreter method +G4BuildGeom from G3toG4DetectorConstruction class, builds the geometry +and exits. + +As for clGeometry, a call list needs to be fed to cltog4. A macro cltog4.in +is available to be executed either interactively or in batch. diff --git a/examples/extended/g3tog4/clGeometry/GNUmakefile b/examples/extended/g3tog4/clGeometry/GNUmakefile new file mode 100644 index 0000000000..64bd7aad38 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/GNUmakefile @@ -0,0 +1,15 @@ +# $Id: GNUmakefile,v 1.1 2000/07/24 11:23:40 gcosmo Exp $ +# ---------------------------------------------------------------- + +name := clGeometry +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.cc b/examples/extended/g3tog4/clGeometry/clGeometry.cc new file mode 100644 index 0000000000..475f9d4c05 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/clGeometry.cc @@ -0,0 +1,163 @@ +// 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: clGeometry.cc,v 1.1 2000/07/24 11:23:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +// controls whether drawing is to be Done or not + +#include "g4std/fstream" +#include +#include "G4ios.hh" + +// package includes + +#include "G3toG4DetectorConstruction.hh" +#include "G3toG4RunAction.hh" +#include "G3toG4PrimaryGeneratorAction.hh" +#include "G3toG4PhysicsList.hh" +#include "G3toG4EventAction.hh" +#include "G4LogicalVolume.hh" +#include "G3VolTable.hh" + +// geant4 includes + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" + +// visualization +#ifdef G4VIS_USE +#include "G3toG4VisManager.hh" +#endif + +G4int main(int argc, char** argv) +{ + G4String inFile; + G4String macroFile = ""; + + if (argc < 2) { + G4cerr << "clGeometry: Correct syntax: clGeometry [ ]" + << G4endl; + G4cerr << "If only one argument is specified, interactive mode will be " + << "entered." << G4endl << "The second argument, if specified, is " + << "the name of the macro file (batch mode)." << G4endl; + + return EXIT_FAILURE; + } + if (argc >= 2) { + // Process the command line + inFile = argv[1]; + G4std::ifstream in(inFile); + if (!in) { + G4cerr << "Cannot open input file \"" << inFile << "\"" << G4endl; + return EXIT_FAILURE; + } + } + if (argc >= 3) { + macroFile = argv[2]; + G4std::ifstream mac(macroFile); + if (!mac) { + G4cout << "Cannot open macro file """ << macroFile << """" << G4endl; + return 2; + } + } + if (argc >= 4) { + G4cerr << "Too many command line arguments (" << argc <<")" << G4endl; + return EXIT_FAILURE; + } + + // Construct the default run manager + G4RunManager* RunManager = new G4RunManager; + + // set mandatory initialization classes + RunManager->SetUserInitialization(new G3toG4DetectorConstruction(inFile)); + + G3toG4PhysicsList* thePhysicsList = new G3toG4PhysicsList; + + // set verbosity of PhysicsList + thePhysicsList->SetVerboseLevel(2); + RunManager->SetUserInitialization(thePhysicsList); + + //---------------- + // Visualization: + //---------------- + +#ifdef G4VIS_USE + G4VisManager* VisManager = new G3toG4VisManager; + VisManager -> Initialize(); +#endif + + // set user action classes + + RunManager->SetUserAction(new G3toG4RunAction); + + G3toG4EventAction* theEventAction = new G3toG4EventAction; + theEventAction->SetDrawFlag("all"); + RunManager->SetUserAction(theEventAction); + + RunManager->SetUserAction(new G3toG4PrimaryGeneratorAction); + + // the pointer to the User Interface manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + // set some additional defaults and initial actions + + UI->ApplyCommand("/control/verbose 1"); + UI->ApplyCommand("/run/verbose 1"); + UI->ApplyCommand("/tracking/verbose 1"); + UI->ApplyCommand("/tracking/storeTrajectory 1"); + UI->ApplyCommand("/run/initialize"); + + G4bool batch_mode = macroFile != ""; + + if(!batch_mode) { + G4UIsession * session = new G4UIterminal; + if (session != 0) { + session->SessionStart(); + delete session; + // G4cout << "deleted G4UITerminal..." << G4endl; + } + } + else { + // Batch mode + G4String command = "/control/execute "; + UI->ApplyCommand(command+macroFile); + } +#ifdef G4VIS_USE + if (VisManager !=0) delete VisManager; +#endif + delete RunManager; + return EXIT_SUCCESS; +} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.in b/examples/extended/g3tog4/clGeometry/clGeometry.in new file mode 100644 index 0000000000..ba750576d9 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/clGeometry.in @@ -0,0 +1,29 @@ +# +# Initialize GEANT4 +# +/gun/position 0. -1.5 0. mm +/gun/direction 0. 1. 0. +/gun/energy 1 GeV +/gun/particle mu- +/run/beamOn 1 +/gun/particle mu+ +/run/beamOn 1 +/gun/particle e- +/run/beamOn 1 +/gun/particle e+ +/run/beamOn 1 +# +/gun/position 0. 1.5 0. mm +/gun/direction 1. 0. 0. +/gun/energy 1 GeV +/gun/particle mu- +/run/beamOn 1 +/gun/particle mu+ +/run/beamOn 1 +/gun/particle e- +/run/beamOn 1 +/gun/particle e+ +/run/beamOn 1 +# +# Termination +# diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.out b/examples/extended/g3tog4/clGeometry/clGeometry.out new file mode 100644 index 0000000000..bbcad18530 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/clGeometry.out @@ -0,0 +1,387 @@ +********************************************** + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) + Copyright : Geant4 Collaboration +********************************************** +Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat" +G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 +/run/verbose 1 +/tracking/verbose 1 +/tracking/storeTrajectory 1 +/run/initialize +Instantiated unit rotation matrix irot=0 +Reading the call List file /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat... +G4ggclos: setting top-level VolTableEntry +Dump of VTD - 26 entries: +Instantiated 26 volume table entries + 15 positions. +G3VolTable element 0 name BOX1 has 1 daughters +G3VolTable element 1 name BOX1_1 has 1 daughters +G3VolTable element 2 name BOX1_2 has 1 daughters +G3VolTable element 3 name BOX1_3 has 1 daughters +G3VolTable element 4 name BOX1_4 has 1 daughters +G3VolTable element 5 name BOX2 has 1 daughters +G3VolTable element 6 name BOX2_1 has 1 daughters +G3VolTable element 7 name BOX2_2 has 1 daughters +G3VolTable element 8 name BOX2_3 has 1 daughters +G3VolTable element 9 name BOX2_4 has 1 daughters +G3VolTable element 10 name BOX2_5 has 1 daughters +G3VolTable element 11 name BXD1 has 0 daughters +G3VolTable element 12 name BXD1_1 has 0 daughters +G3VolTable element 13 name BXD1_2 has 0 daughters +G3VolTable element 14 name BXD1_2_ENV has 1 daughters +G3VolTable element 15 name BXD1_3 has 0 daughters +G3VolTable element 16 name BXD1_3_ENV has 1 daughters +G3VolTable element 17 name BXD1_4 has 0 daughters +G3VolTable element 18 name BXD1_4_ENV has 1 daughters +G3VolTable element 19 name BXD1_5 has 0 daughters +G3VolTable element 20 name BXD1_5_ENV has 1 daughters +G3VolTable element 21 name HALL has 6 daughters +G3VolTable element 22 name TBD1 has 0 daughters +G3VolTable element 23 name TBD2 has 0 daughters +G3VolTable element 24 name TUB1 has 1 daughters +G3VolTable element 25 name TUB2 has 1 daughters +Call List file read completed. Build geometry +G3toG4 top level volume is HALL +Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visible, colour: (1,1,1,1) + linestyle: solid, line width: 1 + drawing style unforced +Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visible, colour: (1,1,1,1) + linestyle: solid, line width: 1 + drawing style unforced +G4VUserPhysicsList::Construct() +Construct particles +Construct processes +G3toG4PhysicsList::SetCuts:CutLength : 2 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. + +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. +Set cuts for gamma + +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. + + eIoni Minimum Delta cut in range=0.2 mm. + + material min.delta energy(keV) + +HYDROGEN 42.186 +DEUTERIUM 67.149 +HELIUM 37.6 +LITHIUM 76.527 +BERILLIUM 158.47 +CARBON 187.35 +NITROGEN 99.22 +NEON 121.65 +ALUMINIUM 191.92 +IRON 356.49 +COPPER 380.82 +TUNGSTEN 561.11 +LEAD 370.83 +URANIUM 529.64 + AIR 0.99 +VACUUM 0.99 + +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. +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. +Set cuts for e+ + +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 Minimum Delta cut in range=0.2 mm. + + material min.delta energy(keV) + +HYDROGEN 42.186 +DEUTERIUM 67.149 +HELIUM 37.6 +LITHIUM 76.527 +BERILLIUM 158.47 +CARBON 187.35 +NITROGEN 99.22 +NEON 121.65 +ALUMINIUM 191.92 +IRON 356.49 +COPPER 380.82 +TUNGSTEN 561.11 +LEAD 370.83 +URANIUM 529.64 + AIR 0.99 +VACUUM 0.99 + +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. +Set cuts for proton +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 + +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. +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 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 +=================================================== +Idle> # +Idle> # Initialize GEANT4 +Idle> # +Idle> /gun/position 0. -1.5 0. mm +Idle> /gun/direction 0. 1. 0. +Idle> /gun/energy 1 GeV +Idle> /gun/particle mu- +Idle> /run/beamOn 1 +### Run 0 start. +Start Run processing. +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = mu-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -1.5 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 202 202 TBD2 Transportation + 2 0 360 0 1e+03 0 160 362 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0.02s Real=0.06s Sys=0s +Idle> /gun/particle mu+ +Idle> /run/beamOn 1 +### Run 1 start. +Start Run processing. +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = mu+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -1.5 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 202 202 TBD2 Transportation + 2 0 360 0 1e+03 0 160 362 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0.01s Real=0.01s Sys=0s +Idle> /gun/particle e- +Idle> /run/beamOn 1 +### Run 2 start. +Start Run processing. +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -1.5 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 202 202 TBD2 Transportation + 2 0 360 0 1e+03 0 160 362 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0.01s Real=0.01s Sys=0s +Idle> /gun/particle e+ +Idle> /run/beamOn 1 +### Run 3 start. +Start Run processing. +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -1.5 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 202 202 TBD2 Transportation + 2 0 360 0 1e+03 0 160 362 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0.01s Real=0.01s Sys=0s +Idle> # +Idle> /gun/position 0. 1.5 0. mm +Idle> /gun/direction 1. 0. 0. +Idle> /gun/energy 1 GeV +Idle> /gun/particle mu- +Idle> /run/beamOn 1 +### Run 4 start. +Start Run processing. +>>>>>>>> Primary direction: (1,0,0) + +********************************************************************************************************* +* G4Track Information: Particle = mu-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 1.5 0 1e+03 0 0 0 TBD1 initStep + 1 200 1.5 0 1e+03 0 200 200 TBD2 Transportation + 2 360 1.5 0 1e+03 0 160 360 HALL Transportation + 3 4e+03 1.5 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0s Real=0s Sys=0s +Idle> /gun/particle mu+ +Idle> /run/beamOn 1 +### Run 5 start. +Start Run processing. +>>>>>>>> Primary direction: (1,0,0) + +********************************************************************************************************* +* G4Track Information: Particle = mu+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 1.5 0 1e+03 0 0 0 TBD1 initStep + 1 200 1.5 0 1e+03 0 200 200 TBD2 Transportation + 2 360 1.5 0 1e+03 0 160 360 HALL Transportation + 3 4e+03 1.5 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0s Real=0s Sys=0s +Idle> /gun/particle e- +Idle> /run/beamOn 1 +### Run 6 start. +Start Run processing. +>>>>>>>> Primary direction: (1,0,0) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 1.5 0 1e+03 0 0 0 TBD1 initStep + 1 200 1.5 0 1e+03 0 200 200 TBD2 Transportation + 2 360 1.5 0 1e+03 0 160 360 HALL Transportation + 3 4e+03 1.5 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0s Real=0s Sys=0s +Idle> /gun/particle e+ +Idle> /run/beamOn 1 +### Run 7 start. +Start Run processing. +>>>>>>>> Primary direction: (1,0,0) + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 1.5 0 1e+03 0 0 0 TBD1 initStep + 1 200 1.5 0 1e+03 0 200 200 TBD2 Transportation + 2 360 1.5 0 1e+03 0 160 360 HALL Transportation + 3 4e+03 1.5 0 1e+03 0 3.64e+03 4e+03 OutOfWorld Transportation +>>> Event 0 + 1 trajectories stored in this event. +Run terminated. +Run Summary + Number of events processed : 1 + User=0s Real=0s Sys=0s +Idle> # +Idle> # Termination +Idle> # +Idle> 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 new file mode 100644 index 0000000000..2f1e1f2d46 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh @@ -0,0 +1,45 @@ +// 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: G3toG4DetectorConstruction.hh,v 1.1 2000/07/24 11:23:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +#ifndef G3toG4DetectorConstruction_h +#define G3toG4DetectorConstruction_h 1 + +//-------------------------------------------------------------------------- +// G3toG4DetectorConstruction. Most the work is Done in +// G4BuildGeom, which returns a G4LogicalVolume*, a pointer to the +// top-level logiical volume in the detector defined by the call List file +// inFile +//-------------------------------------------------------------------------- + +#include "G4VUserDetectorConstruction.hh" +#include "G4PVPlacement.hh" +#include "G4LogicalVolume.hh" +#include "G3G4Interface.hh" +#include "globals.hh" + +class G3toG4DetectorConstruction : public G4VUserDetectorConstruction +{ +public: + G3toG4DetectorConstruction(G4String inFile="svt.dat"); + + ~G3toG4DetectorConstruction(); + + G4VPhysicalVolume* Construct(); + G4LogicalVolume* SimpleConstruct(); + +private: + G4String _inFile; + G4VPhysicalVolume* _pv; + G4LogicalVolume* _lv; +}; + +#endif + + diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh new file mode 100644 index 0000000000..1e2a1dd479 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh @@ -0,0 +1,45 @@ +// 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: G3toG4EventAction.hh,v 1.1 2000/07/24 11:23:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4EventAction_h +#define G3toG4EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class G3toG4EventActionMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4EventAction : public G4UserEventAction +{ + public: + G3toG4EventAction(); + ~G3toG4EventAction(); + + public: + void BeginOfEventAction(const G4Event* anEvent); + void EndOfEventAction(const G4Event* anEvent); + + void SetDrawFlag(G4String val) {drawFlag = val;}; + + private: + G4String drawFlag; // control the drawing of event + G3toG4EventActionMessenger* eventMessenger; +}; + +#endif + + diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh new file mode 100644 index 0000000000..b9f5057a84 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh @@ -0,0 +1,40 @@ +// 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: G3toG4EventActionMessenger.hh,v 1.1 2000/07/24 11:23:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4EventActionMessenger_h +#define G3toG4EventActionMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class G3toG4EventAction; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4EventActionMessenger: public G4UImessenger +{ + public: + G3toG4EventActionMessenger(G3toG4EventAction*); + ~G3toG4EventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + G3toG4EventAction* eventAction; + G4UIcmdWithAString* DrawCmd; +}; + +#endif diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh new file mode 100644 index 0000000000..bede86edcb --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh @@ -0,0 +1,68 @@ +// 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: G3toG4PhysicsList.hh,v 1.1 2000/07/24 11:23:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4PhysicsList_h +#define G3toG4PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4PhysicsList: public G4VUserPhysicsList +{ + public: + G3toG4PhysicsList(); + ~G3toG4PhysicsList(); + + protected: + // Construct particle and physics + virtual void ConstructParticle(); + virtual void ConstructProcess(); + + virtual void SetCuts(); + + public: + // Set/Get cut values + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForProton(G4double); + G4double GetCutForGamma() const; + G4double GetCutForElectron() const; + G4double GetCutForProton() const; + + 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(); + + private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForProton; + G4double currentDefaultCut; +}; + +#endif + + + diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..8b7f604bed --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh @@ -0,0 +1,36 @@ +// 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: G3toG4PrimaryGeneratorAction.hh,v 1.1 2000/07/24 11:23:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#ifndef G3toG4PrimaryGeneratorAction_h +#define G3toG4PrimaryGeneratorAction_h 1 + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4ThreeVector.hh" + +class G3toG4PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + G3toG4PrimaryGeneratorAction(); + ~G3toG4PrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event* anEvent); + + private: + G4ParticleGun* particleGun; + G4ThreeVector GetRandomDirection(); +}; + +#endif + + diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh new file mode 100644 index 0000000000..c4df47ae7e --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh @@ -0,0 +1,35 @@ +// 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: G3toG4RunAction.hh,v 1.1 2000/07/24 11:23:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#ifndef G3toG4RunAction_h +#define G3toG4RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +class G4Run; + +class G3toG4RunAction : public G4UserRunAction +{ + public: + G3toG4RunAction(); + ~G3toG4RunAction(); + + public: + void BeginOfRunAction(const G4Run* aRun); + void EndOfRunAction(const G4Run* aRun); + + private: + G4int runIDcounter; +}; + +#endif + diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh new file mode 100644 index 0000000000..92baeea01a --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh @@ -0,0 +1,50 @@ +// 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: G3toG4VisManager.hh,v 1.1 2000/07/24 11:23:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....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 G3toG4VisManager_h +#define G3toG4VisManager_h 1 + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4VisManager: public G4VisManager { + +public: + + G3toG4VisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +#endif diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc new file mode 100644 index 0000000000..3e882b6532 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc @@ -0,0 +1,110 @@ +// 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: G3toG4DetectorConstruction.cc,v 1.1 2000/07/24 11:23:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +//-------------------------------------------------------------------------- +// G3toG4DetectorConstruction. Most the work is Done in +// G4BuildGeom, which returns a G4LogicalVolume*, a pointer to the +// top-level logiical volume in the detector defined by the call List file +// inFile +//-------------------------------------------------------------------------- + +#include "G4ios.hh" +#include "G3toG4DetectorConstruction.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4Material.hh" +#include "G4Box.hh" + +G3toG4DetectorConstruction::G3toG4DetectorConstruction(G4String inFile){ + _inFile = inFile; + G4cout << "Instantiated G3toG4DetectorConstruction using call list file \"" + << _inFile << "\"" << G4endl; +} + +G3toG4DetectorConstruction::~G3toG4DetectorConstruction(){ + // G4cout << "Deleted G3toG4DetectorConstruction..." << G4endl; +} + +G4VPhysicalVolume* +G3toG4DetectorConstruction::Construct(){ + _lv = G4BuildGeom(_inFile); + //_lv = SimpleConstruct(); + if (_lv != 0) { + _pv = new G4PVPlacement(0, G4ThreeVector(), _lv, _lv->GetName(), 0, + false, 0); + G4cout << "Top-level G3toG4 logical volume " << _lv->GetName() << " " + << *(_lv -> GetVisAttributes()) << G4endl; + } 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; + // n=number of nucleons in an isotope; + + 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 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); + G4VSolid* Mother = new G4Box("TestMother", //its name + 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"); + + G4VPhysicalVolume* physiDaughter = new G4PVPlacement(0, + G4ThreeVector(), + logicDaughter, + "PTestDaughter", + logicMother, + false,0); + // + // Visualization attributes + // + + logicMother->SetVisAttributes (G4VisAttributes::Invisible); + G4VisAttributes* DaughterVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + DaughterVisAtt->SetVisibility(true); + logicDaughter->SetVisAttributes(DaughterVisAtt); + return logicMother; +} + + + + + + + + + + + + + diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc new file mode 100644 index 0000000000..e8f734a14e --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc @@ -0,0 +1,77 @@ +// 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: G3toG4EventAction.cc,v 1.1 2000/07/24 11:23:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "g4rw/tvordvec.h" +#include "G4ios.hh" +#include "G3toG4EventAction.hh" +#include "G3toG4EventActionMessenger.hh" +#include "G4Event.hh" +#include "G4EventManager.hh" +#include "G4HCofThisEvent.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" +#include "G4UImanager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventAction::G3toG4EventAction() + : drawFlag("all"),eventMessenger(NULL) +{ + eventMessenger = new G3toG4EventActionMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventAction::~G3toG4EventAction() +{ + delete eventMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventAction::BeginOfEventAction(const G4Event* Ev) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventAction::EndOfEventAction(const G4Event* Ev) +{ + const G4Event* evt = fpEventManager->GetConstCurrentEvent(); + + G4cout << ">>> Event " << evt->GetEventID() << G4endl; + + G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if(trajectoryContainer){ + n_trajectories = trajectoryContainer->entries(); + } + G4cout << " " << n_trajectories + << " trajectories stored in this event." << G4endl; + + if(G4VVisManager::GetConcreteInstance()){ + for(G4int i=0; iGetTrajectoryContainer()))[i]; + if (drawFlag == "all") trj->DrawTrajectory(50); + else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(50); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc new file mode 100644 index 0000000000..7e98f018c4 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc @@ -0,0 +1,52 @@ +// 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: G3toG4EventActionMessenger.cc,v 1.1 2000/07/24 11:23:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G3toG4EventActionMessenger.hh" + +#include "G3toG4EventAction.hh" +#include "G4UIcmdWithAString.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventActionMessenger::G3toG4EventActionMessenger(G3toG4EventAction* EvAct) +:eventAction(EvAct) +{ + DrawCmd = new G4UIcmdWithAString("/event/draw",this); + DrawCmd->SetGuidance("Draw the tracks in the event"); + DrawCmd->SetGuidance(" Choice : none, charged, all (default)"); + DrawCmd->SetParameterName("choice",true); + DrawCmd->SetDefaultValue("all"); + DrawCmd->SetCandidates("none charged all"); + DrawCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventActionMessenger::~G3toG4EventActionMessenger() +{ + delete DrawCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue) +{ + if(command == DrawCmd) + {eventAction->SetDrawFlag(newValue);} + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc new file mode 100644 index 0000000000..a71806a5a5 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc @@ -0,0 +1,293 @@ +// 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: G3toG4PhysicsList.cc,v 1.1 2000/07/24 11:23:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G3toG4PhysicsList.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ParticleWithCuts.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4PhysicsList::G3toG4PhysicsList(): G4VUserPhysicsList() +{ + currentDefaultCut = defaultCutValue = 2.0*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForProton = defaultCutValue; + + SetVerboseLevel(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4PhysicsList::~G3toG4PhysicsList() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::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 G3toG4PhysicsList::ConstructBaryons() +{ +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +//....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 G3toG4PhysicsList::ConstructEM() +{ + 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); + } + } +} + + +#include "G4Decay.hh" + +void G3toG4PhysicsList::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 G3toG4PhysicsList::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 << "G3toG4PhysicsList::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+"); + + // 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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +void G3toG4PhysicsList::SetCutForGamma(G4double cut) +{ + ResetCuts(); + cutForGamma = cut; +} + +void G3toG4PhysicsList::SetCutForElectron(G4double cut) +{ + ResetCuts(); + cutForElectron = cut; +} + +void G3toG4PhysicsList::SetCutForProton(G4double cut) +{ + ResetCuts(); + cutForProton = cut; +} + +G4double G3toG4PhysicsList::GetCutForGamma() const +{ + return cutForGamma; +} + +G4double G3toG4PhysicsList::GetCutForElectron() const +{ + return cutForElectron; +} + +G4double G3toG4PhysicsList::GetCutForProton() const +{ + return cutForGamma; +} + + + + + + + + + + + + diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..431c5eded2 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc @@ -0,0 +1,76 @@ +// 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: G3toG4PrimaryGeneratorAction.cc,v 1.2 2000/08/01 09:44:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#include "globals.hh" +#include "Randomize.hh" +#include "G3toG4PrimaryGeneratorAction.hh" +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" + +G3toG4PrimaryGeneratorAction::G3toG4PrimaryGeneratorAction(){ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="chargedgeantino"); + particleGun->SetParticleDefinition(particle); + G4ThreeVector direction(0, 0, 1); + particleGun->SetParticleMomentumDirection(direction.unit()); + particleGun->SetParticleEnergy(1.*GeV); + particleGun->SetParticlePosition(G4ThreeVector(0.*cm, 0.*cm,0.*cm)); +} + +G3toG4PrimaryGeneratorAction::~G3toG4PrimaryGeneratorAction(){ + delete particleGun; +} + +void +G3toG4PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent){ + //G4ThreeVector direction = GetRandomDirection(); + //particleGun->SetParticleMomentumDirection( direction.unit() ) ; + G4cout << ">>>>>>>> Primary direction: " + << particleGun->GetParticleMomentumDirection() << G4endl; + particleGun->GeneratePrimaryVertex(anEvent); +} + +G4ThreeVector +G3toG4PrimaryGeneratorAction::GetRandomDirection() { + + G4ThreeVector retval; + + G4double CosTheta; + G4double SinTheta; + + G4double Phi; + G4double SinPhi; + G4double CosPhi; + + G4double rand; + + rand = G4UniformRand(); + + CosTheta = 2.0*rand -1.0; + SinTheta = sqrt (1.-CosTheta*CosTheta); + rand = G4UniformRand(); + Phi = twopi*rand; + SinPhi = sin (Phi); + CosPhi = cos (Phi); + retval.setX(SinTheta*CosPhi); + retval.setY(SinTheta*SinPhi); + retval.setZ(CosTheta); + + return retval; +} + diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc new file mode 100644 index 0000000000..54e4ba8c3a --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc @@ -0,0 +1,38 @@ +// 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: G3toG4RunAction.cc,v 1.1 2000/07/24 11:23:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#include "G4ios.hh" +#include "G3toG4RunAction.hh" +#include "G4Run.hh" +#include "G4VVisManager.hh" +#include "G4UImanager.hh" +#include "G4ios.hh" + +G3toG4RunAction::G3toG4RunAction(){ + runIDcounter = 0; +} + +G3toG4RunAction::~G3toG4RunAction(){;} + +void G3toG4RunAction::BeginOfRunAction(const G4Run* aRun){ + ((G4Run *)(aRun))->SetRunID(runIDcounter++); + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (G4VVisManager::GetConcreteInstance()) { + UI->ApplyCommand("/vis~/clear/view"); + UI->ApplyCommand("/vis~/draw/current"); + } +} + +void G3toG4RunAction::EndOfRunAction(const G4Run* aRun){;} + diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc new file mode 100644 index 0000000000..22ffc0e1e3 --- /dev/null +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc @@ -0,0 +1,142 @@ +// 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: G3toG4VisManager.cc,v 1.1 2000/07/24 11:23:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// John Allison 24th January 1998. + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4ios.hh" +#ifdef G4VIS_USE + +#include "G3toG4VisManager.hh" + +// Supported drivers... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_DAWNFILE +#include "G4DAWNFILE.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_RAYX +#include "G4RayX.hh" +#endif + +#ifdef G4VIS_USE_VRML +#include "G4VRML1.hh" +#include "G4VRML2.hh" +#endif + +#ifdef G4VIS_USE_VRMLFILE +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4VisManager::G3toG4VisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4VisManager::RegisterGraphicsSystems () { + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_DAWNFILE + RegisterGraphicsSystem (new G4DAWNFILE); +#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_RAYX + RegisterGraphicsSystem (new G4RayX); +#endif + +#ifdef G4VIS_USE_VRML + RegisterGraphicsSystem (new G4VRML1); + RegisterGraphicsSystem (new G4VRML2); +#endif + +#ifdef G4VIS_USE_VRMLFILE + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); +#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/extended/g3tog4/cltog4/GNUmakefile b/examples/extended/g3tog4/cltog4/GNUmakefile new file mode 100644 index 0000000000..471811b725 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/GNUmakefile @@ -0,0 +1,15 @@ +# $Id: GNUmakefile,v 1.1 2000/07/24 11:23:46 gcosmo Exp $ +# ---------------------------------------------------------------- + +name := cltog4 +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk diff --git a/examples/extended/g3tog4/cltog4/cltog4.cc b/examples/extended/g3tog4/cltog4/cltog4.cc new file mode 100644 index 0000000000..ffe77e8ca3 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/cltog4.cc @@ -0,0 +1,103 @@ +// 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: cltog4.cc,v 1.1 2000/07/24 11:23:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +#include "G4ios.hh" +#include "g4std/fstream" +#include + +// example header file includes + +#include "G3toG4DetectorConstruction.hh" +#include "G3toG4RunAction.hh" +#include "G3toG4PrimaryGeneratorAction.hh" +#include "G3toG4PhysicsList.hh" +#include "G4LogicalVolume.hh" +#include "G3VolTable.hh" + +// geant4 includes + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" + +G4int main(int argc, char** argv) +{ + G4String inFile; + G4String macroFile = ""; + + if (argc < 2) { + G4cout << "Correct syntax:" << argv[0] << " [ ]" + << G4endl; + G4cout << "If only one argument is specified, macro file " << macroFile + << "will be used." << G4endl + << "The second argument is used to override the default macro file" + << " name." << G4endl; + + return 1; + } + if (argc >= 2) { + // Process the command line + inFile = argv[1]; + G4std::ifstream in(inFile); + if (!in) { + G4cout << "Cannot open input file """ << inFile << """" << G4endl; + return 1; + } + } + if (argc >= 3) { + macroFile = argv[2]; + G4std::ifstream mac(macroFile); + if (!mac) { + G4cout << "Cannot open macro file """ << macroFile << """" << G4endl; + return 2; + } + } + if (argc >= 4) { + G4cout << "Too many command line arguments (" << argc <<")" << G4endl; + return 1; + } + // run manager + G4RunManager * RunManager = new G4RunManager; + // user initialization classes + RunManager->SetUserInitialization(new G3toG4DetectorConstruction(inFile)); + RunManager->SetUserInitialization(new G3toG4PhysicsList); + + // user action classes + RunManager->SetUserAction(new G3toG4RunAction); + RunManager->SetUserAction(new G3toG4PrimaryGeneratorAction); + + G4UImanager * UI = G4UImanager::GetUIpointer(); + // set some additional defaults and initial actions + + UI->ApplyCommand("/control/verbose 1"); + UI->ApplyCommand("/run/verbose 1"); + UI->ApplyCommand("/tracking/verbose 1"); + UI->ApplyCommand("/tracking/storeTrajectory 1"); + UI->ApplyCommand("/run/initialize"); + + G4bool batch_mode = macroFile != ""; + + if(!batch_mode) { + G4UIsession * session = new G4UIterminal; + if (session != 0) { + session->SessionStart(); + delete session; + // G4cout << "deleted G4UITerminal..." << G4endl; + } + } + else { + // Batch mode + G4String command = "/control/execute "; + UI->ApplyCommand(command+macroFile); + } + delete RunManager; + return EXIT_SUCCESS; +} diff --git a/examples/extended/g3tog4/cltog4/cltog4.in b/examples/extended/g3tog4/cltog4/cltog4.in new file mode 100644 index 0000000000..b63ff1aa60 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/cltog4.in @@ -0,0 +1,15 @@ +/control/verbose 1 +/tracking/verbose 1 +# +# Initialize GEANT4 +# +/run/initialize +# +/gun/position 0. -1.5 0. +/gun/direction 0. 1. 0. +/gun/energy 1 GeV +/gun/particle chargedgeantino +/run/beamOn 10 +# +# Termination +# diff --git a/examples/extended/g3tog4/cltog4/cltog4.out b/examples/extended/g3tog4/cltog4/cltog4.out new file mode 100644 index 0000000000..bb3d0d5c35 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/cltog4.out @@ -0,0 +1,305 @@ +********************************************** + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) + Copyright : Geant4 Collaboration +********************************************** +Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat" +/run/verbose 1 +/tracking/verbose 1 +/tracking/storeTrajectory 1 +/run/initialize +Instantiated unit rotation matrix irot=0 +Reading the call List file /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat... +G4ggclos: setting top-level VolTableEntry +Dump of VTD - 26 entries: +Instantiated 26 volume table entries + 15 positions. +G3VolTable element 0 name BOX1 has 1 daughters +G3VolTable element 1 name BOX1_1 has 1 daughters +G3VolTable element 2 name BOX1_2 has 1 daughters +G3VolTable element 3 name BOX1_3 has 1 daughters +G3VolTable element 4 name BOX1_4 has 1 daughters +G3VolTable element 5 name BOX2 has 1 daughters +G3VolTable element 6 name BOX2_1 has 1 daughters +G3VolTable element 7 name BOX2_2 has 1 daughters +G3VolTable element 8 name BOX2_3 has 1 daughters +G3VolTable element 9 name BOX2_4 has 1 daughters +G3VolTable element 10 name BOX2_5 has 1 daughters +G3VolTable element 11 name BXD1 has 0 daughters +G3VolTable element 12 name BXD1_1 has 0 daughters +G3VolTable element 13 name BXD1_2 has 0 daughters +G3VolTable element 14 name BXD1_2_ENV has 1 daughters +G3VolTable element 15 name BXD1_3 has 0 daughters +G3VolTable element 16 name BXD1_3_ENV has 1 daughters +G3VolTable element 17 name BXD1_4 has 0 daughters +G3VolTable element 18 name BXD1_4_ENV has 1 daughters +G3VolTable element 19 name BXD1_5 has 0 daughters +G3VolTable element 20 name BXD1_5_ENV has 1 daughters +G3VolTable element 21 name HALL has 6 daughters +G3VolTable element 22 name TBD1 has 0 daughters +G3VolTable element 23 name TBD2 has 0 daughters +G3VolTable element 24 name TUB1 has 1 daughters +G3VolTable element 25 name TUB2 has 1 daughters +Call List file read completed. Build geometry +G3toG4 top level volume is HALL +Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visible, colour: (1,1,1,1) + linestyle: solid, line width: 1 + drawing style unforced +Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visible, colour: (1,1,1,1) + linestyle: solid, line width: 1 + drawing style unforced +G3toG4PhysicsList::SetCuts:CutLength : 2 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. + +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. + +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. + + eIoni Minimum Delta cut in range=0.2 mm. + + material min.delta energy(keV) + +HYDROGEN 42.186 +DEUTERIUM 67.149 +HELIUM 37.6 +LITHIUM 76.527 +BERILLIUM 158.47 +CARBON 187.35 +NITROGEN 99.22 +NEON 121.65 +ALUMINIUM 191.92 +IRON 356.49 +COPPER 380.82 +TUNGSTEN 561.11 +LEAD 370.83 +URANIUM 529.64 + AIR 0.99 +VACUUM 0.99 + +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. + +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 Minimum Delta cut in range=0.2 mm. + + material min.delta energy(keV) + +HYDROGEN 42.186 +DEUTERIUM 67.149 +HELIUM 37.6 +LITHIUM 76.527 +BERILLIUM 158.47 +CARBON 187.35 +NITROGEN 99.22 +NEON 121.65 +ALUMINIUM 191.92 +IRON 356.49 +COPPER 380.82 +TUNGSTEN 561.11 +LEAD 370.83 +URANIUM 529.64 + AIR 0.99 +VACUUM 0.99 + +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. +============= The cut Energy ============================== + gamma e- +Cut in range 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 +=================================================== +Idle> /control/verbose 1 +Idle> /tracking/verbose 1 +Idle> # +Idle> # Initialize GEANT4 +Idle> # +Idle> /run/initialize +Idle> # +Idle> /gun/position 0. -1.5 0. +Idle> /gun/direction 0. 1. 0. +Idle> /gun/energy 1 GeV +Idle> /gun/particle chargedgeantino +Idle> /run/beamOn 10 +### Run 0 start. +Start Run processing. +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +>>>>>>>> Primary direction: (0,1,0) + +********************************************************************************************************* +* G4Track Information: Particle = chargedgeantino, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 -15 0 1e+03 0 0 0 TBD1 initStep + 1 0 200 0 1e+03 0 215 215 TBD2 Transportation + 2 0 360 0 1e+03 0 160 375 HALL Transportation + 3 0 4e+03 0 1e+03 0 3.64e+03 4.02e+03 OutOfWorld Transportation +Run terminated. +Run Summary + Number of events processed : 10 + User=0.03s Real=0.11s Sys=0s +Idle> # +Idle> # Termination +Idle> # +Idle> G4 kernel has come to Quit state. diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh new file mode 100644 index 0000000000..74f4a1fbd7 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh @@ -0,0 +1,45 @@ +// 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: G3toG4DetectorConstruction.hh,v 1.1 2000/07/24 11:23:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +#ifndef G3toG4DetectorConstruction_h +#define G3toG4DetectorConstruction_h 1 + +//-------------------------------------------------------------------------- +// G3toG4DetectorConstruction. Most the work is Done in +// G4BuildGeom, which returns a G4LogicalVolume*, a pointer to the +// top-level logiical volume in the detector defined by the call List file +// inFile +//-------------------------------------------------------------------------- + +#include "G4VUserDetectorConstruction.hh" +#include "G4PVPlacement.hh" +#include "G4LogicalVolume.hh" +#include "G3G4Interface.hh" +#include "globals.hh" + +class G3toG4DetectorConstruction : public G4VUserDetectorConstruction +{ +public: + G3toG4DetectorConstruction(G4String inFile="svt.dat"); + + ~G3toG4DetectorConstruction(); + + G4VPhysicalVolume* Construct(); + G4LogicalVolume* SimpleConstruct(); + +private: + G4String _inFile; + G4VPhysicalVolume* _pv; + G4LogicalVolume* _lv; +}; + +#endif + + diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh new file mode 100644 index 0000000000..4de3c587fa --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh @@ -0,0 +1,45 @@ +// 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: G3toG4EventAction.hh,v 1.1 2000/07/24 11:23:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4EventAction_h +#define G3toG4EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class G3toG4EventActionMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4EventAction : public G4UserEventAction +{ + public: + G3toG4EventAction(); + ~G3toG4EventAction(); + + public: + void BeginOfEventAction(const G4Event* anEvent); + void EndOfEventAction(const G4Event* anEvent); + + void SetDrawFlag(G4String val) {drawFlag = val;}; + + private: + G4String drawFlag; // control the drawing of event + G3toG4EventActionMessenger* eventMessenger; +}; + +#endif + + diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh new file mode 100644 index 0000000000..44c2eef47c --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh @@ -0,0 +1,40 @@ +// 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: G3toG4EventActionMessenger.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4EventActionMessenger_h +#define G3toG4EventActionMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class G3toG4EventAction; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4EventActionMessenger: public G4UImessenger +{ + public: + G3toG4EventActionMessenger(G3toG4EventAction*); + ~G3toG4EventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + G3toG4EventAction* eventAction; + G4UIcmdWithAString* DrawCmd; +}; + +#endif diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh new file mode 100644 index 0000000000..6219f4592b --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh @@ -0,0 +1,68 @@ +// 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: G3toG4PhysicsList.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifndef G3toG4PhysicsList_h +#define G3toG4PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4PhysicsList: public G4VUserPhysicsList +{ + public: + G3toG4PhysicsList(); + ~G3toG4PhysicsList(); + + protected: + // Construct particle and physics + virtual void ConstructParticle(); + virtual void ConstructProcess(); + + virtual void SetCuts(); + + public: + // Set/Get cut values + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForProton(G4double); + G4double GetCutForGamma() const; + G4double GetCutForElectron() const; + G4double GetCutForProton() const; + + 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(); + + private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForProton; + G4double currentDefaultCut; +}; + +#endif + + + diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..4d6f810dbb --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh @@ -0,0 +1,36 @@ +// 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: G3toG4PrimaryGeneratorAction.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#ifndef G3toG4PrimaryGeneratorAction_h +#define G3toG4PrimaryGeneratorAction_h 1 + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4ThreeVector.hh" + +class G3toG4PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + G3toG4PrimaryGeneratorAction(); + ~G3toG4PrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event* anEvent); + + private: + G4ParticleGun* particleGun; + G4ThreeVector GetRandomDirection(); +}; + +#endif + + diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh new file mode 100644 index 0000000000..729ed7a08b --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh @@ -0,0 +1,35 @@ +// 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: G3toG4RunAction.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#ifndef G3toG4RunAction_h +#define G3toG4RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +class G4Run; + +class G3toG4RunAction : public G4UserRunAction +{ + public: + G3toG4RunAction(); + ~G3toG4RunAction(); + + public: + void BeginOfRunAction(const G4Run* aRun); + void EndOfRunAction(const G4Run* aRun); + + private: + G4int runIDcounter; +}; + +#endif + diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh b/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh new file mode 100644 index 0000000000..1c8ce355ee --- /dev/null +++ b/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh @@ -0,0 +1,50 @@ +// 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: G3toG4VisManager.hh,v 1.1 2000/07/24 11:23:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....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 G3toG4VisManager_h +#define G3toG4VisManager_h 1 + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G3toG4VisManager: public G4VisManager { + +public: + + G3toG4VisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +#endif diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc new file mode 100644 index 0000000000..9fb523a703 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc @@ -0,0 +1,110 @@ +// 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: G3toG4DetectorConstruction.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +//-------------------------------------------------------------------------- +// G3toG4DetectorConstruction. Most the work is Done in +// G4BuildGeom, which returns a G4LogicalVolume*, a pointer to the +// top-level logiical volume in the detector defined by the call List file +// inFile +//-------------------------------------------------------------------------- + +#include "G4ios.hh" +#include "G3toG4DetectorConstruction.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4Material.hh" +#include "G4Box.hh" + +G3toG4DetectorConstruction::G3toG4DetectorConstruction(G4String inFile){ + _inFile = inFile; + G4cout << "Instantiated G3toG4DetectorConstruction using call list file \"" + << _inFile << "\"" << G4endl; +} + +G3toG4DetectorConstruction::~G3toG4DetectorConstruction(){ + // G4cout << "Deleted G3toG4DetectorConstruction..." << G4endl; +} + +G4VPhysicalVolume* +G3toG4DetectorConstruction::Construct(){ + _lv = G4BuildGeom(_inFile); + //_lv = SimpleConstruct(); + if (_lv != 0) { + _pv = new G4PVPlacement(0, G4ThreeVector(), _lv, _lv->GetName(), 0, + false, 0); + G4cout << "Top-level G3toG4 logical volume " << _lv->GetName() << " " + << *(_lv -> GetVisAttributes()) << G4endl; + } 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; + // n=number of nucleons in an isotope; + + 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 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); + G4VSolid* Mother = new G4Box("TestMother", //its name + 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"); + + G4VPhysicalVolume* physiDaughter = new G4PVPlacement(0, + G4ThreeVector(), + logicDaughter, + "PTestDaughter", + logicMother, + false,0); + // + // Visualization attributes + // + + logicMother->SetVisAttributes (G4VisAttributes::Invisible); + G4VisAttributes* DaughterVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + DaughterVisAtt->SetVisibility(true); + logicDaughter->SetVisAttributes(DaughterVisAtt); + return logicMother; +} + + + + + + + + + + + + + diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc new file mode 100644 index 0000000000..4473a0cd2f --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc @@ -0,0 +1,77 @@ +// 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: G3toG4EventAction.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "g4rw/tvordvec.h" +#include "G4ios.hh" +#include "G3toG4EventAction.hh" +#include "G3toG4EventActionMessenger.hh" +#include "G4Event.hh" +#include "G4EventManager.hh" +#include "G4HCofThisEvent.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" +#include "G4UImanager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventAction::G3toG4EventAction() + : drawFlag("all"),eventMessenger(NULL) +{ + eventMessenger = new G3toG4EventActionMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventAction::~G3toG4EventAction() +{ + delete eventMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventAction::BeginOfEventAction(const G4Event* Ev) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventAction::EndOfEventAction(const G4Event* Ev) +{ + const G4Event* evt = fpEventManager->GetConstCurrentEvent(); + + G4cout << ">>> Event " << evt->GetEventID() << G4endl; + + G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if(trajectoryContainer){ + n_trajectories = trajectoryContainer->entries(); + } + G4cout << " " << n_trajectories + << " trajectories stored in this event." << G4endl; + + if(G4VVisManager::GetConcreteInstance()){ + for(G4int i=0; iGetTrajectoryContainer()))[i]; + if (drawFlag == "all") trj->DrawTrajectory(50); + else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(50); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc new file mode 100644 index 0000000000..b698026a94 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc @@ -0,0 +1,52 @@ +// 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: G3toG4EventActionMessenger.cc,v 1.1 2000/07/24 11:23:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G3toG4EventActionMessenger.hh" + +#include "G3toG4EventAction.hh" +#include "G4UIcmdWithAString.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventActionMessenger::G3toG4EventActionMessenger(G3toG4EventAction* EvAct) +:eventAction(EvAct) +{ + DrawCmd = new G4UIcmdWithAString("/event/draw",this); + DrawCmd->SetGuidance("Draw the tracks in the event"); + DrawCmd->SetGuidance(" Choice : none, charged, all (default)"); + DrawCmd->SetParameterName("choice",true); + DrawCmd->SetDefaultValue("all"); + DrawCmd->SetCandidates("none charged all"); + DrawCmd->AvailableForStates(Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4EventActionMessenger::~G3toG4EventActionMessenger() +{ + delete DrawCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4EventActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue) +{ + if(command == DrawCmd) + {eventAction->SetDrawFlag(newValue);} + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc new file mode 100644 index 0000000000..c74da7c728 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc @@ -0,0 +1,293 @@ +// 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: G3toG4PhysicsList.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G3toG4PhysicsList.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ParticleWithCuts.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4PhysicsList::G3toG4PhysicsList(): G4VUserPhysicsList() +{ + currentDefaultCut = defaultCutValue = 2.0*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForProton = defaultCutValue; + + SetVerboseLevel(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4PhysicsList::~G3toG4PhysicsList() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::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 G3toG4PhysicsList::ConstructBaryons() +{ +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4PhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +//....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 G3toG4PhysicsList::ConstructEM() +{ + 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); + } + } +} + + +#include "G4Decay.hh" + +void G3toG4PhysicsList::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 G3toG4PhysicsList::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 << "G3toG4PhysicsList::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+"); + + // 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(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +void G3toG4PhysicsList::SetCutForGamma(G4double cut) +{ + ResetCuts(); + cutForGamma = cut; +} + +void G3toG4PhysicsList::SetCutForElectron(G4double cut) +{ + ResetCuts(); + cutForElectron = cut; +} + +void G3toG4PhysicsList::SetCutForProton(G4double cut) +{ + ResetCuts(); + cutForProton = cut; +} + +G4double G3toG4PhysicsList::GetCutForGamma() const +{ + return cutForGamma; +} + +G4double G3toG4PhysicsList::GetCutForElectron() const +{ + return cutForElectron; +} + +G4double G3toG4PhysicsList::GetCutForProton() const +{ + return cutForGamma; +} + + + + + + + + + + + + diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..8752151c2f --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc @@ -0,0 +1,76 @@ +// 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: G3toG4PrimaryGeneratorAction.cc,v 1.2 2000/08/01 09:44:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#include "globals.hh" +#include "Randomize.hh" +#include "G3toG4PrimaryGeneratorAction.hh" +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" + +G3toG4PrimaryGeneratorAction::G3toG4PrimaryGeneratorAction(){ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="chargedgeantino"); + particleGun->SetParticleDefinition(particle); + G4ThreeVector direction(0, 0, 1); + particleGun->SetParticleMomentumDirection(direction.unit()); + particleGun->SetParticleEnergy(1.*GeV); + particleGun->SetParticlePosition(G4ThreeVector(0.*cm, 0.*cm,0.*cm)); +} + +G3toG4PrimaryGeneratorAction::~G3toG4PrimaryGeneratorAction(){ + delete particleGun; +} + +void +G3toG4PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent){ + //G4ThreeVector direction = GetRandomDirection(); + //particleGun->SetParticleMomentumDirection( direction.unit() ) ; + G4cout << ">>>>>>>> Primary direction: " + << particleGun->GetParticleMomentumDirection() << G4endl; + particleGun->GeneratePrimaryVertex(anEvent); +} + +G4ThreeVector +G3toG4PrimaryGeneratorAction::GetRandomDirection() { + + G4ThreeVector retval; + + G4double CosTheta; + G4double SinTheta; + + G4double Phi; + G4double SinPhi; + G4double CosPhi; + + G4double rand; + + rand = G4UniformRand(); + + CosTheta = 2.0*rand -1.0; + SinTheta = sqrt (1.-CosTheta*CosTheta); + rand = G4UniformRand(); + Phi = twopi*rand; + SinPhi = sin (Phi); + CosPhi = cos (Phi); + retval.setX(SinTheta*CosPhi); + retval.setY(SinTheta*SinPhi); + retval.setZ(CosTheta); + + return retval; +} + diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc new file mode 100644 index 0000000000..50f72998d0 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc @@ -0,0 +1,38 @@ +// 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: G3toG4RunAction.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// + +#include "G4ios.hh" +#include "G3toG4RunAction.hh" +#include "G4Run.hh" +#include "G4VVisManager.hh" +#include "G4UImanager.hh" +#include "G4ios.hh" + +G3toG4RunAction::G3toG4RunAction(){ + runIDcounter = 0; +} + +G3toG4RunAction::~G3toG4RunAction(){;} + +void G3toG4RunAction::BeginOfRunAction(const G4Run* aRun){ + ((G4Run *)(aRun))->SetRunID(runIDcounter++); + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (G4VVisManager::GetConcreteInstance()) { + UI->ApplyCommand("/vis~/clear/view"); + UI->ApplyCommand("/vis~/draw/current"); + } +} + +void G3toG4RunAction::EndOfRunAction(const G4Run* aRun){;} + diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc b/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc new file mode 100644 index 0000000000..9c4f732ea9 --- /dev/null +++ b/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc @@ -0,0 +1,142 @@ +// 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: G3toG4VisManager.cc,v 1.1 2000/07/24 11:23:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// John Allison 24th January 1998. + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4ios.hh" +#ifdef G4VIS_USE + +#include "G3toG4VisManager.hh" + +// Supported drivers... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_DAWNFILE +#include "G4DAWNFILE.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_RAYX +#include "G4RayX.hh" +#endif + +#ifdef G4VIS_USE_VRML +#include "G4VRML1.hh" +#include "G4VRML2.hh" +#endif + +#ifdef G4VIS_USE_VRMLFILE +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G3toG4VisManager::G3toG4VisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G3toG4VisManager::RegisterGraphicsSystems () { + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_DAWNFILE + RegisterGraphicsSystem (new G4DAWNFILE); +#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_RAYX + RegisterGraphicsSystem (new G4RayX); +#endif + +#ifdef G4VIS_USE_VRML + RegisterGraphicsSystem (new G4VRML1); + RegisterGraphicsSystem (new G4VRML2); +#endif + +#ifdef G4VIS_USE_VRMLFILE + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); +#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/extended/g3tog4/data/parity.dat b/examples/extended/g3tog4/data/parity.dat new file mode 100644 index 0000000000..d2977a6e97 --- /dev/null +++ b/examples/extended/g3tog4/data/parity.dat @@ -0,0 +1,14 @@ +---- GSMATE 1 "AIR " 0.14610000E+02 0.70000002E+01 0.12050000E-02 0.30423240E+05 0 +---- GSMATE 2 "SILICON " 0.28090000E+02 0.14000000E+02 0.23299999E+01 0.93648071E+01 0 +---- GSTMED 1 "Mother " 1 0 2 0.15000000E+02 0.10000000E+02 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSTMED 2 "Detector " 2 0 2 0.15000000E+02 0.10000000E+02 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSROTM 1 90.00000 0.00000 90.00000 90.0000 0.0 0.0 +---- GSROTM 2 90.00000 90.00000 90.00000 180.0000 0.0 0.0 +---- GSROTM 3 90.00000 90.00000 90.00000 180.0000 180.0 0.0 +---- GSVOLU MOTH TUBE 1 3 0.0 50.0 50. +---- GSVOLU MBOX BOX 1 3 5.0 5.0 5.0 +---- GSVOLU WAFR TRD1 2 4 1.0 2.0 3.0 0.015 +---- GSPOS WAFR 1 MBOX 0.00000000 0.00000000 0.0 1 ONLY +---- GSPOS MBOX 1 MOTH 0.00000000 0.00000000 20.0 2 ONLY +---- GSPOS MBOX 2 MOTH 0.00000000 0.00000000 -20.0 3 ONLY +---- GGCLOS diff --git a/examples/extended/g3tog4/data/svtwaf.dat b/examples/extended/g3tog4/data/svtwaf.dat new file mode 100644 index 0000000000..e76f0ea5f8 --- /dev/null +++ b/examples/extended/g3tog4/data/svtwaf.dat @@ -0,0 +1,598 @@ +---- GSMATE 1 "HYDROGEN " 0.10100000E+01 0.10000000E+01 0.70799999E-01 0.86500000E+03 0 +---- GSMATE 2 "DEUTERIUM " 0.20100000E+01 0.10000000E+01 0.16200000E+00 0.75700000E+03 0 +---- GSMATE 3 "HELIUM " 0.40000000E+01 0.20000000E+01 0.12500000E+00 0.75500000E+03 0 +---- GSMATE 4 "LITHIUM " 0.69400001E+01 0.30000000E+01 0.53399998E+00 0.15500000E+03 0 +---- GSMATE 5 "BERILLIUM " 0.90100002E+01 0.40000000E+01 0.18480000E+01 0.35299999E+02 0 +---- GSMATE 6 "CARBON " 0.12010000E+02 0.60000000E+01 0.22650001E+01 0.18799999E+02 0 +---- GSMATE 7 "NITROGEN " 0.14010000E+02 0.70000000E+01 0.80800003E+00 0.44500000E+02 0 +---- GSMATE 8 "NEON " 0.20180000E+02 0.10000000E+02 0.12070000E+01 0.24000000E+02 0 +---- GSMATE 9 "ALUMINIUM " 0.26980000E+02 0.13000000E+02 0.27000000E+01 0.88999996E+01 0 +---- GSMATE 10 "IRON " 0.55849998E+02 0.26000000E+02 0.78699999E+01 0.17600000E+01 0 +---- GSMATE 11 "COPPER " 0.63540001E+02 0.29000000E+02 0.89600000E+01 0.14299999E+01 0 +---- GSMATE 12 "TUNGSTEN " 0.18385001E+03 0.74000000E+02 0.19299999E+02 0.34999999E+00 0 +---- GSMATE 13 "LEAD " 0.20719000E+03 0.82000000E+02 0.11350000E+02 0.56000000E+00 0 +---- GSMATE 14 "URANIUM " 0.23803000E+03 0.92000000E+02 0.18950001E+02 0.31999999E+00 0 +---- GSMATE 15 "AIR " 0.14610000E+02 0.73000002E+01 0.12050000E-02 0.30423240E+05 0 +---- GSMATE 16 "VACUUM " 0.10000000E-15 0.10000000E-15 0.10000000E-15 0.10000000E+17 0 +---- GSMIXT 17 "svt-Shield " 0.16785001E+01 2 0.12011000E+02 0.26981539E+02 0.60000000E+01 0.13000000E+02 0.87180001E+00 0.12819999E+00 +---- GSMATE 18 "svt-Aluminum " 0.26981539E+02 0.13000000E+02 0.27000000E+01 0.88756104E+01 0 +---- GSMATE 19 "svt-Resin " 0.13060000E+02 0.60000000E+01 0.11600000E+01 0.31594828E+02 0 +---- GSMATE 20 "svt-Silicon " 0.28085501E+02 0.14000000E+02 0.23299999E+01 0.93496084E+01 0 +---- GSMIXT 21 "svt-Berg " 0.22000000E+01 4 0.63546001E+02 0.65389999E+02 0.20720000E+03 0.55847000E+02 0.29000000E+02 0.30000000E+02 0.82000000E+02 0.26000000E+02 0.61500001E+00 0.36000001E+00 0.20000000E-01 0.49999999E-02 +---- GSMIXT 22 "svt-Water " 0.10000000E+01 2 0.10079401E+01 0.15999400E+02 0.10000000E+01 0.80000000E+01 0.11189836E+00 0.88810170E+00 +---- GSMIXT 23 "svt-Brass " 0.82299995E+01 4 0.63546001E+02 0.65389999E+02 0.20720000E+03 0.55847000E+02 0.29000000E+02 0.30000000E+02 0.82000000E+02 0.26000000E+02 0.61500001E+00 0.36000001E+00 0.20000000E-01 0.49999999E-02 +---- GSMIXT 24 "svt-Air " 0.12900000E-02 2 0.14006740E+02 0.15999400E+02 0.70000000E+01 0.80000000E+01 0.73699999E+00 0.26300001E+00 +---- GSMIXT 25 "svt-AlN " 0.32800000E+01 2 0.26981539E+02 0.14006740E+02 0.13000000E+02 0.70000000E+01 0.66000003E+00 0.34000000E+00 +---- GSMATE 26 "svt-Kapton " 0.12011000E+02 0.60000000E+01 0.14200000E+01 0.29927940E+02 0 +---- GSMIXT 27 "svt-KaptCu " 0.33862000E+01 2 0.12011000E+02 0.63546001E+02 0.60000000E+01 0.29000000E+02 0.31000000E+00 0.69000000E+00 +---- GSMATE 28 "svt-Hardner " 0.13060000E+02 0.60000000E+01 0.10100000E+01 0.41940594E+02 0 +---- GSMIXT 29 "svt-Kevlar " 0.16000000E+01 3 0.12011000E+02 0.13060000E+02 0.13060000E+02 0.60000000E+01 0.60000000E+01 0.60000000E+01 0.60000002E+00 0.28000000E+00 0.12000000E+00 +---- GSMATE 30 "svt-CFiber " 0.12011000E+02 0.60000000E+01 0.15900000E+01 0.26728094E+02 0 +---- GSMIXT 31 "svt-Epoxy " 0.11100000E+01 2 0.13060000E+02 0.13060000E+02 0.60000000E+01 0.60000000E+01 0.69999999E+00 0.30000001E+00 +---- GSTMED 1 "BB Detector " 15 0 2 0.15000000E+02 0.10000000E+02 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSTMED 2 "silicon-mother " 24 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSTMED 3 "silicon-detectors " 20 1 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999997E-04 -0.10000000E+01 0 +---- GSTMED 4 "inert-silicon " 20 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999997E-04 -0.10000000E+01 0 +---- GSTMED 5 "kapton " 27 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999997E-04 -0.10000000E+01 0 +---- GSTMED 6 "support-material " 29 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSTMED 7 "rohacell " 30 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.99999998E-02 -0.10000000E+01 0 +---- GSTMED 8 "electronics " 20 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.10000000E-02 -0.10000000E+01 0 +---- GSTMED 9 "AlN-sub " 25 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.10000000E-02 -0.10000000E+01 0 +---- GSTMED 10 "bushing " 23 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.10000000E-02 -0.10000000E+01 0 +---- GSTMED 11 "water " 22 0 2 0.15000000E+02 0.10000000E+01 -0.10000000E+01 -0.10000000E+01 0.10000000E-02 -0.10000000E+01 0 +---- GSROTM 1 90.00000 95.40000 90.00000 5.40000 180.00000 -129.60001 +---- GSROTM 2 90.00000 -84.60000 90.00000 5.40000 0.00000 -39.60000 +---- GSROTM 3 90.00000 155.39999 90.00000 65.40000 179.99998 -69.60001 +---- GSROTM 4 90.00000 -24.60000 90.00000 65.40000 0.00000 20.40000 +---- GSROTM 5 90.00000 215.39999 90.00000 125.40000 179.99998 -9.60000 +---- GSROTM 6 90.00000 35.40000 90.00000 125.40000 0.00001 80.40000 +---- GSROTM 7 90.00000 275.39999 90.00000 185.39999 179.99998 50.40000 +---- GSROTM 8 90.00000 95.39999 90.00000 185.39999 0.00000 140.39999 +---- GSROTM 9 90.00000 335.39999 90.00000 245.39999 179.99998 110.39999 +---- GSROTM 10 90.00000 155.39999 90.00000 245.39999 0.00001 -159.60002 +---- GSROTM 11 90.00000 395.39999 90.00000 305.39999 179.99998 170.39999 +---- GSROTM 12 90.00000 215.39999 90.00000 305.39999 0.00001 -99.60001 +---- GSROTM 13 90.00000 95.40000 90.00000 5.40000 180.00000 -129.60001 +---- GSROTM 14 90.00000 -84.60000 90.00000 5.40000 0.00000 -39.60000 +---- GSROTM 15 90.00000 155.39999 90.00000 65.40000 179.99998 -69.60001 +---- GSROTM 16 90.00000 -24.60000 90.00000 65.40000 0.00000 20.40000 +---- GSROTM 17 90.00000 215.39999 90.00000 125.40000 179.99998 -9.60000 +---- GSROTM 18 90.00000 35.40000 90.00000 125.40000 0.00001 80.40000 +---- GSROTM 19 90.00000 275.39999 90.00000 185.39999 179.99998 50.40000 +---- GSROTM 20 90.00000 95.39999 90.00000 185.39999 0.00000 140.39999 +---- GSROTM 21 90.00000 335.39999 90.00000 245.39999 179.99998 110.39999 +---- GSROTM 22 90.00000 155.39999 90.00000 245.39999 0.00001 -159.60002 +---- GSROTM 23 90.00000 395.39999 90.00000 305.39999 179.99998 170.39999 +---- GSROTM 24 90.00000 215.39999 90.00000 305.39999 0.00001 -99.60001 +---- GSROTM 25 90.00000 95.40000 90.00000 5.40000 180.00000 -129.60001 +---- GSROTM 26 90.00000 -84.60000 90.00000 5.40000 0.00000 -39.60000 +---- GSROTM 27 90.00000 155.39999 90.00000 65.40000 179.99998 -69.60001 +---- GSROTM 28 90.00000 -24.60000 90.00000 65.40000 0.00000 20.40000 +---- GSROTM 29 90.00000 215.39999 90.00000 125.40000 179.99998 -9.60000 +---- GSROTM 30 90.00000 35.40000 90.00000 125.40000 0.00001 80.40000 +---- GSROTM 31 90.00000 275.39999 90.00000 185.39999 179.99998 50.40000 +---- GSROTM 32 90.00000 95.39999 90.00000 185.39999 0.00000 140.39999 +---- GSROTM 33 90.00000 335.39999 90.00000 245.39999 179.99998 110.39999 +---- GSROTM 34 90.00000 155.39999 90.00000 245.39999 0.00001 -159.60002 +---- GSROTM 35 90.00000 395.39999 90.00000 305.39999 179.99998 170.39999 +---- GSROTM 36 90.00000 215.39999 90.00000 305.39999 0.00001 -99.60001 +---- GSROTM 37 90.00000 101.25000 62.00000 11.25000 152.00000 11.25000 +---- GSROTM 38 90.00000 101.25000 90.00000 11.25000 180.00000 -123.75000 +---- GSROTM 39 90.00000 -78.75000 90.00000 11.25000 0.00000 -33.75000 +---- GSROTM 40 90.00000 -78.75000 117.00000 11.25000 26.99999 11.25000 +---- GSROTM 41 90.00000 123.75000 62.00000 33.75000 152.00000 33.74999 +---- GSROTM 42 90.00000 123.75000 90.00000 33.75000 180.00000 -101.25000 +---- GSROTM 43 90.00000 -56.25000 90.00000 33.75000 0.00000 -11.25000 +---- GSROTM 44 90.00000 -56.25000 117.00000 33.75000 26.99999 33.75000 +---- GSROTM 45 90.00000 146.25000 62.00000 56.25000 152.00000 56.25000 +---- GSROTM 46 90.00000 146.25000 90.00000 56.25000 180.00000 -78.75000 +---- GSROTM 47 90.00000 -33.75000 90.00000 56.25000 0.00000 11.25000 +---- GSROTM 48 90.00000 -33.75000 117.00000 56.25000 26.99999 56.25000 +---- GSROTM 49 90.00000 168.75000 62.00000 78.75000 152.00000 78.75000 +---- GSROTM 50 90.00000 168.75000 90.00000 78.75000 180.00000 -56.25000 +---- GSROTM 51 90.00000 -11.25000 90.00000 78.75000 0.00000 33.75000 +---- GSROTM 52 90.00000 -11.25000 117.00000 78.75000 26.99999 78.74999 +---- GSROTM 53 90.00000 191.25000 62.00000 101.25000 152.00000 101.24999 +---- GSROTM 54 90.00000 191.25000 90.00000 101.25000 180.00000 -33.75000 +---- GSROTM 55 90.00000 11.25000 90.00000 101.25000 0.00000 56.25000 +---- GSROTM 56 90.00000 11.25000 117.00000 101.25000 26.99999 101.25000 +---- GSROTM 57 90.00000 213.75000 62.00000 123.75000 152.00000 123.75000 +---- GSROTM 58 90.00000 213.75000 90.00000 123.75000 179.99998 -11.25000 +---- GSROTM 59 90.00000 33.75000 90.00000 123.75000 0.00001 78.75000 +---- GSROTM 60 90.00000 33.75000 117.00000 123.75000 26.99999 123.75000 +---- GSROTM 61 90.00000 236.25000 62.00000 146.25000 152.00000 146.24998 +---- GSROTM 62 90.00000 236.25000 90.00000 146.25000 179.99998 11.25000 +---- GSROTM 63 90.00000 56.25000 90.00000 146.25000 0.00001 101.25000 +---- GSROTM 64 90.00000 56.25000 117.00000 146.25000 26.99999 146.25000 +---- GSROTM 65 90.00000 258.75000 62.00000 168.75000 152.00000 168.75000 +---- GSROTM 66 90.00000 258.75000 90.00000 168.75000 180.00000 33.75000 +---- GSROTM 67 90.00000 78.75000 90.00000 168.75000 0.00000 123.75000 +---- GSROTM 68 90.00000 78.75000 117.00000 168.75000 26.99999 168.75000 +---- GSROTM 69 90.00000 281.25000 62.00000 191.25000 152.00000 -168.75000 +---- GSROTM 70 90.00000 281.25000 90.00000 191.25000 179.99998 56.25000 +---- GSROTM 71 90.00000 101.25000 90.00000 191.25000 0.00001 146.25000 +---- GSROTM 72 90.00000 101.25000 117.00000 191.25000 26.99999 -168.75000 +---- GSROTM 73 90.00000 303.75000 62.00000 213.75000 152.00000 -146.25002 +---- GSROTM 74 90.00000 303.75000 90.00000 213.75000 179.99998 78.75000 +---- GSROTM 75 90.00000 123.75000 90.00000 213.75000 0.00001 168.75000 +---- GSROTM 76 90.00000 123.75000 117.00000 213.75000 26.99999 -146.25002 +---- GSROTM 77 90.00000 326.25000 62.00000 236.25000 152.00000 -123.75001 +---- GSROTM 78 90.00000 326.25000 90.00000 236.25000 179.99998 101.24999 +---- GSROTM 79 90.00000 146.25000 90.00000 236.25000 0.00002 -168.75000 +---- GSROTM 80 90.00000 146.25000 117.00000 236.25000 26.99999 -123.75000 +---- GSROTM 81 90.00000 348.75000 62.00000 258.75000 152.00000 -101.25000 +---- GSROTM 82 90.00000 348.75000 90.00000 258.75000 179.99998 123.75000 +---- GSROTM 83 90.00000 168.75000 90.00000 258.75000 0.00001 -146.25000 +---- GSROTM 84 90.00000 168.75000 117.00000 258.75000 26.99999 -101.25001 +---- GSROTM 85 90.00000 371.25000 62.00000 281.25000 152.00000 -78.75002 +---- GSROTM 86 90.00000 371.25000 90.00000 281.25000 179.99998 146.25000 +---- GSROTM 87 90.00000 191.25000 90.00000 281.25000 0.00001 -123.75000 +---- GSROTM 88 90.00000 191.25000 117.00000 281.25000 26.99999 -78.75001 +---- GSROTM 89 90.00000 393.75000 62.00000 303.75000 152.00000 -56.25001 +---- GSROTM 90 90.00000 393.75000 90.00000 303.75000 179.99998 168.75000 +---- GSROTM 91 90.00000 213.75000 90.00000 303.75000 0.00002 -101.25001 +---- GSROTM 92 90.00000 213.75000 117.00000 303.75000 26.99999 -56.25000 +---- GSROTM 93 90.00000 416.25000 62.00000 326.25000 152.00000 -33.75000 +---- GSROTM 94 90.00000 416.25000 90.00000 326.25000 179.99998 -168.75000 +---- GSROTM 95 90.00000 236.25000 90.00000 326.25000 0.00001 -78.75001 +---- GSROTM 96 90.00000 236.25000 117.00000 326.25000 26.99999 -33.75002 +---- GSROTM 97 90.00000 438.75000 62.00000 348.75000 152.00000 -11.25002 +---- GSROTM 98 90.00000 438.75000 90.00000 348.75000 179.99998 -146.25000 +---- GSROTM 99 90.00000 258.75000 90.00000 348.75000 0.00001 -56.25000 +---- GSROTM 100 90.00000 258.75000 117.00000 348.75000 26.99999 -11.25001 +---- GSROTM 101 90.00000 90.00000 66.00000 0.00000 156.00000 0.00000 +---- GSROTM 102 90.00000 90.00000 90.00000 0.00000 180.00000 -135.00000 +---- GSROTM 103 90.00000 -90.00000 90.00000 0.00000 0.00000 -45.00000 +---- GSROTM 104 90.00000 -90.00000 111.00000 0.00000 21.00000 -0.00001 +---- GSROTM 105 90.00000 110.00000 66.00000 20.00000 156.00000 19.99999 +---- GSROTM 106 90.00000 110.00000 90.00000 20.00000 180.00000 -115.00000 +---- GSROTM 107 90.00000 -70.00000 90.00000 20.00000 0.00000 -25.00000 +---- GSROTM 108 90.00000 -70.00000 111.00000 20.00000 21.00000 19.99999 +---- GSROTM 109 90.00000 130.00000 66.00000 40.00000 156.00000 40.00000 +---- GSROTM 110 90.00000 130.00000 90.00000 40.00000 180.00000 -95.00000 +---- GSROTM 111 90.00000 -50.00000 90.00000 40.00000 0.00000 -5.00000 +---- GSROTM 112 90.00000 -50.00000 111.00000 40.00000 21.00000 39.99999 +---- GSROTM 113 90.00000 150.00000 66.00000 60.00000 156.00000 59.99999 +---- GSROTM 114 90.00000 150.00000 90.00000 60.00000 180.00000 -75.00000 +---- GSROTM 115 90.00000 -30.00000 90.00000 60.00000 0.00000 15.00000 +---- GSROTM 116 90.00000 -30.00000 111.00000 60.00000 21.00000 59.99999 +---- GSROTM 117 90.00000 170.00000 66.00000 80.00000 156.00000 79.99999 +---- GSROTM 118 90.00000 170.00000 90.00000 80.00000 180.00000 -55.00000 +---- GSROTM 119 90.00000 -10.00000 90.00000 80.00000 0.00000 35.00000 +---- GSROTM 120 90.00000 -10.00000 111.00000 80.00000 21.00000 79.99999 +---- GSROTM 121 90.00000 190.00000 66.00000 100.00000 156.00000 100.00000 +---- GSROTM 122 90.00000 190.00000 90.00000 100.00000 180.00000 -35.00000 +---- GSROTM 123 90.00000 10.00000 90.00000 100.00000 0.00000 55.00000 +---- GSROTM 124 90.00000 10.00000 111.00000 100.00000 21.00000 99.99999 +---- GSROTM 125 90.00000 210.00000 66.00000 120.00000 156.00000 119.99999 +---- GSROTM 126 90.00000 210.00000 90.00000 120.00000 180.00000 -15.00000 +---- GSROTM 127 90.00000 30.00000 90.00000 120.00000 0.00000 75.00000 +---- GSROTM 128 90.00000 30.00000 111.00000 120.00000 21.00000 119.99999 +---- GSROTM 129 90.00000 230.00000 66.00000 140.00000 156.00000 140.00000 +---- GSROTM 130 90.00000 230.00000 90.00000 140.00000 179.99998 5.00000 +---- GSROTM 131 90.00000 50.00000 90.00000 140.00000 0.00000 95.00000 +---- GSROTM 132 90.00000 50.00000 111.00000 140.00000 21.00000 140.00000 +---- GSROTM 133 90.00000 250.00000 66.00000 160.00000 156.00000 160.00000 +---- GSROTM 134 90.00000 250.00000 90.00000 160.00000 179.99998 25.00000 +---- GSROTM 135 90.00000 70.00000 90.00000 160.00000 0.00001 115.00000 +---- GSROTM 136 90.00000 70.00000 111.00000 160.00000 21.00000 160.00000 +---- GSROTM 137 90.00000 270.00000 66.00000 180.00000 156.00000 180.00000 +---- GSROTM 138 90.00000 270.00000 90.00000 180.00000 180.00000 45.00000 +---- GSROTM 139 90.00000 90.00000 90.00000 180.00000 0.00000 135.00000 +---- GSROTM 140 90.00000 90.00000 111.00000 180.00000 21.00000 180.00000 +---- GSROTM 141 90.00000 290.00000 66.00000 200.00000 156.00000 -160.00002 +---- GSROTM 142 90.00000 290.00000 90.00000 200.00000 180.00000 65.00000 +---- GSROTM 143 90.00000 110.00000 90.00000 200.00000 0.00000 155.00000 +---- GSROTM 144 90.00000 110.00000 111.00000 200.00000 21.00000 -160.00002 +---- GSROTM 145 90.00000 310.00000 66.00000 220.00000 156.00000 -140.00002 +---- GSROTM 146 90.00000 310.00000 90.00000 220.00000 180.00000 84.99999 +---- GSROTM 147 90.00000 130.00000 90.00000 220.00000 0.00001 175.00000 +---- GSROTM 148 90.00000 130.00000 111.00000 220.00000 21.00000 -140.00000 +---- GSROTM 149 90.00000 330.00000 66.00000 240.00000 156.00000 -120.00002 +---- GSROTM 150 90.00000 330.00000 90.00000 240.00000 179.99998 105.00000 +---- GSROTM 151 90.00000 150.00000 90.00000 240.00000 0.00001 -165.00000 +---- GSROTM 152 90.00000 150.00000 111.00000 240.00000 21.00000 -120.00001 +---- GSROTM 153 90.00000 350.00000 66.00000 260.00000 156.00000 -100.00002 +---- GSROTM 154 90.00000 350.00000 90.00000 260.00000 179.99998 124.99999 +---- GSROTM 155 90.00000 170.00000 90.00000 260.00000 0.00001 -145.00000 +---- GSROTM 156 90.00000 170.00000 111.00000 260.00000 21.00000 -100.00002 +---- GSROTM 157 90.00000 370.00000 66.00000 280.00000 156.00000 -80.00000 +---- GSROTM 158 90.00000 370.00000 90.00000 280.00000 179.99998 145.00000 +---- GSROTM 159 90.00000 190.00000 90.00000 280.00000 0.00001 -125.00000 +---- GSROTM 160 90.00000 190.00000 111.00000 280.00000 21.00000 -80.00001 +---- GSROTM 161 90.00000 390.00000 66.00000 300.00000 156.00000 -60.00000 +---- GSROTM 162 90.00000 390.00000 90.00000 300.00000 179.99998 165.00000 +---- GSROTM 163 90.00000 210.00000 90.00000 300.00000 0.00001 -105.00001 +---- GSROTM 164 90.00000 210.00000 111.00000 300.00000 21.00000 -60.00001 +---- GSROTM 165 90.00000 410.00000 66.00000 320.00000 156.00000 -40.00001 +---- GSROTM 166 90.00000 410.00000 90.00000 320.00000 179.99998 -175.00000 +---- GSROTM 167 90.00000 230.00000 90.00000 320.00000 0.00002 -85.00000 +---- GSROTM 168 90.00000 230.00000 111.00000 320.00000 21.00000 -40.00000 +---- GSROTM 169 90.00000 430.00000 66.00000 340.00000 156.00000 -20.00001 +---- GSROTM 170 90.00000 430.00000 90.00000 340.00000 179.99998 -155.00002 +---- GSROTM 171 90.00000 250.00000 90.00000 340.00000 0.00002 -65.00001 +---- GSROTM 172 90.00000 250.00000 111.00000 340.00000 21.00000 -20.00000 +---- GSVOLU SSA1 TRD1 3 4 0.20650001E+01 0.20650001E+01 0.15000000E-01 0.21199999E+01 +---- GSVOLU SSA2 TRD1 3 4 0.24707501E+01 0.24707501E+01 0.15000000E-01 0.22700000E+01 +---- GSVOLU SSA3 TRD1 3 4 0.35734999E+01 0.35734999E+01 0.15000000E-01 0.21949999E+01 +---- GSVOLU SSA6 TRD1 3 4 0.21650000E+01 0.26400001E+01 0.15000000E-01 0.33985000E+01 +---- GSVOLU SSA4 TRD1 3 4 0.26250000E+01 0.26250000E+01 0.15000000E-01 0.33775001E+01 +---- GSVOLU SSA5 TRD1 3 4 0.26250000E+01 0.26250000E+01 0.15000000E-01 0.26949999E+01 +---- GSVOLU SSI1 TRD1 4 4 0.20650001E+01 0.20650001E+01 0.16700000E-01 0.21199999E+01 +---- GSVOLU SSI2 TRD1 4 4 0.24707501E+01 0.24707501E+01 0.16700000E-01 0.22700000E+01 +---- GSVOLU SSI3 TRD1 4 4 0.35734999E+01 0.35734999E+01 0.16700000E-01 0.21949999E+01 +---- GSVOLU SSI6 TRD1 4 4 0.21650000E+01 0.26400001E+01 0.16700000E-01 0.33985000E+01 +---- GSVOLU SSI4 TRD1 4 4 0.26250000E+01 0.26250000E+01 0.16700000E-01 0.33775001E+01 +---- GSVOLU SSI5 TRD1 4 4 0.26250000E+01 0.26250000E+01 0.16700000E-01 0.26949999E+01 +---- GSVOLU SSK1 TRD1 5 4 0.20650001E+01 0.20650001E+01 0.17000000E-02 0.21199999E+01 +---- GSVOLU SSK2 TRD1 5 4 0.24707501E+01 0.24707501E+01 0.17000000E-02 0.22700000E+01 +---- GSVOLU SSK3 TRD1 5 4 0.35734999E+01 0.35734999E+01 0.17000000E-02 0.21949999E+01 +---- GSVOLU SSK6 TRD1 5 4 0.21650000E+01 0.26400001E+01 0.17000000E-02 0.33985000E+01 +---- GSVOLU SSK4 TRD1 5 4 0.26250000E+01 0.26250000E+01 0.17000000E-02 0.33775001E+01 +---- GSVOLU SSK5 TRD1 5 4 0.26250000E+01 0.26250000E+01 0.17000000E-02 0.26949999E+01 +---- GSVOLU SSVD TUBE 1 3 0.00000000E+00 0.31000000E+04 0.18000000E+05 +---- GSPOS SSI1 1 SSVD 0.33182940E+01 -0.55969357E-01 0.90451250E+01 1 ONLY +---- GSPOS SSI1 2 SSVD 0.33182940E+01 -0.55969357E-01 0.47993755E+01 1 ONLY +---- GSPOS SSI1 3 SSVD 0.33182940E+01 -0.55969357E-01 0.55362511E+00 2 ONLY +---- GSPOS SSI1 4 SSVD 0.33182940E+01 -0.55969357E-01 -0.36921253E+01 2 ONLY +---- GSPOS SSI1 5 SSVD 0.17076176E+01 0.28457422E+01 0.90451250E+01 3 ONLY +---- GSPOS SSI1 6 SSVD 0.17076176E+01 0.28457422E+01 0.47993755E+01 3 ONLY +---- GSPOS SSI1 7 SSVD 0.17076176E+01 0.28457422E+01 0.55362511E+00 4 ONLY +---- GSPOS SSI1 8 SSVD 0.17076176E+01 0.28457422E+01 -0.36921253E+01 4 ONLY +---- GSPOS SSI1 9 SSVD -0.16106765E+01 0.29017115E+01 0.90451250E+01 5 ONLY +---- GSPOS SSI1 10 SSVD -0.16106765E+01 0.29017115E+01 0.47993755E+01 5 ONLY +---- GSPOS SSI1 11 SSVD -0.16106765E+01 0.29017115E+01 0.55362511E+00 6 ONLY +---- GSPOS SSI1 12 SSVD -0.16106765E+01 0.29017115E+01 -0.36921253E+01 6 ONLY +---- GSPOS SSI1 13 SSVD -0.33182938E+01 0.55969715E-01 0.90451250E+01 7 ONLY +---- GSPOS SSI1 14 SSVD -0.33182938E+01 0.55969715E-01 0.47993755E+01 7 ONLY +---- GSPOS SSI1 15 SSVD -0.33182938E+01 0.55969715E-01 0.55362511E+00 8 ONLY +---- GSPOS SSI1 16 SSVD -0.33182938E+01 0.55969715E-01 -0.36921253E+01 8 ONLY +---- GSPOS SSI1 17 SSVD -0.17076187E+01 -0.28457417E+01 0.90451250E+01 9 ONLY +---- GSPOS SSI1 18 SSVD -0.17076187E+01 -0.28457417E+01 0.47993755E+01 9 ONLY +---- GSPOS SSI1 19 SSVD -0.17076187E+01 -0.28457417E+01 0.55362511E+00 10 ONLY +---- GSPOS SSI1 20 SSVD -0.17076187E+01 -0.28457417E+01 -0.36921253E+01 10 ONLY +---- GSPOS SSI1 21 SSVD 0.16106759E+01 -0.29017117E+01 0.90451250E+01 11 ONLY +---- GSPOS SSI1 22 SSVD 0.16106759E+01 -0.29017117E+01 0.47993755E+01 11 ONLY +---- GSPOS SSI1 23 SSVD 0.16106759E+01 -0.29017117E+01 0.55362511E+00 12 ONLY +---- GSPOS SSI1 24 SSVD 0.16106759E+01 -0.29017117E+01 -0.36921253E+01 12 ONLY +---- GSPOS SSI2 1 SSVD 0.40317507E+01 -0.16531247E+00 0.88951254E+01 13 ONLY +---- GSPOS SSI2 2 SSVD 0.40317507E+01 -0.16531247E+00 0.43493752E+01 13 ONLY +---- GSPOS SSI2 3 SSVD 0.40317507E+01 -0.16531247E+00 -0.19637394E+00 14 ONLY +---- GSPOS SSI2 4 SSVD 0.40317507E+01 -0.16531247E+00 -0.47421236E+01 14 ONLY +---- GSPOS SSI2 5 SSVD 0.21590397E+01 0.34089422E+01 0.88951254E+01 15 ONLY +---- GSPOS SSI2 6 SSVD 0.21590397E+01 0.34089422E+01 0.43493752E+01 15 ONLY +---- GSPOS SSI2 7 SSVD 0.21590397E+01 0.34089422E+01 -0.19637394E+00 16 ONLY +---- GSPOS SSI2 8 SSVD 0.21590397E+01 0.34089422E+01 -0.47421236E+01 16 ONLY +---- GSPOS SSI2 9 SSVD -0.18727109E+01 0.35742543E+01 0.88951254E+01 17 ONLY +---- GSPOS SSI2 10 SSVD -0.18727109E+01 0.35742543E+01 0.43493752E+01 17 ONLY +---- GSPOS SSI2 11 SSVD -0.18727109E+01 0.35742543E+01 -0.19637394E+00 18 ONLY +---- GSPOS SSI2 12 SSVD -0.18727109E+01 0.35742543E+01 -0.47421236E+01 18 ONLY +---- GSPOS SSI2 13 SSVD -0.40317502E+01 0.16531292E+00 0.88951254E+01 19 ONLY +---- GSPOS SSI2 14 SSVD -0.40317502E+01 0.16531292E+00 0.43493752E+01 19 ONLY +---- GSPOS SSI2 15 SSVD -0.40317502E+01 0.16531292E+00 -0.19637394E+00 20 ONLY +---- GSPOS SSI2 16 SSVD -0.40317502E+01 0.16531292E+00 -0.47421236E+01 20 ONLY +---- GSPOS SSI2 17 SSVD -0.21590409E+01 -0.34089413E+01 0.88951254E+01 21 ONLY +---- GSPOS SSI2 18 SSVD -0.21590409E+01 -0.34089413E+01 0.43493752E+01 21 ONLY +---- GSPOS SSI2 19 SSVD -0.21590409E+01 -0.34089413E+01 -0.19637394E+00 22 ONLY +---- GSPOS SSI2 20 SSVD -0.21590409E+01 -0.34089413E+01 -0.47421236E+01 22 ONLY +---- GSPOS SSI2 21 SSVD 0.18727103E+01 -0.35742548E+01 0.88951254E+01 23 ONLY +---- GSPOS SSI2 22 SSVD 0.18727103E+01 -0.35742548E+01 0.43493752E+01 23 ONLY +---- GSPOS SSI2 23 SSVD 0.18727103E+01 -0.35742548E+01 -0.19637394E+00 24 ONLY +---- GSPOS SSI2 24 SSVD 0.18727103E+01 -0.35742548E+01 -0.47421236E+01 24 ONLY +---- GSPOS SSI3 1 SSVD 0.59426103E+01 -0.19059682E+00 0.14064917E+02 25 ONLY +---- GSPOS SSI3 2 SSVD 0.59426103E+01 -0.19059682E+00 0.96687498E+01 25 ONLY +---- GSPOS SSI3 3 SSVD 0.59426103E+01 -0.19059682E+00 0.52725830E+01 25 ONLY +---- GSPOS SSI3 4 SSVD 0.59426103E+01 -0.19059682E+00 0.87641716E+00 26 ONLY +---- GSPOS SSI3 5 SSVD 0.59426103E+01 -0.19059682E+00 -0.35197506E+01 26 ONLY +---- GSPOS SSI3 6 SSVD 0.59426103E+01 -0.19059682E+00 -0.79159184E+01 26 ONLY +---- GSPOS SSI3 7 SSVD 0.31363666E+01 0.50511532E+01 0.14064917E+02 27 ONLY +---- GSPOS SSI3 8 SSVD 0.31363666E+01 0.50511532E+01 0.96687498E+01 27 ONLY +---- GSPOS SSI3 9 SSVD 0.31363666E+01 0.50511532E+01 0.52725830E+01 27 ONLY +---- GSPOS SSI3 10 SSVD 0.31363666E+01 0.50511532E+01 0.87641716E+00 28 ONLY +---- GSPOS SSI3 11 SSVD 0.31363666E+01 0.50511532E+01 -0.35197506E+01 28 ONLY +---- GSPOS SSI3 12 SSVD 0.31363666E+01 0.50511532E+01 -0.79159184E+01 28 ONLY +---- GSPOS SSI3 13 SSVD -0.28062441E+01 0.52417498E+01 0.14064917E+02 29 ONLY +---- GSPOS SSI3 14 SSVD -0.28062441E+01 0.52417498E+01 0.96687498E+01 29 ONLY +---- GSPOS SSI3 15 SSVD -0.28062441E+01 0.52417498E+01 0.52725830E+01 29 ONLY +---- GSPOS SSI3 16 SSVD -0.28062441E+01 0.52417498E+01 0.87641716E+00 30 ONLY +---- GSPOS SSI3 17 SSVD -0.28062441E+01 0.52417498E+01 -0.35197506E+01 30 ONLY +---- GSPOS SSI3 18 SSVD -0.28062441E+01 0.52417498E+01 -0.79159184E+01 30 ONLY +---- GSPOS SSI3 19 SSVD -0.59426103E+01 0.19059747E+00 0.14064917E+02 31 ONLY +---- GSPOS SSI3 20 SSVD -0.59426103E+01 0.19059747E+00 0.96687498E+01 31 ONLY +---- GSPOS SSI3 21 SSVD -0.59426103E+01 0.19059747E+00 0.52725830E+01 31 ONLY +---- GSPOS SSI3 22 SSVD -0.59426103E+01 0.19059747E+00 0.87641716E+00 32 ONLY +---- GSPOS SSI3 23 SSVD -0.59426103E+01 0.19059747E+00 -0.35197506E+01 32 ONLY +---- GSPOS SSI3 24 SSVD -0.59426103E+01 0.19059747E+00 -0.79159184E+01 32 ONLY +---- GSPOS SSI3 25 SSVD -0.31363683E+01 -0.50511522E+01 0.14064917E+02 33 ONLY +---- GSPOS SSI3 26 SSVD -0.31363683E+01 -0.50511522E+01 0.96687498E+01 33 ONLY +---- GSPOS SSI3 27 SSVD -0.31363683E+01 -0.50511522E+01 0.52725830E+01 33 ONLY +---- GSPOS SSI3 28 SSVD -0.31363683E+01 -0.50511522E+01 0.87641716E+00 34 ONLY +---- GSPOS SSI3 29 SSVD -0.31363683E+01 -0.50511522E+01 -0.35197506E+01 34 ONLY +---- GSPOS SSI3 30 SSVD -0.31363683E+01 -0.50511522E+01 -0.79159184E+01 34 ONLY +---- GSPOS SSI3 31 SSVD 0.28062432E+01 -0.52417507E+01 0.14064917E+02 35 ONLY +---- GSPOS SSI3 32 SSVD 0.28062432E+01 -0.52417507E+01 0.96687498E+01 35 ONLY +---- GSPOS SSI3 33 SSVD 0.28062432E+01 -0.52417507E+01 0.52725830E+01 35 ONLY +---- GSPOS SSI3 34 SSVD 0.28062432E+01 -0.52417507E+01 0.87641716E+00 36 ONLY +---- GSPOS SSI3 35 SSVD 0.28062432E+01 -0.52417507E+01 -0.35197506E+01 36 ONLY +---- GSPOS SSI3 36 SSVD 0.28062432E+01 -0.52417507E+01 -0.79159184E+01 36 ONLY +---- GSPOS SSI6 1 SSVD 0.10200806E+02 0.20290666E+01 0.21509911E+02 37 ONLY +---- GSPOS SSI4 1 SSVD 0.11767756E+02 0.23407521E+01 0.15121400E+02 38 ONLY +---- GSPOS SSI5 1 SSVD 0.11767756E+02 0.23407521E+01 0.90386992E+01 38 ONLY +---- GSPOS SSI5 2 SSVD 0.11767756E+02 0.23407521E+01 0.36384993E+01 39 ONLY +---- GSPOS SSI5 3 SSVD 0.11767756E+02 0.23407521E+01 -0.17617016E+01 39 ONLY +---- GSPOS SSI5 4 SSVD 0.11767756E+02 0.23407521E+01 -0.71619015E+01 39 ONLY +---- GSPOS SSI6 2 SSVD 0.10252471E+02 0.20393434E+01 -0.12895312E+02 40 ONLY +---- GSPOS SSI6 3 SSVD 0.89804134E+01 0.60005207E+01 0.22413912E+02 41 ONLY +---- GSPOS SSI4 2 SSVD 0.10308809E+02 0.68881259E+01 0.16025400E+02 42 ONLY +---- GSPOS SSI4 3 SSVD 0.10308809E+02 0.68881259E+01 0.92602005E+01 42 ONLY +---- GSPOS SSI5 5 SSVD 0.10308809E+02 0.68881259E+01 0.31774998E+01 43 ONLY +---- GSPOS SSI5 6 SSVD 0.10308809E+02 0.68881259E+01 -0.22227001E+01 43 ONLY +---- GSPOS SSI5 7 SSVD 0.10308809E+02 0.68881259E+01 -0.76229000E+01 43 ONLY +---- GSPOS SSI6 4 SSVD 0.90242128E+01 0.60297866E+01 -0.13356313E+02 44 ONLY +---- GSPOS SSI6 5 SSVD 0.57782927E+01 0.86478262E+01 0.21509911E+02 45 ONLY +---- GSPOS SSI4 4 SSVD 0.66658983E+01 0.99762211E+01 0.15121400E+02 46 ONLY +---- GSPOS SSI5 8 SSVD 0.66658983E+01 0.99762211E+01 0.90386992E+01 46 ONLY +---- GSPOS SSI5 9 SSVD 0.66658983E+01 0.99762211E+01 0.36384993E+01 47 ONLY +---- GSPOS SSI5 10 SSVD 0.66658983E+01 0.99762211E+01 -0.17617016E+01 47 ONLY +---- GSPOS SSI5 11 SSVD 0.66658983E+01 0.99762211E+01 -0.71619015E+01 47 ONLY +---- GSPOS SSI6 6 SSVD 0.58075585E+01 0.86916256E+01 -0.12895312E+02 48 ONLY +---- GSPOS SSI6 7 SSVD 0.21071029E+01 0.10593120E+02 0.22413912E+02 49 ONLY +---- GSPOS SSI4 5 SSVD 0.24187887E+01 0.12160069E+02 0.16025400E+02 50 ONLY +---- GSPOS SSI4 6 SSVD 0.24187887E+01 0.12160069E+02 0.92602005E+01 50 ONLY +---- GSPOS SSI5 12 SSVD 0.24187887E+01 0.12160069E+02 0.31774998E+01 51 ONLY +---- GSPOS SSI5 13 SSVD 0.24187887E+01 0.12160069E+02 -0.22227001E+01 51 ONLY +---- GSPOS SSI5 14 SSVD 0.24187887E+01 0.12160069E+02 -0.76229000E+01 51 ONLY +---- GSPOS SSI6 8 SSVD 0.21173797E+01 0.10644785E+02 -0.13356313E+02 52 ONLY +---- GSPOS SSI6 9 SSVD -0.20290666E+01 0.10200806E+02 0.21509911E+02 53 ONLY +---- GSPOS SSI4 7 SSVD -0.23407521E+01 0.11767756E+02 0.15121400E+02 54 ONLY +---- GSPOS SSI5 15 SSVD -0.23407521E+01 0.11767756E+02 0.90386992E+01 54 ONLY +---- GSPOS SSI5 16 SSVD -0.23407521E+01 0.11767756E+02 0.36384993E+01 55 ONLY +---- GSPOS SSI5 17 SSVD -0.23407521E+01 0.11767756E+02 -0.17617016E+01 55 ONLY +---- GSPOS SSI5 18 SSVD -0.23407521E+01 0.11767756E+02 -0.71619015E+01 55 ONLY +---- GSPOS SSI6 10 SSVD -0.20393434E+01 0.10252471E+02 -0.12895312E+02 56 ONLY +---- GSPOS SSI6 11 SSVD -0.60005198E+01 0.89804144E+01 0.22413912E+02 57 ONLY +---- GSPOS SSI4 8 SSVD -0.68881254E+01 0.10308809E+02 0.16025400E+02 58 ONLY +---- GSPOS SSI4 9 SSVD -0.68881254E+01 0.10308809E+02 0.92602005E+01 58 ONLY +---- GSPOS SSI5 19 SSVD -0.68881254E+01 0.10308809E+02 0.31774998E+01 59 ONLY +---- GSPOS SSI5 20 SSVD -0.68881254E+01 0.10308809E+02 -0.22227001E+01 59 ONLY +---- GSPOS SSI5 21 SSVD -0.68881254E+01 0.10308809E+02 -0.76229000E+01 59 ONLY +---- GSPOS SSI6 12 SSVD -0.60297856E+01 0.90242138E+01 -0.13356313E+02 60 ONLY +---- GSPOS SSI6 13 SSVD -0.86478262E+01 0.57782922E+01 0.21509911E+02 61 ONLY +---- GSPOS SSI4 10 SSVD -0.99762220E+01 0.66658974E+01 0.15121400E+02 62 ONLY +---- GSPOS SSI5 22 SSVD -0.99762220E+01 0.66658974E+01 0.90386992E+01 62 ONLY +---- GSPOS SSI5 23 SSVD -0.99762220E+01 0.66658974E+01 0.36384993E+01 63 ONLY +---- GSPOS SSI5 24 SSVD -0.99762220E+01 0.66658974E+01 -0.17617016E+01 63 ONLY +---- GSPOS SSI5 25 SSVD -0.99762220E+01 0.66658974E+01 -0.71619015E+01 63 ONLY +---- GSPOS SSI6 14 SSVD -0.86916256E+01 0.58075581E+01 -0.12895312E+02 64 ONLY +---- GSPOS SSI6 15 SSVD -0.10593121E+02 0.21071024E+01 0.22413912E+02 65 ONLY +---- GSPOS SSI4 11 SSVD -0.12160069E+02 0.24187880E+01 0.16025400E+02 66 ONLY +---- GSPOS SSI4 12 SSVD -0.12160069E+02 0.24187880E+01 0.92602005E+01 66 ONLY +---- GSPOS SSI5 26 SSVD -0.12160069E+02 0.24187880E+01 0.31774998E+01 67 ONLY +---- GSPOS SSI5 27 SSVD -0.12160069E+02 0.24187880E+01 -0.22227001E+01 67 ONLY +---- GSPOS SSI5 28 SSVD -0.12160069E+02 0.24187880E+01 -0.76229000E+01 67 ONLY +---- GSPOS SSI6 16 SSVD -0.10644785E+02 0.21173792E+01 -0.13356313E+02 68 ONLY +---- GSPOS SSI6 17 SSVD -0.10200807E+02 -0.20290658E+01 0.21509911E+02 69 ONLY +---- GSPOS SSI4 13 SSVD -0.11767756E+02 -0.23407512E+01 0.15121400E+02 70 ONLY +---- GSPOS SSI5 29 SSVD -0.11767756E+02 -0.23407512E+01 0.90386992E+01 70 ONLY +---- GSPOS SSI5 30 SSVD -0.11767756E+02 -0.23407512E+01 0.36384993E+01 71 ONLY +---- GSPOS SSI5 31 SSVD -0.11767756E+02 -0.23407512E+01 -0.17617016E+01 71 ONLY +---- GSPOS SSI5 32 SSVD -0.11767756E+02 -0.23407512E+01 -0.71619015E+01 71 ONLY +---- GSPOS SSI6 18 SSVD -0.10252472E+02 -0.20393426E+01 -0.12895312E+02 72 ONLY +---- GSPOS SSI6 19 SSVD -0.89804125E+01 -0.60005212E+01 0.22413912E+02 73 ONLY +---- GSPOS SSI4 14 SSVD -0.10308808E+02 -0.68881269E+01 0.16025400E+02 74 ONLY +---- GSPOS SSI4 15 SSVD -0.10308808E+02 -0.68881269E+01 0.92602005E+01 74 ONLY +---- GSPOS SSI5 33 SSVD -0.10308808E+02 -0.68881269E+01 0.31774998E+01 75 ONLY +---- GSPOS SSI5 34 SSVD -0.10308808E+02 -0.68881269E+01 -0.22227001E+01 75 ONLY +---- GSPOS SSI5 35 SSVD -0.10308808E+02 -0.68881269E+01 -0.76229000E+01 75 ONLY +---- GSPOS SSI6 20 SSVD -0.90242119E+01 -0.60297871E+01 -0.13356313E+02 76 ONLY +---- GSPOS SSI6 21 SSVD -0.57782946E+01 -0.86478243E+01 0.21509911E+02 77 ONLY +---- GSPOS SSI4 16 SSVD -0.66659002E+01 -0.99762201E+01 0.15121400E+02 78 ONLY +---- GSPOS SSI5 36 SSVD -0.66659002E+01 -0.99762201E+01 0.90386992E+01 78 ONLY +---- GSPOS SSI5 37 SSVD -0.66659002E+01 -0.99762201E+01 0.36384993E+01 79 ONLY +---- GSPOS SSI5 38 SSVD -0.66659002E+01 -0.99762201E+01 -0.17617016E+01 79 ONLY +---- GSPOS SSI5 39 SSVD -0.66659002E+01 -0.99762201E+01 -0.71619015E+01 79 ONLY +---- GSPOS SSI6 22 SSVD -0.58075604E+01 -0.86916237E+01 -0.12895312E+02 80 ONLY +---- GSPOS SSI6 23 SSVD -0.21071033E+01 -0.10593120E+02 0.22413912E+02 81 ONLY +---- GSPOS SSI4 17 SSVD -0.24187889E+01 -0.12160069E+02 0.16025400E+02 82 ONLY +---- GSPOS SSI4 18 SSVD -0.24187889E+01 -0.12160069E+02 0.92602005E+01 82 ONLY +---- GSPOS SSI5 40 SSVD -0.24187889E+01 -0.12160069E+02 0.31774998E+01 83 ONLY +---- GSPOS SSI5 41 SSVD -0.24187889E+01 -0.12160069E+02 -0.22227001E+01 83 ONLY +---- GSPOS SSI5 42 SSVD -0.24187889E+01 -0.12160069E+02 -0.76229000E+01 83 ONLY +---- GSPOS SSI6 24 SSVD -0.21173801E+01 -0.10644785E+02 -0.13356313E+02 84 ONLY +---- GSPOS SSI6 25 SSVD 0.20290675E+01 -0.10200806E+02 0.21509911E+02 85 ONLY +---- GSPOS SSI4 19 SSVD 0.23407533E+01 -0.11767756E+02 0.15121400E+02 86 ONLY +---- GSPOS SSI5 43 SSVD 0.23407533E+01 -0.11767756E+02 0.90386992E+01 86 ONLY +---- GSPOS SSI5 44 SSVD 0.23407533E+01 -0.11767756E+02 0.36384993E+01 87 ONLY +---- GSPOS SSI5 45 SSVD 0.23407533E+01 -0.11767756E+02 -0.17617016E+01 87 ONLY +---- GSPOS SSI5 46 SSVD 0.23407533E+01 -0.11767756E+02 -0.71619015E+01 87 ONLY +---- GSPOS SSI6 26 SSVD 0.20393443E+01 -0.10252471E+02 -0.12895312E+02 88 ONLY +---- GSPOS SSI6 27 SSVD 0.60005188E+01 -0.89804144E+01 0.22413912E+02 89 ONLY +---- GSPOS SSI4 20 SSVD 0.68881240E+01 -0.10308810E+02 0.16025400E+02 90 ONLY +---- GSPOS SSI4 21 SSVD 0.68881240E+01 -0.10308810E+02 0.92602005E+01 90 ONLY +---- GSPOS SSI5 47 SSVD 0.68881240E+01 -0.10308810E+02 0.31774998E+01 91 ONLY +---- GSPOS SSI5 48 SSVD 0.68881240E+01 -0.10308810E+02 -0.22227001E+01 91 ONLY +---- GSPOS SSI5 49 SSVD 0.68881240E+01 -0.10308810E+02 -0.76229000E+01 91 ONLY +---- GSPOS SSI6 28 SSVD 0.60297847E+01 -0.90242138E+01 -0.13356313E+02 92 ONLY +---- GSPOS SSI6 29 SSVD 0.86478262E+01 -0.57782931E+01 0.21509911E+02 93 ONLY +---- GSPOS SSI4 22 SSVD 0.99762211E+01 -0.66658988E+01 0.15121400E+02 94 ONLY +---- GSPOS SSI5 50 SSVD 0.99762211E+01 -0.66658988E+01 0.90386992E+01 94 ONLY +---- GSPOS SSI5 51 SSVD 0.99762211E+01 -0.66658988E+01 0.36384993E+01 95 ONLY +---- GSPOS SSI5 52 SSVD 0.99762211E+01 -0.66658988E+01 -0.17617016E+01 95 ONLY +---- GSPOS SSI5 53 SSVD 0.99762211E+01 -0.66658988E+01 -0.71619015E+01 95 ONLY +---- GSPOS SSI6 30 SSVD 0.86916256E+01 -0.58075590E+01 -0.12895312E+02 96 ONLY +---- GSPOS SSI6 31 SSVD 0.10593121E+02 -0.21071017E+01 0.22413912E+02 97 ONLY +---- GSPOS SSI4 23 SSVD 0.12160069E+02 -0.24187870E+01 0.16025400E+02 98 ONLY +---- GSPOS SSI4 24 SSVD 0.12160069E+02 -0.24187870E+01 0.92602005E+01 98 ONLY +---- GSPOS SSI5 54 SSVD 0.12160069E+02 -0.24187870E+01 0.31774998E+01 99 ONLY +---- GSPOS SSI5 55 SSVD 0.12160069E+02 -0.24187870E+01 -0.22227001E+01 99 ONLY +---- GSPOS SSI5 56 SSVD 0.12160069E+02 -0.24187870E+01 -0.76229000E+01 99 ONLY +---- GSPOS SSI6 32 SSVD 0.10644785E+02 -0.21173785E+01 -0.13356313E+02 100 ONLY +---- GSPOS SSI6 33 SSVD 0.13014118E+02 0.00000000E+00 0.29117945E+02 101 ONLY +---- GSPOS SSI4 25 SSVD 0.14398299E+02 0.00000000E+00 0.22625916E+02 102 ONLY +---- GSPOS SSI4 26 SSVD 0.14398299E+02 0.00000000E+00 0.15861750E+02 102 ONLY +---- GSPOS SSI4 27 SSVD 0.14398299E+02 0.00000000E+00 0.90975819E+01 102 ONLY +---- GSPOS SSI4 28 SSVD 0.14398299E+02 0.00000000E+00 0.23334141E+01 103 ONLY +---- GSPOS SSI4 29 SSVD 0.14398299E+02 0.00000000E+00 -0.44307537E+01 103 ONLY +---- GSPOS SSI4 30 SSVD 0.14398299E+02 0.00000000E+00 -0.11194916E+02 103 ONLY +---- GSPOS SSI6 34 SSVD 0.13178707E+02 0.00000000E+00 -0.17755049E+02 104 ONLY +---- GSPOS SSI6 35 SSVD 0.11853395E+02 0.43142824E+01 0.28153944E+02 105 ONLY +---- GSPOS SSI4 31 SSVD 0.13154099E+02 0.47877002E+01 0.21661917E+02 106 ONLY +---- GSPOS SSI4 32 SSVD 0.13154099E+02 0.47877002E+01 0.14897751E+02 106 ONLY +---- GSPOS SSI5 57 SSVD 0.13154099E+02 0.47877002E+01 0.88160839E+01 106 ONLY +---- GSPOS SSI4 33 SSVD 0.13154099E+02 0.47877002E+01 0.27344170E+01 107 ONLY +---- GSPOS SSI4 34 SSVD 0.13154099E+02 0.47877002E+01 -0.40297508E+01 107 ONLY +---- GSPOS SSI4 35 SSVD 0.13154099E+02 0.47877002E+01 -0.10793917E+02 107 ONLY +---- GSPOS SSI6 36 SSVD 0.12008057E+02 0.43705750E+01 -0.17354050E+02 108 ONLY +---- GSPOS SSI6 37 SSVD 0.99693928E+01 0.83653135E+01 0.29117945E+02 109 ONLY +---- GSPOS SSI4 36 SSVD 0.11029737E+02 0.92550478E+01 0.22625916E+02 110 ONLY +---- GSPOS SSI4 37 SSVD 0.11029737E+02 0.92550478E+01 0.15861750E+02 110 ONLY +---- GSPOS SSI4 38 SSVD 0.11029737E+02 0.92550478E+01 0.90975819E+01 110 ONLY +---- GSPOS SSI4 39 SSVD 0.11029737E+02 0.92550478E+01 0.23334141E+01 111 ONLY +---- GSPOS SSI4 40 SSVD 0.11029737E+02 0.92550478E+01 -0.44307537E+01 111 ONLY +---- GSPOS SSI4 41 SSVD 0.11029737E+02 0.92550478E+01 -0.11194916E+02 111 ONLY +---- GSPOS SSI6 38 SSVD 0.10095475E+02 0.84711094E+01 -0.17755049E+02 112 ONLY +---- GSPOS SSI6 39 SSVD 0.63070588E+01 0.10924148E+02 0.28153944E+02 113 ONLY +---- GSPOS SSI4 42 SSVD 0.69991493E+01 0.12122884E+02 0.21661917E+02 114 ONLY +---- GSPOS SSI4 43 SSVD 0.69991493E+01 0.12122884E+02 0.14897751E+02 114 ONLY +---- GSPOS SSI5 58 SSVD 0.69991493E+01 0.12122884E+02 0.88160839E+01 114 ONLY +---- GSPOS SSI4 44 SSVD 0.69991493E+01 0.12122884E+02 0.27344170E+01 115 ONLY +---- GSPOS SSI4 45 SSVD 0.69991493E+01 0.12122884E+02 -0.40297508E+01 115 ONLY +---- GSPOS SSI4 46 SSVD 0.69991493E+01 0.12122884E+02 -0.10793917E+02 115 ONLY +---- GSPOS SSI6 40 SSVD 0.63893533E+01 0.11066686E+02 -0.17354050E+02 116 ONLY +---- GSPOS SSI6 41 SSVD 0.22598784E+01 0.12816404E+02 0.29117945E+02 117 ONLY +---- GSPOS SSI4 47 SSVD 0.25002391E+01 0.14179556E+02 0.22625916E+02 118 ONLY +---- GSPOS SSI4 48 SSVD 0.25002391E+01 0.14179556E+02 0.15861750E+02 118 ONLY +---- GSPOS SSI4 49 SSVD 0.25002391E+01 0.14179556E+02 0.90975819E+01 118 ONLY +---- GSPOS SSI4 50 SSVD 0.25002391E+01 0.14179556E+02 0.23334141E+01 119 ONLY +---- GSPOS SSI4 51 SSVD 0.25002391E+01 0.14179556E+02 -0.44307537E+01 119 ONLY +---- GSPOS SSI4 52 SSVD 0.25002391E+01 0.14179556E+02 -0.11194916E+02 119 ONLY +---- GSPOS SSI6 42 SSVD 0.22884591E+01 0.12978493E+02 -0.17755049E+02 120 ONLY +---- GSPOS SSI6 43 SSVD -0.21904190E+01 0.12422482E+02 0.28153944E+02 121 ONLY +---- GSPOS SSI4 53 SSVD -0.24307795E+01 0.13785634E+02 0.21661917E+02 122 ONLY +---- GSPOS SSI4 54 SSVD -0.24307795E+01 0.13785634E+02 0.14897751E+02 122 ONLY +---- GSPOS SSI5 59 SSVD -0.24307795E+01 0.13785634E+02 0.88160839E+01 122 ONLY +---- GSPOS SSI4 55 SSVD -0.24307795E+01 0.13785634E+02 0.27344170E+01 123 ONLY +---- GSPOS SSI4 56 SSVD -0.24307795E+01 0.13785634E+02 -0.40297508E+01 123 ONLY +---- GSPOS SSI4 57 SSVD -0.24307795E+01 0.13785634E+02 -0.10793917E+02 123 ONLY +---- GSPOS SSI6 44 SSVD -0.22189994E+01 0.12584570E+02 -0.17354050E+02 124 ONLY +---- GSPOS SSI6 45 SSVD -0.65070601E+01 0.11270556E+02 0.29117945E+02 125 ONLY +---- GSPOS SSI4 58 SSVD -0.71991506E+01 0.12469293E+02 0.22625916E+02 126 ONLY +---- GSPOS SSI4 59 SSVD -0.71991506E+01 0.12469293E+02 0.15861750E+02 126 ONLY +---- GSPOS SSI4 60 SSVD -0.71991506E+01 0.12469293E+02 0.90975819E+01 126 ONLY +---- GSPOS SSI4 61 SSVD -0.71991506E+01 0.12469293E+02 0.23334141E+01 127 ONLY +---- GSPOS SSI4 62 SSVD -0.71991506E+01 0.12469293E+02 -0.44307537E+01 127 ONLY +---- GSPOS SSI4 63 SSVD -0.71991506E+01 0.12469293E+02 -0.11194916E+02 127 ONLY +---- GSPOS SSI6 46 SSVD -0.65893545E+01 0.11413095E+02 -0.17755049E+02 128 ONLY +---- GSPOS SSI6 47 SSVD -0.96629753E+01 0.81081991E+01 0.28153944E+02 129 ONLY +---- GSPOS SSI4 64 SSVD -0.10723320E+02 0.89979343E+01 0.21661917E+02 130 ONLY +---- GSPOS SSI4 65 SSVD -0.10723320E+02 0.89979343E+01 0.14897751E+02 130 ONLY +---- GSPOS SSI5 60 SSVD -0.10723320E+02 0.89979343E+01 0.88160839E+01 130 ONLY +---- GSPOS SSI4 66 SSVD -0.10723320E+02 0.89979343E+01 0.27344170E+01 131 ONLY +---- GSPOS SSI4 67 SSVD -0.10723320E+02 0.89979343E+01 -0.40297508E+01 131 ONLY +---- GSPOS SSI4 68 SSVD -0.10723320E+02 0.89979343E+01 -0.10793917E+02 131 ONLY +---- GSPOS SSI6 48 SSVD -0.97890577E+01 0.82139950E+01 -0.17354050E+02 132 ONLY +---- GSPOS SSI6 49 SSVD -0.12229271E+02 0.44510913E+01 0.29117945E+02 133 ONLY +---- GSPOS SSI4 69 SSVD -0.13529976E+02 0.49245095E+01 0.22625916E+02 134 ONLY +---- GSPOS SSI4 70 SSVD -0.13529976E+02 0.49245095E+01 0.15861750E+02 134 ONLY +---- GSPOS SSI4 71 SSVD -0.13529976E+02 0.49245095E+01 0.90975819E+01 134 ONLY +---- GSPOS SSI4 72 SSVD -0.13529976E+02 0.49245095E+01 0.23334141E+01 135 ONLY +---- GSPOS SSI4 73 SSVD -0.13529976E+02 0.49245095E+01 -0.44307537E+01 135 ONLY +---- GSPOS SSI4 74 SSVD -0.13529976E+02 0.49245095E+01 -0.11194916E+02 135 ONLY +---- GSPOS SSI6 50 SSVD -0.12383934E+02 0.45073843E+01 -0.17755049E+02 136 ONLY +---- GSPOS SSI6 51 SSVD -0.12614119E+02 -0.11027613E-05 0.28153944E+02 137 ONLY +---- GSPOS SSI4 75 SSVD -0.13998300E+02 -0.12237703E-05 0.21661917E+02 138 ONLY +---- GSPOS SSI4 76 SSVD -0.13998300E+02 -0.12237703E-05 0.14897751E+02 138 ONLY +---- GSPOS SSI5 61 SSVD -0.13998300E+02 -0.12237703E-05 0.88160839E+01 138 ONLY +---- GSPOS SSI4 77 SSVD -0.13998300E+02 -0.12237703E-05 0.27344170E+01 139 ONLY +---- GSPOS SSI4 78 SSVD -0.13998300E+02 -0.12237703E-05 -0.40297508E+01 139 ONLY +---- GSPOS SSI4 79 SSVD -0.13998300E+02 -0.12237703E-05 -0.10793917E+02 139 ONLY +---- GSPOS SSI6 52 SSVD -0.12778708E+02 -0.11171501E-05 -0.17354050E+02 140 ONLY +---- GSPOS SSI6 53 SSVD -0.12229271E+02 -0.44510908E+01 0.29117945E+02 141 ONLY +---- GSPOS SSI4 80 SSVD -0.13529976E+02 -0.49245086E+01 0.22625916E+02 142 ONLY +---- GSPOS SSI4 81 SSVD -0.13529976E+02 -0.49245086E+01 0.15861750E+02 142 ONLY +---- GSPOS SSI4 82 SSVD -0.13529976E+02 -0.49245086E+01 0.90975819E+01 142 ONLY +---- GSPOS SSI4 83 SSVD -0.13529976E+02 -0.49245086E+01 0.23334141E+01 143 ONLY +---- GSPOS SSI4 84 SSVD -0.13529976E+02 -0.49245086E+01 -0.44307537E+01 143 ONLY +---- GSPOS SSI4 85 SSVD -0.13529976E+02 -0.49245086E+01 -0.11194916E+02 143 ONLY +---- GSPOS SSI6 54 SSVD -0.12383934E+02 -0.45073833E+01 -0.17755049E+02 144 ONLY +---- GSPOS SSI6 55 SSVD -0.96629763E+01 -0.81081991E+01 0.28153944E+02 145 ONLY +---- GSPOS SSI4 86 SSVD -0.10723320E+02 -0.89979334E+01 0.21661917E+02 146 ONLY +---- GSPOS SSI4 87 SSVD -0.10723320E+02 -0.89979334E+01 0.14897751E+02 146 ONLY +---- GSPOS SSI5 62 SSVD -0.10723320E+02 -0.89979334E+01 0.88160839E+01 146 ONLY +---- GSPOS SSI4 88 SSVD -0.10723320E+02 -0.89979334E+01 0.27344170E+01 147 ONLY +---- GSPOS SSI4 89 SSVD -0.10723320E+02 -0.89979334E+01 -0.40297508E+01 147 ONLY +---- GSPOS SSI4 90 SSVD -0.10723320E+02 -0.89979334E+01 -0.10793917E+02 147 ONLY +---- GSPOS SSI6 56 SSVD -0.97890587E+01 -0.82139940E+01 -0.17354050E+02 148 ONLY +---- GSPOS SSI6 57 SSVD -0.65070581E+01 -0.11270557E+02 0.29117945E+02 149 ONLY +---- GSPOS SSI4 91 SSVD -0.71991482E+01 -0.12469294E+02 0.22625916E+02 150 ONLY +---- GSPOS SSI4 92 SSVD -0.71991482E+01 -0.12469294E+02 0.15861750E+02 150 ONLY +---- GSPOS SSI4 93 SSVD -0.71991482E+01 -0.12469294E+02 0.90975819E+01 150 ONLY +---- GSPOS SSI4 94 SSVD -0.71991482E+01 -0.12469294E+02 0.23334141E+01 151 ONLY +---- GSPOS SSI4 95 SSVD -0.71991482E+01 -0.12469294E+02 -0.44307537E+01 151 ONLY +---- GSPOS SSI4 96 SSVD -0.71991482E+01 -0.12469294E+02 -0.11194916E+02 151 ONLY +---- GSPOS SSI6 58 SSVD -0.65893526E+01 -0.11413095E+02 -0.17755049E+02 152 ONLY +---- GSPOS SSI6 59 SSVD -0.21904182E+01 -0.12422482E+02 0.28153944E+02 153 ONLY +---- GSPOS SSI4 97 SSVD -0.24307785E+01 -0.13785634E+02 0.21661917E+02 154 ONLY +---- GSPOS SSI4 98 SSVD -0.24307785E+01 -0.13785634E+02 0.14897751E+02 154 ONLY +---- GSPOS SSI5 63 SSVD -0.24307785E+01 -0.13785634E+02 0.88160839E+01 154 ONLY +---- GSPOS SSI4 99 SSVD -0.24307785E+01 -0.13785634E+02 0.27344170E+01 155 ONLY +---- GSPOS SSI4 100 SSVD -0.24307785E+01 -0.13785634E+02 -0.40297508E+01 155 ONLY +---- GSPOS SSI4 101 SSVD -0.24307785E+01 -0.13785634E+02 -0.10793917E+02 155 ONLY +---- GSPOS SSI6 60 SSVD -0.22189987E+01 -0.12584571E+02 -0.17354050E+02 156 ONLY +---- GSPOS SSI6 61 SSVD 0.22598774E+01 -0.12816404E+02 0.29117945E+02 157 ONLY +---- GSPOS SSI4 102 SSVD 0.25002379E+01 -0.14179556E+02 0.22625916E+02 158 ONLY +---- GSPOS SSI4 103 SSVD 0.25002379E+01 -0.14179556E+02 0.15861750E+02 158 ONLY +---- GSPOS SSI4 104 SSVD 0.25002379E+01 -0.14179556E+02 0.90975819E+01 158 ONLY +---- GSPOS SSI4 105 SSVD 0.25002379E+01 -0.14179556E+02 0.23334141E+01 159 ONLY +---- GSPOS SSI4 106 SSVD 0.25002379E+01 -0.14179556E+02 -0.44307537E+01 159 ONLY +---- GSPOS SSI4 107 SSVD 0.25002379E+01 -0.14179556E+02 -0.11194916E+02 159 ONLY +---- GSPOS SSI6 62 SSVD 0.22884581E+01 -0.12978493E+02 -0.17755049E+02 160 ONLY +---- GSPOS SSI6 63 SSVD 0.63070583E+01 -0.10924148E+02 0.28153944E+02 161 ONLY +---- GSPOS SSI4 108 SSVD 0.69991484E+01 -0.12122884E+02 0.21661917E+02 162 ONLY +---- GSPOS SSI4 109 SSVD 0.69991484E+01 -0.12122884E+02 0.14897751E+02 162 ONLY +---- GSPOS SSI5 64 SSVD 0.69991484E+01 -0.12122884E+02 0.88160839E+01 162 ONLY +---- GSPOS SSI4 110 SSVD 0.69991484E+01 -0.12122884E+02 0.27344170E+01 163 ONLY +---- GSPOS SSI4 111 SSVD 0.69991484E+01 -0.12122884E+02 -0.40297508E+01 163 ONLY +---- GSPOS SSI4 112 SSVD 0.69991484E+01 -0.12122884E+02 -0.10793917E+02 163 ONLY +---- GSPOS SSI6 64 SSVD 0.63893528E+01 -0.11066686E+02 -0.17354050E+02 164 ONLY +---- GSPOS SSI6 65 SSVD 0.99693909E+01 -0.83653154E+01 0.29117945E+02 165 ONLY +---- GSPOS SSI4 113 SSVD 0.11029736E+02 -0.92550507E+01 0.22625916E+02 166 ONLY +---- GSPOS SSI4 114 SSVD 0.11029736E+02 -0.92550507E+01 0.15861750E+02 166 ONLY +---- GSPOS SSI4 115 SSVD 0.11029736E+02 -0.92550507E+01 0.90975819E+01 166 ONLY +---- GSPOS SSI4 116 SSVD 0.11029736E+02 -0.92550507E+01 0.23334141E+01 167 ONLY +---- GSPOS SSI4 117 SSVD 0.11029736E+02 -0.92550507E+01 -0.44307537E+01 167 ONLY +---- GSPOS SSI4 118 SSVD 0.11029736E+02 -0.92550507E+01 -0.11194916E+02 167 ONLY +---- GSPOS SSI6 66 SSVD 0.10095473E+02 -0.84711113E+01 -0.17755049E+02 168 ONLY +---- GSPOS SSI6 67 SSVD 0.11853394E+02 -0.43142853E+01 0.28153944E+02 169 ONLY +---- GSPOS SSI4 119 SSVD 0.13154098E+02 -0.47877035E+01 0.21661917E+02 170 ONLY +---- GSPOS SSI4 120 SSVD 0.13154098E+02 -0.47877035E+01 0.14897751E+02 170 ONLY +---- GSPOS SSI5 65 SSVD 0.13154098E+02 -0.47877035E+01 0.88160839E+01 170 ONLY +---- GSPOS SSI4 121 SSVD 0.13154098E+02 -0.47877035E+01 0.27344170E+01 171 ONLY +---- GSPOS SSI4 122 SSVD 0.13154098E+02 -0.47877035E+01 -0.40297508E+01 171 ONLY +---- GSPOS SSI4 123 SSVD 0.13154098E+02 -0.47877035E+01 -0.10793917E+02 171 ONLY +---- GSPOS SSI6 68 SSVD 0.12008057E+02 -0.43705783E+01 -0.17354050E+02 172 ONLY +---- GSPOS SSA1 1 SSI1 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK1 1 SSI1 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSPOS SSA2 1 SSI2 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK2 1 SSI2 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSPOS SSA3 1 SSI3 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK3 1 SSI3 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSPOS SSA6 1 SSI6 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK6 1 SSI6 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSPOS SSA4 1 SSI4 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK4 1 SSI4 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSPOS SSA5 1 SSI5 0.00000000E+00 0.17000000E-02 0.00000000E+00 0 ONLY +---- GSPOS SSK5 1 SSI5 0.00000000E+00 -0.15000000E-01 0.00000000E+00 0 ONLY +---- GSDET SSVD SSA1 3 SSVD SSI1 SSA1 2 12 2 2 5000 100 +---- GSDETH SSVD SSA1 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GSDET SSVD SSA2 3 SSVD SSI2 SSA2 2 12 2 2 5000 100 +---- GSDETH SSVD SSA2 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GSDET SSVD SSA3 3 SSVD SSI3 SSA3 2 12 2 2 5000 100 +---- GSDETH SSVD SSA3 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GSDET SSVD SSA6 3 SSVD SSI6 SSA6 2 12 2 2 5000 100 +---- GSDETH SSVD SSA6 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GSDET SSVD SSA4 3 SSVD SSI4 SSA4 2 12 2 2 5000 100 +---- GSDETH SSVD SSA4 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GSDET SSVD SSA5 3 SSVD SSI5 SSA5 2 12 2 2 5000 100 +---- GSDETH SSVD SSA5 11 x1 y1 z1 dedx x0 y0 z0 time igtr wadr beta 0 0 0 16 0 0 0 0 0 0 0 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.10000000E+03 0.10000000E+03 0.10000000E+03 0.50000000E+04 0.00000000E+00 0.10000000E+01 0.00000000E+00 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+02 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+05 0.10000000E+01 0.10000000E+01 0.20000000E+10 +---- GGCLOS diff --git a/examples/extended/g3tog4/data/testmodel.dat b/examples/extended/g3tog4/data/testmodel.dat new file mode 100644 index 0000000000..7786c221ea --- /dev/null +++ b/examples/extended/g3tog4/data/testmodel.dat @@ -0,0 +1,33 @@ +---- GSMATE 1 "HYDROGEN " 0.10100000E+01 0.10000000E+01 0.70799999E-01 0.86500000E+03 0 +---- GSMATE 2 "DEUTERIUM " 0.20100000E+01 0.10000000E+01 0.16200000E+00 0.75700000E+03 0 +---- GSMATE 3 "HELIUM " 0.40000000E+01 0.20000000E+01 0.12500000E+00 0.75500000E+03 0 +---- GSMATE 4 "LITHIUM " 0.69400001E+01 0.30000000E+01 0.53399998E+00 0.15500000E+03 0 +---- GSMATE 5 "BERILLIUM " 0.90100002E+01 0.40000000E+01 0.18480000E+01 0.35299999E+02 0 +---- GSMATE 6 "CARBON " 0.12010000E+02 0.60000000E+01 0.22650001E+01 0.18799999E+02 0 +---- GSMATE 7 "NITROGEN " 0.14010000E+02 0.70000000E+01 0.80800003E+00 0.44500000E+02 0 +---- GSMATE 8 "NEON " 0.20180000E+02 0.10000000E+02 0.12070000E+01 0.24000000E+02 0 +---- GSMATE 9 "ALUMINIUM " 0.26980000E+02 0.13000000E+02 0.27000000E+01 0.88999996E+01 0 +---- GSMATE 10 "IRON " 0.55849998E+02 0.26000000E+02 0.78699999E+01 0.17600000E+01 0 +---- GSMATE 11 "COPPER " 0.63540001E+02 0.29000000E+02 0.89600000E+01 0.14299999E+01 0 +---- GSMATE 12 "TUNGSTEN " 0.18385001E+03 0.74000000E+02 0.19299999E+02 0.34999999E+00 0 +---- GSMATE 13 "LEAD " 0.20719000E+03 0.82000000E+02 0.11350000E+02 0.56000000E+00 0 +---- GSMATE 14 "URANIUM " 0.23803000E+03 0.92000000E+02 0.18950001E+02 0.31999999E+00 0 +---- GSMATE 15 "AIR " 0.14610000E+02 0.73000002E+01 0.12050000E-02 0.30423240E+05 0 +---- GSMATE 16 "VACUUM " 0.10000000E-15 0.10000000E-15 0.10000000E-15 0.10000000E+17 0 +---- GSTMED 1 "Ether " 16 0 0 0.10000000E+04 0.99999998E-02 0.10000000E+11 0.00000000E+00 0.10000000E-02 0.00000000E+00 0 +---- GSVOLU HALL BOX 1 3 0.40000000E+03 0.40000000E+03 0.40000000E+03 +---- GSVOLU TUB1 TUBS 1 5 0.00000000E+00 0.20000000E+02 0.10000000E+03 0.00000000E+00 0.36000000E+03 +---- GSVOLU TUB2 TUBS 1 5 0.20000000E+02 0.10000000E+03 0.10000000E+03 0.00000000E+00 0.36000000E+03 +---- GSVOLU BOX1 BOX 1 0 +---- GSVOLU BOX2 BOX 1 3 -0.10000000E+01 -0.10000000E+01 0.10000000E+01 +---- GSPOS TUB1 1 HALL 0.00000000E+00 0.00000000E+00 0.10000000E+03 0 ONLY +---- GSPOS TUB2 1 HALL 0.00000000E+00 0.00000000E+00 0.10000000E+03 0 ONLY +---- GSPOSP BOX1 1 HALL 0.00000000E+00 0.00000000E+00 -0.40000000E+02 0 ONLY 3 0.50000000E+02 0.25000000E+02 0.50000000E+01 +---- GSPOSP BOX1 2 HALL 0.00000000E+00 0.00000000E+00 -0.80000000E+02 0 ONLY 3 0.10000000E+03 0.50000000E+02 0.50000000E+01 +---- GSPOSP BOX1 3 HALL 0.00000000E+00 0.00000000E+00 -0.12000000E+03 0 ONLY 3 0.15000000E+03 0.75000000E+02 0.50000000E+01 +---- GSPOSP BOX1 4 HALL 0.00000000E+00 0.00000000E+00 -0.16000000E+03 0 ONLY 3 0.20000000E+03 0.10000000E+03 0.50000000E+01 +---- GSDVN2 TBD1 TUB1 60 2 0.00000000E+00 1 +---- GSDVN2 TBD2 TUB2 5 1 0.20000000E+02 1 +---- GSPOS BOX2 1 BOX1 0.00000000E+00 0.00000000E+00 0.10000000E+01 0 ONLY +---- GSDVN2 BXD1 BOX2 4 1 0.00000000E+00 1 +---- GGCLOS diff --git a/examples/extended/persistency/PersistentEx01/PersistentEx01.cc b/examples/extended/persistency/PersistentEx01/PersistentEx01.cc index d4d4bf2fe3..24214768d4 100644 --- a/examples/extended/persistency/PersistentEx01/PersistentEx01.cc +++ b/examples/extended/persistency/PersistentEx01/PersistentEx01.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersistentEx01.cc,v 1.5 1999/12/15 14:49:16 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/persistency/PersistentEx01/PersistentEx01.out b/examples/extended/persistency/PersistentEx01/PersistentEx01.out index 85e7391f40..1bc6b0cc31 100644 --- a/examples/extended/persistency/PersistentEx01/PersistentEx01.out +++ b/examples/extended/persistency/PersistentEx01/PersistentEx01.out @@ -1,7 +1,7 @@ LD_LIBRARY_PATH = /usr/local/libexec/jdk/1.1.6/lib:/opt/SUNWspro/lib:/usr/openwin/lib:/usr/dt/lib:/usr/local/lib:/afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.1/lib:/afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.0.1/lib Copying G4EXAMPLE_BOOT into runtime federated database... -Creating new runtime federated database /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/exampleSchema/SUN-CC/PersistentEx01 for FDID 207 +Creating new runtime federated database /afs/cern.ch/sw/geant4/stt/dev1/SUN-CC/debug_NONISO/exampleSchema/SUN-CC/PersistentEx01 for FDID 207 Run with active lockserver Schema import from PersistentEx01 to PersistentEx01 @@ -10,12 +10,12 @@ Now updating System Name Space (catalog) values... Now updating Database File locations... Federated Database Installation complete. -OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/exampleFD/SUN-CC/PersistentEx01 +OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev1/SUN-CC/debug_NONISO/exampleFD/SUN-CC/PersistentEx01 Opening federated database OO_FD_BOOT. ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** # @@ -54,11 +54,12 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Aluminium 125.07 - Lead 229.66 + Aluminium 125.06 + Lead 229.55 Air 0.99 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -76,8 +77,8 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) - Aluminium 125.07 - Lead 229.66 + Aluminium 125.06 + Lead 229.55 Air 0.99 hIoni: Knock-on electron cross sections . @@ -111,91 +112,91 @@ Transaction started for /Geometry/GeomContainer/ with non-sustained mode. Transaction is committed on /Geometry/GeomContainer/ >>> Event 0 Event : 0 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 31.596 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 59.343 +mySD/EvenCollection Number of hits 14 + Edep of the first Hit 33.78 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 30.589 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 0 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 1 Event : 1 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 1.7624 -mySD/OddCollection Number of hits 40 - Edep of the first Hit 21.652 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 17.334 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 3.9675 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 1 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 2 Event : 2 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 10.362 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 46.736 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 34.294 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 37.385 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 2 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 3 Event : 3 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 38.603 -mySD/OddCollection Number of hits 35 - Edep of the first Hit 15.55 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 2.3184 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 5.8462 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 3 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 4 Event : 4 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 46.253 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 19.721 +mySD/EvenCollection Number of hits 33 + Edep of the first Hit 5.4403 +mySD/OddCollection Number of hits 18 + Edep of the first Hit 46.378 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 4 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 5 Event : 5 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 11.805 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 30.611 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 52.566 +mySD/OddCollection Number of hits 51 + Edep of the first Hit 88.941 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 5 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 6 Event : 6 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 4.4673 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 75.661 mySD/OddCollection Number of hits 42 - Edep of the first Hit 38.656 + Edep of the first Hit 19.696 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 6 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 7 Event : 7 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 36.725 -mySD/OddCollection Number of hits 43 - Edep of the first Hit 35.941 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 64.235 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 12.01 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 7 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 8 Event : 8 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 58.073 -mySD/OddCollection Number of hits 47 - Edep of the first Hit 38.947 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 7.8162 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 35.162 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 8 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ >>> Event 9 Event : 9 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 36.099 -mySD/OddCollection Number of hits 34 - Edep of the first Hit 51.997 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 45.438 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 52.619 Transaction started for /Events/EventContainer/ with non-sustained mode. -- G4PEvent 9 stored in /Events/EventContainer/ Transaction is committed on /Events/EventContainer/ diff --git a/examples/extended/persistency/PersistentEx02/PersistentEx02.cc b/examples/extended/persistency/PersistentEx02/PersistentEx02.cc index 9ce24872fe..e59913b3af 100644 --- a/examples/extended/persistency/PersistentEx02/PersistentEx02.cc +++ b/examples/extended/persistency/PersistentEx02/PersistentEx02.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersistentEx02.cc,v 1.3 1999/12/15 14:49:17 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/persistency/PersistentEx02/PersistentEx02.out b/examples/extended/persistency/PersistentEx02/PersistentEx02.out index 45151a27e8..32748fd303 100644 --- a/examples/extended/persistency/PersistentEx02/PersistentEx02.out +++ b/examples/extended/persistency/PersistentEx02/PersistentEx02.out @@ -1,7 +1,7 @@ LD_LIBRARY_PATH = /usr/local/libexec/jdk/1.1.6/lib:/opt/SUNWspro/lib:/usr/openwin/lib:/usr/dt/lib:/usr/local/lib:/afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.1/lib:/afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.0.1/lib Copying G4EXAMPLE_BOOT into runtime federated database... -Creating new runtime federated database /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/exampleSchema/SUN-CC/PersistentEx02 for FDID 207 +Creating new runtime federated database /afs/cern.ch/sw/geant4/stt/dev1/SUN-CC/debug_NONISO/exampleSchema/SUN-CC/PersistentEx02 for FDID 207 Run with active lockserver Schema import from PersistentEx02 to PersistentEx02 @@ -10,12 +10,12 @@ Now updating System Name Space (catalog) values... Now updating Database File locations... Federated Database Installation complete. -OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev2/SUN-CC/debug_NONISO/exampleFD/SUN-CC/PersistentEx02 +OO_FD_BOOT is set to /afs/cern.ch/sw/geant4/stt/dev1/SUN-CC/debug_NONISO/exampleFD/SUN-CC/PersistentEx02 Opening federated database OO_FD_BOOT. ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** # @@ -54,11 +54,12 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Aluminium 125.07 - Lead 229.66 + Aluminium 125.06 + Lead 229.55 Air 0.99 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -76,8 +77,8 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) - Aluminium 125.07 - Lead 229.66 + Aluminium 125.06 + Lead 229.55 Air 0.99 hIoni: Knock-on electron cross sections . @@ -112,723 +113,723 @@ Transaction is committed on /Geometry/GeomContainer/ Transaction started for /Events/EventContainer/ with sustained mode. >>> Event 0 Event : 0 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 31.596 -mySD/OddCollection Number of hits 35 - Edep of the first Hit 59.343 +mySD/EvenCollection Number of hits 14 + Edep of the first Hit 33.78 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 30.589 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 0 stored in /Events/EventContainer/ (sustained) >>> Event 1 Event : 1 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 1.7624 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 21.652 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 17.334 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 3.9675 -- G4PEvent 1 stored in /Events/EventContainer/ (sustained) >>> Event 2 Event : 2 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 10.362 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 46.736 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 34.294 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 37.385 -- G4PEvent 2 stored in /Events/EventContainer/ (sustained) >>> Event 3 Event : 3 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 38.603 -mySD/OddCollection Number of hits 34 - Edep of the first Hit 15.55 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 2.3184 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 5.8462 -- G4PEvent 3 stored in /Events/EventContainer/ (sustained) >>> Event 4 Event : 4 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 46.253 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 19.721 +mySD/EvenCollection Number of hits 32 + Edep of the first Hit 5.4403 +mySD/OddCollection Number of hits 18 + Edep of the first Hit 46.378 -- G4PEvent 4 stored in /Events/EventContainer/ (sustained) >>> Event 5 Event : 5 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 11.805 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 30.611 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 52.566 +mySD/OddCollection Number of hits 50 + Edep of the first Hit 88.941 -- G4PEvent 5 stored in /Events/EventContainer/ (sustained) >>> Event 6 Event : 6 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 4.4673 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 75.661 mySD/OddCollection Number of hits 41 - Edep of the first Hit 38.656 + Edep of the first Hit 19.696 -- G4PEvent 6 stored in /Events/EventContainer/ (sustained) >>> Event 7 Event : 7 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 36.725 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 35.941 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 64.235 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 12.01 -- G4PEvent 7 stored in /Events/EventContainer/ (sustained) >>> Event 8 Event : 8 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 58.073 -mySD/OddCollection Number of hits 46 - Edep of the first Hit 38.947 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 7.8162 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 35.162 -- G4PEvent 8 stored in /Events/EventContainer/ (sustained) >>> Event 9 Event : 9 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 36.099 -mySD/OddCollection Number of hits 33 - Edep of the first Hit 51.997 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 45.438 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 52.619 -- G4PEvent 9 stored in /Events/EventContainer/ (sustained) >>> Event 10 Event : 10 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 26.828 -mySD/OddCollection Number of hits 33 - Edep of the first Hit 78.805 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 8.6076 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 35.99 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 10 stored in /Events/EventContainer/ (sustained) >>> Event 11 Event : 11 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 19.479 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 20.307 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 129.12 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 35.02 -- G4PEvent 11 stored in /Events/EventContainer/ (sustained) >>> Event 12 Event : 12 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 47.623 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 65.917 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 29.32 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 37.156 -- G4PEvent 12 stored in /Events/EventContainer/ (sustained) >>> Event 13 Event : 13 -mySD/EvenCollection Number of hits 4 - Edep of the first Hit 71.288 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 19.405 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 51.838 +mySD/OddCollection Number of hits 35 + Edep of the first Hit 75.941 -- G4PEvent 13 stored in /Events/EventContainer/ (sustained) >>> Event 14 Event : 14 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 36.023 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 7.7591 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 76.24 +mySD/OddCollection Number of hits 44 + Edep of the first Hit 5.5928 -- G4PEvent 14 stored in /Events/EventContainer/ (sustained) >>> Event 15 Event : 15 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 3.7691 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 28.344 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 46.576 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 7.6868 -- G4PEvent 15 stored in /Events/EventContainer/ (sustained) >>> Event 16 Event : 16 -mySD/EvenCollection Number of hits 12 - Edep of the first Hit 45.291 -mySD/OddCollection Number of hits 27 - Edep of the first Hit 7.7138 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 6.5263 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 3.6904 -- G4PEvent 16 stored in /Events/EventContainer/ (sustained) >>> Event 17 Event : 17 -mySD/EvenCollection Number of hits 22 - Edep of the first Hit 82.453 -mySD/OddCollection Number of hits 27 - Edep of the first Hit 24.774 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 6.4445 +mySD/OddCollection Number of hits 34 + Edep of the first Hit 10.196 -- G4PEvent 17 stored in /Events/EventContainer/ (sustained) >>> Event 18 Event : 18 -mySD/EvenCollection Number of hits 20 - Edep of the first Hit 54.948 -mySD/OddCollection Number of hits 28 - Edep of the first Hit 40.001 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 18.891 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 33.746 -- G4PEvent 18 stored in /Events/EventContainer/ (sustained) >>> Event 19 Event : 19 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 25.839 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 8.8688 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 103.72 +mySD/OddCollection Number of hits 49 + Edep of the first Hit 0.23897 -- G4PEvent 19 stored in /Events/EventContainer/ (sustained) >>> Event 20 Event : 20 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 55.874 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 94.691 +mySD/EvenCollection Number of hits 23 + Edep of the first Hit 66.011 +mySD/OddCollection Number of hits 16 + Edep of the first Hit 81.957 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 20 stored in /Events/EventContainer/ (sustained) >>> Event 21 Event : 21 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 0.88524 -mySD/OddCollection Number of hits 35 - Edep of the first Hit 8.342 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 12.318 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 10.471 -- G4PEvent 21 stored in /Events/EventContainer/ (sustained) >>> Event 22 Event : 22 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 11.475 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 3.2154 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 54.155 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 19.497 -- G4PEvent 22 stored in /Events/EventContainer/ (sustained) >>> Event 23 Event : 23 -mySD/EvenCollection Number of hits 25 - Edep of the first Hit 46.642 -mySD/OddCollection Number of hits 21 - Edep of the first Hit 52.072 +mySD/EvenCollection Number of hits 35 + Edep of the first Hit 9.0521 +mySD/OddCollection Number of hits 17 + Edep of the first Hit 4.1481 -- G4PEvent 23 stored in /Events/EventContainer/ (sustained) >>> Event 24 Event : 24 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 30.528 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 10.185 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 27.378 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 36.241 -- G4PEvent 24 stored in /Events/EventContainer/ (sustained) >>> Event 25 Event : 25 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 10.507 -mySD/OddCollection Number of hits 47 - Edep of the first Hit 7.4188 +mySD/EvenCollection Number of hits 27 + Edep of the first Hit 9.7429 +mySD/OddCollection Number of hits 20 + Edep of the first Hit 7.6519 -- G4PEvent 25 stored in /Events/EventContainer/ (sustained) >>> Event 26 Event : 26 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 23.399 -mySD/OddCollection Number of hits 41 - Edep of the first Hit 2.1485 +mySD/EvenCollection Number of hits 30 + Edep of the first Hit 0.13644 +mySD/OddCollection Number of hits 22 + Edep of the first Hit 15.808 -- G4PEvent 26 stored in /Events/EventContainer/ (sustained) >>> Event 27 Event : 27 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 38.743 -mySD/OddCollection Number of hits 47 - Edep of the first Hit 1.9081 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 10.607 +mySD/OddCollection Number of hits 48 + Edep of the first Hit 3.7085 -- G4PEvent 27 stored in /Events/EventContainer/ (sustained) >>> Event 28 Event : 28 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 1.8656 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 11.389 mySD/OddCollection Number of hits 39 - Edep of the first Hit 1.692 + Edep of the first Hit 36.446 -- G4PEvent 28 stored in /Events/EventContainer/ (sustained) >>> Event 29 Event : 29 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 18.987 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 0.64866 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 0.81911 +mySD/OddCollection Number of hits 49 + Edep of the first Hit 12.546 -- G4PEvent 29 stored in /Events/EventContainer/ (sustained) >>> Event 30 Event : 30 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 13.689 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 34.422 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 16.914 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 31.867 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 30 stored in /Events/EventContainer/ (sustained) >>> Event 31 Event : 31 -mySD/EvenCollection Number of hits 25 - Edep of the first Hit 31.962 -mySD/OddCollection Number of hits 17 - Edep of the first Hit 13.155 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 5.6758 +mySD/OddCollection Number of hits 36 + Edep of the first Hit 20.45 -- G4PEvent 31 stored in /Events/EventContainer/ (sustained) >>> Event 32 Event : 32 -mySD/EvenCollection Number of hits 5 - Edep of the first Hit 32.817 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 0.26188 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 10.865 +mySD/OddCollection Number of hits 44 + Edep of the first Hit 8.4417 -- G4PEvent 32 stored in /Events/EventContainer/ (sustained) >>> Event 33 Event : 33 -mySD/EvenCollection Number of hits 31 - Edep of the first Hit 4.6301 -mySD/OddCollection Number of hits 13 - Edep of the first Hit 13.441 +mySD/EvenCollection Number of hits 14 + Edep of the first Hit 24.566 +mySD/OddCollection Number of hits 34 + Edep of the first Hit 17.839 -- G4PEvent 33 stored in /Events/EventContainer/ (sustained) >>> Event 34 Event : 34 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 32.915 -mySD/OddCollection Number of hits 34 - Edep of the first Hit 24.714 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 27.659 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 24.839 -- G4PEvent 34 stored in /Events/EventContainer/ (sustained) >>> Event 35 Event : 35 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 9.6296 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 46.939 +mySD/EvenCollection Number of hits 30 + Edep of the first Hit 6.0366 +mySD/OddCollection Number of hits 17 + Edep of the first Hit 51.51 -- G4PEvent 35 stored in /Events/EventContainer/ (sustained) >>> Event 36 Event : 36 -mySD/EvenCollection Number of hits 27 - Edep of the first Hit 10.242 -mySD/OddCollection Number of hits 10 - Edep of the first Hit 119.94 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 5.2104 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 94.608 -- G4PEvent 36 stored in /Events/EventContainer/ (sustained) >>> Event 37 Event : 37 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 20.405 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 49.456 +mySD/EvenCollection Number of hits 13 + Edep of the first Hit 6.9929 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 29.298 -- G4PEvent 37 stored in /Events/EventContainer/ (sustained) >>> Event 38 Event : 38 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 62.763 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 31.906 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 8.4366 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 62.729 -- G4PEvent 38 stored in /Events/EventContainer/ (sustained) >>> Event 39 Event : 39 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 7.1267 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 0.48857 +mySD/EvenCollection Number of hits 27 + Edep of the first Hit 45.507 +mySD/OddCollection Number of hits 17 + Edep of the first Hit 4.8999 -- G4PEvent 39 stored in /Events/EventContainer/ (sustained) >>> Event 40 Event : 40 -mySD/EvenCollection Number of hits 2 - Edep of the first Hit 61.942 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 50.265 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 44.34 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 16.517 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 40 stored in /Events/EventContainer/ (sustained) >>> Event 41 Event : 41 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 29.357 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 10.217 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 2.8041 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 41.008 -- G4PEvent 41 stored in /Events/EventContainer/ (sustained) >>> Event 42 Event : 42 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 11.502 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 21.138 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 0.53774 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 33.61 -- G4PEvent 42 stored in /Events/EventContainer/ (sustained) >>> Event 43 Event : 43 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 9.3481 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 55.22 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 75.591 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 33.415 -- G4PEvent 43 stored in /Events/EventContainer/ (sustained) >>> Event 44 Event : 44 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 13.537 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 36.372 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 17.706 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 22.565 -- G4PEvent 44 stored in /Events/EventContainer/ (sustained) >>> Event 45 Event : 45 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 5.5157 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 72.938 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 7.2448 +mySD/OddCollection Number of hits 33 + Edep of the first Hit 6.6821 -- G4PEvent 45 stored in /Events/EventContainer/ (sustained) >>> Event 46 Event : 46 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 2.7937 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 12.043 mySD/OddCollection Number of hits 36 - Edep of the first Hit 0.82487 + Edep of the first Hit 110.21 -- G4PEvent 46 stored in /Events/EventContainer/ (sustained) >>> Event 47 Event : 47 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 49.743 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 51.551 +mySD/EvenCollection Number of hits 26 + Edep of the first Hit 40.18 +mySD/OddCollection Number of hits 15 + Edep of the first Hit 16.365 -- G4PEvent 47 stored in /Events/EventContainer/ (sustained) >>> Event 48 Event : 48 -mySD/EvenCollection Number of hits 12 - Edep of the first Hit 4.8359 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 62.47 +mySD/EvenCollection Number of hits 23 + Edep of the first Hit 27.245 +mySD/OddCollection Number of hits 17 + Edep of the first Hit 42.801 -- G4PEvent 48 stored in /Events/EventContainer/ (sustained) >>> Event 49 Event : 49 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 5.4029 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 45.328 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 0.66946 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 24.889 -- G4PEvent 49 stored in /Events/EventContainer/ (sustained) >>> Event 50 Event : 50 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 55.147 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 45.348 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 39.982 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 27.025 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 50 stored in /Events/EventContainer/ (sustained) >>> Event 51 Event : 51 -mySD/EvenCollection Number of hits 12 - Edep of the first Hit 10.148 -mySD/OddCollection Number of hits 26 - Edep of the first Hit 7.2761 +mySD/EvenCollection Number of hits 20 + Edep of the first Hit 6.2659 +mySD/OddCollection Number of hits 24 + Edep of the first Hit 17.2 -- G4PEvent 51 stored in /Events/EventContainer/ (sustained) >>> Event 52 Event : 52 -mySD/EvenCollection Number of hits 5 - Edep of the first Hit 144.05 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 22.162 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 30.022 +mySD/OddCollection Number of hits 36 + Edep of the first Hit 35.668 -- G4PEvent 52 stored in /Events/EventContainer/ (sustained) >>> Event 53 Event : 53 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 3.129 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 14.101 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 44.207 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 1.1609 -- G4PEvent 53 stored in /Events/EventContainer/ (sustained) >>> Event 54 Event : 54 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 12.51 -mySD/OddCollection Number of hits 35 - Edep of the first Hit 13.398 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 35.352 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 7.7773 -- G4PEvent 54 stored in /Events/EventContainer/ (sustained) >>> Event 55 Event : 55 -mySD/EvenCollection Number of hits 27 - Edep of the first Hit 5.7096 -mySD/OddCollection Number of hits 17 - Edep of the first Hit 39.771 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 11.445 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 11.356 -- G4PEvent 55 stored in /Events/EventContainer/ (sustained) >>> Event 56 Event : 56 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 1.0675 -mySD/OddCollection Number of hits 40 - Edep of the first Hit 30.906 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 33.04 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 48.97 -- G4PEvent 56 stored in /Events/EventContainer/ (sustained) >>> Event 57 Event : 57 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 46.183 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 12.39 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 3.1266 +mySD/OddCollection Number of hits 36 + Edep of the first Hit 10.492 -- G4PEvent 57 stored in /Events/EventContainer/ (sustained) >>> Event 58 Event : 58 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 23.31 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 34.364 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 52.133 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 47.385 -- G4PEvent 58 stored in /Events/EventContainer/ (sustained) >>> Event 59 Event : 59 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 21.041 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 15.584 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 44.222 +mySD/OddCollection Number of hits 44 + Edep of the first Hit 0.13428 -- G4PEvent 59 stored in /Events/EventContainer/ (sustained) >>> Event 60 Event : 60 -mySD/EvenCollection Number of hits 5 - Edep of the first Hit 75.885 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 9.8005 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 14.987 +mySD/OddCollection Number of hits 41 + Edep of the first Hit 7.845 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 60 stored in /Events/EventContainer/ (sustained) >>> Event 61 Event : 61 -mySD/EvenCollection Number of hits 4 - Edep of the first Hit 42.536 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 11.997 +mySD/EvenCollection Number of hits 13 + Edep of the first Hit 0.22923 +mySD/OddCollection Number of hits 33 + Edep of the first Hit 21.235 -- G4PEvent 61 stored in /Events/EventContainer/ (sustained) >>> Event 62 Event : 62 -mySD/EvenCollection Number of hits 5 - Edep of the first Hit 41.146 -mySD/OddCollection Number of hits 43 - Edep of the first Hit 1.5365 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 2.1524 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 4.5559 -- G4PEvent 62 stored in /Events/EventContainer/ (sustained) >>> Event 63 Event : 63 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 44.318 -mySD/OddCollection Number of hits 45 - Edep of the first Hit 41.325 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 9.0836 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 0.03217 -- G4PEvent 63 stored in /Events/EventContainer/ (sustained) >>> Event 64 Event : 64 -mySD/EvenCollection Number of hits 9 - Edep of the first Hit 46.349 -mySD/OddCollection Number of hits 34 - Edep of the first Hit 53.085 +mySD/EvenCollection Number of hits 29 + Edep of the first Hit 1.3635 +mySD/OddCollection Number of hits 16 + Edep of the first Hit 10.876 -- G4PEvent 64 stored in /Events/EventContainer/ (sustained) >>> Event 65 Event : 65 -mySD/EvenCollection Number of hits 31 - Edep of the first Hit 7.7237 -mySD/OddCollection Number of hits 13 - Edep of the first Hit 78.961 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 79.542 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 5.1056 -- G4PEvent 65 stored in /Events/EventContainer/ (sustained) >>> Event 66 Event : 66 -mySD/EvenCollection Number of hits 5 - Edep of the first Hit 118.04 -mySD/OddCollection Number of hits 41 - Edep of the first Hit 20.92 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 79.287 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 32.595 -- G4PEvent 66 stored in /Events/EventContainer/ (sustained) >>> Event 67 Event : 67 -mySD/EvenCollection Number of hits 32 - Edep of the first Hit 32.194 -mySD/OddCollection Number of hits 12 - Edep of the first Hit 101.02 +mySD/EvenCollection Number of hits 16 + Edep of the first Hit 7.4335 +mySD/OddCollection Number of hits 28 + Edep of the first Hit 0.71975 -- G4PEvent 67 stored in /Events/EventContainer/ (sustained) >>> Event 68 Event : 68 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 47.043 -mySD/OddCollection Number of hits 40 - Edep of the first Hit 51.099 +mySD/EvenCollection Number of hits 12 + Edep of the first Hit 30.497 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 24.565 -- G4PEvent 68 stored in /Events/EventContainer/ (sustained) >>> Event 69 Event : 69 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 8.0564 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 10.846 +mySD/EvenCollection Number of hits 6 + Edep of the first Hit 19.79 +mySD/OddCollection Number of hits 43 + Edep of the first Hit 36.085 -- G4PEvent 69 stored in /Events/EventContainer/ (sustained) >>> Event 70 Event : 70 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 26.715 +mySD/EvenCollection Number of hits 13 + Edep of the first Hit 11.197 mySD/OddCollection Number of hits 35 - Edep of the first Hit 47.373 + Edep of the first Hit 69.045 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 70 stored in /Events/EventContainer/ (sustained) >>> Event 71 Event : 71 -mySD/EvenCollection Number of hits 12 - Edep of the first Hit 1.194 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 2.7116 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 22.033 +mySD/OddCollection Number of hits 42 + Edep of the first Hit 15.701 -- G4PEvent 71 stored in /Events/EventContainer/ (sustained) >>> Event 72 Event : 72 mySD/EvenCollection Number of hits 10 - Edep of the first Hit 14.348 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 4.0695 + Edep of the first Hit 3.1751 +mySD/OddCollection Number of hits 38 + Edep of the first Hit 104.22 -- G4PEvent 72 stored in /Events/EventContainer/ (sustained) >>> Event 73 Event : 73 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 0.012368 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 1.3043 +mySD/EvenCollection Number of hits 16 + Edep of the first Hit 7.1071 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 12.678 -- G4PEvent 73 stored in /Events/EventContainer/ (sustained) >>> Event 74 Event : 74 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 3.7031 -mySD/OddCollection Number of hits 39 - Edep of the first Hit 0.97583 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 4.4276 +mySD/OddCollection Number of hits 43 + Edep of the first Hit 2.3699 -- G4PEvent 74 stored in /Events/EventContainer/ (sustained) >>> Event 75 Event : 75 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 4.9474 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 39.51 mySD/OddCollection Number of hits 40 - Edep of the first Hit 18.935 + Edep of the first Hit 35.53 -- G4PEvent 75 stored in /Events/EventContainer/ (sustained) >>> Event 76 Event : 76 -mySD/EvenCollection Number of hits 17 - Edep of the first Hit 27.699 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 4.3003 mySD/OddCollection Number of hits 38 - Edep of the first Hit 6.3992 + Edep of the first Hit 17.905 -- G4PEvent 76 stored in /Events/EventContainer/ (sustained) >>> Event 77 Event : 77 -mySD/EvenCollection Number of hits 14 - Edep of the first Hit 21.682 -mySD/OddCollection Number of hits 45 - Edep of the first Hit 40.105 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 25.033 +mySD/OddCollection Number of hits 44 + Edep of the first Hit 11.919 -- G4PEvent 77 stored in /Events/EventContainer/ (sustained) >>> Event 78 Event : 78 -mySD/EvenCollection Number of hits 28 - Edep of the first Hit 2.5014 -mySD/OddCollection Number of hits 23 - Edep of the first Hit 1.4234 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 11.176 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 73.461 -- G4PEvent 78 stored in /Events/EventContainer/ (sustained) >>> Event 79 Event : 79 -mySD/EvenCollection Number of hits 27 - Edep of the first Hit 49.871 -mySD/OddCollection Number of hits 14 - Edep of the first Hit 89.423 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 6.3703 +mySD/OddCollection Number of hits 34 + Edep of the first Hit 9.1866 -- G4PEvent 79 stored in /Events/EventContainer/ (sustained) >>> Event 80 Event : 80 -mySD/EvenCollection Number of hits 7 - Edep of the first Hit 13.95 -mySD/OddCollection Number of hits 33 - Edep of the first Hit 76.748 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 3.9276 +mySD/OddCollection Number of hits 35 + Edep of the first Hit 38.212 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 80 stored in /Events/EventContainer/ (sustained) >>> Event 81 Event : 81 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 13.728 -mySD/OddCollection Number of hits 40 - Edep of the first Hit 38.381 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 74.144 +mySD/OddCollection Number of hits 35 + Edep of the first Hit 25.057 -- G4PEvent 81 stored in /Events/EventContainer/ (sustained) >>> Event 82 Event : 82 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 3.7342 -mySD/OddCollection Number of hits 36 - Edep of the first Hit 46.326 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 77.136 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 22.79 -- G4PEvent 82 stored in /Events/EventContainer/ (sustained) >>> Event 83 Event : 83 -mySD/EvenCollection Number of hits 30 - Edep of the first Hit 2.3343 -mySD/OddCollection Number of hits 15 - Edep of the first Hit 18.89 +mySD/EvenCollection Number of hits 7 + Edep of the first Hit 11.281 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 6.2267 -- G4PEvent 83 stored in /Events/EventContainer/ (sustained) >>> Event 84 Event : 84 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 5.0323 -mySD/OddCollection Number of hits 38 - Edep of the first Hit 38.485 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 90.325 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 4.9492 -- G4PEvent 84 stored in /Events/EventContainer/ (sustained) >>> Event 85 Event : 85 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 14.154 -mySD/OddCollection Number of hits 37 - Edep of the first Hit 18.839 +mySD/EvenCollection Number of hits 20 + Edep of the first Hit 22.527 +mySD/OddCollection Number of hits 17 + Edep of the first Hit 42.417 -- G4PEvent 85 stored in /Events/EventContainer/ (sustained) >>> Event 86 Event : 86 -mySD/EvenCollection Number of hits 24 - Edep of the first Hit 33.43 -mySD/OddCollection Number of hits 17 - Edep of the first Hit 62.048 +mySD/EvenCollection Number of hits 5 + Edep of the first Hit 10.329 +mySD/OddCollection Number of hits 39 + Edep of the first Hit 23.674 -- G4PEvent 86 stored in /Events/EventContainer/ (sustained) >>> Event 87 Event : 87 -mySD/EvenCollection Number of hits 13 - Edep of the first Hit 5.8008 -mySD/OddCollection Number of hits 42 - Edep of the first Hit 19.054 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 0.36084 +mySD/OddCollection Number of hits 29 + Edep of the first Hit 11.128 -- G4PEvent 87 stored in /Events/EventContainer/ (sustained) >>> Event 88 Event : 88 -mySD/EvenCollection Number of hits 4 - Edep of the first Hit 48.204 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 7.9583 mySD/OddCollection Number of hits 39 - Edep of the first Hit 29.403 + Edep of the first Hit 50.892 -- G4PEvent 88 stored in /Events/EventContainer/ (sustained) >>> Event 89 Event : 89 -mySD/EvenCollection Number of hits 16 - Edep of the first Hit 19.016 -mySD/OddCollection Number of hits 33 - Edep of the first Hit 119.43 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 49.676 +mySD/OddCollection Number of hits 37 + Edep of the first Hit 18.966 -- G4PEvent 89 stored in /Events/EventContainer/ (sustained) >>> Event 90 Event : 90 -mySD/EvenCollection Number of hits 31 - Edep of the first Hit 2.1797 -mySD/OddCollection Number of hits 18 - Edep of the first Hit 2.9777 +mySD/EvenCollection Number of hits 10 + Edep of the first Hit 1.4919 +mySD/OddCollection Number of hits 32 + Edep of the first Hit 106.33 Transaction is committed on /Events/EventContainer/ Transaction started for /Events/EventContainer/ with sustained mode. -- G4PEvent 90 stored in /Events/EventContainer/ (sustained) >>> Event 91 Event : 91 -mySD/EvenCollection Number of hits 29 - Edep of the first Hit 9.1319 -mySD/OddCollection Number of hits 25 - Edep of the first Hit 15.253 +mySD/EvenCollection Number of hits 8 + Edep of the first Hit 9.4966 +mySD/OddCollection Number of hits 46 + Edep of the first Hit 0.058401 -- G4PEvent 91 stored in /Events/EventContainer/ (sustained) >>> Event 92 Event : 92 -mySD/EvenCollection Number of hits 18 - Edep of the first Hit 32.535 -mySD/OddCollection Number of hits 30 - Edep of the first Hit 5.4963 +mySD/EvenCollection Number of hits 9 + Edep of the first Hit 5.4288 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 1.784 -- G4PEvent 92 stored in /Events/EventContainer/ (sustained) >>> Event 93 Event : 93 mySD/EvenCollection Number of hits 10 - Edep of the first Hit 6.0468 -mySD/OddCollection Number of hits 44 - Edep of the first Hit 48.192 + Edep of the first Hit 6.5922 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 18.346 -- G4PEvent 93 stored in /Events/EventContainer/ (sustained) >>> Event 94 Event : 94 -mySD/EvenCollection Number of hits 29 - Edep of the first Hit 49.3 -mySD/OddCollection Number of hits 17 - Edep of the first Hit 13.076 +mySD/EvenCollection Number of hits 23 + Edep of the first Hit 15.627 +mySD/OddCollection Number of hits 26 + Edep of the first Hit 65.553 -- G4PEvent 94 stored in /Events/EventContainer/ (sustained) >>> Event 95 Event : 95 -mySD/EvenCollection Number of hits 8 - Edep of the first Hit 64.326 -mySD/OddCollection Number of hits 40 - Edep of the first Hit 12.064 +mySD/EvenCollection Number of hits 21 + Edep of the first Hit 0.38597 +mySD/OddCollection Number of hits 27 + Edep of the first Hit 24.729 -- G4PEvent 95 stored in /Events/EventContainer/ (sustained) >>> Event 96 Event : 96 -mySD/EvenCollection Number of hits 10 - Edep of the first Hit 21.076 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 29.871 mySD/OddCollection Number of hits 38 - Edep of the first Hit 32.453 + Edep of the first Hit 2.0288 -- G4PEvent 96 stored in /Events/EventContainer/ (sustained) >>> Event 97 Event : 97 -mySD/EvenCollection Number of hits 6 - Edep of the first Hit 46.786 -mySD/OddCollection Number of hits 35 - Edep of the first Hit 133.84 +mySD/EvenCollection Number of hits 11 + Edep of the first Hit 19.856 +mySD/OddCollection Number of hits 40 + Edep of the first Hit 13.483 -- G4PEvent 97 stored in /Events/EventContainer/ (sustained) >>> Event 98 Event : 98 -mySD/EvenCollection Number of hits 25 - Edep of the first Hit 115.75 -mySD/OddCollection Number of hits 18 - Edep of the first Hit 46.607 +mySD/EvenCollection Number of hits 4 + Edep of the first Hit 169.75 +mySD/OddCollection Number of hits 44 + Edep of the first Hit 75.759 -- G4PEvent 98 stored in /Events/EventContainer/ (sustained) >>> Event 99 Event : 99 -mySD/EvenCollection Number of hits 11 - Edep of the first Hit 0.77024 -mySD/OddCollection Number of hits 31 - Edep of the first Hit 5.2199 +mySD/EvenCollection Number of hits 26 + Edep of the first Hit 22.632 +mySD/OddCollection Number of hits 20 + Edep of the first Hit 78.927 -- G4PEvent 99 stored in /Events/EventContainer/ (sustained) Transaction is committed on /Events/EventContainer/ Transaction started for /Runs/RunContainer/ with non-sustained mode. diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02DetectorConstruction.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02DetectorConstruction.hh index 4d0a9d88ca..af83b312e6 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02DetectorConstruction.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02DetectorConstruction.hh,v 1.3 1999/11/29 18:15:28 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02DetectorConstruction_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02EventAction.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02EventAction.hh index 4a0f8892c2..58d7e0625d 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02EventAction.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02EventAction.hh,v 1.3 1999/11/29 18:23:31 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02PhysicsList.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02PhysicsList.hh index 3211b2d84b..e550094919 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02PhysicsList.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02PhysicsList.hh,v 1.3 1999/11/29 18:23:32 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02PhysicsList_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02PrimaryGeneratorAction.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02PrimaryGeneratorAction.hh index e1ca62e0b6..698fd4f17a 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02PrimaryGeneratorAction.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02PrimaryGeneratorAction.hh,v 1.3 1999/11/29 18:23:32 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02PrimaryGeneratorAction_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02RunAction.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02RunAction.hh index ef7f34ad83..4b1a3dc265 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02RunAction.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02RunAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02RunAction.hh,v 1.3 1999/11/29 18:23:32 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02RunAction_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02StackingAction.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02StackingAction.hh index cf2323fd9b..cb48207992 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02StackingAction.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02StackingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02StackingAction.hh,v 1.2 1999/11/29 18:23:33 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02StackingAction_H diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHit.ddl b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHit.ddl index 3adc88608d..d6f29d6cb3 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHit.ddl +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHit.ddl @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerHit.ddl,v 1.4 1999/11/29 19:27:52 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02TrackerHit_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHitsCollection.ddl b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHitsCollection.ddl index 94956b5a31..304e10edd1 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHitsCollection.ddl +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerHitsCollection.ddl @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerHitsCollection.ddl,v 1.3 1999/11/29 18:23:33 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02TrackerHitsCollection_h diff --git a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerSD.hh b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerSD.hh index 7102cdac75..719c2eadd1 100644 --- a/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerSD.hh +++ b/examples/extended/persistency/PersistentEx02/include/PersEx02TrackerSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerSD.hh,v 1.3 1999/11/29 18:23:33 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef PersEx02TrackerSD_h diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02DetectorConstruction.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02DetectorConstruction.cc index b4b82938d9..5c5dcc5c19 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02DetectorConstruction.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02DetectorConstruction.cc,v 1.4 1999/12/15 14:49:17 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02DetectorConstruction.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02EventAction.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02EventAction.cc index 97748ca9d7..f21e37c02c 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02EventAction.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02EventAction.cc,v 1.4 1999/12/15 14:49:17 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02EventAction.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02PhysicsList.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02PhysicsList.cc index daa9900309..95344726db 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02PhysicsList.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02PhysicsList.cc,v 1.4 1999/12/15 14:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "globals.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02PrimaryGeneratorAction.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02PrimaryGeneratorAction.cc index d18b5eb7b5..f0e3f1defa 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02PrimaryGeneratorAction.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02PrimaryGeneratorAction.cc,v 1.3 1999/11/29 18:33:28 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02PrimaryGeneratorAction.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02RunAction.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02RunAction.cc index 84212d7045..30ba4cda6b 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02RunAction.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02RunAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02RunAction.cc,v 1.3 1999/11/29 18:33:28 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02RunAction.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02StackingAction.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02StackingAction.cc index 669f3c1a8e..b91f4be351 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02StackingAction.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02StackingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02StackingAction.cc,v 1.2 1999/11/29 18:33:29 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02StackingAction.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHit.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHit.cc index 3a65234a13..88e0539177 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHit.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerHit.cc,v 1.3 1999/11/29 18:33:29 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02TrackerHit.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHitsCollection.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHitsCollection.cc index cb6c6765db..5223482b79 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHitsCollection.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerHitsCollection.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerHitsCollection.cc,v 1.3 1999/11/29 18:33:29 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PersEx02TrackerHitsCollection.hh" diff --git a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerSD.cc b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerSD.cc index 4ea0338f49..03c0338896 100644 --- a/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerSD.cc +++ b/examples/extended/persistency/PersistentEx02/src/PersEx02TrackerSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PersEx02TrackerSD.cc,v 1.4 1999/12/02 17:05:17 morita Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include diff --git a/examples/novice/N01/exampleN01.cc b/examples/novice/N01/exampleN01.cc index e068da5053..96114fee46 100644 --- a/examples/novice/N01/exampleN01.cc +++ b/examples/novice/N01/exampleN01.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: exampleN01.cc,v 1.2 1999/12/15 14:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N01/exampleN01.out b/examples/novice/N01/exampleN01.out index 32765bdc82..2fc2551193 100644 --- a/examples/novice/N01/exampleN01.out +++ b/examples/novice/N01/exampleN01.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) 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.1s Real=0.13s Sys=0s + User=0.11s Real=0.11s Sys=0s G4 kernel has come to Quit state. diff --git a/examples/novice/N01/include/ExN01DetectorConstruction.hh b/examples/novice/N01/include/ExN01DetectorConstruction.hh index 0d9a8d2de0..ebcf1cf5f9 100644 --- a/examples/novice/N01/include/ExN01DetectorConstruction.hh +++ b/examples/novice/N01/include/ExN01DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01DetectorConstruction.hh,v 1.2 1999/12/15 14:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN01DetectorConstruction_H diff --git a/examples/novice/N01/include/ExN01PhysicsList.hh b/examples/novice/N01/include/ExN01PhysicsList.hh index 1e7a567cbd..d286d65116 100644 --- a/examples/novice/N01/include/ExN01PhysicsList.hh +++ b/examples/novice/N01/include/ExN01PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01PhysicsList.hh,v 1.3 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh index cd47d598f6..4e5790257d 100644 --- a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh +++ b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN01PrimaryGeneratorAction_h diff --git a/examples/novice/N01/src/ExN01DetectorConstruction.cc b/examples/novice/N01/src/ExN01DetectorConstruction.cc index f65bc36098..bb168c90a2 100644 --- a/examples/novice/N01/src/ExN01DetectorConstruction.cc +++ b/examples/novice/N01/src/ExN01DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01DetectorConstruction.cc,v 1.2 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN01DetectorConstruction.hh" diff --git a/examples/novice/N01/src/ExN01PhysicsList.cc b/examples/novice/N01/src/ExN01PhysicsList.cc index 278a966d41..00e42f1db3 100644 --- a/examples/novice/N01/src/ExN01PhysicsList.cc +++ b/examples/novice/N01/src/ExN01PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01PhysicsList.cc,v 1.3 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc index 625e893b69..348205ee97 100644 --- a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc +++ b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN01PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN01PrimaryGeneratorAction.hh" diff --git a/examples/novice/N02/History b/examples/novice/N02/History index b57f26f3a0..465dc93a8d 100644 --- a/examples/novice/N02/History +++ b/examples/novice/N02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2000/06/19 16:32:05 stesting Exp $ +$Id: History,v 1.13 2000/12/06 12:33:38 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,42 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +06-12-00 S.O'Neale (exampleN02-V02-00-03) +-update reference output for Batch Mode system testing + in this context 0 trajectories stored is normal. +03-12-00 M.Maire (exampleN02-V02-00-02) +-README updated +-prerun.g4mac updated for new vis commands, and renamed initInter.mac +-new examples of macro: run1.mac, run2.mac +-G4UItcsh in the main, under the control of G4UI_USE_TCSH (for Linux) +-visualisation on interactive mode +-DetectorConstruction: tracker region in the centre of the world. + default target material: Pb, chamber material: Xenon +-interactive commands to change the materials and to setup a magnetic field +-the magnetic field is transverse to the beam (i.e. along x) +-PhysicsList: copy of N03. defaultCut = 1 cm +-PrimaryGenerator: default momentum direction corrected: along z. + Suppress the possibility of random impact and the associated messenger. +-RunAction and EventAction updated for vis commands +-SteppingAction: cleanup because no specific actions +-SteppingVerbose: see README +-TrackerHit: a Hit = 4 informations: trackID, chamberNb, edep, position. + Draw and Print +-TrackerSD: ProcessHits. + Print HitsCollection at end of event + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut +- Update test outputs for emlowen-V02-00-22 and stand,muon,xray,utils. + +Nov 09, 2000 V.Grichine (exampleN02-V02-00-00) +- Fix in ExN02MagneticField constructors: added call to SetDetectorField() + to activate user-defined magnetic-field. +- Updated exampleN02.out. + +June 24, 2000 John Allison (exampleN02-V01-01-03) +- Updated exampleN02.out for stand-V01-01-05 and utils-V01-01-03. + June 17, 2000 John Allison (exampleN02-V01-01-02) - Updated exampleN02.out for exampleN02-V01-01-01. diff --git a/examples/novice/N02/README b/examples/novice/N02/README index 17b3d281ab..16eff4cc5c 100644 --- a/examples/novice/N02/README +++ b/examples/novice/N02/README @@ -1,4 +1,4 @@ -$Id: README,v 1.2 2000/03/14 10:19:09 gcosmo Exp $ +$Id: README,v 1.4 2000/12/04 16:24:03 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,5 +8,137 @@ $Id: README,v 1.2 2000/03/14 10:19:09 gcosmo Exp $ ExampleN02 ---------- -May 4, 1998 John Apostolakis. - Started from exampleEmPhys2. + + This example simulates a simplified fixe target experiment. + + 1- GEOMETRY DEFINITION + + The setup consists of a target followed by six chambers of increasing + transverse size. These chambers are located in a region called Tracker + region. Their shape are boxes, constructed as parametrised volumes + (ChamberParametrisation class). + + The default geometry is constructed in DetectorConstruction class. + One can change the material of the target and of the chambers + interactively via the commands defined in the DetectorMessenger class. + + In addition a transverse uniform magnetic field can be applied (see + N02MagneticField and DetectorMessenger classes). + + + 2- PHYSICS LIST + + The particle's type and the physic processes which will be available + in this example are set in PhysicsList class. + + In this example, all the so called 'electromagnetic processes' are + introduced for gamma, charged leptons, and charged hadrons (see the + method PhysicsList::ConstructEM()). + + An important data member of this class is the defaultCutValue which + defines the production threshold of secondary particles + (mainly Ionisation and Bremsstrahlung processes are concerned by this + CutValue). + Notice that the CutValue must be given in unit of length, corresponding + to the stopping range of the particle. It is automatically converted + in energy for each material, and a table is printed in the method + PhysicsList::SetCuts() + + In addition the build-in interactive command: + /process/(in)activate processName + allows to activate/inactivate the processes one by one. + + + 3- RUNS and EVENTS + + The primary kinematic consists of a single particle which hits the + target perpendicular to the input face. The type of the particle + and its energy are set in the PrimaryGeneratorAction class, and can + be changed via the G4 build-in commands of ParticleGun class. + + A RUN is a set of events. + + The user has control: + -at Begin and End of each run (class RunAction) + -at Begin and End of each event (class EventAction) + -at Begin and End of each track (class TrackingAction, not used here) + -at End of each step (class SteppingAction) + + The class SteppingVerbose prints some informations step per step, + under the control of the command: /tracking/verbose 1 + It inherits from G4SteppingVerbose, and has been setup here in order + to illustrate how to extract informations from the G4 kernel during + the tracking of a particle. + + + 4- DETECTOR RESPONSE + + A HIT is a record, track per track (even step per step), of all the + informations needed to simulate and analyse the detector response. + + In this example the Tracker chambers are considered as the detector. + Therefore the chambers are declared 'sensitive detectors' (SD) in + the DetectorConstruction class. + + Then, a Hit is defined as a set of 4 informations per step, inside + the chambers, namely: + - the track identifier (an integer), + - the chamber number, + - the total energy deposit in this step, + - the position of the deposit. + + A given hit is an instance of the class TrackerHit which is created + during the tracking of a particle, step by step, in the method + TrackerSD::ProcessHits(). This hit is inserted in a HitsCollection. + + The HitsCollection is printed at the end of event (via the method + TrackerSD::EndOfEvent()), under the control of the command: /hits/verbose 1 + + + 5- VISUALIZATION + + The Visualization Manager is set in the main(). + The initialisation of the drawing is done via a set of /vis commands + in the macro initInter.mac. This macro is automatically read from + the main in case of interactive running mode. + + The tracks are automatically drawn at the end of event, and erased at + the beginning of the next run. + + The visualization (with OpenGL driver) assumes two things: + 1- the visualisation & interfaces categories have been compiled + with the environment variable G4VIS_BUILD_OPENGLX_DRIVER. + 2- exampleN02.cc has been compiled with G4VIS_USE_OPENGLX. + + (The same with DAWNFILE instead of OPENGLX) + + + 6- USER INTERFACES + + The default command interface, called G4UIterminal, is done via + standart cin/G4cout. + On Linux and Sun-cc on can use a smarter command interface G4UItcsh. + It is enough to set the environment variable G4UI_USE_TCSH before + compiling exampleN02.cc + + + 7- HOW TO START ? + + - compile and link to generate an executable + % cd N02 + % gmake + + - execute N02 in 'batch' mode from macro files (without visualization) + % exampleN02 run1.mac + + - execute N02 in 'interactive mode' with visualization + % exampleN02 + .... + Idle> type your commands. For instance: + Idle> /run/beamOn 10 + .... + Idle> /control/execute run2.mac + .... + Idle> exit + + diff --git a/examples/novice/N02/exampleN02.cc b/examples/novice/N02/exampleN02.cc index ca7d9315d0..d68af07fde 100644 --- a/examples/novice/N02/exampleN02.cc +++ b/examples/novice/N02/exampleN02.cc @@ -5,41 +5,33 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: exampleN02.cc,v 1.3 1999/12/15 14:49:19 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// -// -------------------------------------------------------------- -// GEANT 4 - exampleN03 -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments +// $Id: exampleN02.cc,v 1.4 2000/12/04 16:24:03 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02DetectorConstruction.hh" #include "ExN02PhysicsList.hh" -#include "ExN02RunAction.hh" #include "ExN02PrimaryGeneratorAction.hh" +#include "ExN02RunAction.hh" #include "ExN02EventAction.hh" #include "ExN02SteppingAction.hh" #include "ExN02SteppingVerbose.hh" +#include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" -#include "G4RunManager.hh" #ifdef G4VIS_USE #include "ExN02VisManager.hh" #endif -#include "G4ios.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -int -main(int argc,char** argv) { +int main(int argc,char** argv) { //my Verbose output class G4VSteppingVerbose::SetInstance(new ExN02SteppingVerbose); @@ -47,7 +39,7 @@ main(int argc,char** argv) { // Run manager G4RunManager * runManager = new G4RunManager; - // UserInitialization classes + // UserInitialization classes (mandatory) ExN02DetectorConstruction* ExN02detector = new ExN02DetectorConstruction; runManager->SetUserInitialization(ExN02detector); runManager->SetUserInitialization(new ExN02PhysicsList); @@ -59,22 +51,29 @@ main(int argc,char** argv) { #endif // UserAction classes - runManager->SetUserAction(new ExN02RunAction); runManager->SetUserAction(new ExN02PrimaryGeneratorAction(ExN02detector)); - - ExN02EventAction* eventAction = new ExN02EventAction; - runManager->SetUserAction(eventAction); - runManager->SetUserAction(new ExN02SteppingAction(ExN02detector,eventAction)); - - // User interactions - G4UImanager * UI = G4UImanager::GetUIpointer(); + runManager->SetUserAction(new ExN02RunAction); + runManager->SetUserAction(new ExN02EventAction); + runManager->SetUserAction(new ExN02SteppingAction); + + //Initialize G4 kernel + runManager->Initialize(); + + //get the pointer to the User Interface manager + G4UImanager * UI = G4UImanager::GetUIpointer(); if(argc==1) // Define (G)UI terminal for interactive mode { // G4UIterminal is a (dumb) terminal. - G4UIsession * session = new G4UIterminal; - UI->ApplyCommand("/control/execute prerun.g4mac"); + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + + UI->ApplyCommand("/control/execute initInter.mac"); session->SessionStart(); delete session; } @@ -94,4 +93,5 @@ main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/exampleN02.in b/examples/novice/N02/exampleN02.in index 07242922ee..46ad7e89d2 100644 --- a/examples/novice/N02/exampleN02.in +++ b/examples/novice/N02/exampleN02.in @@ -1,7 +1,3 @@ -/run/initialize -/gun/position 0 0 -100 -/gun/direction 0 0 1 - /tracking/verbose 1 /gun/energy 200 MeV diff --git a/examples/novice/N02/exampleN02.large_N.in b/examples/novice/N02/exampleN02.large_N.in index ec35d4cc33..7ada9932a0 100644 --- a/examples/novice/N02/exampleN02.large_N.in +++ b/examples/novice/N02/exampleN02.large_N.in @@ -1,7 +1,3 @@ -/run/initialize -/gun/position 0 0 -100 -/gun/direction 0 0 1 - /tracking/verbose 1 /gun/energy 200 MeV diff --git a/examples/novice/N02/exampleN02.large_N.out b/examples/novice/N02/exampleN02.large_N.out new file mode 100644 index 0000000000..c6befd88b1 --- /dev/null +++ b/examples/novice/N02/exampleN02.large_N.out @@ -0,0 +1,9466 @@ +********************************************** + Geant4 version $Name: geant4-03-00 $ + (30-Jun-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 6 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.1428 + Al 572.84 + Pb 1370 + XenonGas 8.9393 + +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.1428 + Al 572.84 + Pb 1370 + XenonGas 8.9393 + +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 NextVolu Process + 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm WorldPV initStep + 1 -31.4 mum 1.22 mum -2.86 m 200 MeV 7.66 keV 4.79 cm 4.79 cm WorldPV eIoni + 2 -278 mum -212 mum -2.45 m 200 MeV 93.3 keV 41.2 cm 46 cm TargetPVTransportation + 3 -285 mum -201 mum -2.45 m 128 MeV 930 keV 682 mum 46.1 cm TargetPV eBrem + 4 -289 mum -209 mum -2.45 m 121 MeV 2.05 MeV 876 mum 46.2 cm TargetPV eBrem + 5 -270 mum -197 mum -2.45 m 117 MeV 706 keV 506 mum 46.2 cm TargetPV eBrem + 6 -282 mum -181 mum -2.45 m 115 MeV 1.45 MeV 985 mum 46.3 cm TargetPV eBrem + 7 -281 mum -182 mum -2.45 m 110 MeV 31.1 keV 24.6 mum 46.3 cm TargetPV eBrem + 8 -301 mum -345 mum -2.45 m 105 MeV 1.99 MeV 1.58 mm 46.5 cm TargetPV eBrem + 9 -324 mum -362 mum -2.44 m 102 MeV 3.24 MeV 2.23 mm 46.7 cm TargetPV eBrem + 10 -318 mum -364 mum -2.44 m 30 MeV 148 keV 129 mum 46.7 cm TargetPV eBrem + 11 -300 mum -371 mum -2.44 m 23.7 MeV 222 keV 183 mum 46.7 cm TargetPV eBrem + 12 -265 mum -378 mum -2.44 m 23.2 MeV 243 keV 207 mum 46.7 cm TargetPV eBrem + 13 -199 mum -282 mum -2.44 m 21.6 MeV 710 keV 537 mum 46.8 cm TargetPV eBrem + 14 22 mum -186 mum -2.44 m 18.6 MeV 1.63 MeV 1.37 mm 46.9 cm TargetPV eBrem + 15 -452 mum 786 mum -2.44 m 12.7 MeV 4.79 MeV 2.9 mm 47.2 cm TargetPV eBrem + 16 -394 mum 139 mum -2.44 m 8.42 MeV 790 keV 781 mum 47.3 cm TargetPV eBrem + 17 -393 mum 136 mum -2.44 m 6.4 MeV 3.84 keV 4.48 mum 47.3 cm TargetPV eBrem + 18 220 mum -777 mum -2.44 m 5.04 MeV 1.36 MeV 1.29 mm 47.4 cm TargetPV eIoni + 19 -449 mum -1.1 mm -2.44 m 3.9 MeV 1.14 MeV 1.09 mm 47.5 cm TargetPV eIoni + 20 -132 mum -1.17 mm -2.44 m 2.92 MeV 984 keV 921 mum 47.6 cm TargetPV eIoni + 21 -498 mum -771 mum -2.44 m 1.89 MeV 1.03 MeV 765 mum 47.7 cm TargetPV eIoni + 22 -772 mum -702 mum -2.44 m 820 keV 1.07 MeV 590 mum 47.8 cm TargetPV eIoni + 23 -855 mum -784 mum -2.44 m 296 keV 524 keV 376 mum 47.8 cm TargetPV eIoni + 24 -872 mum -791 mum -2.44 m 0 eV 296 keV 142 mum 47.8 cm TargetPV eIoni + 25 -872 mum -791 mum -2.44 m 0 eV 0 eV 0 fm 47.8 cm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -872 mum -791 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.23 mm -1.2 cm -2.44 m 0 eV 511 keV 1.28 cm 1.28 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -872 mum -791 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.5 mm 2.21 mm -2.44 m 205 keV 306 keV 3.41 mm 3.41 mm TargetPV compt + 2 -2.52 mm 1.73 mm -2.44 m 0 eV 205 keV 816 mum 4.23 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -393 mum 136 mum -2.44 m 2.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.1 cm -1.42 cm -2.42 m 586 keV 1.43 MeV 2.82 cm 2.82 cm TargetPV compt + 2 1.1 cm -1.43 cm -2.42 m 423 keV 163 keV 25.4 mum 2.83 cm TargetPV compt + 3 1.13 cm -1.52 cm -2.42 m 0 eV 423 keV 994 mum 2.93 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -394 mum 139 mum -2.44 m 3.51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.91 mm -1.56 cm -2.42 m 3.22 MeV 287 keV 2.36 cm 2.36 cm TargetPV compt + 2 7.52 mm -2.5 cm -2.41 m 3.22 MeV 0 eV 1.2 cm 3.56 cm WorldPVTransportation + 3 1.27 cm -4.34 cm -2.4 m 3.22 MeV 0 eV 2.37 cm 5.93 cm TrackerTransportation + 4 67 cm -2.4 m -61.3 cm 3.22 MeV 0 eV 3.03 m 3.09 m WorldPVTransportation + 5 81.2 cm -2.91 m -22.6 cm 3.22 MeV 0 eV 65.6 cm 3.74 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -452 mum 786 mum -2.44 m 1.05 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -891 mum -921 mum -2.44 m 383 keV 669 keV 2.13 mm 2.13 mm TargetPV compt + 2 -2.73 mm 2.29 mm -2.43 m 0 eV 383 keV 6.83 mm 8.96 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22 mum -186 mum -2.44 m 1.44 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 560 mum 463 mum -2.44 m 831 keV 611 keV 3.57 mm 3.57 mm TargetPV compt + 2 1.06 mm 757 mum -2.44 m 0 eV 831 keV 707 mum 4.28 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -199 mum -282 mum -2.44 m 866 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.84 mm 2.09 mm -2.43 m 0 eV 866 keV 8.27 mm 8.27 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -265 mum -378 mum -2.44 m 286 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -207 mum -336 mum -2.44 m 188 keV 98.2 keV 545 mum 545 mum TargetPV compt + 2 -74.3 mum -79.7 mum -2.44 m 0 eV 188 keV 289 mum 834 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -300 mum -371 mum -2.44 m 6.01 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.39 mm -1.09 mm -2.42 m 0 eV 4.99 MeV 1.91 cm 1.91 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 20, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.39 mm -1.09 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.39 mm -1.09 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.39 mm -1.09 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.05 mm -2.57 mm -2.42 m 0 eV 511 keV 2.72 mm 2.72 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.39 mm -1.09 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 125 mum 1.7 mm -2.43 m 416 keV 94.7 keV 5.15 mm 5.15 mm TargetPV compt + 2 457 mum 2.97 mm -2.43 m 243 keV 174 keV 1.47 mm 6.62 mm TargetPV compt + 3 1.83 mm 2.05 mm -2.43 m 0 eV 243 keV 2.4 mm 9.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -318 mum -364 mum -2.44 m 71.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -59.9 mum -353 mum -2.44 m 0 eV 1.03 MeV 4.54 mm 4.54 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 24, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.9 mum -353 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -59.9 mum -353 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.9 mum -353 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.78 mm -3.87 mm -2.43 m 0 eV 511 keV 7.17 mm 7.17 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.9 mum -353 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.68 mm 5.37 mm -2.45 m 176 keV 335 keV 1.17 cm 1.17 cm TargetPV compt + 2 -3.99 mm 420 mum -2.44 m 0 eV 176 keV 6.25 mm 1.79 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.9 mum -353 mum -2.44 m 69.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -30.3 mum -362 mum -2.44 m 67.4 MeV 476 keV 354 mum 354 mum TargetPV eBrem + 2 -11.7 mum -359 mum -2.44 m 65.6 MeV 1.14 MeV 485 mum 839 mum TargetPV eBrem + 3 17.2 mum -567 mum -2.44 m 62 MeV 3.15 MeV 2.51 mm 3.35 mm TargetPV eBrem + 4 269 mum -604 mum -2.43 m 35.7 MeV 1.38 MeV 917 mum 4.27 mm TargetPV eBrem + 5 316 mum -558 mum -2.43 m 32.8 MeV 397 keV 313 mum 4.58 mm TargetPV eBrem + 6 783 mum -546 mum -2.43 m 28.8 MeV 1.42 MeV 1.08 mm 5.66 mm TargetPV eBrem + 7 977 mum -849 mum -2.43 m 27.3 MeV 644 keV 515 mum 6.17 mm TargetPV eBrem + 8 1.47 mm -1.19 mm -2.43 m 14.4 MeV 1.06 MeV 653 mum 6.83 mm TargetPV eBrem + 9 1.76 mm -1.36 mm -2.43 m 13 MeV 511 keV 418 mum 7.24 mm TargetPV eBrem + 10 1.86 mm -1.39 mm -2.43 m 9.67 MeV 113 keV 113 mum 7.36 mm TargetPV eBrem + 11 1.88 mm -1.39 mm -2.43 m 8.29 MeV 15.7 keV 17.2 mum 7.37 mm TargetPV eBrem + 12 2.33 mm -2.09 mm -2.43 m 6.27 MeV 2.02 MeV 1.52 mm 8.89 mm TargetPV eIoni + 13 2.37 mm -2.07 mm -2.43 m 5.92 MeV 37.3 keV 45.6 mum 8.94 mm TargetPV eBrem + 14 2.64 mm -1.77 mm -2.43 m 3.27 MeV 617 keV 523 mum 9.46 mm TargetPV eBrem + 15 2.53 mm -1.24 mm -2.43 m 2.32 MeV 949 keV 805 mum 1.03 cm TargetPV eIoni + 16 2.19 mm -1.18 mm -2.43 m 1.37 MeV 950 keV 654 mum 1.09 cm TargetPV eIoni + 17 2.1 mm -988 mum -2.43 m 908 keV 464 keV 488 mum 1.14 cm TargetPV eIoni + 18 2.15 mm -975 mum -2.43 m 231 keV 677 keV 393 mum 1.18 cm TargetPV eIoni + 19 2.15 mm -978 mum -2.43 m 0 eV 231 keV 99.2 mum 1.19 cm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.64 mm -1.77 mm -2.43 m 2.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.53 mm -940 mum -2.43 m 0 eV 1.01 MeV 1.26 mm 1.26 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 40, Parent ID = 39 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.53 mm -940 mum -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.53 mm -940 mum -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.53 mm -940 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.91 mm -426 mum -2.43 m 0 eV 511 keV 863 mum 863 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.53 mm -940 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.55 mm -3.68 mm -2.43 m 455 keV 55.5 keV 4.6 mm 4.6 mm TargetPV compt + 2 -446 mum -5.97 mm -2.43 m 0 eV 455 keV 3.13 mm 7.73 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 mm -2.07 mm -2.43 m 312 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.43 mm -2.03 mm -2.43 m 0 eV 312 keV 72.7 mum 72.7 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.88 mm -1.39 mm -2.43 m 1.36 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.08 cm -1.05 cm -2.42 m 449 keV 914 keV 2.33 cm 2.33 cm TargetPV compt + 2 1.98 cm -1.15 cm -2.42 m 0 eV 449 keV 2.68 mm 2.6 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.86 mm -1.39 mm -2.43 m 3.24 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.5 cm -1.09 cm -2.42 m 3.24 MeV 0 eV 2.72 cm 2.72 cm WorldPVTransportation + 2 7.07 cm -2.96 cm -2.4 m 3.24 MeV 0 eV 5.38 cm 8.1 cm TrackerTransportation + 3 2.4 m -98.6 cm -1.31 m 3.24 MeV 0 eV 2.74 m 2.82 m WorldPVTransportation + 4 2.91 m -1.2 m -1.07 m 3.24 MeV 0 eV 60.1 cm 3.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.76 mm -1.36 mm -2.43 m 849 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.28 cm -6.1 mm -2.43 m 0 eV 849 keV 1.27 cm 1.27 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.47 mm -1.19 mm -2.43 m 11.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.46 mm -1.78 mm -2.43 m 0 eV 10.8 MeV 1.26 mm 1.26 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 43, Parent ID = 34 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.46 mm -1.78 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.27 mm -5.18 mm -2.43 m 293 keV 218 keV 6.02 mm 6.02 mm TargetPV compt + 2 -1.32 mm -5.32 mm -2.43 m 153 keV 140 keV 190 mum 6.21 mm TargetPV compt + 3 -1.59 mm -5.1 mm -2.43 m 0 eV 153 keV 458 mum 6.67 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.96 mm -411 mum -2.43 m 0 eV 511 keV 2.42 mm 2.42 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 977 mum -849 mum -2.43 m 838 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.34 cm -1.58 cm -2.42 m 0 eV 838 keV 3.15 cm 3.15 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 783 mum -546 mum -2.43 m 2.57 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.04 mm -6.41 mm -2.43 m 948 keV 1.62 MeV 1.1 cm 1.1 cm TargetPV compt + 2 6.29 mm -6.13 mm -2.42 m 472 keV 476 keV 1.65 mm 1.26 cm TargetPV compt + 3 4.48 mm -6.87 mm -2.42 m 0 eV 472 keV 2.54 mm 1.52 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 316 mum -558 mum -2.43 m 2.55 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.69 mm 335 mum -2.42 m 0 eV 1.53 MeV 1.09 cm 1.09 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 46, Parent ID = 31 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.69 mm 335 mum -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.91 mm 3.12 mm -2.42 m 0 eV 511 keV 3.09 mm 3.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.72 mm -1.88 mm -2.42 m 0 eV 511 keV 2.46 mm 2.46 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum -604 mum -2.43 m 24.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 429 mum -521 mum -2.43 m 0 eV 9.25 MeV 755 mum 755 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 49, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 429 mum -521 mum -2.43 m 14.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 404 mum -354 mum -2.43 m 11.5 MeV 788 keV 609 mum 609 mum TargetPV eBrem + 2 252 mum -380 mum -2.43 m 8.28 MeV 1.6 MeV 1.12 mm 1.72 mm TargetPV eBrem + 3 -34.1 mum -166 mum -2.43 m 6.68 MeV 1.3 MeV 918 mum 2.64 mm TargetPV eBrem + 4 -972 mum -773 mum -2.43 m 5.26 MeV 1.42 MeV 1.33 mm 3.97 mm TargetPV eIoni + 5 -1.17 mm -830 mum -2.43 m 4.46 MeV 215 keV 214 mum 4.19 mm TargetPV eBrem + 6 -1.57 mm -859 mum -2.43 m 3.31 MeV 1.16 MeV 1.01 mm 5.2 mm TargetPV eIoni + 7 -1.56 mm -854 mum -2.43 m 895 keV 4.42 keV 5.93 mum 5.2 mm TargetPV eBrem + 8 -1.5 mm -749 mum -2.43 m 406 keV 489 keV 395 mum 5.6 mm TargetPV eIoni + 9 -1.49 mm -711 mum -2.43 m 86.2 keV 320 keV 222 mum 5.82 mm TargetPV eIoni + 10 -1.49 mm -708 mum -2.43 m 0 eV 86.2 keV 19.9 mum 5.84 mm TargetPV eIoni + 11 -1.49 mm -708 mum -2.43 m 0 eV 0 eV 0 fm 5.84 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mm -708 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 924 mum 1.58 mm -2.42 m 0 eV 511 keV 6.07 mm 6.07 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mm -708 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.42 mm -4.43 mm -2.44 m 329 keV 182 keV 9.9 mm 9.9 mm TargetPV compt + 2 -5.17 mm -5.19 mm -2.44 m 317 keV 12.3 keV 831 mum 1.07 cm TargetPV compt + 3 -3.45 mm -1.12 cm -2.44 m 0 eV 317 keV 7.65 mm 1.84 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.56 mm -854 mum -2.43 m 2.41 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.17 cm 2.5 cm -2.42 m 2.41 MeV 0 eV 3.03 cm 3.03 cm WorldPVTransportation + 2 4.44 cm 8.87 cm -2.4 m 2.41 MeV 0 eV 7.47 cm 10.5 cm TrackerTransportation + 3 1.23 m 2.4 m -1.63 m 2.41 MeV 0 eV 2.71 m 2.82 m WorldPVTransportation + 4 1.49 m 2.91 m -1.46 m 2.41 MeV 0 eV 59.8 cm 3.41 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.17 mm -830 mum -2.43 m 580 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.91 mm -746 mum -2.43 m 0 eV 580 keV 905 mum 905 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.1 mum -166 mum -2.43 m 302 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -109 mum -263 mum -2.43 m 235 keV 66.8 keV 188 mum 188 mum TargetPV compt + 2 1.83 mm -937 mum -2.43 m 205 keV 30 keV 3.75 mm 3.93 mm TargetPV compt + 3 1.55 mm -930 mum -2.43 m 0 eV 205 keV 1.14 mm 5.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 252 mum -380 mum -2.43 m 1.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 674 mum -1.47 mm -2.41 m 0 eV 1.6 MeV 2.46 cm 2.46 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 50, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 404 mum -354 mum -2.43 m 2.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.82 cm -1.12 mm -2.4 m 2.37 MeV 0 eV 3.79 cm 3.79 cm TrackerTransportation + 2 -2.4 m -9.89 cm 1.82 m 2.37 MeV 0 eV 4.84 m 4.88 m WorldPVTransportation + 3 -2.91 m -12 cm 2.72 m 2.37 MeV 0 eV 1.04 m 5.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.2 mum -567 mum -2.44 m 411 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 793 mum -658 mum -2.43 m 376 keV 34.9 keV 3.82 mm 3.82 mm TargetPV compt + 2 763 mum -272 mum -2.43 m 202 keV 174 keV 988 mum 4.81 mm TargetPV compt + 3 345 mum 248 mum -2.43 m 0 eV 202 keV 765 mum 5.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.7 mum -359 mum -2.44 m 737 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 839 mum 69.3 mum -2.43 m 0 eV 737 keV 1.09 cm 1.09 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.3 mum -362 mum -2.44 m 1.54 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 161 mum -246 mum -2.44 m 0 eV 1.54 MeV 3.09 mm 3.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -324 mum -362 mum -2.44 m 480 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -11.1 mum -429 mum -2.44 m 444 keV 36.1 keV 6.8 mm 6.8 mm TargetPV compt + 2 4.58 mm 5.61 mm -2.42 m 332 keV 112 keV 1.79 cm 2.47 cm TargetPV compt + 3 4.21 mm 6.79 mm -2.42 m 0 eV 332 keV 1.37 mm 2.61 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -301 mum -345 mum -2.45 m 2.62 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -724 mum -900 mum -2.44 m 759 keV 1.86 MeV 8.92 mm 8.92 mm TargetPV compt + 2 -358 mum 4.42 mm -2.43 m 0 eV 759 keV 6.54 mm 1.55 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -281 mum -182 mum -2.45 m 4.58 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.21 mm -2.52 mm -2.4 m 4.58 MeV 0 eV 4.7 cm 4.7 cm TrackerTransportation + 2 -1.71 cm -4.24 cm -1.6 m 4.58 MeV 0 eV 80.1 cm 84.8 cm ChamberTransportation + 3 -2.11 cm -5.24 cm -1.4 m 4.58 MeV 0 eV 20 cm 1.05 m TrackerTransportation + 4 -3.3 cm -8.23 cm -80 cm 4.58 MeV 0 eV 60.1 cm 1.65 m ChamberTransportation + 5 -3.7 cm -9.23 cm -60 cm 4.58 MeV 0 eV 20 cm 1.85 m TrackerTransportation + 6 -4.89 cm -12.2 cm 0 fm 4.58 MeV 0 eV 60.1 cm 2.45 m ChamberTransportation + 7 -5.29 cm -13.2 cm 20 cm 4.58 MeV 0 eV 20 cm 2.65 m TrackerTransportation + 8 -6.48 cm -16.2 cm 80 cm 4.58 MeV 0 eV 60.1 cm 3.25 m ChamberTransportation + 9 -6.88 cm -17.2 cm 1 m 4.58 MeV 0 eV 20 cm 3.45 m TrackerTransportation + 10 -8.07 cm -20.2 cm 1.6 m 4.58 MeV 0 eV 60.1 cm 4.05 m ChamberTransportation + 11 -8.47 cm -21.2 cm 1.8 m 4.58 MeV 0 eV 20 cm 4.25 m TrackerTransportation + 12 -9.66 cm -24.2 cm 2.4 m 4.58 MeV 0 eV 60.1 cm 4.85 m WorldPVTransportation + 13 -10.7 cm -26.7 cm 2.91 m 4.58 MeV 0 eV 51.1 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -282 mum -181 mum -2.45 m 608 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -278 mum -191 mum -2.45 m 0 eV 608 keV 183 mum 183 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -270 mum -197 mum -2.45 m 3.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.62 mm 446 mum -2.42 m 323 keV 2.91 MeV 2.65 cm 2.65 cm TargetPV compt + 2 -1.46 mm 445 mum -2.42 m 160 keV 162 keV 168 mum 2.66 cm TargetPV compt + 3 -1.76 mm 350 mum -2.42 m 0 eV 160 keV 355 mum 2.7 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -289 mum -209 mum -2.45 m 5.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -240 mum -107 mum -2.44 m 677 keV 4.61 MeV 4.75 mm 4.75 mm TargetPV compt + 2 -7.37 mm -7.12 mm -2.44 m 294 keV 383 keV 1.07 cm 1.55 cm TargetPV compt + 3 -4.19 mm -8.02 mm -2.44 m 0 eV 294 keV 5.53 mm 2.1 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -285 mum -201 mum -2.45 m 71.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -375 mum -103 mum -2.45 m 0 eV 0 eV 4.26 mm 4.26 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 58, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -375 mum -103 mum -2.45 m 19 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -371 mum -110 mum -2.44 m 12.2 MeV 660 keV 149 mum 149 mum TargetPV eBrem + 2 -766 mum -171 mum -2.44 m 8.42 MeV 1.4 MeV 1.1 mm 1.25 mm TargetPV eBrem + 3 125 mum 222 mum -2.44 m 6.6 MeV 1.52 MeV 1.35 mm 2.6 mm TargetPV eBrem + 4 912 mum 575 mum -2.44 m 5.12 MeV 1.48 MeV 1.32 mm 3.93 mm TargetPV eIoni + 5 294 mum 1.15 mm -2.44 m 4 MeV 1.13 MeV 1.11 mm 5.03 mm TargetPV eIoni + 6 -63.7 mum 1.49 mm -2.44 m 3.14 MeV 562 keV 563 mum 5.6 mm TargetPV eBrem + 7 340 mum 1.15 mm -2.44 m 2.33 MeV 809 keV 800 mum 6.4 mm TargetPV eIoni + 8 1.66 mum 1.38 mm -2.44 m 1.6 MeV 728 keV 667 mum 7.06 mm TargetPV eIoni + 9 -38.8 mum 1.58 mm -2.44 m 1.13 MeV 469 keV 538 mum 7.6 mm TargetPV eIoni + 10 -176 mum 1.58 mm -2.44 m 499 keV 630 keV 447 mum 8.05 mm TargetPV eIoni + 11 -206 mum 1.59 mm -2.44 m 207 keV 292 keV 272 mum 8.32 mm TargetPV eIoni + 12 -205 mum 1.59 mm -2.44 m 0 eV 207 keV 82.8 mum 8.4 mm TargetPV eIoni + 13 -205 mum 1.59 mm -2.44 m 0 eV 0 eV 0 fm 8.4 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -205 mum 1.59 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -683 mum 3.9 mm -2.45 m 440 keV 71.5 keV 2.69 mm 2.69 mm TargetPV compt + 2 -652 mum 3.98 mm -2.45 m 167 keV 273 keV 89 mum 2.78 mm TargetPV compt + 3 -650 mum 3.83 mm -2.45 m 0 eV 167 keV 174 mum 2.96 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -205 mum 1.59 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -188 mum 1.52 mm -2.44 m 257 keV 254 keV 92.1 mum 92.1 mum TargetPV compt + 2 -2.89 mm 2.24 mm -2.44 m 0 eV 257 keV 3.68 mm 3.77 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.7 mum 1.49 mm -2.44 m 299 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.5 mm 1.19 mm -2.44 m 192 keV 107 keV 4.63 mm 4.63 mm TargetPV compt + 2 768 mum 441 mum -2.44 m 0 eV 192 keV 2.25 mm 6.88 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 125 mum 222 mum -2.44 m 297 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 807 mum -92.7 mum -2.44 m 0 eV 297 keV 1.8 mm 1.8 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -766 mum -171 mum -2.44 m 2.39 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 8.46 mm -1.9 mm -2.43 m 2.09 MeV 306 keV 1.88 cm 1.88 cm TargetPV compt + 2 8.99 mm -1.72 mm -2.43 m 2.06 MeV 26.5 keV 1.41 mm 2.02 cm TargetPV compt + 3 2.22 cm 3.2 mm -2.4 m 2.06 MeV 0 eV 2.98 cm 5.01 cm TrackerTransportation + 4 2.4 m 89.2 cm 2.35 m 2.06 MeV 0 eV 5.38 m 5.43 m WorldPVTransportation + 5 2.68 m 99.8 cm 2.91 m 2.06 MeV 0 eV 64 cm 6.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -371 mum -110 mum -2.44 m 6.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -450 mum -274 nm -2.44 m 3.53 MeV 2.65 MeV 2.05 mm 2.05 mm TargetPV compt + 2 -2.7 mm 1.77 mm -2.44 m 1.43 MeV 0 eV 7.08 mm 9.13 mm TargetPV compt + 3 -8.17 mm -2.3 mm -2.43 m 423 keV 1.01 MeV 1.11 cm 2.03 cm TargetPV compt + 4 -6.55 mm 1.79 mm -2.42 m 0 eV 423 keV 5.97 mm 2.62 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 59 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 mm 1.77 mm -2.44 m 2.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.86 mm 2.07 mm -2.44 m 1.47 MeV 633 keV 618 mum 618 mum TargetPV eIoni + 2 -2.78 mm 2.28 mm -2.44 m 911 keV 559 keV 507 mum 1.12 mm TargetPV eIoni + 3 -2.66 mm 2.24 mm -2.44 m 535 keV 377 keV 393 mum 1.52 mm TargetPV eIoni + 4 -2.63 mm 2.28 mm -2.44 m 190 keV 344 keV 284 mum 1.8 mm TargetPV eIoni + 5 -2.63 mm 2.29 mm -2.44 m 0 eV 190 keV 74.6 mum 1.88 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -375 mum -103 mum -2.45 m 51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -722 mum -47.6 mum -2.44 m 40.5 MeV 3.3 MeV 2.07 mm 2.07 mm TargetPV eBrem + 2 -611 mum -391 mum -2.44 m 28.5 MeV 1.1 MeV 934 mum 3 mm TargetPV eBrem + 3 -614 mum -427 mum -2.44 m 10.6 MeV 96.8 keV 83.8 mum 3.08 mm TargetPV eBrem + 4 -610 mum -631 mum -2.44 m 6.62 MeV 404 keV 331 mum 3.41 mm TargetPV eBrem + 5 -82.2 mum -1.24 mm -2.44 m 3.93 MeV 2.7 MeV 1.29 mm 4.71 mm TargetPV eIoni + 6 -672 mum -1.33 mm -2.44 m 2.89 MeV 1.04 MeV 905 mum 5.61 mm TargetPV eIoni + 7 -399 mum -1.62 mm -2.44 m 2.03 MeV 858 keV 746 mum 6.36 mm TargetPV eIoni + 8 -268 mum -1.38 mm -2.44 m 1.21 MeV 492 keV 512 mum 6.87 mm TargetPV eBrem + 9 -353 mum -1.3 mm -2.44 m 546 keV 668 keV 458 mum 7.33 mm TargetPV eIoni + 10 -375 mum -1.32 mm -2.44 m 0 eV 546 keV 288 mum 7.61 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -268 mum -1.38 mm -2.44 m 327 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.12 mm 272 mum -2.44 m 152 keV 175 keV 1.86 mm 1.86 mm TargetPV compt + 2 -1.15 mm 55.4 mum -2.44 m 0 eV 152 keV 222 mum 2.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -610 mum -631 mum -2.44 m 3.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.33 mm -1.4 mm -2.43 m 3.33 MeV 234 keV 9.4 mm 9.4 mm TargetPV compt + 2 3.29 mm -2.72 mm -2.43 m 0 eV 2.31 MeV 6.82 mm 1.62 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 71, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.29 mm -2.72 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 71 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.72 mm -4.84 mm -2.43 m 375 keV 136 keV 6.23 mm 6.23 mm TargetPV compt + 2 4.72 mm -7.97 mm -2.43 m 314 keV 61 keV 4.16 mm 1.04 cm TargetPV compt + 3 4.71 mm -8.5 mm -2.44 m 0 eV 314 keV 1.21 mm 1.16 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 71 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.31 mm -2.65 mm -2.43 m 0 eV 511 keV 203 mum 203 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -614 mum -427 mum -2.44 m 17.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -861 mum -3.61 mm -2.44 m 0 eV 0 eV 7.43 mm 7.43 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 75, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -861 mum -3.61 mm -2.44 m 14.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.37 mm -5.13 mm -2.43 m 10.5 MeV 2.96 MeV 2.22 mm 2.22 mm TargetPV eBrem + 2 -1.59 mm -5.4 mm -2.43 m 2.83 MeV 1.3 MeV 949 mum 3.17 mm TargetPV eBrem + 3 -2.08 mm -5.14 mm -2.43 m 2.07 MeV 760 keV 751 mum 3.92 mm TargetPV eIoni + 4 -2.03 mm -4.76 mm -2.43 m 1.43 MeV 641 keV 623 mum 4.54 mm TargetPV eIoni + 5 -1.87 mm -4.82 mm -2.43 m 701 keV 729 keV 507 mum 5.05 mm TargetPV eIoni + 6 -1.79 mm -4.84 mm -2.43 m 132 keV 569 keV 344 mum 5.39 mm TargetPV eIoni + 7 -1.8 mm -4.84 mm -2.43 m 0 eV 132 keV 40.1 mum 5.43 mm TargetPV eIoni + 8 -1.8 mm -4.84 mm -2.43 m 0 eV 0 eV 0 fm 5.43 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 mm -4.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.78 mm -4.2 mm -2.43 m 423 keV 87.6 keV 1.61 mm 1.61 mm TargetPV compt + 2 -6.27 mm -3.64 mm -2.43 m 415 keV 8.08 keV 3.62 mm 5.23 mm TargetPV compt + 3 -8.93 mm -3.5 mm -2.43 m 0 eV 415 keV 2.66 mm 7.89 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 mm -4.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.3 mm -1.01 cm -2.42 m 0 eV 511 keV 1.33 cm 1.33 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 mm -5.4 mm -2.43 m 6.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.4 mm -3.55 mm -2.43 m 558 keV 5.84 MeV 3.94 mm 3.94 mm TargetPV compt + 2 -6.02 mm -4.4 mm -2.43 m 221 keV 337 keV 2.01 mm 5.94 mm TargetPV compt + 3 -5.53 mm -4.86 mm -2.43 m 0 eV 221 keV 695 mum 6.64 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.37 mm -5.13 mm -2.43 m 1.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -690 mum -7.17 mm -2.43 m 862 keV 321 keV 9.03 mm 9.03 mm TargetPV compt + 2 -4.78 mm -5.99 mm -2.42 m 750 keV 112 keV 1.08 cm 1.99 cm TargetPV compt + 3 -1.08 cm -9.1 mm -2.41 m 0 eV 750 keV 1.15 cm 3.13 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -861 mum -3.61 mm -2.44 m 2.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -808 mum -3.6 mm -2.44 m 876 keV 191 keV 194 mum 194 mum TargetPV eBrem + 2 -805 mum -3.72 mm -2.44 m 517 keV 359 keV 385 mum 579 mum TargetPV eIoni + 3 -827 mum -3.71 mm -2.44 m 0 eV 517 keV 276 mum 856 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -808 mum -3.6 mm -2.44 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.72 mm -1.41 cm -2.44 m 280 keV 798 keV 1.23 cm 1.23 cm TargetPV compt + 2 5.33 mm -1.29 cm -2.44 m 0 eV 280 keV 1.51 mm 1.38 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -611 mum -391 mum -2.44 m 10.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.3 mm -1.09 cm -2.42 m 0 eV 9.86 MeV 2.58 cm 2.58 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 81, Parent ID = 67 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.3 mm -1.09 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 81 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.53 mm -9.22 mm -2.42 m 300 keV 211 keV 2.98 mm 2.98 mm TargetPV compt + 2 -1.12 mm -9.95 mm -2.42 m 0 eV 300 keV 1.18 mm 4.17 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 81 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.81 mm -1.2 cm -2.42 m 344 keV 167 keV 1.96 mm 1.96 mm TargetPV compt + 2 -4.49 mm -1.05 cm -2.42 m 0 eV 344 keV 3.92 mm 5.88 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -722 mum -47.6 mum -2.44 m 7.19 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -306 mum -912 mum -2.44 m 1.19 MeV 0 eV 3.5 mm 3.5 mm TargetPV compt + 2 -4.96 mm -2.19 mm -2.43 m 842 keV 344 keV 6.77 mm 1.03 cm TargetPV compt + 3 -1.97 cm 7.55 mm -2.42 m 711 keV 131 keV 2.44 cm 3.47 cm TargetPV compt + 4 -2.01 cm 8.83 mm -2.42 m 0 eV 711 keV 1.88 mm 3.66 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -306 mum -912 mum -2.44 m 6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -499 mum -1.06 mm -2.44 m 3.98 MeV 1.47 MeV 678 mum 678 mum TargetPV eBrem + 2 -156 mum -1.62 mm -2.44 m 3.04 MeV 943 keV 913 mum 1.59 mm TargetPV eIoni + 3 -96.4 mum -1.74 mm -2.44 m 2.44 MeV 222 keV 211 mum 1.8 mm TargetPV eBrem + 4 -249 mum -1.94 mm -2.44 m 1.42 MeV 1.02 MeV 674 mum 2.48 mm TargetPV eIoni + 5 -305 mum -2.11 mm -2.44 m 852 keV 571 keV 498 mum 2.97 mm TargetPV eIoni + 6 -247 mum -2.17 mm -2.44 m 348 keV 504 keV 379 mum 3.35 mm TargetPV eIoni + 7 -236 mum -2.17 mm -2.44 m 0 eV 348 keV 178 mum 3.53 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -96.4 mum -1.74 mm -2.44 m 373 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 378 mum -2.55 mm -2.44 m 0 eV 373 keV 1.51 mm 1.51 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -499 mum -1.06 mm -2.44 m 551 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -436 mum -2.36 mm -2.44 m 0 eV 551 keV 1.52 mm 1.52 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.4 mum 1.22 mum -2.86 m 16.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -275 mum 1.3 mm -2.86 m 13.8 keV 2.5 keV 1.41 mm 1.41 mm WorldPV eIoni + 2 355 mum 1.4 mm -2.86 m 11.8 keV 2.06 keV 1.13 mm 2.53 mm WorldPV eIoni + 3 834 mum 2 mm -2.86 m 10.4 keV 1.35 keV 925 mum 3.46 mm WorldPV eIoni + 4 621 mum 1.71 mm -2.86 m 8.72 keV 1.73 keV 806 mum 4.27 mm WorldPV eIoni + 5 454 mum 1.37 mm -2.86 m 7.47 keV 1.24 keV 668 mum 4.93 mm WorldPV eIoni + 6 460 mum 954 mum -2.86 m 1.27 keV 6.2 keV 578 mum 5.51 mm WorldPV eIoni + 7 438 mum 957 mum -2.86 m 0 eV 1.27 keV 84.4 mum 5.59 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 NextVolu Process + 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm WorldPV initStep + 1 -3.88 Ang -8.52 Ang -2.9 m 1e+03 GeV 3.03 keV 1.28 cm 1.28 cm WorldPV MuIoni + 2 -27.8 nm 39.9 nm -2.45 m 1e+03 GeV 105 keV 44.7 cm 46 cm TargetPVTransportation + 3 -94.3 nm -850 nm -2.42 m 1e+03 GeV 56.6 MeV 3.14 cm 49.1 cm TargetPV MuIoni + 4 111 nm -877 nm -2.41 m 998 GeV 5.55 MeV 4.08 mm 49.5 cm TargetPVMuPairProd + 5 202 nm -895 nm -2.41 m 998 GeV 2.43 MeV 1.89 mm 49.7 cm TargetPV MuIoni + 6 787 nm -1.05 mum -2.4 m 998 GeV 17.5 MeV 1.26 cm 51 cm TrackerTransportation + 7 60 mum -8.13 mum -1.6 m 998 GeV 193 keV 80 cm 1.31 m ChamberTransportation + 8 74.9 mum -9.75 mum -1.4 m 998 GeV 154 keV 20 cm 1.51 m TrackerTransportation + 9 118 mum -15.1 mum -80 cm 998 GeV 138 keV 60 cm 2.11 m ChamberTransportation + 10 132 mum -16.8 mum -60 cm 998 GeV 201 keV 20 cm 2.31 m TrackerTransportation + 11 176 mum -21.8 mum 0.114 fm 998 GeV 145 keV 60 cm 2.91 m ChamberTransportation + 12 190 mum -23.6 mum 20 cm 998 GeV 201 keV 20 cm 3.11 m TrackerTransportation + 13 233 mum -29.2 mum 80 cm 998 GeV 145 keV 60 cm 3.71 m ChamberTransportation + 14 247 mum -31.1 mum 1 m 998 GeV 159 keV 20 cm 3.91 m TrackerTransportation + 15 289 mum -37.4 mum 1.6 m 998 GeV 139 keV 60 cm 4.51 m ChamberTransportation + 16 303 mum -39.5 mum 1.8 m 998 GeV 144 keV 20 cm 4.71 m TrackerTransportation + 17 326 mum -42.8 mum 2.12 m 998 GeV 88.1 keV 32 cm 5.03 m Tracker MuIoni + 18 345 mum -45.6 mum 2.4 m 998 GeV 58.2 keV 28 cm 5.31 m WorldPVTransportation + 19 381 mum -50.7 mum 2.91 m 998 GeV 133 keV 51 cm 5.82 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 326 mum -42.8 mum 2.12 m 16.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.25 mm -1.16 mm 2.12 m 4.55 keV 11.9 keV 1.42 mm 1.42 mm Tracker eIoni + 2 979 mum -1.39 mm 2.12 m 2.99 keV 1.57 keV 389 mum 1.81 mm Tracker eIoni + 3 901 mum -1.55 mm 2.12 m 0 eV 2.99 keV 276 mum 2.09 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 202 nm -895 nm -2.41 m 15.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 811 mum -249 mum -2.41 m 12.3 MeV 3.52 MeV 2.51 mm 2.51 mm TargetPV eIoni + 2 750 mum -209 mum -2.41 m 11.2 MeV 99 keV 77.5 mum 2.59 mm TargetPV eBrem + 3 629 mum -117 mum -2.41 m 10 MeV 246 keV 216 mum 2.8 mm TargetPV eBrem + 4 -622 mum 514 mum -2.41 m 1.39 MeV 8.11 MeV 1.69 mm 4.49 mm TargetPV eBrem + 5 -640 mum 541 mum -2.41 m 1.01 MeV 383 keV 492 mum 4.98 mm TargetPV eIoni + 6 -772 mum 610 mum -2.41 m 622 keV 384 keV 415 mum 5.4 mm TargetPV eIoni + 7 -727 mum 670 mum -2.41 m 279 keV 344 keV 316 mum 5.71 mm TargetPV eIoni + 8 -735 mum 676 mum -2.41 m 0 eV 279 keV 131 mum 5.84 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -622 mum 514 mum -2.41 m 548 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.95 mm -1.01 mm -2.41 m 0 eV 548 keV 3.57 mm 3.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 629 mum -117 mum -2.41 m 880 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.68 mm 5.6 mm -2.42 m 388 keV 0 eV 8.97 mm 8.97 mm TargetPV compt + 2 -5.2 mm 6.32 mm -2.41 m 0 eV 388 keV 1.26 mm 1.02 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.68 mm 5.6 mm -2.42 m 492 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.72 mm 5.63 mm -2.42 m 183 keV 309 keV 265 mum 265 mum TargetPV eIoni + 2 -4.71 mm 5.63 mm -2.42 m 0 eV 183 keV 70.2 mum 336 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 750 mum -209 mum -2.41 m 1.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.58 cm 9.42 mm -2.43 m 566 keV 474 keV 2.46 cm 2.46 cm TargetPV compt + 2 -1.54 cm 2.13 cm -2.43 m 0 eV 566 keV 1.29 cm 3.75 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 111 nm -877 nm -2.41 m 272 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.08 mum 4.59 mum -2.41 m 271 MeV 709 keV 556 mum 556 mum TargetPV eBrem + 2 -6.06 mum 2.52 mum -2.41 m 269 MeV 1.34 MeV 670 mum 1.23 mm TargetPV eBrem + 3 4.02 mum 1.98 mum -2.41 m 267 MeV 642 keV 438 mum 1.66 mm TargetPV eBrem + 4 29.5 mum 7.96 mum -2.41 m 252 MeV 1.57 MeV 853 mum 2.52 mm TargetPV eBrem + 5 32.7 mum 21.1 mum -2.41 m 250 MeV 569 keV 525 mum 3.04 mm TargetPV eBrem + 6 33.9 mum 24.4 mum -2.41 m 50.3 MeV 190 keV 167 mum 3.21 mm TargetPV eBrem + 7 29.6 mum 29.9 mum -2.41 m 49.4 MeV 230 keV 202 mum 3.41 mm TargetPV eBrem + 8 30.2 mum 29.9 mum -2.41 m 27.7 MeV 13.7 keV 18.7 mum 3.43 mm TargetPV eBrem + 9 113 mum -143 mum -2.41 m 20.8 MeV 1.15 MeV 1.07 mm 4.5 mm TargetPV eBrem + 10 308 mum -165 mum -2.41 m 17.3 MeV 1.23 MeV 1.01 mm 5.51 mm TargetPV eBrem + 11 -167 mum 1.72 mm -2.41 m 12.9 MeV 2.58 MeV 2.23 mm 7.73 mm TargetPV eBrem + 12 -182 mum 1.74 mm -2.41 m 9.03 MeV 39.9 keV 30.6 mum 7.76 mm TargetPV eBrem + 13 -1.37 mm 2.7 mm -2.41 m 6.94 MeV 2.08 MeV 1.66 mm 9.42 mm TargetPV eIoni + 14 -1.49 mm 3.2 mm -2.41 m 5.59 MeV 1.36 MeV 1.37 mm 1.08 cm TargetPV eIoni + 15 -1.11 mm 3.05 mm -2.41 m 4.53 MeV 627 keV 603 mum 1.14 cm TargetPV eBrem + 16 -609 mum 2.83 mm -2.41 m 2.78 MeV 897 keV 674 mum 1.21 cm TargetPV eBrem + 17 -585 mum 3.22 mm -2.41 m 1.79 MeV 993 keV 743 mum 1.28 cm TargetPV eIoni + 18 -333 mum 3.1 mm -2.41 m 1.2 MeV 593 keV 573 mum 1.34 cm TargetPV eIoni + 19 -530 mum 3.16 mm -2.41 m 777 keV 420 keV 461 mum 1.38 cm TargetPV eIoni + 20 -459 mum 3.23 mm -2.41 m 197 keV 580 keV 365 mum 1.42 cm TargetPV eIoni + 21 -469 mum 3.23 mm -2.41 m 0 eV 197 keV 76.4 mum 1.43 cm TargetPV eIoni + 22 -469 mum 3.23 mm -2.41 m 0 eV 0 eV 0 fm 1.43 cm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -469 mum 3.23 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.13 mm 2.66 mm -2.41 m 185 keV 326 keV 3.65 mm 3.65 mm TargetPV compt + 2 2.82 mm 2.55 mm -2.41 m 0 eV 185 keV 378 mum 4.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -469 mum 3.23 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -8.24 mm 4.46 mm -2.41 m 441 keV 70.2 keV 7.86 mm 7.86 mm TargetPV compt + 2 -1.29 cm 5.51 mm -2.41 m 284 keV 157 keV 5.67 mm 1.35 cm TargetPV compt + 3 -1.29 cm 5.6 mm -2.41 m 0 eV 284 keV 131 mum 1.37 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -609 mum 2.83 mm -2.41 m 850 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.01 cm 7.08 mm -2.4 m 585 keV 264 keV 1.33 cm 1.33 cm TargetPV compt + 2 -1.03 cm 7.02 mm -2.4 m 0 eV 585 keV 208 mum 1.35 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.11 mm 3.05 mm -2.41 m 430 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 7.74 mm -161 mum -2.41 m 0 eV 430 keV 9.56 mm 9.56 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -182 mum 1.74 mm -2.41 m 3.81 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -502 mum 2.16 mm -2.41 m 459 keV 0 eV 653 mum 653 mum TargetPV compt + 2 4.48 mm 5.09 mm -2.41 m 0 eV 459 keV 5.9 mm 6.55 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -502 mum 2.16 mm -2.41 m 3.35 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.06 mm 2.23 mm -2.41 m 2.53 MeV 816 keV 817 mum 817 mum TargetPV eIoni + 2 -1.11 mm 1.85 mm -2.41 m 1.56 MeV 969 keV 689 mum 1.51 mm TargetPV eIoni + 3 -951 mum 1.78 mm -2.41 m 1.04 MeV 529 keV 524 mum 2.03 mm TargetPV eIoni + 4 -829 mum 1.71 mm -2.41 m 588 keV 448 keV 421 mum 2.45 mm TargetPV eIoni + 5 -865 mum 1.7 mm -2.41 m 132 keV 456 keV 304 mum 2.75 mm TargetPV eIoni + 6 -862 mum 1.7 mm -2.41 m 0 eV 132 keV 42.5 mum 2.8 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -167 mum 1.72 mm -2.41 m 1.83 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.28 mm 9.44 mm -2.4 m 1.83 MeV 0 eV 1.28 cm 1.28 cm TrackerTransportation + 2 -1.9 m 2.4 m 12.5 cm 1.83 MeV 0 eV 3.96 m 3.97 m WorldPVTransportation + 3 -2.3 m 2.91 m 66.3 cm 1.83 MeV 0 eV 84.5 cm 4.82 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 308 mum -165 mum -2.41 m 2.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.38 mm 8.05 mm -2.4 m 2.28 MeV 0 eV 1.28 cm 1.28 cm TrackerTransportation + 2 -1.08 m 2.4 m 24.5 cm 2.28 MeV 0 eV 3.72 m 3.74 m WorldPVTransportation + 3 -1.31 m 2.91 m 80.9 cm 2.28 MeV 0 eV 79.4 cm 4.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 113 mum -143 mum -2.41 m 5.76 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.16 mm -953 mum -2.41 m 587 keV 5.17 MeV 3.94 mm 3.94 mm TargetPV compt + 2 87.3 mum -2.39 mm -2.41 m 408 keV 179 keV 1.84 mm 5.78 mm TargetPV compt + 3 446 mum -5.59 mm -2.4 m 311 keV 97.2 keV 5.2 mm 1.1 cm TargetPV compt + 4 777 mum -5.11 mm -2.4 m 311 keV 0 eV 1.95 mm 1.29 cm TrackerTransportation + 5 14.3 cm 20.2 cm -1.6 m 311 keV 0 eV 83.8 cm 85.1 cm ChamberTransportation + 6 17 cm 24 cm -1.45 m 311 keV 0 eV 15.6 cm 1.01 m TrackerTransportation + 7 28.6 cm 40.8 cm -80 cm 311 keV 0 eV 68.3 cm 1.69 m ChamberTransportation + 8 32.1 cm 46 cm -60 cm 311 keV 0 eV 21 cm 1.9 m TrackerTransportation + 9 42.8 cm 61.5 cm 0 fm 311 keV 0 eV 62.9 cm 2.53 m ChamberTransportation + 10 46.4 cm 66.7 cm 20 cm 311 keV 0 eV 21 cm 2.74 m TrackerTransportation + 11 57 cm 82.2 cm 80 cm 311 keV 0 eV 62.9 cm 3.37 m ChamberTransportation + 12 60.6 cm 87.3 cm 1 m 311 keV 0 eV 21 cm 3.58 m TrackerTransportation + 13 71.3 cm 1.03 m 1.6 m 311 keV 0 eV 62.9 cm 4.21 m ChamberTransportation + 14 74.8 cm 1.08 m 1.8 m 311 keV 0 eV 21 cm 4.41 m TrackerTransportation + 15 85.5 cm 1.24 m 2.4 m 311 keV 0 eV 62.9 cm 5.04 m WorldPVTransportation + 16 94.6 cm 1.37 m 2.91 m 311 keV 0 eV 53.5 cm 5.58 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30.2 mum 29.9 mum -2.41 m 21.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 433 mum -413 nm -2.4 m 0 eV 0 eV 8.7 mm 8.7 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 30, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 433 mum -413 nm -2.4 m 14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 77.5 mum -440 mum -2.4 m 10.5 MeV 3.48 MeV 2.33 mm 2.33 mm TargetPV eIoni + 2 673 mum -407 mum -2.4 m 9.62 MeV 892 keV 821 mum 3.15 mm TrackerTransportation + 3 20.8 cm -16.9 cm -2.13 m 9.53 MeV 72.9 keV 38.1 cm 38.5 cm Tracker eIoni + 4 52.5 cm -42.2 cm -1.63 m 9.4 MeV 124 keV 64 cm 1.02 m Tracker eIoni + 5 92.4 cm -69 cm -1.06 m 9.25 MeV 134 keV 74.7 cm 1.77 m Tracker eIoni + 6 1.07 m -76.1 cm -86.5 cm 9.19 MeV 43.2 keV 25.6 cm 2.03 m Tracker eIoni + 7 1.12 m -78.4 cm -79.9 cm 8.32 MeV 23.5 keV 8.44 cm 2.11 m Tracker eIoni + 8 1.27 m -88.7 cm -56.3 cm 8.25 MeV 55.4 keV 30 cm 2.41 m Tracker eIoni + 9 1.33 m -93.4 cm -46 cm 8.21 MeV 18.7 keV 12.8 cm 2.54 m Tracker eIoni + 10 1.4 m -99.4 cm -35 cm 6.39 MeV 27.9 keV 14.1 cm 2.68 m Tracker eIoni + 11 1.41 m -1.02 m -30.4 cm 6.37 MeV 8.08 keV 5.29 cm 2.73 m Tracker eIoni + 12 1.61 m -1.38 m 44.2 cm 6.18 MeV 150 keV 85.6 cm 3.59 m Tracker eIoni + 13 1.62 m -1.39 m 47.6 cm 6.17 MeV 6.52 keV 4.02 cm 3.63 m Tracker eIoni + 14 2.2 m -2.08 m 1.93 m 5.86 MeV 299 keV 1.72 m 5.35 m Tracker eIoni + 15 2.26 m -2.18 m 2.08 m 5.76 MeV 41.9 keV 19.3 cm 5.54 m Tracker eIoni + 16 2.37 m -2.35 m 2.4 m 5.7 MeV 60.2 keV 37.9 cm 5.92 m WorldPVTransportation + 17 2.42 m -2.46 m 2.57 m 5.63 MeV 43.7 keV 21.1 cm 6.13 m WorldPV eIoni + 18 2.51 m -2.59 m 2.8 m 5.56 MeV 54.1 keV 27.8 cm 6.41 m WorldPV eIoni + 19 2.54 m -2.63 m 2.89 m 5.46 MeV 23.6 keV 10.4 cm 6.51 m WorldPV eIoni + 20 2.55 m -2.64 m 2.91 m 5.46 MeV 3.95 keV 2.45 cm 6.54 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.54 m -2.63 m 2.89 m 78.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.55 m -2.65 m 2.88 m 63.6 keV 14.6 keV 1.83 cm 1.83 cm WorldPV eIoni + 2 2.55 m -2.66 m 2.87 m 59.1 keV 4.51 keV 1.28 cm 3.11 cm WorldPV eIoni + 3 2.55 m -2.66 m 2.86 m 48.5 keV 10.5 keV 1.13 cm 4.23 cm WorldPV eIoni + 4 2.56 m -2.66 m 2.86 m 36.2 keV 12.3 keV 8.01 mm 5.03 cm WorldPV eIoni + 5 2.56 m -2.67 m 2.86 m 31.7 keV 4.49 keV 4.83 mm 5.52 cm WorldPV eIoni + 6 2.56 m -2.67 m 2.86 m 28.9 keV 2.78 keV 3.89 mm 5.91 cm WorldPV eIoni + 7 2.56 m -2.67 m 2.86 m 24.7 keV 4.21 keV 3.34 mm 6.24 cm WorldPV eIoni + 8 2.56 m -2.67 m 2.86 m 20.7 keV 3.97 keV 2.59 mm 6.5 cm WorldPV eIoni + 9 2.56 m -2.67 m 2.86 m 18 keV 2.77 keV 1.97 mm 6.7 cm WorldPV eIoni + 10 2.56 m -2.67 m 2.86 m 15.1 keV 2.88 keV 1.6 mm 6.86 cm WorldPV eIoni + 11 2.56 m -2.67 m 2.86 m 13.7 keV 1.41 keV 1.26 mm 6.98 cm WorldPV eIoni + 12 2.56 m -2.67 m 2.86 m 11.6 keV 2.07 keV 1.11 mm 7.09 cm WorldPV eIoni + 13 2.56 m -2.67 m 2.86 m 10.4 keV 1.17 keV 908 mum 7.18 cm WorldPV eIoni + 14 2.56 m -2.67 m 2.86 m 8.55 keV 1.88 keV 806 mum 7.27 cm WorldPV eIoni + 15 2.56 m -2.67 m 2.86 m 6.19 keV 2.36 keV 655 mum 7.33 cm WorldPV eIoni + 16 2.56 m -2.67 m 2.86 m 5.29 keV 901 eV 492 mum 7.38 cm WorldPV eIoni + 17 2.56 m -2.67 m 2.86 m 3.57 keV 1.72 keV 435 mum 7.42 cm WorldPV eIoni + 18 2.56 m -2.67 m 2.86 m 816 eV 2.76 keV 323 mum 7.46 cm WorldPV eIoni + 19 2.56 m -2.67 m 2.86 m 0 eV 816 eV 47.6 mum 7.46 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.51 m -2.59 m 2.8 m 15 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.52 m -2.59 m 2.8 m 14 keV 1 keV 1.25 mm 1.25 mm WorldPV eIoni + 2 2.52 m -2.59 m 2.8 m 12.9 keV 1.1 keV 1.14 mm 2.39 mm WorldPV eIoni + 3 2.52 m -2.59 m 2.8 m 10.1 keV 2.79 keV 1.03 mm 3.42 mm WorldPV eIoni + 4 2.52 m -2.59 m 2.8 m 8.22 keV 1.88 keV 776 mum 4.2 mm WorldPV eIoni + 5 2.52 m -2.59 m 2.8 m 7.49 keV 732 eV 630 mum 4.83 mm WorldPV eIoni + 6 2.52 m -2.59 m 2.8 m 5.62 keV 1.87 keV 579 mum 5.41 mm WorldPV eIoni + 7 2.52 m -2.59 m 2.8 m 4.81 keV 811 eV 455 mum 5.87 mm WorldPV eIoni + 8 2.52 m -2.59 m 2.8 m 1.95 keV 2.87 keV 404 mum 6.27 mm WorldPV eIoni + 9 2.52 m -2.59 m 2.8 m 0 eV 1.95 keV 156 mum 6.43 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.42 m -2.46 m 2.57 m 22.9 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.42 m -2.46 m 2.57 m 20.2 keV 2.75 keV 2.31 mm 2.31 mm WorldPV eIoni + 2 2.42 m -2.46 m 2.57 m 18.9 keV 1.24 keV 1.9 mm 4.21 mm WorldPV eIoni + 3 2.42 m -2.46 m 2.57 m 17.3 keV 1.63 keV 1.74 mm 5.95 mm WorldPV eIoni + 4 2.42 m -2.46 m 2.57 m 8.64 keV 8.68 keV 1.52 mm 7.47 mm WorldPV eIoni + 5 2.42 m -2.46 m 2.57 m 7.57 keV 1.08 keV 662 mum 8.13 mm WorldPV eIoni + 6 2.42 m -2.46 m 2.57 m 6.29 keV 1.28 keV 584 mum 8.71 mm WorldPV eIoni + 7 2.42 m -2.46 m 2.57 m 4.34 keV 1.95 keV 498 mum 9.21 mm WorldPV eIoni + 8 2.42 m -2.46 m 2.57 m 2.34 keV 2 keV 375 mum 9.59 mm WorldPV eIoni + 9 2.42 m -2.46 m 2.57 m 0 eV 2.34 keV 207 mum 9.79 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.26 m -2.18 m 2.08 m 56.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.26 m -2.17 m 2.09 m 44.2 keV 12.3 keV 1.04 cm 1.04 cm Tracker eIoni + 2 2.26 m -2.16 m 2.09 m 39.5 keV 4.73 keV 6.79 mm 1.72 cm Tracker eIoni + 3 2.26 m -2.16 m 2.09 m 35.7 keV 3.75 keV 5.62 mm 2.29 cm Tracker eIoni + 4 2.26 m -2.16 m 2.1 m 31.2 keV 4.49 keV 4.73 mm 2.76 cm Tracker eIoni + 5 2.26 m -2.15 m 2.1 m 27.8 keV 3.38 keV 3.79 mm 3.14 cm Tracker eIoni + 6 2.26 m -2.15 m 2.1 m 25.1 keV 2.75 keV 3.15 mm 3.45 cm Tracker eIoni + 7 2.26 m -2.15 m 2.1 m 23 keV 2.11 keV 2.65 mm 3.72 cm Tracker eIoni + 8 2.26 m -2.15 m 2.1 m 20.2 keV 2.8 keV 2.32 mm 3.95 cm Tracker eIoni + 9 2.26 m -2.15 m 2.1 m 18.3 keV 1.87 keV 1.9 mm 4.14 cm Tracker eIoni + 10 2.26 m -2.15 m 2.1 m 15.5 keV 2.84 keV 1.65 mm 4.3 cm Tracker eIoni + 11 2.26 m -2.14 m 2.1 m 12.1 keV 3.34 keV 1.31 mm 4.43 cm Tracker eIoni + 12 2.26 m -2.14 m 2.1 m 10.3 keV 1.81 keV 957 mum 4.53 cm Tracker eIoni + 13 2.26 m -2.14 m 2.1 m 9.19 keV 1.14 keV 797 mum 4.61 cm Tracker eIoni + 14 2.26 m -2.14 m 2.1 m 7.35 keV 1.84 keV 705 mum 4.68 cm Tracker eIoni + 15 2.26 m -2.14 m 2.1 m 5.71 keV 1.64 keV 569 mum 4.74 cm Tracker eIoni + 16 2.26 m -2.14 m 2.1 m 4.77 keV 944 eV 461 mum 4.78 cm Tracker eIoni + 17 2.26 m -2.14 m 2.1 m 2.96 keV 1.81 keV 401 mum 4.82 cm Tracker eIoni + 18 2.26 m -2.14 m 2.1 m 0 eV 2.96 keV 273 mum 4.85 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.2 m -2.08 m 1.93 m 8.46 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.2 m -2.08 m 1.93 m 5.86 keV 2.6 keV 647 mum 647 mum Tracker eIoni + 2 2.2 m -2.08 m 1.93 m 3.56 keV 2.3 keV 470 mum 1.12 mm Tracker eIoni + 3 2.2 m -2.08 m 1.93 m 833 eV 2.73 keV 322 mum 1.44 mm Tracker eIoni + 4 2.2 m -2.08 m 1.93 m 0 eV 833 eV 48.8 mum 1.49 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.62 m -1.39 m 47.6 cm 8.13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.62 m -1.39 m 47.6 cm 6.82 keV 1.31 keV 624 mum 624 mum Tracker eIoni + 2 1.63 m -1.39 m 47.6 cm 3.37 keV 3.45 keV 533 mum 1.16 mm Tracker eIoni + 3 1.63 m -1.39 m 47.6 cm 0 eV 3.37 keV 307 mum 1.46 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.61 m -1.38 m 44.2 cm 43.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.61 m -1.38 m 44.5 cm 32.9 keV 10.4 keV 6.56 mm 6.56 mm Tracker eIoni + 2 1.6 m -1.38 m 44.8 cm 30 keV 2.84 keV 4.13 mm 1.07 cm Tracker eIoni + 3 1.6 m -1.38 m 44.8 cm 25.7 keV 4.36 keV 3.54 mm 1.42 cm Tracker eIoni + 4 1.6 m -1.39 m 44.8 cm 23.1 keV 2.62 keV 2.75 mm 1.7 cm Tracker eIoni + 5 1.6 m -1.39 m 44.8 cm 21.6 keV 1.47 keV 2.33 mm 1.93 cm Tracker eIoni + 6 1.6 m -1.39 m 44.8 cm 18.9 keV 2.68 keV 2.1 mm 2.14 cm Tracker eIoni + 7 1.6 m -1.39 m 44.8 cm 16.3 keV 2.62 keV 1.73 mm 2.32 cm Tracker eIoni + 8 1.6 m -1.39 m 44.7 cm 11.4 keV 4.86 keV 1.4 mm 2.46 cm Tracker eIoni + 9 1.6 m -1.39 m 44.7 cm 9.89 keV 1.54 keV 893 mum 2.55 cm Tracker eIoni + 10 1.6 m -1.39 m 44.7 cm 7.78 keV 2.11 keV 759 mum 2.62 cm Tracker eIoni + 11 1.6 m -1.39 m 44.7 cm 6.83 keV 945 eV 599 mum 2.68 cm Tracker eIoni + 12 1.6 m -1.39 m 44.7 cm 3.78 keV 3.05 keV 533 mum 2.73 cm Tracker eIoni + 13 1.6 m -1.39 m 44.7 cm 0 eV 3.78 keV 337 mum 2.77 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.41 m -1.02 m -30.4 cm 9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.41 m -1.02 m -30.5 cm 4.85 keV 4.14 keV 690 mum 690 mum Tracker eIoni + 2 1.41 m -1.02 m -30.4 cm 2.76 keV 2.09 keV 407 mum 1.1 mm Tracker eIoni + 3 1.41 m -1.02 m -30.4 cm 0 eV 2.76 keV 254 mum 1.35 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.4 m -99.4 cm -35 cm 1.79 MeV 0 eV 0 fm 0 fm Tracker initStep + 1 1.5 m -1.02 m -29.3 cm 1.76 MeV 16.5 keV 11.9 cm 11.9 cm Tracker eIoni + 2 1.77 m -1.09 m -15.3 cm 1.71 MeV 45.1 keV 31.4 cm 43.2 cm Tracker eIoni + 3 1.97 m -1.09 m 4.55 cm 1.64 MeV 52.7 keV 28.7 cm 71.9 cm Tracker eIoni + 4 2.14 m -1.09 m 26.9 cm 1.47 MeV 49.4 keV 28 cm 99.9 cm Tracker eIoni + 5 2.4 m -1.2 m 63 cm 1.4 MeV 75.3 keV 47.2 cm 1.47 m WorldPVTransportation + 6 2.44 m -1.23 m 65.5 cm 1.37 MeV 10.3 keV 5.27 cm 1.52 m WorldPV eIoni + 7 2.5 m -1.27 m 68.7 cm 1.35 MeV 13.6 keV 7.63 cm 1.6 m WorldPV eIoni + 8 2.64 m -1.36 m 75.3 cm 1.27 MeV 32.7 keV 18.9 cm 1.79 m WorldPV eIoni + 9 2.74 m -1.44 m 82.5 cm 1.24 MeV 22.2 keV 14.3 cm 1.93 m WorldPV eIoni + 10 2.88 m -1.52 m 92.8 cm 1.19 MeV 32.7 keV 19.1 cm 2.12 m WorldPV eIoni + 11 2.91 m -1.52 m 94.3 cm 1.19 MeV 5.27 keV 3.3 cm 2.16 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.88 m -1.52 m 92.8 cm 10.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.88 m -1.52 m 92.8 cm 9.27 keV 1.23 keV 811 mum 811 mum WorldPV eIoni + 2 2.88 m -1.52 m 92.8 cm 7.84 keV 1.43 keV 711 mum 1.52 mm WorldPV eIoni + 3 2.88 m -1.52 m 92.8 cm 5.97 keV 1.87 keV 603 mum 2.13 mm WorldPV eIoni + 4 2.88 m -1.52 m 92.8 cm 2.67 keV 3.3 keV 477 mum 2.6 mm WorldPV eIoni + 5 2.88 m -1.52 m 92.8 cm 1.41 keV 1.26 keV 245 mum 2.85 mm WorldPV eIoni + 6 2.88 m -1.52 m 92.8 cm 0 eV 1.41 keV 97.4 mum 2.94 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.74 m -1.44 m 82.5 cm 11 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.74 m -1.44 m 82.4 cm 9.21 keV 1.81 keV 857 mum 857 mum WorldPV eIoni + 2 2.74 m -1.44 m 82.4 cm 8.02 keV 1.19 keV 706 mum 1.56 mm WorldPV eIoni + 3 2.74 m -1.44 m 82.3 cm 6.24 keV 1.79 keV 616 mum 2.18 mm WorldPV eIoni + 4 2.74 m -1.44 m 82.3 cm 4.39 keV 1.85 keV 495 mum 2.67 mm WorldPV eIoni + 5 2.74 m -1.44 m 82.3 cm 3.35 keV 1.04 keV 378 mum 3.05 mm WorldPV eIoni + 6 2.74 m -1.44 m 82.3 cm 0 eV 3.35 keV 305 mum 3.36 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.64 m -1.36 m 75.3 cm 45.4 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.65 m -1.36 m 74.9 cm 39 keV 6.4 keV 7.12 mm 7.12 mm WorldPV eIoni + 2 2.65 m -1.36 m 74.9 cm 37 keV 1.98 keV 5.5 mm 1.26 cm WorldPV eIoni + 3 2.66 m -1.36 m 74.9 cm 33.8 keV 3.2 keV 5.02 mm 1.76 cm WorldPV eIoni + 4 2.66 m -1.36 m 74.8 cm 30.1 keV 3.65 keV 4.32 mm 2.2 cm WorldPV eIoni + 5 2.66 m -1.36 m 74.7 cm 26.1 keV 3.99 keV 3.56 mm 2.55 cm WorldPV eIoni + 6 2.67 m -1.36 m 74.7 cm 24.1 keV 2.07 keV 2.84 mm 2.83 cm WorldPV eIoni + 7 2.67 m -1.36 m 74.9 cm 20.8 keV 3.31 keV 2.49 mm 3.08 cm WorldPV eIoni + 8 2.67 m -1.36 m 75 cm 18.9 keV 1.89 keV 1.98 mm 3.28 cm WorldPV eIoni + 9 2.67 m -1.36 m 75 cm 16.9 keV 2 keV 1.72 mm 3.45 cm WorldPV eIoni + 10 2.67 m -1.36 m 75 cm 15 keV 1.87 keV 1.47 mm 3.6 cm WorldPV eIoni + 11 2.67 m -1.36 m 74.9 cm 13.2 keV 1.76 keV 1.25 mm 3.73 cm WorldPV eIoni + 12 2.67 m -1.36 m 74.9 cm 11.8 keV 1.47 keV 1.07 mm 3.83 cm WorldPV eIoni + 13 2.67 m -1.36 m 74.9 cm 10.6 keV 1.14 keV 922 mum 3.92 cm WorldPV eIoni + 14 2.67 m -1.36 m 74.9 cm 9.04 keV 1.58 keV 822 mum 4.01 cm WorldPV eIoni + 15 2.67 m -1.36 m 74.9 cm 7.55 keV 1.49 keV 693 mum 4.08 cm WorldPV eIoni + 16 2.67 m -1.36 m 75 cm 6.68 keV 870 eV 583 mum 4.13 cm WorldPV eIoni + 17 2.67 m -1.36 m 75 cm 5.57 keV 1.1 keV 523 mum 4.19 cm WorldPV eIoni + 18 2.67 m -1.36 m 75 cm 3.52 keV 2.05 keV 452 mum 4.23 cm WorldPV eIoni + 19 2.67 m -1.36 m 75 cm 0 eV 3.52 keV 319 mum 4.26 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.5 m -1.27 m 68.7 cm 13.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.5 m -1.27 m 68.7 cm 11.7 keV 1.66 keV 1.08 mm 1.08 mm WorldPV eIoni + 2 2.5 m -1.27 m 68.6 cm 10.5 keV 1.23 keV 915 mum 1.99 mm WorldPV eIoni + 3 2.5 m -1.27 m 68.5 cm 8.87 keV 1.58 keV 807 mum 2.8 mm WorldPV eIoni + 4 2.5 m -1.27 m 68.5 cm 6.32 keV 2.55 keV 680 mum 3.48 mm WorldPV eIoni + 5 2.5 m -1.27 m 68.5 cm 5.27 keV 1.05 keV 501 mum 3.98 mm WorldPV eIoni + 6 2.5 m -1.27 m 68.5 cm 2.87 keV 2.4 keV 434 mum 4.42 mm WorldPV eIoni + 7 2.5 m -1.27 m 68.5 cm 1.57 keV 1.31 keV 266 mum 4.68 mm WorldPV eIoni + 8 2.5 m -1.27 m 68.5 cm 0 eV 1.57 keV 113 mum 4.79 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.44 m -1.23 m 65.5 cm 11.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.44 m -1.23 m 65.5 cm 7.57 keV 3.77 keV 885 mum 885 mum WorldPV eIoni + 2 2.44 m -1.23 m 65.4 cm 6.29 keV 1.27 keV 584 mum 1.47 mm WorldPV eIoni + 3 2.44 m -1.23 m 65.4 cm 4.4 keV 1.9 keV 499 mum 1.97 mm WorldPV eIoni + 4 2.44 m -1.23 m 65.4 cm 2.82 keV 1.57 keV 379 mum 2.35 mm WorldPV eIoni + 5 2.44 m -1.23 m 65.4 cm 0 eV 2.82 keV 260 mum 2.61 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.14 m -1.09 m 26.9 cm 118 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.17 m -1.07 m 25.2 cm 105 keV 13.5 keV 3.75 cm 3.75 cm Tracker eIoni + 2 2.17 m -1.05 m 24 cm 92 keV 12.7 keV 3.04 cm 6.8 cm Tracker eIoni + 3 2.16 m -1.03 m 23.7 cm 82.1 keV 9.85 keV 2.43 cm 9.22 cm Tracker eIoni + 4 2.14 m -1.03 m 23.7 cm 71.8 keV 10.3 keV 2 cm 11.2 cm Tracker eIoni + 5 2.13 m -1.01 m 24.2 cm 61.9 keV 9.88 keV 1.58 cm 12.8 cm Tracker eIoni + 6 2.13 m -1 m 24.3 cm 53.6 keV 8.3 keV 1.22 cm 14 cm Tracker eIoni + 7 2.12 m -99.7 cm 23.9 cm 46.9 keV 6.76 keV 9.5 mm 15 cm Tracker eIoni + 8 2.12 m -99.2 cm 24.1 cm 40.2 keV 6.68 keV 7.55 mm 15.7 cm Tracker eIoni + 9 2.11 m -99.3 cm 24.5 cm 35.2 keV 4.96 keV 5.8 mm 16.3 cm Tracker eIoni + 10 2.11 m -99.1 cm 24.9 cm 30.9 keV 4.35 keV 4.63 mm 16.8 cm Tracker eIoni + 11 2.11 m -98.9 cm 25.1 cm 26.1 keV 4.79 keV 3.71 mm 17.1 cm Tracker eIoni + 12 2.11 m -98.9 cm 25.2 cm 23.4 keV 2.64 keV 2.83 mm 17.4 cm Tracker eIoni + 13 2.11 m -98.8 cm 25.1 cm 19.7 keV 3.72 keV 2.39 mm 17.7 cm Tracker eIoni + 14 2.11 m -98.7 cm 25.1 cm 17.4 keV 2.33 keV 1.84 mm 17.8 cm Tracker eIoni + 15 2.11 m -98.6 cm 25.1 cm 13.9 keV 3.48 keV 1.53 mm 18 cm Tracker eIoni + 16 2.11 m -98.7 cm 25 cm 11.7 keV 2.27 keV 1.14 mm 18.1 cm Tracker eIoni + 17 2.11 m -98.7 cm 25 cm 9.22 keV 2.44 keV 913 mum 18.2 cm Tracker eIoni + 18 2.11 m -98.7 cm 25 cm 6.7 keV 2.52 keV 707 mum 18.3 cm Tracker eIoni + 19 2.11 m -98.7 cm 24.9 cm 5.71 keV 994 eV 525 mum 18.3 cm Tracker eIoni + 20 2.11 m -98.8 cm 24.9 cm 3.97 keV 1.74 keV 460 mum 18.4 cm Tracker eIoni + 21 2.11 m -98.7 cm 24.9 cm 954 eV 3.02 keV 350 mum 18.4 cm Tracker eIoni + 22 2.11 m -98.7 cm 24.9 cm 0 eV 954 eV 57.7 mum 18.4 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.97 m -1.09 m 4.55 cm 15.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.97 m -1.09 m 4.53 cm 13.3 keV 2.48 keV 1.34 mm 1.34 mm Tracker eIoni + 2 1.97 m -1.09 m 4.59 cm 11.2 keV 2.15 keV 1.08 mm 2.42 mm Tracker eIoni + 3 1.97 m -1.09 m 4.64 cm 9.92 keV 1.27 keV 871 mum 3.29 mm Tracker eIoni + 4 1.97 m -1.09 m 4.68 cm 8.11 keV 1.8 keV 761 mum 4.05 mm Tracker eIoni + 5 1.97 m -1.09 m 4.66 cm 6.89 keV 1.23 keV 622 mum 4.67 mm Tracker eIoni + 6 1.97 m -1.09 m 4.67 cm 5.35 keV 1.54 keV 536 mum 5.21 mm Tracker eIoni + 7 1.97 m -1.09 m 4.66 cm 2.07 keV 3.28 keV 439 mum 5.65 mm Tracker eIoni + 8 1.97 m -1.09 m 4.67 cm 0 eV 2.07 keV 172 mum 5.82 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.77 m -1.09 m -15.3 cm 8.61 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.77 m -1.09 m -15.4 cm 5.47 keV 3.15 keV 660 mum 660 mum Tracker eIoni + 2 1.77 m -1.09 m -15.4 cm 2.95 keV 2.52 keV 446 mum 1.11 mm Tracker eIoni + 3 1.77 m -1.09 m -15.4 cm 1.08 keV 1.86 keV 272 mum 1.38 mm Tracker eIoni + 4 1.77 m -1.09 m -15.4 cm 0 eV 1.08 keV 67.8 mum 1.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.5 m -1.02 m -29.3 cm 11.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.5 m -1.02 m -29.3 cm 9.6 keV 2.28 keV 932 mum 932 mum Tracker eIoni + 2 1.5 m -1.02 m -29.2 cm 8.24 keV 1.36 keV 736 mum 1.67 mm Tracker eIoni + 3 1.5 m -1.02 m -29.2 cm 7.34 keV 896 eV 631 mum 2.3 mm Tracker eIoni + 4 1.5 m -1.02 m -29.1 cm 5.39 keV 1.96 keV 569 mum 2.87 mm Tracker eIoni + 5 1.5 m -1.02 m -29.1 cm 3.79 keV 1.6 keV 441 mum 3.31 mm Tracker eIoni + 6 1.5 m -1.02 m -29.1 cm 1.86 keV 1.92 keV 338 mum 3.65 mm Tracker eIoni + 7 1.5 m -1.02 m -29.1 cm 0 eV 1.86 keV 146 mum 3.79 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.33 m -93.4 cm -46 cm 26.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.33 m -93.7 cm -45.9 cm 23.8 keV 3.01 keV 2.96 mm 2.96 mm Tracker eIoni + 2 1.33 m -93.9 cm -46.1 cm 22 keV 1.82 keV 2.45 mm 5.41 mm Tracker eIoni + 3 1.33 m -93.8 cm -46.3 cm 17.1 keV 4.84 keV 2.16 mm 7.57 mm Tracker eIoni + 4 1.33 m -93.7 cm -46.4 cm 14.9 keV 2.23 keV 1.5 mm 9.07 mm Tracker eIoni + 5 1.33 m -93.6 cm -46.5 cm 13.3 keV 1.59 keV 1.24 mm 1.03 cm Tracker eIoni + 6 1.33 m -93.6 cm -46.5 cm 12 keV 1.32 keV 1.08 mm 1.14 cm Tracker eIoni + 7 1.33 m -93.5 cm -46.6 cm 10.3 keV 1.71 keV 944 mum 1.23 cm Tracker eIoni + 8 1.33 m -93.4 cm -46.6 cm 9.08 keV 1.22 keV 794 mum 1.31 cm Tracker eIoni + 9 1.33 m -93.4 cm -46.5 cm 6.4 keV 2.68 keV 696 mum 1.38 cm Tracker eIoni + 10 1.33 m -93.3 cm -46.5 cm 2.36 keV 4.04 keV 506 mum 1.43 cm Tracker eIoni + 11 1.33 m -93.3 cm -46.5 cm 0 eV 2.36 keV 209 mum 1.45 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.27 m -88.7 cm -56.3 cm 16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.27 m -88.6 cm -56.2 cm 4.26 keV 11.7 keV 1.37 mm 1.37 mm Tracker eIoni + 2 1.27 m -88.6 cm -56.2 cm 3.14 keV 1.11 keV 370 mum 1.74 mm Tracker eIoni + 3 1.27 m -88.6 cm -56.2 cm 1.55 keV 1.6 keV 289 mum 2.03 mm Tracker eIoni + 4 1.27 m -88.6 cm -56.2 cm 0 eV 1.55 keV 111 mum 2.14 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.12 m -78.4 cm -79.9 cm 847 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m -83.6 cm -57.3 cm 728 keV 92.8 keV 57.5 cm 57.5 cm Tracker eIoni + 2 1.79 m -88.8 cm -55.8 cm 615 keV 32.1 keV 17.2 cm 74.8 cm Tracker eIoni + 3 2.11 m -89.9 cm -65.7 cm 548 keV 55.1 keV 35 cm 1.1 m Tracker eIoni + 4 2.4 m -93.9 cm -81.5 cm 476 keV 71.7 keV 35.6 cm 1.45 m WorldPVTransportation + 5 2.4 m -93.9 cm -81.6 cm 467 keV 147 eV 537 mum 1.45 m WorldPV eIoni + 6 2.66 m -1.14 m -82.2 cm 397 keV 70.5 keV 33.8 cm 1.79 m WorldPV eIoni + 7 2.66 m -1.14 m -82.3 cm 382 keV 16.5 eV 1.17 mm 1.79 m WorldPV eIoni + 8 2.75 m -1.22 m -1.02 m 324 keV 58.4 keV 25.1 cm 2.04 m WorldPV eIoni + 9 2.8 m -1.24 m -1.07 m 300 keV 14 keV 7.46 cm 2.12 m WorldPV eIoni + 10 2.91 m -1.25 m -1.18 m 258 keV 41.4 keV 17.3 cm 2.29 m WorldPV eIoni + 11 2.91 m -1.25 m -1.18 m 258 keV 152 eV 1.31 mm 2.29 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.8 m -1.24 m -1.07 m 9.88 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.79 m -1.24 m -1.07 m 8.9 keV 978 eV 758 mum 758 mum WorldPV eIoni + 2 2.79 m -1.24 m -1.07 m 7.91 keV 993 eV 682 mum 1.44 mm WorldPV eIoni + 3 2.79 m -1.24 m -1.07 m 6.56 keV 1.35 keV 608 mum 2.05 mm WorldPV eIoni + 4 2.79 m -1.24 m -1.07 m 3.89 keV 2.67 keV 516 mum 2.56 mm WorldPV eIoni + 5 2.79 m -1.24 m -1.07 m 2.66 keV 1.23 keV 345 mum 2.91 mm WorldPV eIoni + 6 2.79 m -1.24 m -1.07 m 0 eV 2.66 keV 244 mum 3.15 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.66 m -1.14 m -82.3 cm 15 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.66 m -1.14 m -82.2 cm 11.5 keV 3.47 keV 1.25 mm 1.25 mm WorldPV eIoni + 2 2.66 m -1.14 m -82.1 cm 9.68 keV 1.86 keV 903 mum 2.16 mm WorldPV eIoni + 3 2.66 m -1.14 m -82.1 cm 7.75 keV 1.93 keV 743 mum 2.9 mm WorldPV eIoni + 4 2.66 m -1.14 m -82.1 cm 4.95 keV 2.8 keV 597 mum 3.5 mm WorldPV eIoni + 5 2.66 m -1.14 m -82.1 cm 0 eV 4.95 keV 414 mum 3.91 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.4 m -93.9 cm -81.6 cm 8.78 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.4 m -93.9 cm -81.5 cm 6.72 keV 2.06 keV 673 mum 673 mum WorldPV eIoni + 2 2.4 m -93.9 cm -81.5 cm 0 eV 6.72 keV 526 mum 1.2 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.11 m -89.9 cm -65.7 cm 11.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.11 m -89.8 cm -65.7 cm 10.3 keV 1.25 keV 902 mum 902 mum Tracker eIoni + 2 2.11 m -89.7 cm -65.7 cm 8.43 keV 1.85 keV 792 mum 1.69 mm Tracker eIoni + 3 2.11 m -89.7 cm -65.7 cm 7.59 keV 844 eV 646 mum 2.34 mm Tracker eIoni + 4 2.12 m -89.6 cm -65.7 cm 5.98 keV 1.61 keV 586 mum 2.93 mm Tracker eIoni + 5 2.12 m -89.6 cm -65.6 cm 4.35 keV 1.62 keV 478 mum 3.4 mm Tracker eIoni + 6 2.12 m -89.6 cm -65.6 cm 0 eV 4.35 keV 376 mum 3.78 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.79 m -88.8 cm -55.8 cm 81.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.79 m -89.4 cm -54.1 cm 66.6 keV 14.8 keV 1.97 cm 1.97 cm Tracker eIoni + 2 1.8 m -89.9 cm -53.6 cm 60.1 keV 6.46 keV 1.39 cm 3.36 cm Tracker eIoni + 3 1.81 m -90.4 cm -53.2 cm 53.4 keV 6.72 keV 1.16 cm 4.52 cm Tracker eIoni + 4 1.82 m -90.7 cm -52.6 cm 42.1 keV 11.3 keV 9.42 mm 5.46 cm Tracker eIoni + 5 1.82 m -91.3 cm -52.6 cm 36.9 keV 5.18 keV 6.27 mm 6.09 cm Tracker eIoni + 6 1.83 m -91.2 cm -53 cm 33.1 keV 3.8 keV 5.01 mm 6.59 cm Tracker eIoni + 7 1.82 m -91.2 cm -53.2 cm 23.4 keV 1.34 keV 2.15 mm 6.8 cm Tracker eIoni + 8 1.83 m -91.1 cm -53.4 cm 20.3 keV 3.1 keV 2.38 mm 7.04 cm Tracker eIoni + 9 1.83 m -91.1 cm -53.6 cm 11.9 keV 8.34 keV 1.91 mm 7.23 cm Tracker eIoni + 10 1.83 m -91 cm -53.7 cm 10.6 keV 1.33 keV 937 mum 7.32 cm Tracker eIoni + 11 1.83 m -91 cm -53.7 cm 8.47 keV 2.13 keV 821 mum 7.41 cm Tracker eIoni + 12 1.83 m -91 cm -53.6 cm 6.88 keV 1.6 keV 649 mum 7.47 cm Tracker eIoni + 13 1.83 m -91 cm -53.7 cm 4.32 keV 2.56 keV 536 mum 7.53 cm Tracker eIoni + 14 1.83 m -90.9 cm -53.6 cm 1.62 keV 2.7 keV 374 mum 7.56 cm Tracker eIoni + 15 1.83 m -91 cm -53.6 cm 0 eV 1.62 keV 119 mum 7.57 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.82 m -91.2 cm -53.2 cm 8.43 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.82 m -91.1 cm -53.2 cm 5.92 keV 2.51 keV 645 mum 645 mum Tracker eIoni + 2 1.82 m -91.1 cm -53.2 cm 2.53 keV 3.38 keV 474 mum 1.12 mm Tracker eIoni + 3 1.82 m -91.2 cm -53.2 cm 0 eV 2.53 keV 231 mum 1.35 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.63 m -83.6 cm -57.3 cm 25.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m -83.5 cm -57.4 cm 24.3 keV 1.52 keV 2.77 mm 2.77 mm Tracker eIoni + 2 1.63 m -83.5 cm -57.6 cm 22.3 keV 1.94 keV 2.52 mm 5.29 mm Tracker eIoni + 3 1.63 m -83.7 cm -57.7 cm 21.1 keV 1.22 keV 2.22 mm 7.5 mm Tracker eIoni + 4 1.63 m -83.6 cm -57.9 cm 18.3 keV 2.75 keV 2.03 mm 9.53 mm Tracker eIoni + 5 1.63 m -83.6 cm -58 cm 15.8 keV 2.57 keV 1.65 mm 1.12 cm Tracker eIoni + 6 1.63 m -83.7 cm -58.1 cm 14.3 keV 1.49 keV 1.34 mm 1.25 cm Tracker eIoni + 7 1.63 m -83.7 cm -58.2 cm 12.6 keV 1.72 keV 1.17 mm 1.37 cm Tracker eIoni + 8 1.63 m -83.7 cm -58.2 cm 11.5 keV 1.04 keV 1 mm 1.47 cm Tracker eIoni + 9 1.63 m -83.8 cm -58.3 cm 10.1 keV 1.46 keV 903 mum 1.56 cm Tracker eIoni + 10 1.63 m -83.8 cm -58.3 cm 8.47 keV 1.61 keV 774 mum 1.64 cm Tracker eIoni + 11 1.63 m -83.7 cm -58.3 cm 7.33 keV 1.14 keV 649 mum 1.7 cm Tracker eIoni + 12 1.63 m -83.7 cm -58.3 cm 5.06 keV 2.28 keV 568 mum 1.76 cm Tracker eIoni + 13 1.63 m -83.7 cm -58.3 cm 2.93 keV 2.13 keV 420 mum 1.8 cm Tracker eIoni + 14 1.63 m -83.7 cm -58.3 cm 798 eV 2.13 keV 270 mum 1.83 cm Tracker eIoni + 15 1.63 m -83.7 cm -58.3 cm 0 eV 798 eV 46.3 mum 1.83 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.07 m -76.1 cm -86.5 cm 9.23 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.07 m -76 cm -86.4 cm 7.41 keV 1.82 keV 708 mum 708 mum Tracker eIoni + 2 1.07 m -76 cm -86.4 cm 6.1 keV 1.31 keV 573 mum 1.28 mm Tracker eIoni + 3 1.07 m -75.9 cm -86.4 cm 4.69 keV 1.41 keV 486 mum 1.77 mm Tracker eIoni + 4 1.07 m -76 cm -86.4 cm 2.44 keV 2.25 keV 397 mum 2.16 mm Tracker eIoni + 5 1.07 m -76 cm -86.4 cm 1.51 keV 932 eV 220 mum 2.38 mm Tracker eIoni + 6 1.07 m -76 cm -86.4 cm 0 eV 1.51 keV 107 mum 2.49 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 92.4 cm -69 cm -1.06 m 18.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 92.5 cm -68.9 cm -1.06 m 13.9 keV 4.42 keV 1.65 mm 1.65 mm Tracker eIoni + 2 92.6 cm -69 cm -1.06 m 11.4 keV 2.44 keV 1.13 mm 2.78 mm Tracker eIoni + 3 92.6 cm -69 cm -1.06 m 4.38 keV 7.06 keV 894 mum 3.67 mm Tracker eIoni + 4 92.6 cm -69 cm -1.07 m 2.34 keV 2.04 keV 378 mum 4.05 mm Tracker eIoni + 5 92.6 cm -69 cm -1.07 m 0 eV 2.34 keV 207 mum 4.26 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 52.5 cm -42.2 cm -1.63 m 10.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 52.5 cm -42.2 cm -1.63 m 9.29 keV 1.12 keV 804 mum 804 mum Tracker eIoni + 2 52.6 cm -42.2 cm -1.63 m 8.18 keV 1.11 keV 713 mum 1.52 mm Tracker eIoni + 3 52.6 cm -42.1 cm -1.63 m 6.54 keV 1.64 keV 627 mum 2.14 mm Tracker eIoni + 4 52.6 cm -42.1 cm -1.63 m 0 eV 6.54 keV 515 mum 2.66 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.8 cm -16.9 cm -2.13 m 10.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 20.9 cm -16.9 cm -2.13 m 9.56 keV 1.29 keV 842 mum 842 mum Tracker eIoni + 2 20.9 cm -16.9 cm -2.13 m 7.44 keV 2.12 keV 733 mum 1.58 mm Tracker eIoni + 3 20.8 cm -17 cm -2.13 m 5.7 keV 1.74 keV 575 mum 2.15 mm Tracker eIoni + 4 20.8 cm -17 cm -2.13 m 4.59 keV 1.11 keV 460 mum 2.61 mm Tracker eIoni + 5 20.8 cm -17 cm -2.13 m 2.05 keV 2.54 keV 391 mum 3 mm Tracker eIoni + 6 20.8 cm -17 cm -2.13 m 0 eV 2.05 keV 170 mum 3.17 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 433 mum -413 nm -2.4 m 6.69 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.12 mm -238 mum -2.4 m 5.32 MeV 1.37 MeV 1.3 mm 1.3 mm TargetPV eIoni + 2 1.54 mm 449 mum -2.4 m 4.17 MeV 1.15 MeV 1.11 mm 2.41 mm TargetPV eIoni + 3 1.55 mm 450 mum -2.4 m 3.75 MeV 95.9 keV 23.4 mum 2.43 mm TargetPV eBrem + 4 1.43 mm 884 mum -2.4 m 2.43 MeV 1.32 MeV 879 mum 3.31 mm TargetPV eIoni + 5 1.65 mm 623 mum -2.4 m 1.8 MeV 626 keV 672 mum 3.99 mm TargetPV eIoni + 6 1.54 mm 619 mum -2.4 m 446 keV 386 keV 227 mum 4.21 mm TargetPV eBrem + 7 1.53 mm 629 mum -2.4 m 26.3 keV 420 keV 243 mum 4.46 mm TargetPV eIoni + 8 1.53 mm 630 mum -2.4 m 0 eV 26.3 keV 3.17 mum 4.46 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.54 mm 619 mum -2.4 m 971 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -439 mum 3.33 mm -2.4 m 696 keV 275 keV 3.76 mm 3.76 mm TargetPV compt + 2 -1.62 mm 6.05 mm -2.4 m 483 keV 213 keV 3 mm 6.76 mm TargetPV compt + 3 -2.25 cm 1.3 cm -2.41 m 0 eV 483 keV 2.25 cm 2.93 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.55 mm 450 mum -2.4 m 321 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.1 mm 876 mum -2.4 m 284 keV 36.4 keV 957 mum 957 mum TargetPV compt + 2 5.66 mm 3.43 mm -2.4 m 0 eV 284 keV 4.4 mm 5.36 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.6 mum 29.9 mum -2.41 m 654 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 439 mum 45.5 mum -2.41 m 292 keV 362 keV 3.76 mm 3.76 mm TargetPV compt + 2 5.16 mm 3.82 mm -2.41 m 0 eV 292 keV 6.05 mm 9.81 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.9 mum 24.4 mum -2.41 m 199 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 149 mum 189 mum -2.4 m 0 eV 0 eV 6.53 mm 6.53 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 66, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 189 mum -2.4 m 100 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 225 mum 200 mum -2.4 m 79.2 MeV 1.34 MeV 1.16 mm 1.16 mm TargetPV eBrem + 2 227 mum 185 mum -2.4 m 77.9 MeV 544 keV 532 mum 1.69 mm TargetPV eBrem + 3 217 mum 189 mum -2.4 m 75.7 MeV 258 keV 170 mum 1.86 mm TargetPV eBrem + 4 66.9 mum 208 mum -2.4 m 71.3 MeV 4.46 MeV 2.97 mm 4.83 mm TrackerTransportation + 5 -4.39 cm 9.09 cm -1.6 m 71.1 MeV 170 keV 80.6 cm 81.1 cm ChamberTransportation + 6 -5.25 cm 10.4 cm -1.47 m 71 MeV 79 keV 12.7 cm 93.8 cm Chamber eBrem + 7 -5.63 cm 11.2 cm -1.4 m 70.9 MeV 92.1 keV 7.49 cm 1.01 m TrackerTransportation + 8 -8.73 cm 18 cm -80 cm 70.8 MeV 135 keV 60.5 cm 1.62 m ChamberTransportation + 9 -9.64 cm 20.2 cm -60 cm 70.6 MeV 126 keV 20.1 cm 1.82 m TrackerTransportation + 10 -9.82 cm 20.7 cm -54.4 cm 70.6 MeV 13.2 keV 5.65 cm 1.88 m Tracker eIoni + 11 -9.89 cm 20.9 cm -51.8 cm 70.5 MeV 5.57 keV 2.59 cm 1.9 m Tracker eIoni + 12 -9.97 cm 21.2 cm -48.5 cm 70.5 MeV 6.69 keV 3.35 cm 1.93 m Tracker eIoni + 13 -10.5 cm 23 cm -28.2 cm 70.5 MeV 38 keV 20.3 cm 2.14 m Tracker eIoni + 14 -11.2 cm 25.5 cm 0 fm 70.4 MeV 53.8 keV 28.3 cm 2.42 m ChamberTransportation + 15 -11.3 cm 26.2 cm 7.25 cm 70.2 MeV 33.6 keV 7.28 cm 2.49 m Chamber eBrem + 16 -11.7 cm 27.1 cm 20 cm 70.2 MeV 67.6 keV 12.8 cm 2.62 m TrackerTransportation + 17 -13.6 cm 32.2 cm 80 cm 70.1 MeV 130 keV 60.2 cm 3.22 m ChamberTransportation + 18 -14.2 cm 33.5 cm 1 m 69.9 MeV 114 keV 20.1 cm 3.43 m TrackerTransportation + 19 -15.1 cm 36.3 cm 1.4 m 69.8 MeV 85.4 keV 40.5 cm 3.83 m Tracker eIoni + 20 -15.5 cm 37.8 cm 1.6 m 69.8 MeV 39.1 keV 19.6 cm 4.03 m ChamberTransportation + 21 -15.9 cm 39.2 cm 1.8 m 69.7 MeV 101 keV 20.1 cm 4.23 m TrackerTransportation + 22 -16 cm 40.3 cm 2 m 69.6 MeV 47.9 keV 20.1 cm 4.43 m Tracker eIoni + 23 -16.2 cm 41.5 cm 2.25 m 69.5 MeV 53.4 keV 24.8 cm 4.68 m Tracker eIoni + 24 -16.4 cm 42.2 cm 2.4 m 69.5 MeV 34.6 keV 15.2 cm 4.83 m WorldPVTransportation + 25 -16.5 cm 43.5 cm 2.71 m 69.3 MeV 57.2 keV 31.1 cm 5.14 m WorldPV eIoni + 26 -16.7 cm 44.5 cm 2.91 m 69.3 MeV 38.5 keV 20 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.5 cm 43.5 cm 2.71 m 79.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -16.9 cm 41.9 cm 2.72 m 68.1 keV 11 keV 1.87 cm 1.87 cm WorldPV eIoni + 2 -16 cm 42.6 cm 2.71 m 54.3 keV 13.8 keV 1.45 cm 3.32 cm WorldPV eIoni + 3 -15.8 cm 43.5 cm 2.71 m 48.3 keV 6 keV 9.73 mm 4.29 cm WorldPV eIoni + 4 -15.2 cm 44 cm 2.71 m 44 keV 4.38 keV 7.96 mm 5.09 cm WorldPV eIoni + 5 -14.7 cm 44.2 cm 2.72 m 40.9 keV 3.1 keV 6.73 mm 5.76 cm WorldPV eIoni + 6 -14.5 cm 44.2 cm 2.72 m 37.6 keV 3.3 keV 5.96 mm 6.36 cm WorldPV eIoni + 7 -14.5 cm 44 cm 2.72 m 33.3 keV 4.26 keV 5.16 mm 6.87 cm WorldPV eIoni + 8 -14.2 cm 43.9 cm 2.73 m 28.9 keV 4.39 keV 4.22 mm 7.29 cm WorldPV eIoni + 9 -14.1 cm 44 cm 2.73 m 25.6 keV 3.31 keV 3.34 mm 7.63 cm WorldPV eIoni + 10 -14 cm 44.2 cm 2.73 m 23.4 keV 2.18 keV 2.74 mm 7.9 cm WorldPV eIoni + 11 -14.1 cm 44.4 cm 2.73 m 20 keV 3.44 keV 2.39 mm 8.14 cm WorldPV eIoni + 12 -14.2 cm 44.5 cm 2.73 m 17.5 keV 2.46 keV 1.87 mm 8.33 cm WorldPV eIoni + 13 -14.2 cm 44.6 cm 2.73 m 15.4 keV 2.1 keV 1.54 mm 8.48 cm WorldPV eIoni + 14 -14.2 cm 44.6 cm 2.73 m 12.9 keV 2.55 keV 1.3 mm 8.61 cm WorldPV eIoni + 15 -14.2 cm 44.7 cm 2.74 m 11.7 keV 1.13 keV 1.03 mm 8.72 cm WorldPV eIoni + 16 -14.2 cm 44.7 cm 2.74 m 10.5 keV 1.2 keV 920 mum 8.81 cm WorldPV eIoni + 17 -14.1 cm 44.7 cm 2.74 m 8.26 keV 2.27 keV 814 mum 8.89 cm WorldPV eIoni + 18 -14.1 cm 44.8 cm 2.74 m 5.69 keV 2.57 keV 632 mum 8.95 cm WorldPV eIoni + 19 -14.1 cm 44.8 cm 2.74 m 1.9 keV 3.79 keV 459 mum 9 cm WorldPV eIoni + 20 -14.1 cm 44.8 cm 2.74 m 0 eV 1.9 keV 150 mum 9.01 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.2 cm 41.5 cm 2.25 m 12 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -16.1 cm 41.5 cm 2.25 m 10.5 keV 1.49 keV 947 mum 947 mum Tracker eIoni + 2 -16.1 cm 41.6 cm 2.25 m 8.83 keV 1.71 keV 815 mum 1.76 mm Tracker eIoni + 3 -16 cm 41.6 cm 2.25 m 6.71 keV 2.12 keV 677 mum 2.44 mm Tracker eIoni + 4 -16 cm 41.6 cm 2.25 m 2.21 keV 4.5 keV 525 mum 2.96 mm Tracker eIoni + 5 -16 cm 41.6 cm 2.25 m 0 eV 2.21 keV 189 mum 3.15 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16 cm 40.3 cm 2 m 64.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -15.4 cm 39.4 cm 2.01 m 58.1 keV 6.37 keV 1.31 cm 1.31 cm Tracker eIoni + 2 -14.8 cm 38.8 cm 2.01 m 52.7 keV 5.42 keV 1.09 cm 2.4 cm Tracker eIoni + 3 -15 cm 38 cm 2.02 m 49 keV 3.67 keV 9.19 mm 3.32 cm Tracker eIoni + 4 -15 cm 38 cm 2.02 m 43.4 keV 5.6 keV 8.14 mm 4.14 cm Tracker eIoni + 5 -14.7 cm 37.5 cm 2.02 m 38.4 keV 4.98 keV 6.58 mm 4.79 cm Tracker eIoni + 6 -14.4 cm 37.3 cm 2.03 m 35.1 keV 3.31 keV 5.36 mm 5.33 cm Tracker eIoni + 7 -14.2 cm 37 cm 2.03 m 30.4 keV 4.66 keV 4.6 mm 5.79 cm Tracker eIoni + 8 -14.1 cm 36.9 cm 2.03 m 16.4 keV 2.05 keV 2.05 mm 5.99 cm Tracker eIoni + 9 -14 cm 36.9 cm 2.03 m 13.4 keV 2.98 keV 1.41 mm 6.13 cm Tracker eIoni + 10 -13.9 cm 36.8 cm 2.03 m 10.9 keV 2.48 keV 1.08 mm 6.24 cm Tracker eIoni + 11 -13.9 cm 36.7 cm 2.03 m 6.92 keV 4.01 keV 850 mum 6.33 cm Tracker eIoni + 12 -13.9 cm 36.7 cm 2.03 m 5.19 keV 1.73 keV 539 mum 6.38 cm Tracker eIoni + 13 -13.9 cm 36.7 cm 2.03 m 3.32 keV 1.88 keV 429 mum 6.43 cm Tracker eIoni + 14 -13.9 cm 36.7 cm 2.03 m 156 eV 3.16 keV 303 mum 6.46 cm Tracker eIoni + 15 -13.9 cm 36.7 cm 2.03 m 0 eV 156 eV 12.6 mum 6.46 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 80 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 cm 36.9 cm 2.03 m 12 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -14.2 cm 36.8 cm 2.03 m 10.4 keV 1.61 keV 943 mum 943 mum Tracker eIoni + 2 -14.2 cm 36.8 cm 2.03 m 8.66 keV 1.72 keV 801 mum 1.74 mm Tracker eIoni + 3 -14.2 cm 36.8 cm 2.03 m 6.92 keV 1.74 keV 663 mum 2.41 mm Tracker eIoni + 4 -14.3 cm 36.8 cm 2.03 m 5.33 keV 1.59 keV 539 mum 2.95 mm Tracker eIoni + 5 -14.3 cm 36.8 cm 2.03 m 3.75 keV 1.59 keV 438 mum 3.38 mm Tracker eIoni + 6 -14.2 cm 36.8 cm 2.03 m 2.06 keV 1.69 keV 335 mum 3.72 mm Tracker eIoni + 7 -14.2 cm 36.8 cm 2.03 m 0 eV 2.06 keV 170 mum 3.89 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.5 cm 37.9 cm 1.61 m 9.26 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -15.5 cm 37.9 cm 1.61 m 7.93 keV 1.32 keV 501 mum 501 mum Chamber eIoni + 2 -15.5 cm 37.9 cm 1.61 m 2.41 keV 5.52 keV 449 mum 950 mum Chamber eIoni + 3 -15.5 cm 37.9 cm 1.61 m 0 eV 2.41 keV 153 mum 1.1 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.1 cm 36.3 cm 1.4 m 18.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -15.2 cm 36.5 cm 1.4 m 15.6 keV 2.93 keV 1.68 mm 1.68 mm Tracker eIoni + 2 -15.2 cm 36.6 cm 1.4 m 14.5 keV 1.09 keV 1.32 mm 3 mm Tracker eIoni + 3 -15.1 cm 36.7 cm 1.4 m 11.5 keV 3.04 keV 1.2 mm 4.2 mm Tracker eIoni + 4 -15.1 cm 36.7 cm 1.4 m 9.31 keV 2.18 keV 898 mum 5.1 mm Tracker eIoni + 5 -15.1 cm 36.6 cm 1.4 m 7.71 keV 1.6 keV 714 mum 5.81 mm Tracker eIoni + 6 -15.2 cm 36.6 cm 1.4 m 6.67 keV 1.04 keV 594 mum 6.41 mm Tracker eIoni + 7 -15.2 cm 36.6 cm 1.4 m 4.25 keV 2.41 keV 523 mum 6.93 mm Tracker eIoni + 8 -15.2 cm 36.6 cm 1.4 m 1.89 keV 2.36 keV 369 mum 7.3 mm Tracker eIoni + 9 -15.2 cm 36.6 cm 1.4 m 0 eV 1.89 keV 149 mum 7.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14 cm 33 cm 92.9 cm 17.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -13.9 cm 33 cm 93 cm 14.3 keV 3.61 keV 908 mum 908 mum Chamber eIoni + 2 -13.9 cm 33 cm 92.9 cm 9.83 keV 4.45 keV 721 mum 1.63 mm Chamber eIoni + 3 -13.9 cm 33 cm 92.9 cm 0 eV 9.83 keV 524 mum 2.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.3 cm 26.2 cm 7.25 cm 131 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.6 cm 27 cm 17.4 cm 89.1 keV 0 eV 10.2 cm 10.2 cm Chamber compt + 2 -4.63 cm 15.7 cm 0 fm 89.1 keV 0 eV 21.9 cm 32.1 cm TrackerTransportation + 3 19.2 cm -23.1 cm -60 cm 89.1 keV 0 eV 75.3 cm 1.07 m ChamberTransportation + 4 21.9 cm -27.4 cm -66.7 cm 0 eV 34.6 keV 8.4 cm 1.16 m Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.9 cm -27.4 cm -66.7 cm 54.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 22.2 cm -27.5 cm -66.8 cm 50.6 keV 3.94 keV 4.09 mm 4.09 mm Chamber eIoni + 2 22.3 cm -27.5 cm -66.6 cm 43.2 keV 7.4 keV 3.64 mm 7.73 mm Chamber eIoni + 3 22.4 cm -27.5 cm -66.4 cm 34.8 keV 8.36 keV 2.87 mm 1.06 cm Chamber eIoni + 4 22.4 cm -27.6 cm -66.4 cm 30.7 keV 4.15 keV 2.1 mm 1.27 cm Chamber eIoni + 5 22.4 cm -27.7 cm -66.4 cm 28.4 keV 2.28 keV 1.76 mm 1.45 cm Chamber eIoni + 6 22.4 cm -27.8 cm -66.3 cm 27.3 keV 1.07 keV 1.59 mm 1.61 cm Chamber eIoni + 7 22.4 cm -27.9 cm -66.4 cm 22.2 keV 5.08 keV 1.51 mm 1.76 cm Chamber eIoni + 8 22.4 cm -27.9 cm -66.4 cm 19.7 keV 2.55 keV 1.17 mm 1.87 cm Chamber eIoni + 9 22.4 cm -27.9 cm -66.4 cm 0 eV 19.7 keV 1.01 mm 1.97 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.6 cm 27 cm 17.4 cm 42.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.7 cm 26.9 cm 17.6 cm 35.7 keV 6.52 keV 2.78 mm 2.78 mm Chamber eIoni + 2 -11.7 cm 27 cm 17.7 cm 31.5 keV 4.16 keV 2.18 mm 4.95 mm Chamber eIoni + 3 -11.6 cm 27.1 cm 17.7 cm 26 keV 5.51 keV 1.83 mm 6.79 mm Chamber eIoni + 4 -11.7 cm 27.1 cm 17.7 cm 25.8 keV 218 eV 1.42 mm 8.21 mm Chamber eIoni + 5 -11.8 cm 27.1 cm 17.7 cm 20.6 keV 5.22 keV 1.4 mm 9.61 mm Chamber eIoni + 6 -11.8 cm 27.1 cm 17.7 cm 14.4 keV 6.22 keV 1.06 mm 1.07 cm Chamber eIoni + 7 -11.8 cm 27 cm 17.7 cm 12.4 keV 1.97 keV 725 mum 1.14 cm Chamber eIoni + 8 -11.8 cm 27 cm 17.8 cm 9.58 keV 2.8 keV 633 mum 1.2 cm Chamber eIoni + 9 -11.8 cm 27.1 cm 17.8 cm 8.01 keV 1.57 keV 514 mum 1.25 cm Chamber eIoni + 10 -11.8 cm 27 cm 17.8 cm 5.5 keV 2.51 keV 452 mum 1.3 cm Chamber eIoni + 11 -11.8 cm 27 cm 17.8 cm 3.26 keV 2.23 keV 351 mum 1.33 cm Chamber eIoni + 12 -11.8 cm 27 cm 17.8 cm 2.28 keV 984 eV 227 mum 1.36 cm Chamber eIoni + 13 -11.8 cm 27 cm 17.8 cm 0 eV 2.28 keV 141 mum 1.37 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.5 cm 23 cm -28.2 cm 28.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.8 cm 22.9 cm -28.2 cm 26.3 keV 1.83 keV 3.2 mm 3.2 mm Tracker eIoni + 2 -11 cm 23 cm -28.2 cm 23.4 keV 2.91 keV 2.87 mm 6.06 mm Tracker eIoni + 3 -11.1 cm 23.1 cm -28 cm 22 keV 1.41 keV 2.38 mm 8.45 mm Tracker eIoni + 4 -11.2 cm 23.1 cm -27.8 cm 17.5 keV 4.5 keV 2.17 mm 1.06 cm Tracker eIoni + 5 -11.3 cm 23.1 cm -27.7 cm 14.8 keV 2.64 keV 1.54 mm 1.22 cm Tracker eIoni + 6 -11.4 cm 23.1 cm -27.6 cm 13 keV 1.8 keV 1.23 mm 1.34 cm Tracker eIoni + 7 -11.4 cm 23 cm -27.6 cm 11.7 keV 1.32 keV 1.05 mm 1.44 cm Tracker eIoni + 8 -11.5 cm 23 cm -27.5 cm 10.1 keV 1.64 keV 919 mum 1.54 cm Tracker eIoni + 9 -11.5 cm 23 cm -27.4 cm 7.69 keV 2.4 keV 775 mum 1.61 cm Tracker eIoni + 10 -11.4 cm 23 cm -27.4 cm 6.11 keV 1.58 keV 593 mum 1.67 cm Tracker eIoni + 11 -11.5 cm 23 cm -27.4 cm 3.87 keV 2.25 keV 487 mum 1.72 cm Tracker eIoni + 12 -11.5 cm 23 cm -27.4 cm 1.13 keV 2.73 keV 343 mum 1.76 cm Tracker eIoni + 13 -11.5 cm 23 cm -27.4 cm 0 eV 1.13 keV 72.2 mum 1.76 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.97 cm 21.2 cm -48.5 cm 9.85 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10 cm 21.2 cm -48.4 cm 8.87 keV 982 eV 756 mum 756 mum Tracker eIoni + 2 -10.1 cm 21.2 cm -48.4 cm 6.49 keV 2.38 keV 680 mum 1.44 mm Tracker eIoni + 3 -10.1 cm 21.1 cm -48.4 cm 5.39 keV 1.1 keV 511 mum 1.95 mm Tracker eIoni + 4 -10.1 cm 21.1 cm -48.4 cm 3.84 keV 1.54 keV 441 mum 2.39 mm Tracker eIoni + 5 -10.2 cm 21.1 cm -48.4 cm 1.16 keV 2.68 keV 342 mum 2.73 mm Tracker eIoni + 6 -10.1 cm 21.1 cm -48.4 cm 0 eV 1.16 keV 74.4 mum 2.8 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.89 cm 20.9 cm -51.8 cm 8.73 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -9.95 cm 20.9 cm -51.8 cm 7.29 keV 1.44 keV 669 mum 669 mum Tracker eIoni + 2 -9.97 cm 20.9 cm -51.8 cm 4.31 keV 2.98 keV 565 mum 1.23 mm Tracker eIoni + 3 -9.97 cm 20.9 cm -51.7 cm 2.62 keV 1.69 keV 373 mum 1.61 mm Tracker eIoni + 4 -9.95 cm 20.9 cm -51.7 cm 981 eV 1.64 keV 240 mum 1.85 mm Tracker eIoni + 5 -9.95 cm 20.9 cm -51.7 cm 0 eV 981 eV 59.8 mum 1.91 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.82 cm 20.7 cm -54.4 cm 52.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.7 cm 20.8 cm -54.5 cm 46.7 keV 5.4 keV 9.01 mm 9.01 mm Tracker eIoni + 2 -11.2 cm 21 cm -54.1 cm 40.9 keV 5.82 keV 7.49 mm 1.65 cm Tracker eIoni + 3 -11.8 cm 21.1 cm -53.9 cm 35.5 keV 5.4 keV 5.96 mm 2.25 cm Tracker eIoni + 4 -12.1 cm 21.5 cm -54 cm 31.1 keV 4.39 keV 4.67 mm 2.71 cm Tracker eIoni + 5 -12.3 cm 21.8 cm -54.1 cm 27.1 keV 4.01 keV 3.75 mm 3.09 cm Tracker eIoni + 6 -12.1 cm 22 cm -54 cm 23 keV 4.04 keV 3 mm 3.39 cm Tracker eIoni + 7 -12.1 cm 22.2 cm -54.1 cm 18.7 keV 4.33 keV 2.32 mm 3.62 cm Tracker eIoni + 8 -12.1 cm 22.3 cm -54.1 cm 15.4 keV 3.24 keV 1.7 mm 3.79 cm Tracker eIoni + 9 -12 cm 22.4 cm -54.1 cm 14.1 keV 1.36 keV 1.3 mm 3.92 cm Tracker eIoni + 10 -12 cm 22.5 cm -54.2 cm 10.8 keV 3.28 keV 1.15 mm 4.04 cm Tracker eIoni + 11 -12 cm 22.6 cm -54.2 cm 9.08 keV 1.72 keV 838 mum 4.12 cm Tracker eIoni + 12 -12 cm 22.6 cm -54.3 cm 6.73 keV 2.35 keV 696 mum 4.19 cm Tracker eIoni + 13 -12 cm 22.6 cm -54.3 cm 5.49 keV 1.24 keV 527 mum 4.24 cm Tracker eIoni + 14 -12 cm 22.6 cm -54.3 cm 2.65 keV 2.85 keV 448 mum 4.29 cm Tracker eIoni + 15 -12 cm 22.6 cm -54.3 cm 218 eV 2.43 keV 243 mum 4.31 cm Tracker eIoni + 16 -12 cm 22.6 cm -54.3 cm 0 eV 218 eV 14.9 mum 4.31 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.99 cm 18.6 cm -74.3 cm 10 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -8.99 cm 18.6 cm -74.3 cm 5.04 keV 4.97 keV 531 mum 531 mum Chamber eIoni + 2 -8.97 cm 18.7 cm -74.3 cm 3.89 keV 1.15 keV 330 mum 861 mum Chamber eIoni + 3 -8.97 cm 18.6 cm -74.3 cm 3.07 keV 825 eV 270 mum 1.13 mm Chamber eIoni + 4 -8.97 cm 18.6 cm -74.3 cm 0 eV 3.07 keV 211 mum 1.34 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.25 cm 10.4 cm -1.47 m 11.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -5.25 cm 10.4 cm -1.47 m 0 eV 11.7 keV 904 mum 904 mum Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 217 mum 189 mum -2.4 m 1.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 109 mum 199 mum -2.4 m 954 keV 0 eV 2.73 mm 2.73 mm TargetPV compt + 2 74.4 mum -971 nm -2.4 m 954 keV 0 eV 294 mum 3.02 mm TrackerTransportation + 3 -41.3 cm -2.4 m 14.6 cm 954 keV 0 eV 3.52 m 3.53 m WorldPVTransportation + 4 -50 cm -2.91 m 68.7 cm 954 keV 0 eV 74.9 cm 4.27 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 109 mum 199 mum -2.4 m 1.01 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 240 mum 244 mum -2.4 m 618 keV 393 keV 416 mum 416 mum TargetPV eIoni + 2 173 mum 269 mum -2.4 m 262 keV 356 keV 314 mum 730 mum TargetPV eIoni + 3 171 mum 274 mum -2.4 m 0 eV 262 keV 120 mum 850 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 227 mum 185 mum -2.4 m 741 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 58.7 mum 210 mum -2.4 m 741 keV 0 eV 3.11 mm 3.11 mm TrackerTransportation + 2 -4.34 cm 6.75 mm -1.6 m 741 keV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -5.42 cm 8.38 mm -1.4 m 741 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -8.68 cm 1.33 cm -80 cm 741 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -9.76 cm 1.49 cm -60 cm 741 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -13 cm 1.98 cm 0.114 fm 741 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -14.1 cm 2.15 cm 20 cm 741 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -17.4 cm 2.64 cm 80 cm 741 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -18.4 cm 2.8 cm 1 m 741 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -21.7 cm 3.29 cm 1.6 m 741 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -22.8 cm 3.45 cm 1.8 m 741 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -26 cm 3.94 cm 2.4 m 741 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -28.8 cm 4.36 cm 2.91 m 741 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 225 mum 200 mum -2.4 m 19.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 111 mum 142 mum -2.4 m 19.6 MeV 0 eV 3.64 mm 3.64 mm TrackerTransportation + 2 -2.49 cm -1.27 cm -1.6 m 19.6 MeV 0 eV 80 cm 80.4 cm ChamberTransportation + 3 -3.12 cm -1.59 cm -1.4 m 19.6 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -4.99 cm -2.56 cm -80 cm 19.6 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -5.62 cm -2.88 cm -60 cm 19.6 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -7.49 cm -3.85 cm 0 fm 19.6 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -8.12 cm -4.17 cm 20 cm 19.6 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -10 cm -5.13 cm 80 cm 19.6 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -10.6 cm -5.45 cm 1 m 19.6 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -12.5 cm -6.42 cm 1.6 m 19.6 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -13.1 cm -6.74 cm 1.8 m 19.6 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -15 cm -7.71 cm 2.4 m 19.6 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -16.6 cm -8.53 cm 2.91 m 19.6 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 189 mum -2.4 m 98.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 149 mum 190 mum -2.4 m 77.5 MeV 40.4 keV 36.6 mum 36.6 mum TargetPV eBrem + 2 171 mum 197 mum -2.4 m 70.8 MeV 606 keV 333 mum 370 mum TargetPV eBrem + 3 173 mum 213 mum -2.4 m 66.3 MeV 282 keV 221 mum 591 mum TargetPV eBrem + 4 196 mum 230 mum -2.4 m 21.9 MeV 160 keV 164 mum 755 mum TargetPV eBrem + 5 607 mum 766 mum -2.4 m 15.3 MeV 2.1 MeV 1.57 mm 2.33 mm TargetPV eBrem + 6 766 mum 1.11 mm -2.4 m 11.5 MeV 1.03 MeV 893 mum 3.22 mm TargetPV eBrem + 7 792 mum 1.14 mm -2.4 m 11 MeV 107 keV 81.7 mum 3.3 mm TargetPV eBrem + 8 836 mum 1.21 mm -2.4 m 654 keV 274 keV 249 mum 3.55 mm TargetPV eBrem + 9 792 mum 1.27 mm -2.4 m 247 keV 407 keV 326 mum 3.88 mm TargetPV eIoni + 10 783 mum 1.27 mm -2.4 m 0 eV 247 keV 110 mum 3.99 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 836 mum 1.21 mm -2.4 m 10.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 378 mum 3.19 mm -2.4 m 10.1 MeV 0 eV 2.58 mm 2.58 mm TrackerTransportation + 2 -55.3 cm 2.4 m -48.7 cm 10.1 MeV 0 eV 3.12 m 3.12 m WorldPVTransportation + 3 -67.1 cm 2.91 m -7.98 cm 10.1 MeV 0 eV 66.3 cm 3.78 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 93, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 792 mum 1.14 mm -2.4 m 409 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 932 mum 1.23 mm -2.4 m 320 keV 89 keV 348 mum 348 mum TargetPV compt + 2 4.63 mm 3.08 mm -2.4 m 0 eV 320 keV 4.24 mm 4.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 766 mum 1.11 mm -2.4 m 2.71 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.02 mm 1.31 mm -2.4 m 1.85 MeV 859 keV 715 mum 715 mum TargetPV compt + 2 1.09 mm 1.31 mm -2.4 m 1.85 MeV 0 eV 1.24 mm 1.96 mm TrackerTransportation + 3 4.83 cm 2.52 mm -1.6 m 1.85 MeV 0 eV 80.1 cm 80.3 cm ChamberTransportation + 4 6.01 cm 2.82 mm -1.4 m 1.85 MeV 0 eV 20 cm 1 m TrackerTransportation + 5 9.54 cm 3.72 mm -80 cm 1.85 MeV 0 eV 60.1 cm 1.6 m ChamberTransportation + 6 10.7 cm 4.02 mm -60 cm 1.85 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 7 14.3 cm 4.93 mm 0 fm 1.85 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 8 15.4 cm 5.23 mm 20 cm 1.85 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 9 19 cm 6.14 mm 80 cm 1.85 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 10 20.2 cm 6.44 mm 1 m 1.85 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 11 23.7 cm 7.34 mm 1.6 m 1.85 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 12 24.9 cm 7.64 mm 1.8 m 1.85 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 13 28.4 cm 8.55 mm 2.4 m 1.85 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 14 31.4 cm 9.32 mm 2.91 m 1.85 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 607 mum 766 mum -2.4 m 4.51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 934 mum 983 mum -2.4 m 4.51 MeV 0 eV 2.69 mm 2.69 mm TrackerTransportation + 2 9.9 cm 6.62 cm -1.6 m 4.51 MeV 0 eV 80.9 cm 81.1 cm ChamberTransportation + 3 12.3 cm 8.25 cm -1.4 m 4.51 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 19.7 cm 13.1 cm -80 cm 4.51 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 22.2 cm 14.8 cm -60 cm 4.51 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 29.5 cm 19.7 cm 0 fm 4.51 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 32 cm 21.3 cm 20 cm 4.51 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 39.3 cm 26.2 cm 80 cm 4.51 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 41.8 cm 27.8 cm 1 m 4.51 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 49.1 cm 32.7 cm 1.6 m 4.51 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 51.6 cm 34.3 cm 1.8 m 4.51 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 58.9 cm 39.2 cm 2.4 m 4.51 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 65.2 cm 43.4 cm 2.91 m 4.51 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 196 mum 230 mum -2.4 m 44.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 638 mum 690 mum -2.4 m 44.3 MeV 0 eV 4.1 mm 4.1 mm TrackerTransportation + 2 8.81 cm 9.16 cm -1.6 m 44.3 MeV 0 eV 81 cm 81.4 cm ChamberTransportation + 3 11 cm 11.4 cm -1.4 m 44.3 MeV 0 eV 20.2 cm 1.02 m TrackerTransportation + 4 17.6 cm 18.2 cm -80 cm 44.3 MeV 0 eV 60.7 cm 1.62 m ChamberTransportation + 5 19.8 cm 20.5 cm -60 cm 44.3 MeV 0 eV 20.2 cm 1.83 m TrackerTransportation + 6 26.3 cm 27.3 cm 0 fm 44.3 MeV 0 eV 60.7 cm 2.43 m ChamberTransportation + 7 28.5 cm 29.6 cm 20 cm 44.3 MeV 0 eV 20.2 cm 2.64 m TrackerTransportation + 8 35.1 cm 36.4 cm 80 cm 44.3 MeV 0 eV 60.7 cm 3.24 m ChamberTransportation + 9 37.3 cm 38.7 cm 1 m 44.3 MeV 0 eV 20.2 cm 3.45 m TrackerTransportation + 10 43.8 cm 45.5 cm 1.6 m 44.3 MeV 0 eV 60.7 cm 4.05 m ChamberTransportation + 11 46 cm 47.8 cm 1.8 m 44.3 MeV 0 eV 20.2 cm 4.26 m TrackerTransportation + 12 52.6 cm 54.6 cm 2.4 m 44.3 MeV 0 eV 60.7 cm 4.86 m WorldPVTransportation + 13 58.1 cm 60.4 cm 2.91 m 44.3 MeV 0 eV 51.6 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 173 mum 213 mum -2.4 m 4.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 633 mum 606 mum -2.4 m 4.18 MeV 0 eV 4.25 mm 4.25 mm TrackerTransportation + 2 8.81 cm 7.53 cm -1.6 m 4.18 MeV 0 eV 80.8 cm 81.2 cm ChamberTransportation + 3 11 cm 9.4 cm -1.4 m 4.18 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 17.6 cm 15 cm -80 cm 4.18 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 19.7 cm 16.9 cm -60 cm 4.18 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 26.3 cm 22.5 cm 0 fm 4.18 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 28.5 cm 24.3 cm 20 cm 4.18 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 35 cm 29.9 cm 80 cm 4.18 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 37.2 cm 31.8 cm 1 m 4.18 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 43.8 cm 37.4 cm 1.6 m 4.18 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 46 cm 39.3 cm 1.8 m 4.18 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 52.5 cm 44.9 cm 2.4 m 4.18 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 58.1 cm 49.7 cm 2.91 m 4.18 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 171 mum 197 mum -2.4 m 6.15 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 385 mum 482 mum -2.4 m 6.15 MeV 0 eV 4.44 mm 4.44 mm TrackerTransportation + 2 3.91 cm 5.19 cm -1.6 m 6.15 MeV 0 eV 80.3 cm 80.7 cm ChamberTransportation + 3 4.88 cm 6.48 cm -1.4 m 6.15 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 7.78 cm 10.3 cm -80 cm 6.15 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 8.75 cm 11.6 cm -60 cm 6.15 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 11.7 cm 15.5 cm 0 fm 6.15 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 12.6 cm 16.8 cm 20 cm 6.15 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 15.5 cm 20.6 cm 80 cm 6.15 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 16.5 cm 21.9 cm 1 m 6.15 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 19.4 cm 25.8 cm 1.6 m 6.15 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 20.4 cm 27.1 cm 1.8 m 6.15 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 23.3 cm 30.9 cm 2.4 m 6.15 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 25.7 cm 34.2 cm 2.91 m 6.15 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 190 mum -2.4 m 20.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 234 mum 283 mum -2.4 m 20.7 MeV 0 eV 4.76 mm 4.76 mm TrackerTransportation + 2 1.45 cm 1.6 cm -1.6 m 20.7 MeV 0 eV 80 cm 80.5 cm ChamberTransportation + 3 1.8 cm 1.99 cm -1.4 m 20.7 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.87 cm 3.17 cm -80 cm 20.7 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 3.23 cm 3.56 cm -60 cm 20.7 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 4.29 cm 4.73 cm -0.114 fm 20.7 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 4.65 cm 5.13 cm 20 cm 20.7 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 5.72 cm 6.3 cm 80 cm 20.7 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 6.07 cm 6.7 cm 1 m 20.7 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 7.14 cm 7.87 cm 1.6 m 20.7 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 7.5 cm 8.26 cm 1.8 m 20.7 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 8.56 cm 9.44 cm 2.4 m 20.7 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 9.47 cm 10.4 cm 2.91 m 20.7 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.7 mum 21.1 mum -2.41 m 1.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 147 mum 289 mum -2.4 m 1.4 MeV 0 eV 1.15 cm 1.15 cm TrackerTransportation + 2 8.13 mm 1.89 cm -1.6 m 1.4 MeV 0 eV 80 cm 81.2 cm ChamberTransportation + 3 1.01 cm 2.36 cm -1.4 m 1.4 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 1.61 cm 3.76 cm -80 cm 1.4 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 1.81 cm 4.22 cm -60 cm 1.4 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 2.41 cm 5.62 cm 0 fm 1.4 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 2.61 cm 6.09 cm 20 cm 1.4 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 3.21 cm 7.49 cm 80 cm 1.4 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 3.41 cm 7.95 cm 1 m 1.4 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 4.01 cm 9.35 cm 1.6 m 1.4 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 4.21 cm 9.82 cm 1.8 m 1.4 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 4.81 cm 11.2 cm 2.4 m 1.4 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 5.32 cm 12.4 cm 2.91 m 1.4 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.5 mum 7.96 mum -2.41 m 14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 220 mum 221 mum -2.4 m 0 eV 1.25 MeV 1.01 cm 1.01 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 95, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 220 mum 221 mum -2.4 m 11.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 346 mum 776 mum -2.4 m 8.99 MeV 2.73 MeV 2.03 mm 2.03 mm TargetPV eIoni + 2 435 mum 749 mum -2.4 m 8.45 MeV 538 keV 328 mum 2.36 mm TrackerTransportation + 3 48.3 cm 39.8 cm -1.17 m 8.18 MeV 256 keV 1.38 m 1.39 m Tracker eIoni + 4 64.2 cm 57.5 cm -80 cm 8.1 MeV 78.4 keV 44.1 cm 1.83 m ChamberTransportation + 5 67.2 cm 62.1 cm -72.4 cm 8.05 MeV 47.7 keV 9.44 cm 1.92 m TrackerTransportation + 6 1.03 m 1.05 m 0 fm 7.88 MeV 168 keV 91.6 cm 2.84 m ChamberTransportation + 7 1.07 m 1.1 m 7.79 cm 7.84 MeV 47.9 keV 10.4 cm 2.94 m TrackerTransportation + 8 1.47 m 1.58 m 65.2 cm 7.66 MeV 155 keV 84.9 cm 3.79 m Tracker eIoni + 9 1.56 m 1.66 m 77.5 cm 7.62 MeV 26.2 keV 17.1 cm 3.96 m Tracker eIoni + 10 2.21 m 2.16 m 1.71 m 7.37 MeV 229 keV 1.25 m 5.21 m Tracker eIoni + 11 2.4 m 2.28 m 1.94 m 7.32 MeV 55.5 keV 31.7 cm 5.53 m WorldPVTransportation + 12 2.91 m 2.58 m 2.51 m 7.17 MeV 152 keV 83 cm 6.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.21 m 2.16 m 1.71 m 15.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.21 m 2.16 m 1.72 m 13.6 keV 1.8 keV 1.3 mm 1.3 mm Tracker eIoni + 2 2.21 m 2.16 m 1.72 m 11.8 keV 1.83 keV 1.11 mm 2.41 mm Tracker eIoni + 3 2.21 m 2.16 m 1.72 m 10.7 keV 1.07 keV 927 mum 3.34 mm Tracker eIoni + 4 2.21 m 2.16 m 1.72 m 9.41 keV 1.33 keV 833 mum 4.17 mm Tracker eIoni + 5 2.21 m 2.16 m 1.72 m 6.99 keV 2.42 keV 722 mum 4.89 mm Tracker eIoni + 6 2.21 m 2.16 m 1.72 m 4.94 keV 2.06 keV 544 mum 5.44 mm Tracker eIoni + 7 2.21 m 2.16 m 1.72 m 2.44 keV 2.5 keV 413 mum 5.85 mm Tracker eIoni + 8 2.21 m 2.16 m 1.72 m 157 eV 2.28 keV 220 mum 6.07 mm Tracker eIoni + 9 2.21 m 2.16 m 1.72 m 0 eV 157 eV 12.6 mum 6.08 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.56 m 1.66 m 77.5 cm 15.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.56 m 1.66 m 77.5 cm 13.4 keV 2.24 keV 1.33 mm 1.33 mm Tracker eIoni + 2 1.56 m 1.66 m 77.4 cm 11.6 keV 1.87 keV 1.09 mm 2.42 mm Tracker eIoni + 3 1.56 m 1.66 m 77.4 cm 9.55 keV 2.01 keV 904 mum 3.32 mm Tracker eIoni + 4 1.56 m 1.66 m 77.4 cm 6.61 keV 2.95 keV 733 mum 4.05 mm Tracker eIoni + 5 1.56 m 1.66 m 77.4 cm 5.87 keV 742 eV 519 mum 4.57 mm Tracker eIoni + 6 1.56 m 1.66 m 77.3 cm 510 eV 5.36 keV 471 mum 5.04 mm Tracker eIoni + 7 1.56 m 1.66 m 77.3 cm 0 eV 510 eV 28.3 mum 5.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.47 m 1.58 m 65.2 cm 19.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.48 m 1.58 m 65 cm 15.8 keV 3.93 keV 1.84 mm 1.84 mm Tracker eIoni + 2 1.48 m 1.58 m 64.9 cm 13.3 keV 2.51 keV 1.34 mm 3.18 mm Tracker eIoni + 3 1.48 m 1.58 m 64.8 cm 11.3 keV 2 keV 1.07 mm 4.26 mm Tracker eIoni + 4 1.48 m 1.58 m 64.7 cm 8.86 keV 2.43 keV 881 mum 5.14 mm Tracker eIoni + 5 1.48 m 1.58 m 64.7 cm 5.7 keV 3.16 keV 679 mum 5.82 mm Tracker eIoni + 6 1.48 m 1.58 m 64.7 cm 3.63 keV 2.06 keV 460 mum 6.28 mm Tracker eIoni + 7 1.48 m 1.58 m 64.7 cm 3.52 eV 3.63 keV 327 mum 6.6 mm Tracker eIoni + 8 1.48 m 1.58 m 64.7 cm 0 eV 3.52 eV 1.89 mum 6.6 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.3 cm 39.8 cm -1.17 m 16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 48.4 cm 39.9 cm -1.17 m 14.9 keV 1.07 keV 1.37 mm 1.37 mm Tracker eIoni + 2 48.4 cm 40 cm -1.17 m 13.8 keV 1.18 keV 1.24 mm 2.61 mm Tracker eIoni + 3 48.3 cm 40 cm -1.17 m 12 keV 1.76 keV 1.12 mm 3.73 mm Tracker eIoni + 4 48.3 cm 40 cm -1.17 m 10.3 keV 1.7 keV 943 mum 4.67 mm Tracker eIoni + 5 48.2 cm 40 cm -1.17 m 9.29 keV 1 keV 793 mum 5.47 mm Tracker eIoni + 6 48.1 cm 40 cm -1.17 m 7.58 keV 1.71 keV 713 mum 6.18 mm Tracker eIoni + 7 48.1 cm 40 cm -1.17 m 6.34 keV 1.24 keV 585 mum 6.76 mm Tracker eIoni + 8 48.1 cm 40 cm -1.17 m 3.56 keV 2.78 keV 502 mum 7.27 mm Tracker eIoni + 9 48.1 cm 40 cm -1.17 m 0 eV 3.56 keV 322 mum 7.59 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.02 mum 1.98 mum -2.41 m 583 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 151 mum 70.9 mum -2.4 m 458 keV 125 keV 1.09 cm 1.09 cm TargetPV compt + 2 -1.4 mm 531 mum -2.4 m 458 keV 0 eV 2.52 mm 1.35 cm TrackerTransportation + 3 -2.4 m 71.3 cm 59.4 cm 458 keV 0 eV 3.9 m 3.92 m WorldPVTransportation + 4 -2.91 m 86.5 cm 1.23 m 458 keV 0 eV 83 cm 4.74 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.06 mum 2.52 mum -2.41 m 1.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 46.9 mum -24.9 mum -2.41 m 972 keV 48.6 keV 5.54 mm 5.54 mm TargetPV compt + 2 -217 mum 651 mum -2.4 m 378 keV 595 keV 3.39 mm 8.93 mm TargetPV compt + 3 7.59 mm -4.92 mm -2.4 m 0 eV 378 keV 1.02 cm 1.92 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.08 mum 4.59 mum -2.41 m 610 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -233 mum 144 mum -2.4 m 610 keV 0 eV 1.4 cm 1.4 cm TrackerTransportation + 2 -1.39 cm 8.1 mm -1.6 m 610 keV 0 eV 80 cm 81.4 cm ChamberTransportation + 3 -1.73 cm 1.01 cm -1.4 m 610 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.75 cm 1.61 cm -80 cm 610 keV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.09 cm 1.8 cm -60 cm 610 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.11 cm 2.4 cm -0.114 fm 610 keV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -4.45 cm 2.6 cm 20 cm 610 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.47 cm 3.2 cm 80 cm 610 keV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -5.82 cm 3.4 cm 1 m 610 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -6.84 cm 3.99 cm 1.6 m 610 keV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -7.18 cm 4.19 cm 1.8 m 610 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.2 cm 4.79 cm 2.4 m 610 keV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -9.07 cm 5.3 cm 2.91 m 610 keV 0 eV 51 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 111 nm -877 nm -2.41 m 1.24 GeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.24 mum -2.78 mum -2.41 m 1.23 GeV 1.36 MeV 728 mum 728 mum TargetPV eBrem + 2 -2.05 mum -2.34 mum -2.41 m 964 MeV 1.29 MeV 89.6 mum 818 mum TargetPV eBrem + 3 -1.67 mum -2.35 mum -2.41 m 899 MeV 149 keV 127 mum 945 mum TargetPV eBrem + 4 -1.59 mum -2.44 mum -2.41 m 897 MeV 47.1 keV 35.7 mum 981 mum TargetPV eBrem + 5 -1.49 mum -2.53 mum -2.41 m 855 MeV 34.7 keV 29.1 mum 1.01 mm TargetPV eBrem + 6 -2.07 mum -2.63 mum -2.41 m 854 MeV 390 keV 295 mum 1.3 mm TargetPV eBrem + 7 -5.42 mum -7.38 mum -2.41 m 848 MeV 669 keV 617 mum 1.92 mm TargetPV eBrem + 8 -6.8 mum -7.95 mum -2.41 m 327 MeV 193 keV 173 mum 2.09 mm TargetPV eBrem + 9 -6.93 mum -25.9 mum -2.41 m 198 MeV 1.17 MeV 993 mum 3.09 mm TargetPV eBrem + 10 -36.9 mum 86.7 mum -2.41 m 169 MeV 3.41 MeV 2.26 mm 5.35 mm TargetPV eBrem + 11 -52.1 mum 106 mum -2.41 m 156 MeV 255 keV 247 mum 5.6 mm TargetPV eBrem + 12 -180 mum 130 mum -2.41 m 146 MeV 2.15 MeV 1.37 mm 6.96 mm TargetPV eBrem + 13 -185 mum 137 mum -2.41 m 141 MeV 94.7 keV 71.7 mum 7.04 mm TargetPV eBrem + 14 -200 mum 179 mum -2.41 m 68.5 MeV 881 keV 745 mum 7.78 mm TargetPV eBrem + 15 -231 mum 229 mum -2.41 m 63.3 MeV 539 keV 456 mum 8.24 mm TargetPV eBrem + 16 -279 mum 251 mum -2.41 m 61.6 MeV 631 keV 395 mum 8.63 mm TargetPV eBrem + 17 -299 mum 184 mum -2.41 m 61 MeV 200 keV 169 mum 8.8 mm TargetPV eBrem + 18 -315 mum -142 mum -2.4 m 55.9 MeV 1.53 MeV 1.04 mm 9.84 mm TargetPV eBrem + 19 -235 mum -231 mum -2.4 m 50.1 MeV 436 keV 390 mum 1.02 cm TargetPV eBrem + 20 158 mum -402 mum -2.4 m 44.8 MeV 1.38 MeV 1.03 mm 1.13 cm TargetPV eBrem + 21 621 mum -546 mum -2.4 m 40 MeV 2.84 MeV 1.79 mm 1.31 cm TargetPV eBrem + 22 726 mum -869 mum -2.4 m 23.4 MeV 1.68 MeV 1.22 mm 1.43 cm TargetPV eBrem + 23 607 mum -937 mum -2.4 m 22.6 MeV 763 keV 639 mum 1.49 cm TrackerTransportation + 24 -10.1 cm -3.46 cm -2.11 m 22.3 MeV 58.5 keV 30.5 cm 32 cm Tracker eIoni + 25 -58.9 cm -19.1 cm -92.7 cm 22 MeV 261 keV 1.29 m 1.61 m Tracker eIoni + 26 -63.4 cm -20.1 cm -80 cm 22 MeV 19.1 keV 13.5 cm 1.75 m ChamberTransportation + 27 -66.6 cm -20.6 cm -71.5 cm 21.9 MeV 54.5 keV 9.12 cm 1.84 m Chamber eBrem + 28 -67.2 cm -20.8 cm -69.6 cm 21.9 MeV 10.1 keV 2.01 cm 1.86 m TrackerTransportation + 29 -88.9 cm -28.5 cm 0.0335 fm 21.7 MeV 145 keV 73.3 cm 2.59 m ChamberTransportation + 30 -95.3 cm -30.6 cm 20 cm 21.6 MeV 113 keV 21.2 cm 2.8 m TrackerTransportation + 31 -1.09 m -38.7 cm 80 cm 21.4 MeV 125 keV 62.2 cm 3.43 m ChamberTransportation + 32 -1.14 m -40.4 cm 1 m 21.3 MeV 80.1 keV 20.6 cm 3.63 m TrackerTransportation + 33 -1.16 m -41.3 cm 1.07 m 21.3 MeV 11.9 keV 7.18 cm 3.7 m Tracker eIoni + 34 -1.31 m -49.7 cm 1.6 m 21.2 MeV 111 keV 55.8 cm 4.26 m ChamberTransportation + 35 -1.35 m -53.1 cm 1.8 m 20.7 MeV 103 keV 20.3 cm 4.47 m Chamber eBrem + 36 -1.35 m -53.2 cm 1.8 m 20.7 MeV 703 eV 4.86 mm 4.47 m TrackerTransportation + 37 -1.35 m -53.3 cm 1.81 m 20.7 MeV 488 eV 6.82 mm 4.48 m Tracker eIoni + 38 -1.48 m -62.7 cm 2.4 m 20.5 MeV 122 keV 61.4 cm 5.09 m WorldPVTransportation + 39 -1.58 m -71.5 cm 2.91 m 20.4 MeV 103 keV 52.7 cm 5.62 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m -53.3 cm 1.81 m 25.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.35 m -53.5 cm 1.81 m 23.6 keV 1.81 keV 2.7 mm 2.7 mm Tracker eIoni + 2 -1.35 m -53.7 cm 1.81 m 19.2 keV 4.38 keV 2.41 mm 5.1 mm Tracker eIoni + 3 -1.35 m -53.7 cm 1.81 m 16.8 keV 2.33 keV 1.77 mm 6.87 mm Tracker eIoni + 4 -1.34 m -53.8 cm 1.8 m 10 keV 6.85 keV 1.46 mm 8.33 mm Tracker eIoni + 5 -1.34 m -53.8 cm 1.8 m 8.97 keV 1.03 keV 767 mum 9.1 mm Tracker eIoni + 6 -1.34 m -53.8 cm 1.8 m 6.49 keV 2.48 keV 687 mum 9.79 mm Tracker eIoni + 7 -1.34 m -53.8 cm 1.8 m 3.92 keV 2.57 keV 511 mum 1.03 cm Tracker eIoni + 8 -1.34 m -53.8 cm 1.8 m 2.72 keV 1.21 keV 347 mum 1.06 cm Tracker eIoni + 9 -1.34 m -53.8 cm 1.8 m 40.7 eV 2.67 keV 250 mum 1.09 cm Tracker eIoni + 10 -1.34 m -53.8 cm 1.8 m 0 eV 40.7 eV 6.42 mum 1.09 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m -53.1 cm 1.8 m 404 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.35 m -53.2 cm 1.8 m 404 keV 0 eV 4.84 mm 4.84 mm TrackerTransportation + 2 -1.45 m -62.1 cm 2.4 m 404 keV 0 eV 61.6 cm 62 cm WorldPVTransportation + 3 -1.54 m -69.7 cm 2.91 m 404 keV 0 eV 52.3 cm 1.14 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.33 m -51.5 cm 1.71 m 9.99 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.33 m -51.5 cm 1.71 m 8.76 keV 1.23 keV 530 mum 530 mum Chamber eIoni + 2 -1.33 m -51.5 cm 1.71 m 8.2 keV 560 eV 481 mum 1.01 mm Chamber eIoni + 3 -1.33 m -51.5 cm 1.71 m 2.13 keV 6.07 keV 459 mum 1.47 mm Chamber eIoni + 4 -1.33 m -51.5 cm 1.71 m 0 eV 2.13 keV 128 mum 1.6 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.16 m -41.3 cm 1.07 m 12.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.16 m -41.3 cm 1.07 m 11.4 keV 864 eV 970 mum 970 mum Tracker eIoni + 2 -1.16 m -41.2 cm 1.07 m 9.63 keV 1.77 keV 891 mum 1.86 mm Tracker eIoni + 3 -1.16 m -41.1 cm 1.07 m 3.23 keV 6.4 keV 739 mum 2.6 mm Tracker eIoni + 4 -1.16 m -41.1 cm 1.07 m 1.7 keV 1.53 keV 296 mum 2.9 mm Tracker eIoni + 5 -1.16 m -41.1 cm 1.07 m 0 eV 1.7 keV 128 mum 3.02 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.13 m -39.9 cm 94.2 cm 14.4 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.13 m -39.9 cm 94.2 cm 11.1 keV 3.32 keV 727 mum 727 mum Chamber eIoni + 2 -1.13 m -39.9 cm 94.2 cm 6.83 keV 4.27 keV 578 mum 1.31 mm Chamber eIoni + 3 -1.13 m -39.9 cm 94.2 cm 4.41 keV 2.42 keV 405 mum 1.71 mm Chamber eIoni + 4 -1.13 m -39.9 cm 94.2 cm 2.42 keV 1.99 keV 300 mum 2.01 mm Chamber eIoni + 5 -1.13 m -39.9 cm 94.2 cm 0 eV 2.42 keV 153 mum 2.16 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -90.2 cm -28.9 cm 4.15 cm 37.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -90.2 cm -29.1 cm 4.06 cm 34.4 keV 3.34 keV 2.36 mm 2.36 mm Chamber eIoni + 2 -90.1 cm -28.9 cm 4.06 cm 30.9 keV 3.51 keV 2.07 mm 4.42 mm Chamber eIoni + 3 -90 cm -28.9 cm 3.99 cm 25 keV 5.82 keV 1.78 mm 6.2 mm Chamber eIoni + 4 -90 cm -28.9 cm 3.92 cm 23.4 keV 1.63 keV 1.35 mm 7.55 mm Chamber eIoni + 5 -90 cm -28.8 cm 3.95 cm 21.2 keV 2.2 keV 1.24 mm 8.79 mm Chamber eIoni + 6 -89.9 cm -28.9 cm 3.89 cm 17.7 keV 3.48 keV 1.1 mm 9.89 mm Chamber eIoni + 7 -89.9 cm -28.9 cm 3.93 cm 17.2 keV 571 eV 899 mum 1.08 cm Chamber eIoni + 8 -89.9 cm -28.9 cm 3.98 cm 15.1 keV 2.02 keV 868 mum 1.17 cm Chamber eIoni + 9 -89.9 cm -28.9 cm 4.01 cm 13.6 keV 1.54 keV 764 mum 1.24 cm Chamber eIoni + 10 -89.9 cm -28.9 cm 4.01 cm 12.5 keV 1.05 keV 690 mum 1.31 cm Chamber eIoni + 11 -89.8 cm -28.9 cm 4.03 cm 11 keV 1.53 keV 641 mum 1.38 cm Chamber eIoni + 12 -89.8 cm -28.9 cm 4.05 cm 9.74 keV 1.27 keV 574 mum 1.43 cm Chamber eIoni + 13 -89.8 cm -28.9 cm 4.08 cm 8.65 keV 1.09 keV 520 mum 1.48 cm Chamber eIoni + 14 -89.8 cm -28.9 cm 4.1 cm 6.49 keV 2.15 keV 477 mum 1.53 cm Chamber eIoni + 15 -89.8 cm -28.9 cm 4.1 cm 4.1 keV 2.4 keV 392 mum 1.57 cm Chamber eIoni + 16 -89.8 cm -28.9 cm 4.1 cm 1.77 keV 2.33 keV 283 mum 1.6 cm Chamber eIoni + 17 -89.8 cm -28.9 cm 4.1 cm 0 eV 1.77 keV 99.7 mum 1.61 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -66.6 cm -20.6 cm -71.5 cm 82.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -67.2 cm -20.8 cm -69.6 cm 82.5 keV 0 eV 1.97 cm 1.97 cm TrackerTransportation + 2 -88.8 cm -29.7 cm 0 fm 82.5 keV 0 eV 73.4 cm 75.4 cm ChamberTransportation + 3 -95 cm -32.2 cm 20 cm 82.5 keV 0 eV 21.1 cm 96.5 cm TrackerTransportation + 4 -1.14 m -39.9 cm 80 cm 82.5 keV 0 eV 63.3 cm 1.6 m ChamberTransportation + 5 -1.2 m -42.5 cm 1 m 82.5 keV 0 eV 21.1 cm 1.81 m TrackerTransportation + 6 -1.38 m -50.1 cm 1.6 m 82.5 keV 0 eV 63.3 cm 2.44 m ChamberTransportation + 7 -1.45 m -52.7 cm 1.8 m 82.5 keV 0 eV 21.1 cm 2.65 m TrackerTransportation + 8 -1.63 m -60.4 cm 2.4 m 82.5 keV 0 eV 63.3 cm 3.29 m WorldPVTransportation + 9 -1.79 m -66.9 cm 2.91 m 82.5 keV 0 eV 53.8 cm 3.82 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -58.9 cm -19.1 cm -92.7 cm 8.17 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -58.9 cm -19 cm -92.7 cm 6.93 keV 1.23 keV 626 mum 626 mum Tracker eIoni + 2 -58.9 cm -19 cm -92.7 cm 5.45 keV 1.48 keV 539 mum 1.17 mm Tracker eIoni + 3 -59 cm -19 cm -92.8 cm 1.63 keV 3.82 keV 445 mum 1.61 mm Tracker eIoni + 4 -59 cm -19 cm -92.8 cm 0 eV 1.63 keV 120 mum 1.73 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.1 cm -3.46 cm -2.11 m 286 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.86 cm -15.5 cm -2.05 m 252 keV 33.9 keV 16.1 cm 16.1 cm Tracker eIoni + 2 -5.64 mm -20.1 cm -2.02 m 221 keV 18.1 keV 6.45 cm 22.6 cm Tracker eIoni + 3 3.71 cm -24.9 cm -2 m 193 keV 18.3 keV 7.3 cm 29.9 cm Tracker eIoni + 4 11.4 cm -23.6 cm -2.02 m 167 keV 25.8 keV 8.54 cm 38.4 cm Tracker eIoni + 5 13 cm -29.2 cm -2 m 147 keV 19.9 keV 6.75 cm 45.2 cm Tracker eIoni + 6 11.2 cm -33.2 cm -2.02 m 122 keV 12.3 keV 5.24 cm 50.4 cm Tracker eIoni + 7 10.3 cm -36.9 cm -2.03 m 108 keV 13.6 keV 3.95 cm 54.3 cm Tracker eIoni + 8 8.6 cm -38.3 cm -2.01 m 95.8 keV 12.4 keV 3.21 cm 57.6 cm Tracker eIoni + 9 9.84 cm -37.1 cm -2.02 m 79.1 keV 16.7 keV 2.61 cm 60.2 cm Tracker eIoni + 10 10.8 cm -38.4 cm -2.03 m 69.8 keV 9.34 keV 1.87 cm 62 cm Tracker eIoni + 11 10.9 cm -39.8 cm -2.03 m 61.7 keV 8.05 keV 1.51 cm 63.5 cm Tracker eIoni + 12 10.3 cm -40.7 cm -2.03 m 55.4 keV 6.31 keV 1.21 cm 64.8 cm Tracker eIoni + 13 10.2 cm -41.6 cm -2.03 m 49 keV 6.37 keV 1.01 cm 65.8 cm Tracker eIoni + 14 10.1 cm -42.4 cm -2.03 m 40.6 keV 8.46 keV 8.16 mm 66.6 cm Tracker eIoni + 15 9.76 cm -42.8 cm -2.03 m 33.4 keV 7.18 keV 5.89 mm 67.2 cm Tracker eIoni + 16 9.41 cm -42.9 cm -2.03 m 29.2 keV 4.18 keV 4.24 mm 67.6 cm Tracker eIoni + 17 9.08 cm -42.9 cm -2.03 m 21.1 keV 8.07 keV 3.39 mm 67.9 cm Tracker eIoni + 18 8.96 cm -43.1 cm -2.03 m 18.6 keV 2.58 keV 2.03 mm 68.1 cm Tracker eIoni + 19 8.92 cm -43.2 cm -2.03 m 16.9 keV 1.69 keV 1.69 mm 68.3 cm Tracker eIoni + 20 8.8 cm -43.3 cm -2.03 m 12.9 keV 4.01 keV 1.47 mm 68.5 cm Tracker eIoni + 21 8.72 cm -43.3 cm -2.03 m 11.5 keV 1.35 keV 1.03 mm 68.6 cm Tracker eIoni + 22 8.64 cm -43.3 cm -2.03 m 9.79 keV 1.75 keV 902 mum 68.6 cm Tracker eIoni + 23 8.6 cm -43.4 cm -2.03 m 8.89 keV 895 eV 751 mum 68.7 cm Tracker eIoni + 24 8.63 cm -43.4 cm -2.03 m 2.27 keV 6.62 keV 681 mum 68.8 cm Tracker eIoni + 25 8.62 cm -43.4 cm -2.03 m 0 eV 2.27 keV 197 mum 68.8 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.2 cm -33.2 cm -2.02 m 13.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 11.1 cm -33.2 cm -2.02 m 11.9 keV 1.34 keV 1.07 mm 1.07 mm Tracker eIoni + 2 11 cm -33.1 cm -2.03 m 9.09 keV 2.8 keV 933 mum 2 mm Tracker eIoni + 3 11 cm -33.2 cm -2.03 m 4.93 keV 4.17 keV 697 mum 2.7 mm Tracker eIoni + 4 11 cm -33.1 cm -2.03 m 3.33 keV 1.6 keV 412 mum 3.11 mm Tracker eIoni + 5 11 cm -33.1 cm -2.03 m 732 eV 2.6 keV 304 mum 3.41 mm Tracker eIoni + 6 11 cm -33.1 cm -2.03 m 0 eV 732 eV 41.8 mum 3.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.71 cm -24.9 cm -2 m 9.96 keV 0 eV 0 fm 0 fm Tracker initStep + 1 3.72 cm -24.9 cm -2 m 6.19 keV 3.78 keV 764 mum 764 mum Tracker eIoni + 2 3.74 cm -25 cm -2 m 3.83 keV 2.36 keV 492 mum 1.26 mm Tracker eIoni + 3 3.73 cm -25 cm -2 m 3.06 keV 769 eV 341 mum 1.6 mm Tracker eIoni + 4 3.7 cm -25 cm -2 m 1.54 keV 1.52 keV 282 mum 1.88 mm Tracker eIoni + 5 3.7 cm -25 cm -2 m 0 eV 1.54 keV 111 mum 1.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.64 mm -20.1 cm -2.02 m 13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -5.45 mm -20 cm -2.02 m 7.54 keV 5.43 keV 1.04 mm 1.04 mm Tracker eIoni + 2 -5.2 mm -20 cm -2.02 m 5.27 keV 2.27 keV 582 mum 1.62 mm Tracker eIoni + 3 -5.11 mm -20 cm -2.02 m 3.58 keV 1.68 keV 434 mum 2.06 mm Tracker eIoni + 4 -5.19 mm -20 cm -2.02 m 537 eV 3.05 keV 324 mum 2.38 mm Tracker eIoni + 5 -5.19 mm -20 cm -2.02 m 0 eV 537 eV 29.8 mum 2.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 726 mum -869 mum -2.4 m 14.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 609 mum -939 mum -2.4 m 14.9 MeV 0 eV 624 mum 624 mum TrackerTransportation + 2 -15.3 cm -9.21 cm -1.6 m 14.9 MeV 0 eV 82 cm 82 cm ChamberTransportation + 3 -19.1 cm -11.5 cm -1.4 m 14.9 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -30.6 cm -18.3 cm -80 cm 14.9 MeV 0 eV 61.5 cm 1.64 m ChamberTransportation + 5 -34.4 cm -20.6 cm -60 cm 14.9 MeV 0 eV 20.5 cm 1.84 m TrackerTransportation + 6 -45.9 cm -27.5 cm 0 fm 14.9 MeV 0 eV 61.5 cm 2.46 m ChamberTransportation + 7 -49.7 cm -29.7 cm 20 cm 14.9 MeV 0 eV 20.5 cm 2.66 m TrackerTransportation + 8 -61.2 cm -36.6 cm 80 cm 14.9 MeV 0 eV 61.5 cm 3.28 m ChamberTransportation + 9 -65.1 cm -38.8 cm 1 m 14.9 MeV 0 eV 20.5 cm 3.48 m TrackerTransportation + 10 -76.6 cm -45.7 cm 1.6 m 14.9 MeV 0 eV 61.5 cm 4.1 m ChamberTransportation + 11 -80.4 cm -48 cm 1.8 m 14.9 MeV 0 eV 20.5 cm 4.3 m TrackerTransportation + 12 -91.9 cm -54.8 cm 2.4 m 14.9 MeV 0 eV 61.5 cm 4.92 m WorldPVTransportation + 13 -1.02 m -60.6 cm 2.91 m 14.9 MeV 0 eV 52.3 cm 5.44 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 621 mum -546 mum -2.4 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 929 mum -1.22 mm -2.4 m 1.93 MeV 0 eV 1.92 mm 1.92 mm TrackerTransportation + 2 27.9 cm -61.4 cm -80 cm 1.93 MeV 0 eV 1.74 m 1.74 m ChamberTransportation + 3 30.5 cm -67.2 cm -64.8 cm 1.93 MeV 0 eV 16.5 cm 1.9 m TrackerTransportation + 4 41.8 cm -92 cm 0 fm 1.93 MeV 0 eV 70.3 cm 2.61 m ChamberTransportation + 5 45.3 cm -99.7 cm 20 cm 1.93 MeV 0 eV 21.7 cm 2.82 m TrackerTransportation + 6 55.7 cm -1.23 m 80 cm 1.93 MeV 0 eV 65.1 cm 3.47 m ChamberTransportation + 7 59.2 cm -1.3 m 1 m 1.93 MeV 0 eV 21.7 cm 3.69 m TrackerTransportation + 8 69.6 cm -1.53 m 1.6 m 1.93 MeV 0 eV 65.1 cm 4.34 m ChamberTransportation + 9 73.1 cm -1.61 m 1.8 m 1.93 MeV 0 eV 21.7 cm 4.56 m TrackerTransportation + 10 83.5 cm -1.84 m 2.4 m 1.93 MeV 0 eV 65.1 cm 5.21 m WorldPVTransportation + 11 92.4 cm -2.03 m 2.91 m 1.93 MeV 0 eV 55.3 cm 5.76 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 158 mum -402 mum -2.4 m 3.95 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.21 mm -1.28 mm -2.4 m 3.95 MeV 0 eV 3.74 mm 3.74 mm TrackerTransportation + 2 48.7 cm -40.5 cm -80 cm 3.95 MeV 0 eV 1.72 m 1.72 m ChamberTransportation + 3 54.7 cm -45.6 cm -60 cm 3.95 MeV 0 eV 21.5 cm 1.94 m TrackerTransportation + 4 72.9 cm -60.7 cm 0.114 fm 3.95 MeV 0 eV 64.5 cm 2.58 m ChamberTransportation + 5 79 cm -65.8 cm 20 cm 3.95 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 97.2 cm -80.9 cm 80 cm 3.95 MeV 0 eV 64.5 cm 3.44 m ChamberTransportation + 7 1.03 m -86 cm 1 m 3.95 MeV 0 eV 21.5 cm 3.66 m TrackerTransportation + 8 1.21 m -1.01 m 1.6 m 3.95 MeV 0 eV 64.5 cm 4.3 m ChamberTransportation + 9 1.28 m -1.06 m 1.8 m 3.95 MeV 0 eV 21.5 cm 4.52 m TrackerTransportation + 10 1.46 m -1.21 m 2.4 m 3.95 MeV 0 eV 64.5 cm 5.16 m WorldPVTransportation + 11 1.61 m -1.34 m 2.91 m 3.95 MeV 0 eV 54.8 cm 5.71 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -235 mum -231 mum -2.4 m 5.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.14 mm -1.17 mm -2.4 m 5.37 MeV 0 eV 4.72 mm 4.72 mm TrackerTransportation + 2 50 cm -34.1 cm -80 cm 5.37 MeV 0 eV 1.71 m 1.71 m ChamberTransportation + 3 56.3 cm -38.4 cm -60 cm 5.37 MeV 0 eV 21.4 cm 1.93 m TrackerTransportation + 4 75 cm -51.2 cm 0 fm 5.37 MeV 0 eV 64.1 cm 2.57 m ChamberTransportation + 5 81.2 cm -55.4 cm 20 cm 5.37 MeV 0 eV 21.4 cm 2.78 m TrackerTransportation + 6 99.9 cm -68.2 cm 80 cm 5.37 MeV 0 eV 64.1 cm 3.43 m ChamberTransportation + 7 1.06 m -72.4 cm 1 m 5.37 MeV 0 eV 21.4 cm 3.64 m TrackerTransportation + 8 1.25 m -85.2 cm 1.6 m 5.37 MeV 0 eV 64.1 cm 4.28 m ChamberTransportation + 9 1.31 m -89.4 cm 1.8 m 5.37 MeV 0 eV 21.4 cm 4.49 m TrackerTransportation + 10 1.5 m -1.02 m 2.4 m 5.37 MeV 0 eV 64.1 cm 5.14 m WorldPVTransportation + 11 1.66 m -1.13 m 2.91 m 5.37 MeV 0 eV 54.5 cm 5.68 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -315 mum -142 mum -2.4 m 3.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 687 mum -1.55 mm -2.4 m 3.6 MeV 0 eV 5.09 mm 5.09 mm TrackerTransportation + 2 16.8 cm -23.8 cm -1.6 m 3.6 MeV 0 eV 85.1 cm 85.6 cm ChamberTransportation + 3 17 cm -24 cm -1.59 m 3.6 MeV 0 eV 8.62 mm 86.4 cm TrackerTransportation + 4 33.6 cm -47.4 cm -80 cm 3.6 MeV 0 eV 84.2 cm 1.71 m ChamberTransportation + 5 37.8 cm -53.3 cm -60 cm 3.6 MeV 0 eV 21.3 cm 1.92 m TrackerTransportation + 6 50.4 cm -71 cm 0 fm 3.6 MeV 0 eV 63.8 cm 2.56 m ChamberTransportation + 7 54.6 cm -76.9 cm 20 cm 3.6 MeV 0 eV 21.3 cm 2.77 m TrackerTransportation + 8 67.1 cm -94.6 cm 80 cm 3.6 MeV 0 eV 63.8 cm 3.41 m ChamberTransportation + 9 71.3 cm -1 m 1 m 3.6 MeV 0 eV 21.3 cm 3.62 m TrackerTransportation + 10 83.9 cm -1.18 m 1.6 m 3.6 MeV 0 eV 63.8 cm 4.26 m ChamberTransportation + 11 88.1 cm -1.24 m 1.8 m 3.6 MeV 0 eV 21.3 cm 4.47 m TrackerTransportation + 12 1.01 m -1.42 m 2.4 m 3.6 MeV 0 eV 63.8 cm 5.11 m WorldPVTransportation + 13 1.11 m -1.57 m 2.91 m 3.6 MeV 0 eV 54.2 cm 5.65 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -299 mum 184 mum -2.41 m 352 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -214 mum -293 mum -2.4 m 0 eV 352 keV 1.35 mm 1.35 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -279 mum 251 mum -2.41 m 1.06 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -866 mum -2.25 mm -2.4 m 1.06 MeV 0 eV 6.46 mm 6.46 mm TrackerTransportation + 2 -23.9 cm -1.02 m 0 fm 1.06 MeV 0 eV 2.62 m 2.62 m ChamberTransportation + 3 -25.8 cm -1.1 m 20 cm 1.06 MeV 0 eV 21.8 cm 2.84 m TrackerTransportation + 4 -31.8 cm -1.35 m 80 cm 1.06 MeV 0 eV 65.4 cm 3.49 m ChamberTransportation + 5 -33.8 cm -1.44 m 1 m 1.06 MeV 0 eV 21.8 cm 3.71 m TrackerTransportation + 6 -39.7 cm -1.69 m 1.6 m 1.06 MeV 0 eV 65.4 cm 4.37 m ChamberTransportation + 7 -41.7 cm -1.78 m 1.8 m 1.06 MeV 0 eV 21.8 cm 4.58 m TrackerTransportation + 8 -47.6 cm -2.03 m 2.4 m 1.06 MeV 0 eV 65.4 cm 5.24 m WorldPVTransportation + 9 -52.7 cm -2.25 m 2.91 m 1.06 MeV 0 eV 55.6 cm 5.79 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -231 mum 229 mum -2.41 m 4.64 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -451 mum 431 mum -2.4 m 367 keV 0 eV 3.14 mm 3.14 mm TargetPV compt + 2 -2.06 mm 1.31 mm -2.4 m 0 eV 367 keV 1.97 mm 5.11 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -451 mum 431 mum -2.4 m 4.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -468 nm 656 mum -2.4 m 3.36 MeV 917 keV 957 mum 957 mum TargetPV eIoni + 2 527 mum 482 mum -2.4 m 2.51 MeV 853 keV 819 mum 1.78 mm TargetPV eIoni + 3 429 mum 398 mum -2.4 m 289 keV 2.22 MeV 684 mum 2.46 mm TargetPV eIoni + 4 428 mum 402 mum -2.4 m 0 eV 289 keV 137 mum 2.6 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -200 mum 179 mum -2.41 m 71.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -554 mum 610 mum -2.4 m 71.3 MeV 0 eV 6.79 mm 6.79 mm TrackerTransportation + 2 -4.24 cm 5.16 cm -1.6 m 71.3 MeV 0 eV 80.3 cm 81 cm ChamberTransportation + 3 -5.29 cm 6.43 cm -1.4 m 71.3 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -8.43 cm 10.3 cm -80 cm 71.3 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 -9.47 cm 11.5 cm -60 cm 71.3 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 -12.6 cm 15.3 cm 0 fm 71.3 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 -13.7 cm 16.6 cm 20 cm 71.3 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -16.8 cm 20.4 cm 80 cm 71.3 MeV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 -17.8 cm 21.7 cm 1 m 71.3 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 -21 cm 25.5 cm 1.6 m 71.3 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -22 cm 26.8 cm 1.8 m 71.3 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -25.2 cm 30.6 cm 2.4 m 71.3 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 -27.8 cm 33.9 cm 2.91 m 71.3 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -185 mum 137 mum -2.41 m 4.75 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -214 mum 184 mum -2.41 m 2.2 MeV 2.55 MeV 644 mum 644 mum TargetPV compt + 2 2.56 mm -1.27 mm -2.4 m 2.2 MeV 0 eV 7.55 mm 8.19 mm TrackerTransportation + 3 64.9 cm -34.1 cm -80 cm 2.2 MeV 0 eV 1.76 m 1.77 m ChamberTransportation + 4 67.2 cm -35.3 cm -74.3 cm 2.2 MeV 0 eV 6.29 cm 1.83 m TrackerTransportation + 5 97.2 cm -51.1 cm 0 fm 2.2 MeV 0 eV 81.6 cm 2.65 m ChamberTransportation + 6 1.05 m -55.3 cm 20 cm 2.2 MeV 0 eV 22 cm 2.87 m TrackerTransportation + 7 1.3 m -68 cm 80 cm 2.2 MeV 0 eV 66 cm 3.53 m ChamberTransportation + 8 1.38 m -72.3 cm 1 m 2.2 MeV 0 eV 22 cm 3.75 m TrackerTransportation + 9 1.62 m -85 cm 1.6 m 2.2 MeV 0 eV 66 cm 4.4 m ChamberTransportation + 10 1.7 m -89.3 cm 1.8 m 2.2 MeV 0 eV 22 cm 4.62 m TrackerTransportation + 11 1.94 m -1.02 m 2.4 m 2.2 MeV 0 eV 66 cm 5.28 m WorldPVTransportation + 12 2.15 m -1.13 m 2.91 m 2.2 MeV 0 eV 56.1 cm 5.84 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 111, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -180 mum 130 mum -2.41 m 8.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -606 mum 777 mum -2.4 m 8.38 MeV 0 eV 7.62 mm 7.62 mm TrackerTransportation + 2 -4.56 cm 6.9 cm -1.6 m 8.38 MeV 0 eV 80.4 cm 81.2 cm ChamberTransportation + 3 -5.68 cm 8.61 cm -1.4 m 8.38 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -9.05 cm 13.7 cm -80 cm 8.38 MeV 0 eV 60.3 cm 1.62 m ChamberTransportation + 5 -10.2 cm 15.4 cm -60 cm 8.38 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 -13.5 cm 20.6 cm 0 fm 8.38 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 -14.7 cm 22.3 cm 20 cm 8.38 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -18 cm 27.4 cm 80 cm 8.38 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 -19.2 cm 29.1 cm 1 m 8.38 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 -22.5 cm 34.2 cm 1.6 m 8.38 MeV 0 eV 60.3 cm 4.03 m ChamberTransportation + 11 -23.7 cm 35.9 cm 1.8 m 8.38 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 -27 cm 41 cm 2.4 m 8.38 MeV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 -29.9 cm 45.4 cm 2.91 m 8.38 MeV 0 eV 51.3 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.1 mum 106 mum -2.41 m 12.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -105 mum 145 mum -2.41 m 0 eV 11.7 MeV 852 mum 852 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 135, Parent ID = 110 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -105 mum 145 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 135 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 432 mum -792 mum -2.41 m 0 eV 511 keV 1.09 mm 1.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 135 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -461 mum 768 mum -2.41 m 369 keV 142 keV 723 mum 723 mum TargetPV compt + 2 -1.42 mm 1.69 mm -2.41 m 0 eV 369 keV 1.82 mm 2.54 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.9 mum 86.7 mum -2.41 m 25.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -163 mum 224 mum -2.41 m 0 eV 6.12 MeV 1.82 mm 1.82 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 139, Parent ID = 109 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -163 mum 224 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.47 mm 6.41 mm -2.4 m 511 keV 0 eV 9.77 mm 9.77 mm TrackerTransportation + 2 63.3 cm 2.4 m 45.7 cm 511 keV 0 eV 3.78 m 3.79 m WorldPVTransportation + 3 76.8 cm 2.91 m 1.07 m 511 keV 0 eV 80.6 cm 4.6 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.5 mm -4.84 mm -2.41 m 0 eV 511 keV 8 mm 8 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 109 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 18.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -114 mum 259 mum -2.41 m 15.1 MeV 629 keV 388 mum 388 mum TargetPV eBrem + 2 -142 mum 337 mum -2.41 m 12.5 MeV 582 keV 412 mum 799 mum TargetPV eBrem + 3 -196 mum -68.1 mum -2.41 m 11.4 MeV 674 keV 603 mum 1.4 mm TargetPV eBrem + 4 -694 mum -1.01 mm -2.41 m 8.65 MeV 1.61 MeV 1.23 mm 2.64 mm TargetPV eBrem + 5 -682 mum -1.61 mm -2.41 m 7.39 MeV 687 keV 654 mum 3.29 mm TargetPV eBrem + 6 -1.09 mm -1.86 mm -2.41 m 3.87 MeV 1.38 MeV 1.15 mm 4.44 mm TargetPV eBrem + 7 -847 mum -2.15 mm -2.41 m 2.7 MeV 1.17 MeV 897 mum 5.34 mm TargetPV eIoni + 8 -1.18 mm -2.36 mm -2.41 m 1.98 MeV 714 keV 715 mum 6.05 mm TargetPV eIoni + 9 -1.49 mm -2.29 mm -2.41 m 1.42 MeV 566 keV 597 mum 6.65 mm TargetPV eIoni + 10 -1.64 mm -2.18 mm -2.41 m 937 keV 481 keV 497 mum 7.15 mm TargetPV eIoni + 11 -1.67 mm -2.3 mm -2.41 m 567 keV 369 keV 399 mum 7.55 mm TargetPV eIoni + 12 -1.69 mm -2.29 mm -2.41 m 7.81 keV 560 keV 296 mum 7.84 mm TargetPV eIoni + 13 -1.69 mm -2.29 mm -2.41 m 0 eV 7.81 keV 495 nm 7.84 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 147, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.09 mm -1.86 mm -2.41 m 2.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.31 mm -2.93 mm -2.41 m 1.51 MeV 638 keV 1.2 mm 1.2 mm TargetPV compt + 2 -1.26 mm -3.42 mm -2.41 m 1.11 MeV 394 keV 496 mum 1.7 mm TargetPV compt + 3 -2.52 mm -2.1 cm -2.4 m 1.11 MeV 0 eV 1.9 cm 2.06 cm TrackerTransportation + 4 -17.3 cm -2.4 m -1.45 m 1.11 MeV 0 eV 2.57 m 2.59 m WorldPVTransportation + 5 -21 cm -2.91 m -1.25 m 1.11 MeV 0 eV 55 cm 3.14 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 146, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -682 mum -1.61 mm -2.41 m 568 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.55 mm -2.09 cm -2.43 m 399 keV 169 keV 2.85 cm 2.85 cm TargetPV compt + 2 -3.15 mm -2.16 cm -2.43 m 0 eV 399 keV 893 mum 2.94 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 145, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -694 mum -1.01 mm -2.41 m 1.17 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.45 mm -1.25 cm -2.4 m 349 keV 819 keV 1.29 cm 1.29 cm TargetPV compt + 2 -3.69 mm -1.23 cm -2.4 m 0 eV 349 keV 426 mum 1.33 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 144, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -196 mum -68.1 mum -2.41 m 357 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -228 mum -134 mum -2.41 m 0 eV 357 keV 73.7 mum 73.7 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -142 mum 337 mum -2.41 m 2.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.62 mm -5.38 mm -2.4 m 2.03 MeV 0 eV 9.4 mm 9.4 mm TrackerTransportation + 2 -1.46 m -2.4 m 36.7 cm 2.03 MeV 0 eV 3.94 m 3.95 m WorldPVTransportation + 3 -1.77 m -2.91 m 95.6 cm 2.03 MeV 0 eV 83.9 cm 4.79 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 142, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -114 mum 259 mum -2.41 m 2.49 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 382 mum 1.04 mm -2.4 m 965 keV 1.52 MeV 3.09 mm 3.09 mm TargetPV compt + 2 2.73 mm 948 mum -2.4 m 453 keV 512 keV 2.88 mm 5.97 mm TargetPV compt + 3 4.49 mm 4.34 mm -2.4 m 0 eV 453 keV 3.84 mm 9.81 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.93 mum -25.9 mum -2.41 m 128 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -41.9 mum -15.8 mum -2.41 m 0 eV 0 eV 1.33 mm 1.33 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 149, Parent ID = 108 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.9 mum -15.8 mum -2.41 m 87.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.7 mum -15.7 mum -2.41 m 86.4 MeV 29.8 keV 26.5 mum 26.5 mum TargetPV eBrem + 2 -43.6 mum -16.7 mum -2.41 m 85.7 MeV 74.7 keV 50.3 mum 76.8 mum TargetPV eBrem + 3 -43.4 mum -17.3 mum -2.41 m 76.7 MeV 17.7 keV 14.7 mum 91.4 mum TargetPV eBrem + 4 -38.2 mum -16.9 mum -2.41 m 75.4 MeV 610 keV 426 mum 518 mum TargetPV eBrem + 5 -28.6 mum -16.2 mum -2.41 m 59 MeV 118 keV 121 mum 639 mum TargetPV eBrem + 6 43.6 mum -115 mum -2.41 m 56.7 MeV 1.9 MeV 1.39 mm 2.03 mm TargetPV eBrem + 7 57.1 mum -105 mum -2.41 m 50.8 MeV 121 keV 105 mum 2.13 mm TargetPV eBrem + 8 98.5 mum -99.8 mum -2.41 m 49.2 MeV 1.01 MeV 554 mum 2.69 mm TargetPV eBrem + 9 230 mum -89.8 mum -2.41 m 38.3 MeV 1.06 MeV 616 mum 3.3 mm TargetPV eBrem + 10 270 mum -59.2 mum -2.41 m 36.7 MeV 535 keV 373 mum 3.68 mm TargetPV eBrem + 11 282 mum -61 mum -2.41 m 36.2 MeV 105 keV 88.1 mum 3.76 mm TargetPV eBrem + 12 275 mum -57.2 mum -2.41 m 34.9 MeV 806 keV 340 mum 4.1 mm TargetPV eBrem + 13 376 mum 254 mum -2.4 m 32.6 MeV 2 MeV 1.31 mm 5.41 mm TargetPV eBrem + 14 571 mum 316 mum -2.4 m 4.25 MeV 1.42 MeV 1.16 mm 6.58 mm TargetPV eBrem + 15 618 mum 304 mum -2.4 m 3.39 MeV 268 keV 229 mum 6.81 mm TargetPV eBrem + 16 1.05 mm 232 mum -2.4 m 1.86 MeV 1.53 MeV 841 mum 7.65 mm TargetPV eIoni + 17 1.16 mm 68.2 mum -2.4 m 430 keV 1.43 MeV 586 mum 8.24 mm TargetPV eIoni + 18 1.15 mm 95.7 mum -2.4 m 99.1 keV 331 keV 237 mum 8.47 mm TargetPV eIoni + 19 1.15 mm 93.8 mum -2.4 m 0 eV 99.1 keV 25.2 mum 8.5 mm TargetPV eIoni + 20 1.15 mm 93.8 mum -2.4 m 0 eV 0 eV 0 fm 8.5 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 166, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.15 mm 93.8 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.64 mm -2.77 mm -2.4 m 0 eV 511 keV 3.23 mm 3.23 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.15 mm 93.8 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.11 cm 2.36 cm -2.4 m 454 keV 57.4 keV 2.65 cm 2.65 cm TargetPV compt + 2 -1.12 cm 2.42 cm -2.4 m 0 eV 454 keV 677 mum 2.72 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 618 mum 304 mum -2.4 m 589 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.01 cm -3.16 mm -2.4 m 0 eV 88 keV 1.07 cm 1.07 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.01 cm -3.16 mm -2.4 m 501 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.01 cm -3.16 mm -2.4 m 133 keV 369 keV 270 mum 270 mum TargetPV eIoni + 2 1.01 cm -3.16 mm -2.4 m 0 eV 133 keV 42.9 mum 313 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 571 mum 316 mum -2.4 m 27 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 357 mum 1.09 mm -2.4 m 27 MeV 0 eV 3.74 mm 3.74 mm TrackerTransportation + 2 -4.64 cm 17.2 cm -1.6 m 27 MeV 0 eV 81.9 cm 82.3 cm ChamberTransportation + 3 -5.8 cm 21.4 cm -1.4 m 27 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -9.31 cm 34.2 cm -80 cm 27 MeV 0 eV 61.4 cm 1.64 m ChamberTransportation + 5 -10.5 cm 38.5 cm -60 cm 27 MeV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 -14 cm 51.2 cm -0.114 fm 27 MeV 0 eV 61.4 cm 2.46 m ChamberTransportation + 7 -15.1 cm 55.5 cm 20 cm 27 MeV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 -18.6 cm 68.3 cm 80 cm 27 MeV 0 eV 61.4 cm 3.28 m ChamberTransportation + 9 -19.8 cm 72.5 cm 1 m 27 MeV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 -23.3 cm 85.3 cm 1.6 m 27 MeV 0 eV 61.4 cm 4.1 m ChamberTransportation + 11 -24.5 cm 89.6 cm 1.8 m 27 MeV 0 eV 20.5 cm 4.3 m TrackerTransportation + 12 -28 cm 1.02 m 2.4 m 27 MeV 0 eV 61.4 cm 4.92 m WorldPVTransportation + 13 -31 cm 1.13 m 2.91 m 27 MeV 0 eV 52.2 cm 5.44 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 376 mum 254 mum -2.4 m 291 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 617 mum 522 mum -2.4 m 0 eV 291 keV 1.31 mm 1.31 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 275 mum -57.2 mum -2.41 m 516 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 308 mum 464 mum -2.4 m 516 keV 0 eV 6.07 mm 6.07 mm TrackerTransportation + 2 4.7 mm 6.94 cm -1.6 m 516 keV 0 eV 80.3 cm 80.9 cm ChamberTransportation + 3 5.8 mm 8.66 cm -1.4 m 516 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 9.09 mm 13.8 cm -80 cm 516 keV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 1.02 cm 15.6 cm -60 cm 516 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 1.35 cm 20.7 cm 0.114 fm 516 keV 0 eV 60.2 cm 2.42 m ChamberTransportation + 7 1.46 cm 22.5 cm 20 cm 516 keV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 1.79 cm 27.6 cm 80 cm 516 keV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 1.9 cm 29.3 cm 1 m 516 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 2.23 cm 34.5 cm 1.6 m 516 keV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 2.34 cm 36.2 cm 1.8 m 516 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 2.66 cm 41.4 cm 2.4 m 516 keV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 2.94 cm 45.8 cm 2.91 m 516 keV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 282 mum -61 mum -2.41 m 317 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 297 mum -42.6 mum -2.41 m 0 eV 317 keV 605 mum 605 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 270 mum -59.2 mum -2.41 m 1.11 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 845 mum -155 mum -2.4 m 902 keV 210 keV 4.5 mm 4.5 mm TargetPV compt + 2 858 mum 192 mum -2.4 m 387 keV 515 keV 827 mum 5.33 mm TargetPV compt + 3 292 mum 786 mum -2.4 m 0 eV 387 keV 821 mum 6.15 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum -89.8 mum -2.41 m 9.83 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 854 mum 21.8 mum -2.4 m 9.83 MeV 0 eV 6.87 mm 6.87 mm TrackerTransportation + 2 7.38 cm 1.31 cm -1.6 m 9.83 MeV 0 eV 80.3 cm 81 cm ChamberTransportation + 3 9.2 cm 1.63 cm -1.4 m 9.83 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.7 cm 2.61 cm -80 cm 9.83 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.5 cm 2.94 cm -60 cm 9.83 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 22 cm 3.91 cm 0 fm 9.83 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 23.8 cm 4.24 cm 20 cm 9.83 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 29.3 cm 5.22 cm 80 cm 9.83 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 31.1 cm 5.54 cm 1 m 9.83 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 36.5 cm 6.52 cm 1.6 m 9.83 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 38.4 cm 6.85 cm 1.8 m 9.83 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 43.8 cm 7.82 cm 2.4 m 9.83 MeV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 48.5 cm 8.66 cm 2.91 m 9.83 MeV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 98.5 mum -99.8 mum -2.41 m 532 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.12 mm 248 mum -2.4 m 0 eV 532 keV 5.03 mm 5.03 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.1 mum -105 mum -2.41 m 5.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 706 mum 454 mum -2.4 m 5.8 MeV 0 eV 8.04 mm 8.04 mm TrackerTransportation + 2 6.56 cm 5.64 cm -1.6 m 5.8 MeV 0 eV 80.5 cm 81.3 cm ChamberTransportation + 3 8.18 cm 7.04 cm -1.4 m 5.8 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 13.1 cm 11.2 cm -80 cm 5.8 MeV 0 eV 60.3 cm 1.62 m ChamberTransportation + 5 14.7 cm 12.6 cm -60 cm 5.8 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 19.5 cm 16.8 cm 0 fm 5.8 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 21.2 cm 18.2 cm 20 cm 5.8 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 26 cm 22.4 cm 80 cm 5.8 MeV 0 eV 60.3 cm 3.23 m ChamberTransportation + 9 27.7 cm 23.8 cm 1 m 5.8 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 32.5 cm 28 cm 1.6 m 5.8 MeV 0 eV 60.3 cm 4.03 m ChamberTransportation + 11 34.1 cm 29.4 cm 1.8 m 5.8 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 39 cm 33.6 cm 2.4 m 5.8 MeV 0 eV 60.3 cm 4.84 m WorldPVTransportation + 13 43.1 cm 37.2 cm 2.91 m 5.8 MeV 0 eV 51.3 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.6 mum -115 mum -2.41 m 435 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 793 mum 431 mum -2.4 m 265 keV 170 keV 7.36 mm 7.36 mm TargetPV compt + 2 995 mum 700 mum -2.4 m 0 eV 265 keV 339 mum 7.7 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -28.6 mum -16.2 mum -2.41 m 16.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 765 mum -89.8 mum -2.4 m 0 eV 0 eV 6.51 mm 6.51 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 169, Parent ID = 154 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 765 mum -89.8 mum -2.4 m 9.46 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 452 mum 715 mum -2.4 m 7.49 MeV 1.96 MeV 1.72 mm 1.72 mm TargetPV eIoni + 2 324 mum 1.05 mm -2.4 m 5.13 MeV 2.36 MeV 1.45 mm 3.17 mm TargetPV eIoni + 3 65.5 mum 1.28 mm -2.4 m 4.35 MeV 783 keV 796 mum 3.96 mm TrackerTransportation + 4 -18.3 cm 9.91 cm -1.9 m 4.24 MeV 93.2 keV 54 cm 54.3 cm Tracker eIoni + 5 -23.4 cm 14.9 cm -1.73 m 4.18 MeV 31.9 keV 18.5 cm 72.8 cm Tracker eIoni + 6 -27 cm 22.1 cm -1.59 m 4.14 MeV 27.6 keV 16.6 cm 89.5 cm Tracker eIoni + 7 -29.3 cm 25.4 cm -1.5 m 4.11 MeV 13.3 keV 9.37 cm 98.8 cm Tracker eIoni + 8 -35.7 cm 39 cm -1.16 m 4.01 MeV 64.8 keV 37.8 cm 1.37 m Tracker eIoni + 9 -42.1 cm 53.1 cm -80 cm 3.94 MeV 71.8 keV 39 cm 1.76 m ChamberTransportation + 10 -48.2 cm 57.2 cm -60 cm 3.85 MeV 81.1 keV 22.3 cm 1.98 m TrackerTransportation + 11 -86 cm 49.4 cm 0.0456 fm 3.73 MeV 115 keV 71.9 cm 2.7 m ChamberTransportation + 12 -94.7 cm 45.7 cm 20 cm 3.61 MeV 95.8 keV 23.3 cm 2.93 m TrackerTransportation + 13 -1.15 m 37.7 cm 51.2 cm 3.54 MeV 62.7 keV 38.1 cm 3.31 m Tracker eIoni + 14 -1.46 m 30.2 cm 80 cm 3.46 MeV 77.7 keV 43.2 cm 3.75 m ChamberTransportation + 15 -1.48 m 30.1 cm 82.3 cm 3.28 MeV 39.1 keV 3.06 cm 3.78 m Chamber eIoni + 16 -1.54 m 29.9 cm 89.1 cm 3.23 MeV 47.2 keV 9 cm 3.87 m TrackerTransportation + 17 -1.59 m 31.9 cm 97.1 cm 3.17 MeV 12.8 keV 9.96 cm 3.97 m Tracker eIoni + 18 -1.8 m 38.7 cm 1.21 m 3.11 MeV 53.4 keV 32.4 cm 4.29 m Tracker eIoni + 19 -2.4 m 72.5 cm 2.11 m 2.92 MeV 186 keV 1.15 m 5.44 m WorldPVTransportation + 20 -2.91 m 89.6 cm 2.43 m 2.81 MeV 112 keV 63.3 cm 6.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.93 m 46 cm 1.41 m 7.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.93 m 46 cm 1.41 m 2.53 keV 4.76 keV 565 mum 565 mum Tracker eIoni + 2 -1.93 m 46 cm 1.41 m 585 eV 1.94 keV 230 mum 795 mum Tracker eIoni + 3 -1.93 m 46 cm 1.41 m 0 eV 585 eV 32.7 mum 828 mum Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 m 38.7 cm 1.21 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.8 m 38.7 cm 1.21 m 8.74 keV 1.4 keV 780 mum 780 mum Tracker eIoni + 2 -1.8 m 38.6 cm 1.21 m 6.8 keV 1.94 keV 669 mum 1.45 mm Tracker eIoni + 3 -1.8 m 38.7 cm 1.21 m 3.92 keV 2.88 keV 531 mum 1.98 mm Tracker eIoni + 4 -1.8 m 38.6 cm 1.21 m 1.85 keV 2.07 keV 347 mum 2.33 mm Tracker eIoni + 5 -1.8 m 38.6 cm 1.21 m 0 eV 1.85 keV 145 mum 2.47 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 m 31.9 cm 97.1 cm 47.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.59 m 31.7 cm 97.7 cm 33.5 keV 3.73 keV 6.47 mm 6.47 mm Tracker eIoni + 2 -1.59 m 31.4 cm 97.9 cm 31.8 keV 1.73 keV 4.27 mm 1.07 cm Tracker eIoni + 3 -1.59 m 31.1 cm 98.1 cm 28.2 keV 3.6 keV 3.91 mm 1.46 cm Tracker eIoni + 4 -1.59 m 30.8 cm 98.1 cm 25.1 keV 3.13 keV 3.21 mm 1.79 cm Tracker eIoni + 5 -1.58 m 30.7 cm 98 cm 22 keV 3.09 keV 2.65 mm 2.05 cm Tracker eIoni + 6 -1.58 m 30.6 cm 98.1 cm 19.4 keV 2.54 keV 2.17 mm 2.27 cm Tracker eIoni + 7 -1.58 m 30.5 cm 98.2 cm 16.8 keV 2.69 keV 1.8 mm 2.45 cm Tracker eIoni + 8 -1.58 m 30.6 cm 98.3 cm 14.8 keV 1.94 keV 1.45 mm 2.59 cm Tracker eIoni + 9 -1.58 m 30.5 cm 98.3 cm 13.3 keV 1.52 keV 1.23 mm 2.72 cm Tracker eIoni + 10 -1.58 m 30.4 cm 98.4 cm 11.4 keV 1.91 keV 1.07 mm 2.82 cm Tracker eIoni + 11 -1.58 m 30.4 cm 98.4 cm 6.95 keV 4.45 keV 890 mum 2.91 cm Tracker eIoni + 12 -1.58 m 30.4 cm 98.4 cm 4.61 keV 2.34 keV 540 mum 2.97 cm Tracker eIoni + 13 -1.58 m 30.4 cm 98.5 cm 3.46 keV 1.15 keV 392 mum 3.01 cm Tracker eIoni + 14 -1.58 m 30.4 cm 98.5 cm 2.08 keV 1.38 keV 314 mum 3.04 cm Tracker eIoni + 15 -1.58 m 30.4 cm 98.5 cm 0 eV 2.08 keV 173 mum 3.05 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 179 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 m 31.7 cm 97.7 cm 9.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.59 m 31.7 cm 97.7 cm 8.89 keV 915 eV 752 mum 752 mum Tracker eIoni + 2 -1.59 m 31.7 cm 97.8 cm 5.84 keV 3.05 keV 681 mum 1.43 mm Tracker eIoni + 3 -1.59 m 31.7 cm 97.8 cm 4.37 keV 1.46 keV 469 mum 1.9 mm Tracker eIoni + 4 -1.59 m 31.7 cm 97.8 cm 3.33 keV 1.04 keV 377 mum 2.28 mm Tracker eIoni + 5 -1.59 m 31.7 cm 97.8 cm 1.78 keV 1.55 keV 304 mum 2.58 mm Tracker eIoni + 6 -1.59 m 31.7 cm 97.8 cm 0 eV 1.78 keV 136 mum 2.72 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.48 m 30.1 cm 82.3 cm 140 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.48 m 30.7 cm 83.4 cm 111 keV 29 keV 1.83 cm 1.83 cm Chamber eIoni + 2 -1.47 m 30.8 cm 83.3 cm 100 keV 10.6 keV 1.25 cm 3.08 cm Chamber eIoni + 3 -1.47 m 31.1 cm 83.1 cm 86.5 keV 13.9 keV 1.07 cm 4.15 cm Chamber eIoni + 4 -1.46 m 31.4 cm 83.1 cm 78.4 keV 8.11 keV 8.42 mm 4.99 cm Chamber eIoni + 5 -1.46 m 31.9 cm 83.1 cm 67.2 keV 11.2 keV 7.2 mm 5.71 cm Chamber eIoni + 6 -1.46 m 32.1 cm 83.3 cm 61.3 keV 5.88 keV 5.65 mm 6.28 cm Chamber eIoni + 7 -1.46 m 32 cm 83.1 cm 52.4 keV 8.93 keV 4.89 mm 6.77 cm Chamber eIoni + 8 -1.46 m 31.8 cm 83.2 cm 49.5 keV 2.86 keV 3.83 mm 7.15 cm Chamber eIoni + 9 -1.46 m 31.5 cm 83.1 cm 37.1 keV 12.5 keV 3.53 mm 7.5 cm Chamber eIoni + 10 -1.46 m 31.4 cm 83 cm 29.3 keV 7.78 keV 2.3 mm 7.73 cm Chamber eIoni + 11 -1.46 m 31.5 cm 83.1 cm 26.7 keV 2.62 keV 1.66 mm 7.9 cm Chamber eIoni + 12 -1.46 m 31.5 cm 83.1 cm 20.8 keV 5.83 keV 1.47 mm 8.04 cm Chamber eIoni + 13 -1.46 m 31.5 cm 83.1 cm 17.3 keV 3.55 keV 1.08 mm 8.15 cm Chamber eIoni + 14 -1.46 m 31.5 cm 83.1 cm 14.1 keV 3.2 keV 874 mum 8.24 cm Chamber eIoni + 15 -1.46 m 31.5 cm 83.1 cm 11.6 keV 2.45 keV 712 mum 8.31 cm Chamber eIoni + 16 -1.46 m 31.5 cm 83.1 cm 8.31 keV 3.33 keV 600 mum 8.37 cm Chamber eIoni + 17 -1.46 m 31.5 cm 83.1 cm 5.52 keV 2.78 keV 463 mum 8.42 cm Chamber eIoni + 18 -1.46 m 31.5 cm 83.1 cm 1.59 keV 3.93 keV 352 mum 8.45 cm Chamber eIoni + 19 -1.46 m 31.5 cm 83.1 cm 0 eV 1.59 keV 85.5 mum 8.46 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.15 m 37.7 cm 51.2 cm 9.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.15 m 37.7 cm 51.1 cm 7.07 keV 2.23 keV 713 mum 713 mum Tracker eIoni + 2 -1.15 m 37.6 cm 51.1 cm 6.06 keV 1 keV 549 mum 1.26 mm Tracker eIoni + 3 -1.15 m 37.6 cm 51.1 cm 2.65 keV 3.41 keV 484 mum 1.75 mm Tracker eIoni + 4 -1.15 m 37.6 cm 51.1 cm 0 eV 2.65 keV 244 mum 1.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.6 cm 48.8 cm 3.59 cm 25.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -87.6 cm 48.8 cm 3.65 cm 23.7 keV 1.86 keV 1.39 mm 1.39 mm Chamber eIoni + 2 -87.6 cm 48.8 cm 3.65 cm 16 keV 7.7 keV 1.26 mm 2.65 mm Chamber eIoni + 3 -87.6 cm 48.8 cm 3.63 cm 13.6 keV 2.41 keV 810 mum 3.46 mm Chamber eIoni + 4 -87.6 cm 48.8 cm 3.59 cm 10.9 keV 2.67 keV 690 mum 4.15 mm Chamber eIoni + 5 -87.6 cm 48.8 cm 3.57 cm 9.64 keV 1.3 keV 571 mum 4.72 mm Chamber eIoni + 6 -87.6 cm 48.8 cm 3.6 cm 8.08 keV 1.56 keV 516 mum 5.24 mm Chamber eIoni + 7 -87.6 cm 48.7 cm 3.6 cm 5.25 keV 2.83 keV 454 mum 5.69 mm Chamber eIoni + 8 -87.6 cm 48.7 cm 3.62 cm 2.84 keV 2.4 keV 340 mum 6.03 mm Chamber eIoni + 9 -87.6 cm 48.7 cm 3.62 cm 0 eV 2.84 keV 191 mum 6.22 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.4 cm 53.3 cm -79 cm 11 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -42.4 cm 53.3 cm -79 cm 8.82 keV 2.17 keV 573 mum 573 mum Chamber eIoni + 2 -42.4 cm 53.3 cm -79.1 cm 5.59 keV 3.24 keV 484 mum 1.06 mm Chamber eIoni + 3 -42.4 cm 53.3 cm -79.1 cm 1.83 keV 3.75 keV 354 mum 1.41 mm Chamber eIoni + 4 -42.4 cm 53.3 cm -79.1 cm 0 eV 1.83 keV 104 mum 1.52 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.7 cm 39 cm -1.16 m 36.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -36 cm 39.3 cm -1.16 m 31.8 keV 5.01 keV 4.97 mm 4.97 mm Tracker eIoni + 2 -36.4 cm 39.2 cm -1.16 m 29.1 keV 2.66 keV 3.9 mm 8.87 mm Tracker eIoni + 3 -36.6 cm 39 cm -1.16 m 25.7 keV 3.46 keV 3.38 mm 1.22 cm Tracker eIoni + 4 -36.8 cm 39 cm -1.16 m 23.4 keV 2.24 keV 2.75 mm 1.5 cm Tracker eIoni + 5 -36.9 cm 38.9 cm -1.16 m 20.5 keV 2.89 keV 2.39 mm 1.74 cm Tracker eIoni + 6 -36.7 cm 38.9 cm -1.16 m 18.9 keV 1.63 keV 1.95 mm 1.93 cm Tracker eIoni + 7 -36.8 cm 38.8 cm -1.16 m 17 keV 1.93 keV 1.73 mm 2.11 cm Tracker eIoni + 8 -36.7 cm 38.8 cm -1.17 m 15.1 keV 1.88 keV 1.48 mm 2.25 cm Tracker eIoni + 9 -36.6 cm 38.8 cm -1.17 m 11 keV 4.1 keV 1.26 mm 2.38 cm Tracker eIoni + 10 -36.6 cm 38.8 cm -1.17 m 9.61 keV 1.37 keV 854 mum 2.47 cm Tracker eIoni + 11 -36.6 cm 38.8 cm -1.17 m 6.81 keV 2.8 keV 737 mum 2.54 cm Tracker eIoni + 12 -36.6 cm 38.8 cm -1.17 m 4.55 keV 2.26 keV 532 mum 2.59 cm Tracker eIoni + 13 -36.5 cm 38.8 cm -1.17 m 2.81 keV 1.74 keV 388 mum 2.63 cm Tracker eIoni + 14 -36.5 cm 38.8 cm -1.17 m 1.04 keV 1.77 keV 259 mum 2.66 cm Tracker eIoni + 15 -36.5 cm 38.8 cm -1.17 m 0 eV 1.04 keV 64.6 mum 2.66 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.3 cm 25.4 cm -1.5 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -29.3 cm 25.5 cm -1.5 m 8.83 keV 1.25 keV 775 mum 775 mum Tracker eIoni + 2 -29.3 cm 25.5 cm -1.5 m 5.63 keV 3.2 keV 677 mum 1.45 mm Tracker eIoni + 3 -29.3 cm 25.5 cm -1.5 m 1.97 keV 3.66 keV 456 mum 1.91 mm Tracker eIoni + 4 -29.3 cm 25.5 cm -1.5 m 0 eV 1.97 keV 159 mum 2.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 cm 22.1 cm -1.59 m 17.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -27 cm 22.2 cm -1.59 m 15.9 keV 1.45 keV 1.52 mm 1.52 mm Tracker eIoni + 2 -27 cm 22.3 cm -1.59 m 14.7 keV 1.14 keV 1.35 mm 2.87 mm Tracker eIoni + 3 -27.1 cm 22.4 cm -1.59 m 12.9 keV 1.82 keV 1.22 mm 4.1 mm Tracker eIoni + 4 -27.2 cm 22.5 cm -1.59 m 9.72 keV 3.21 keV 1.04 mm 5.13 mm Tracker eIoni + 5 -27.1 cm 22.4 cm -1.59 m 7.11 keV 2.61 keV 745 mum 5.88 mm Tracker eIoni + 6 -27.1 cm 22.4 cm -1.59 m 5.25 keV 1.86 keV 552 mum 6.43 mm Tracker eIoni + 7 -27.1 cm 22.4 cm -1.59 m 3.89 keV 1.36 keV 432 mum 6.86 mm Tracker eIoni + 8 -27 cm 22.4 cm -1.59 m 544 eV 3.35 keV 345 mum 7.21 mm Tracker eIoni + 9 -27 cm 22.4 cm -1.59 m 0 eV 544 eV 30.2 mum 7.24 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.4 cm 14.9 cm -1.73 m 31.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -23.5 cm 14.6 cm -1.73 m 27.6 keV 3.67 keV 3.8 mm 3.8 mm Tracker eIoni + 2 -23.3 cm 14.5 cm -1.73 m 16.4 keV 11.2 keV 3.1 mm 6.9 mm Tracker eIoni + 3 -23.2 cm 14.5 cm -1.73 m 15.3 keV 1.16 keV 1.42 mm 8.32 mm Tracker eIoni + 4 -23.3 cm 14.5 cm -1.73 m 13.9 keV 1.34 keV 1.28 mm 9.6 mm Tracker eIoni + 5 -23.3 cm 14.5 cm -1.73 m 9.26 keV 4.69 keV 1.14 mm 1.07 cm Tracker eIoni + 6 -23.3 cm 14.4 cm -1.73 m 5.8 keV 3.45 keV 710 mum 1.15 cm Tracker eIoni + 7 -23.4 cm 14.4 cm -1.73 m 3.95 keV 1.85 keV 466 mum 1.19 cm Tracker eIoni + 8 -23.3 cm 14.4 cm -1.73 m 2.96 keV 996 eV 349 mum 1.23 cm Tracker eIoni + 9 -23.3 cm 14.4 cm -1.73 m 1.46 keV 1.5 keV 273 mum 1.25 cm Tracker eIoni + 10 -23.3 cm 14.4 cm -1.73 m 0 eV 1.46 keV 102 mum 1.26 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.3 cm 9.91 cm -1.9 m 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -18.2 cm 9.89 cm -1.9 m 9.41 keV 1.63 keV 859 mum 859 mum Tracker eIoni + 2 -18.2 cm 9.9 cm -1.9 m 8.04 keV 1.38 keV 722 mum 1.58 mm Tracker eIoni + 3 -18.1 cm 9.86 cm -1.9 m 6.33 keV 1.71 keV 617 mum 2.2 mm Tracker eIoni + 4 -18.1 cm 9.83 cm -1.9 m 4.99 keV 1.34 keV 501 mum 2.7 mm Tracker eIoni + 5 -18.1 cm 9.82 cm -1.9 m 2.41 keV 2.59 keV 416 mum 3.12 mm Tracker eIoni + 6 -18.1 cm 9.83 cm -1.9 m 0 eV 2.41 keV 215 mum 3.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 154 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 765 mum -89.8 mum -2.4 m 5.77 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 624 mum -154 mum -2.4 m 4.29 MeV 888 keV 794 mum 794 mum TargetPV eBrem + 2 1.33 mm -234 mum -2.4 m 3.08 MeV 1.21 MeV 959 mum 1.75 mm TargetPV eIoni + 3 1.72 mm 68.4 mum -2.4 m 2.27 MeV 814 keV 776 mum 2.53 mm TargetPV eIoni + 4 1.83 mm 163 mum -2.4 m 1.61 MeV 659 keV 645 mum 3.18 mm TargetPV eIoni + 5 1.8 mm 335 mum -2.4 m 992 keV 259 keV 273 mum 3.45 mm TargetPV eBrem + 6 1.75 mm 433 mum -2.4 m 194 keV 312 keV 316 mum 3.76 mm TargetPV eBrem + 7 1.75 mm 439 mum -2.4 m 0 eV 194 keV 76.6 mum 3.84 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.75 mm 433 mum -2.4 m 486 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.88 mm 4.58 mm -2.4 m 0 eV 486 keV 4.99 mm 4.99 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.8 mm 335 mum -2.4 m 359 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.57 mm 1.41 mm -2.4 m 0 eV 359 keV 2.05 mm 2.05 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 183, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 624 mum -154 mum -2.4 m 589 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.59 mm -3.27 mm -2.4 m 205 keV 384 keV 4.47 mm 4.47 mm TargetPV compt + 2 3.51 mm -2.8 mm -2.4 m 0 eV 205 keV 993 mum 5.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.2 mum -16.9 mum -2.41 m 761 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.04 mm 181 mum -2.4 m 0 eV 761 keV 8.49 mm 8.49 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.4 mum -17.3 mum -2.41 m 8.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 254 mum -380 mum -2.4 m 8.9 MeV 0 eV 1 cm 1 cm TrackerTransportation + 2 2.4 cm -2.93 cm -1.6 m 8.9 MeV 0 eV 80.1 cm 81.1 cm ChamberTransportation + 3 2.99 cm -3.66 cm -1.4 m 8.9 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 4.77 cm -5.83 cm -80 cm 8.9 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 5.37 cm -6.55 cm -60 cm 8.9 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 7.15 cm -8.72 cm 0 fm 8.9 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 7.74 cm -9.44 cm 20 cm 8.9 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 9.52 cm -11.6 cm 80 cm 8.9 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 10.1 cm -12.3 cm 1 m 8.9 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 11.9 cm -14.5 cm 1.6 m 8.9 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 12.5 cm -15.2 cm 1.8 m 8.9 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 14.3 cm -17.4 cm 2.4 m 8.9 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 15.8 cm -19.2 cm 2.91 m 8.9 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.6 mum -16.7 mum -2.41 m 631 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 130 mum -453 mum -2.4 m 631 keV 0 eV 1.01 cm 1.01 cm TrackerTransportation + 2 1.4 cm -3.52 cm -1.6 m 631 keV 0 eV 80.1 cm 81.1 cm ChamberTransportation + 3 1.74 cm -4.39 cm -1.4 m 631 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.78 cm -6.99 cm -80 cm 631 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 3.13 cm -7.86 cm -60 cm 631 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 4.16 cm -10.5 cm 0 fm 631 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 4.51 cm -11.3 cm 20 cm 631 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 5.55 cm -13.9 cm 80 cm 631 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 5.89 cm -14.8 cm 1 m 631 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 6.93 cm -17.4 cm 1.6 m 631 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 7.28 cm -18.3 cm 1.8 m 631 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 8.31 cm -20.9 cm 2.4 m 631 keV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 9.2 cm -23.1 cm 2.91 m 631 keV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 150, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.7 mum -15.7 mum -2.41 m 903 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -257 mum -162 mum -2.4 m 408 keV 496 keV 9.21 mm 9.21 mm TargetPV compt + 2 -705 mum 2.39 mm -2.4 m 408 keV 0 eV 2.74 mm 1.2 cm TrackerTransportation + 3 -42.1 cm 2.4 m -1.57 m 408 keV 0 eV 2.57 m 2.58 m WorldPVTransportation + 4 -51.1 cm 2.91 m -1.39 m 408 keV 0 eV 54.7 cm 3.13 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 108 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.9 mum -15.8 mum -2.41 m 40.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 354 mum 137 mum -2.41 m 36.6 MeV 3.16 MeV 2.42 mm 2.42 mm TargetPV eBrem + 2 469 mum 129 mum -2.41 m 35.3 MeV 904 keV 596 mum 3.01 mm TargetPV eBrem + 3 103 mum -1.29 mm -2.4 m 25 MeV 10.3 MeV 4.95 mm 7.96 mm TargetPV eIoni + 4 17.1 mum -1.36 mm -2.4 m 6.72 MeV 17.1 MeV 1.46 mm 9.42 mm TargetPV eBrem + 5 -249 mum -1.99 mm -2.4 m 5.23 MeV 1.49 MeV 1.31 mm 1.07 cm TargetPV eIoni + 6 -224 mum -2.71 mm -2.4 m 3.98 MeV 1.25 MeV 1.1 mm 1.18 cm TargetPV eIoni + 7 -278 mum -2.71 mm -2.4 m 2.95 MeV 1.03 MeV 913 mum 1.27 cm TargetPV eIoni + 8 -579 mum -3.02 mm -2.4 m 2.19 MeV 762 keV 755 mum 1.35 cm TargetPV eIoni + 9 -363 mum -3.11 mm -2.4 m 1.55 MeV 635 keV 632 mum 1.41 cm TargetPV eIoni + 10 -258 mum -3.17 mm -2.4 m 1.07 MeV 487 keV 522 mum 1.46 cm TargetPV eIoni + 11 -330 mum -3.12 mm -2.4 m 589 keV 478 keV 428 mum 1.51 cm TargetPV eIoni + 12 -351 mum -3.18 mm -2.4 m 187 keV 402 keV 304 mum 1.54 cm TargetPV eIoni + 13 -355 mum -3.18 mm -2.4 m 0 eV 187 keV 72.9 mum 1.54 cm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 188, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.1 mum -1.36 mm -2.4 m 1.25 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -595 mum -2.51 mm -2.4 m 1.25 MeV 0 eV 1.62 mm 1.62 mm TrackerTransportation + 2 -1.27 m -2.4 m -42.6 cm 1.25 MeV 0 eV 3.35 m 3.36 m WorldPVTransportation + 3 -1.54 m -2.91 m -6.58 mm 1.25 MeV 0 eV 71.3 cm 4.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 469 mum 129 mum -2.41 m 342 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 259 mum 784 mum -2.4 m 0 eV 342 keV 5.71 mm 5.71 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 354 mum 137 mum -2.41 m 362 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 812 mum 342 mum -2.4 m 0 eV 362 keV 3.02 mm 3.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.8 mum -7.95 mum -2.41 m 520 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64 mum -25.8 mum -2.41 m 0 eV 0 eV 7.03 mm 7.03 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 190, Parent ID = 107 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64 mum -25.8 mum -2.41 m 201 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.8 mum -26 mum -2.41 m 200 MeV 220 keV 51.9 mum 51.9 mum TargetPV eBrem + 2 -67.3 mum -25.8 mum -2.41 m 198 MeV 435 keV 102 mum 154 mum TargetPV eBrem + 3 -65.6 mum -32.9 mum -2.4 m 196 MeV 1.77 MeV 983 mum 1.14 mm TargetPV eBrem + 4 -89.4 mum -75.6 mum -2.4 m 184 MeV 714 keV 649 mum 1.79 mm TargetPV eBrem + 5 -91.1 mum -77.2 mum -2.4 m 183 MeV 309 keV 207 mum 1.99 mm TargetPV eBrem + 6 -92.5 mum -81.2 mum -2.4 m 181 MeV 103 keV 93.5 mum 2.09 mm TargetPV eBrem + 7 -118 mum -148 mum -2.4 m 179 MeV 1.51 MeV 1.06 mm 3.14 mm TargetPV eBrem + 8 -159 mum -194 mum -2.4 m 70.8 MeV 965 keV 766 mum 3.91 mm TargetPV eBrem + 9 -165 mum -228 mum -2.4 m 63.8 MeV 712 keV 386 mum 4.29 mm TargetPV eBrem + 10 -295 mum -328 mum -2.4 m 62.1 MeV 1.7 MeV 1.14 mm 5.44 mm TrackerTransportation + 11 -3.34 cm -3.37 mm -2.21 m 62.1 MeV 37.1 keV 19.6 cm 20.2 cm Tracker eIoni + 12 -12.8 cm -9.15 mm -1.66 m 61.1 MeV 121 keV 55.7 cm 75.9 cm Tracker eIoni + 13 -13.8 cm -9.29 mm -1.6 m 61.1 MeV 18.9 keV 5.83 cm 81.7 cm ChamberTransportation + 14 -17.1 cm -1.04 cm -1.4 m 60.9 MeV 134 keV 20.3 cm 1.02 m TrackerTransportation + 15 -27.3 cm -9.32 mm -80 cm 60.8 MeV 133 keV 60.9 cm 1.63 m ChamberTransportation + 16 -30.3 cm -1.09 cm -63.4 cm 60.6 MeV 128 keV 16.9 cm 1.8 m Chamber eIoni + 17 -30.8 cm -1.04 cm -60 cm 60.6 MeV 14.7 keV 3.44 cm 1.83 m TrackerTransportation + 18 -38.1 cm -9.47 mm -8.18 mm 60.4 MeV 126 keV 59.6 cm 2.43 m Tracker eIoni + 19 -38.2 cm -9.34 mm -0.00355 fm 60.4 MeV 1.7 keV 8.25 mm 2.44 m ChamberTransportation + 20 -39.4 cm -7.67 mm 8.1 cm 59.9 MeV 63.5 keV 8.18 cm 2.52 m Chamber eBrem + 21 -40.9 cm -3.36 mm 20 cm 59.8 MeV 58.6 keV 12 cm 2.64 m TrackerTransportation + 22 -47.7 cm 9.8 mm 72.5 cm 59.7 MeV 115 keV 52.9 cm 3.17 m Tracker eIoni + 23 -48.6 cm 1.19 cm 80 cm 59.7 MeV 15.6 keV 7.59 cm 3.24 m ChamberTransportation + 24 -51.1 cm 1.63 cm 1 m 59.5 MeV 132 keV 20.2 cm 3.45 m TrackerTransportation + 25 -59.2 cm 3.32 cm 1.6 m 59.4 MeV 127 keV 60.6 cm 4.05 m ChamberTransportation + 26 -61.8 cm 4.38 cm 1.8 m 59.2 MeV 128 keV 20.2 cm 4.25 m TrackerTransportation + 27 -71.9 cm 9.84 cm 2.4 m 59.1 MeV 136 keV 61.1 cm 4.86 m WorldPVTransportation + 28 -78.6 cm 13.9 cm 2.8 m 59 MeV 91.7 keV 40.5 cm 5.27 m WorldPV eIoni + 29 -79.1 cm 14.2 cm 2.83 m 58.9 MeV 13.3 keV 3.43 cm 5.3 m WorldPV eIoni + 30 -80.4 cm 15.1 cm 2.91 m 58.9 MeV 13.4 keV 8.03 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.1 cm 14.2 cm 2.83 m 34.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -79.3 cm 13.9 cm 2.83 m 30.7 keV 3.5 keV 4.4 mm 4.4 mm WorldPV eIoni + 2 -79.6 cm 13.9 cm 2.83 m 25.1 keV 5.53 keV 3.67 mm 8.07 mm WorldPV eIoni + 3 -79.8 cm 13.8 cm 2.83 m 22.7 keV 2.48 keV 2.66 mm 1.07 cm WorldPV eIoni + 4 -80 cm 13.7 cm 2.83 m 19.5 keV 3.11 keV 2.27 mm 1.3 cm WorldPV eIoni + 5 -80.2 cm 13.7 cm 2.83 m 17.8 keV 1.75 keV 1.81 mm 1.48 cm WorldPV eIoni + 6 -80.3 cm 13.7 cm 2.83 m 15.7 keV 2.12 keV 1.58 mm 1.64 cm WorldPV eIoni + 7 -80.4 cm 13.7 cm 2.83 m 14.3 keV 1.37 keV 1.33 mm 1.77 cm WorldPV eIoni + 8 -80.4 cm 13.7 cm 2.83 m 13 keV 1.26 keV 1.17 mm 1.89 cm WorldPV eIoni + 9 -80.4 cm 13.6 cm 2.83 m 4.42 keV 8.62 keV 1.05 mm 1.99 cm WorldPV eIoni + 10 -80.4 cm 13.6 cm 2.83 m 3.52 keV 896 eV 380 mum 2.03 cm WorldPV eIoni + 11 -80.4 cm 13.6 cm 2.83 m 1.8 keV 1.72 keV 319 mum 2.06 cm WorldPV eIoni + 12 -80.4 cm 13.6 cm 2.83 m 0 eV 1.8 keV 139 mum 2.08 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.6 cm 13.9 cm 2.8 m 33.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -78.2 cm 14 cm 2.8 m 30.1 keV 3.5 keV 4.28 mm 4.28 mm WorldPV eIoni + 2 -78 cm 13.7 cm 2.8 m 25.9 keV 4.18 keV 3.55 mm 7.83 mm WorldPV eIoni + 3 -77.8 cm 13.6 cm 2.8 m 23.9 keV 2 keV 2.79 mm 1.06 cm WorldPV eIoni + 4 -77.8 cm 13.6 cm 2.8 m 17.7 keV 6.17 keV 2.46 mm 1.31 cm WorldPV eIoni + 5 -77.7 cm 13.6 cm 2.8 m 15.3 keV 2.43 keV 1.57 mm 1.47 cm WorldPV eIoni + 6 -77.7 cm 13.7 cm 2.8 m 11.2 keV 4.09 keV 1.29 mm 1.59 cm WorldPV eIoni + 7 -77.7 cm 13.8 cm 2.8 m 9.67 keV 1.55 keV 874 mum 1.68 cm WorldPV eIoni + 8 -77.8 cm 13.8 cm 2.8 m 7.73 keV 1.94 keV 742 mum 1.76 cm WorldPV eIoni + 9 -77.8 cm 13.8 cm 2.8 m 4.9 keV 2.83 keV 596 mum 1.82 cm WorldPV eIoni + 10 -77.8 cm 13.8 cm 2.8 m 3.49 keV 1.41 keV 410 mum 1.86 cm WorldPV eIoni + 11 -77.8 cm 13.8 cm 2.8 m 2.55 keV 944 eV 317 mum 1.89 cm WorldPV eIoni + 12 -77.8 cm 13.8 cm 2.8 m 35.9 eV 2.51 keV 232 mum 1.91 cm WorldPV eIoni + 13 -77.8 cm 13.8 cm 2.8 m 0 eV 35.9 eV 6.03 mum 1.91 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.4 cm 3.42 cm 1.62 m 10.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -59.4 cm 3.4 cm 1.62 m 8.83 keV 1.25 keV 534 mum 534 mum Chamber eIoni + 2 -59.4 cm 3.38 cm 1.62 m 4.43 keV 4.4 keV 484 mum 1.02 mm Chamber eIoni + 3 -59.4 cm 3.39 cm 1.62 m 1.72 keV 2.72 keV 301 mum 1.32 mm Chamber eIoni + 4 -59.4 cm 3.39 cm 1.62 m 0 eV 1.72 keV 95.4 mum 1.41 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.3 cm 1.49 cm 93.6 cm 11.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -50.3 cm 1.48 cm 93.6 cm 10.8 keV 1.15 keV 613 mum 613 mum Chamber eIoni + 2 -50.3 cm 1.49 cm 93.7 cm 9.34 keV 1.44 keV 564 mum 1.18 mm Chamber eIoni + 3 -50.3 cm 1.48 cm 93.6 cm 7.98 keV 1.37 keV 505 mum 1.68 mm Chamber eIoni + 4 -50.3 cm 1.48 cm 93.7 cm 6.81 keV 1.17 keV 450 mum 2.13 mm Chamber eIoni + 5 -50.3 cm 1.5 cm 93.6 cm 5.86 keV 951 eV 404 mum 2.54 mm Chamber eIoni + 6 -50.3 cm 1.51 cm 93.6 cm 4.58 keV 1.28 keV 366 mum 2.9 mm Chamber eIoni + 7 -50.4 cm 1.5 cm 93.6 cm 2.04 keV 2.54 keV 308 mum 3.21 mm Chamber eIoni + 8 -50.4 cm 1.5 cm 93.6 cm 0 eV 2.04 keV 121 mum 3.33 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -47.7 cm 9.8 mm 72.5 cm 19.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -47.7 cm 8.09 mm 72.5 cm 16.4 keV 3.02 keV 1.79 mm 1.79 mm Tracker eIoni + 2 -47.6 cm 7.2 mm 72.4 cm 12.9 keV 3.45 keV 1.41 mm 3.2 mm Tracker eIoni + 3 -47.5 cm 6.53 mm 72.4 cm 10.6 keV 2.3 keV 1.03 mm 4.23 mm Tracker eIoni + 4 -47.5 cm 5.88 mm 72.4 cm 9.33 keV 1.28 keV 821 mum 5.06 mm Tracker eIoni + 5 -47.4 cm 5.45 mm 72.4 cm 8.17 keV 1.16 keV 716 mum 5.77 mm Tracker eIoni + 6 -47.4 cm 5 mm 72.4 cm 7.29 keV 878 eV 626 mum 6.4 mm Tracker eIoni + 7 -47.4 cm 4.56 mm 72.4 cm 5.92 keV 1.37 keV 565 mum 6.96 mm Tracker eIoni + 8 -47.4 cm 4.42 mm 72.4 cm 1.19 keV 4.74 keV 474 mum 7.44 mm Tracker eIoni + 9 -47.4 cm 4.45 mm 72.4 cm 0 eV 1.19 keV 77 mum 7.51 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 205, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.4 cm -7.67 mm 8.1 cm 516 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -41 cm -4.86 mm 20 cm 516 keV 0 eV 12 cm 12 cm TrackerTransportation + 2 -49.3 cm 9.28 mm 80 cm 516 keV 0 eV 60.6 cm 72.6 cm ChamberTransportation + 3 -52 cm 1.4 cm 1 m 516 keV 0 eV 20.2 cm 92.8 cm TrackerTransportation + 4 -60.2 cm 2.81 cm 1.6 m 516 keV 0 eV 60.6 cm 1.53 m ChamberTransportation + 5 -63 cm 3.29 cm 1.8 m 516 keV 0 eV 20.2 cm 1.74 m TrackerTransportation + 6 -71.2 cm 4.7 cm 2.4 m 516 keV 0 eV 60.6 cm 2.34 m WorldPVTransportation + 7 -78.2 cm 5.9 cm 2.91 m 516 keV 0 eV 51.5 cm 2.86 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.1 cm -9.47 mm -8.18 mm 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -38.1 cm -1.02 cm -7.81 mm 9.39 keV 1.62 keV 856 mum 856 mum Tracker eIoni + 2 -38.1 cm -1.06 cm -7.28 mm 7.03 keV 2.36 keV 720 mum 1.58 mm Tracker eIoni + 3 -38.1 cm -1.11 cm -7.13 mm 5.32 keV 1.72 keV 547 mum 2.12 mm Tracker eIoni + 4 -38.1 cm -1.14 cm -7.33 mm 4.6 keV 715 eV 437 mum 2.56 mm Tracker eIoni + 5 -38.1 cm -1.16 cm -7.65 mm 3.93 keV 673 eV 392 mum 2.95 mm Tracker eIoni + 6 -38.1 cm -1.14 cm -7.39 mm 2.36 keV 1.57 keV 347 mum 3.3 mm Tracker eIoni + 7 -38.1 cm -1.13 cm -7.31 mm 0 eV 2.36 keV 209 mum 3.51 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.3 cm -1.09 cm -63.4 cm 74.8 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -30.8 cm -1.14 cm -63.4 cm 62.8 keV 12 keV 6.67 mm 6.67 mm Chamber eIoni + 2 -31.1 cm -1.06 cm -63.6 cm 58.6 keV 4.16 keV 5.07 mm 1.17 cm Chamber eIoni + 3 -30.8 cm -8.94 mm -63.7 cm 52.5 keV 6.18 keV 4.57 mm 1.63 cm Chamber eIoni + 4 -30.7 cm -6.25 mm -63.7 cm 45.7 keV 6.72 keV 3.84 mm 2.02 cm Chamber eIoni + 5 -30.7 cm -6.51 mm -63.4 cm 40.8 keV 4.96 keV 3.13 mm 2.33 cm Chamber eIoni + 6 -30.9 cm -6.71 mm -63.4 cm 34.3 keV 6.46 keV 2.64 mm 2.59 cm Chamber eIoni + 7 -31 cm -6.42 mm -63.5 cm 30.8 keV 3.49 keV 2.06 mm 2.8 cm Chamber eIoni + 8 -31 cm -5.57 mm -63.4 cm 18 keV 12.8 keV 1.77 mm 2.98 cm Chamber eIoni + 9 -30.9 cm -6.01 mm -63.4 cm 15.2 keV 2.82 keV 914 mum 3.07 cm Chamber eIoni + 10 -30.9 cm -5.92 mm -63.4 cm 11.4 keV 3.82 keV 766 mum 3.15 cm Chamber eIoni + 11 -30.9 cm -5.96 mm -63.3 cm 10.1 keV 1.23 keV 588 mum 3.2 cm Chamber eIoni + 12 -30.9 cm -6.06 mm -63.3 cm 3.46 keV 6.67 keV 536 mum 3.26 cm Chamber eIoni + 13 -30.9 cm -6.12 mm -63.3 cm 291 eV 3.17 keV 242 mum 3.28 cm Chamber eIoni + 14 -30.9 cm -6.12 mm -63.3 cm 0 eV 291 eV 13.5 mum 3.28 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 cm -9.41 mm -1.58 m 13.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -14.1 cm -9.19 mm -1.58 m 10.2 keV 3.24 keV 683 mum 683 mum Chamber eIoni + 2 -14.1 cm -9.39 mm -1.58 m 8.38 keV 1.84 keV 540 mum 1.22 mm Chamber eIoni + 3 -14.1 cm -9.46 mm -1.58 m 4.84 keV 3.54 keV 466 mum 1.69 mm Chamber eIoni + 4 -14.1 cm -9.49 mm -1.58 m 157 eV 4.68 keV 321 mum 2.01 mm Chamber eIoni + 5 -14.1 cm -9.49 mm -1.58 m 0 eV 157 eV 9.62 mum 2.02 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.8 cm -9.15 mm -1.66 m 849 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -21.4 cm 1.34 cm -1.6 m 832 keV 17.3 keV 10.7 cm 10.7 cm ChamberTransportation + 2 -24 cm 2.11 cm -1.58 m 812 keV 19.8 keV 4.09 cm 14.8 cm TrackerTransportation + 3 -86 cm 15.8 cm -1.27 m 683 keV 129 keV 72.7 cm 87.5 cm Tracker eIoni + 4 -1.35 m 17.1 cm -1.24 m 533 keV 95.8 keV 51.6 cm 1.39 m Tracker eIoni + 5 -1.67 m 22.3 cm -1.46 m 462 keV 70.7 keV 40.9 cm 1.8 m Tracker eIoni + 6 -1.76 m 24 cm -1.48 m 438 keV 14.4 keV 9.48 cm 1.89 m Tracker eIoni + 7 -2.01 m 30.3 cm -1.34 m 384 keV 53.9 keV 30.8 cm 2.2 m Tracker eIoni + 8 -2.22 m 39.3 cm -1.23 m 339 keV 45.4 keV 25.3 cm 2.46 m Tracker eIoni + 9 -2.26 m 41.8 cm -1.26 m 306 keV 18.8 keV 6.29 cm 2.52 m Tracker eIoni + 10 -2.4 m 44.2 cm -1.35 m 265 keV 40.6 keV 17.9 cm 2.7 m Tracker eIoni + 11 -2.4 m 44.2 cm -1.35 m 264 keV 644 eV 3.41 mm 2.7 m WorldPVTransportation + 12 -2.53 m 41.2 cm -1.4 m 233 keV 31.6 keV 14.2 cm 2.84 m WorldPV eIoni + 13 -2.58 m 42.7 cm -1.31 m 195 keV 38.2 keV 11.6 cm 2.96 m WorldPV eIoni + 14 -2.62 m 36.4 cm -1.27 m 174 keV 20.9 keV 8.66 cm 3.05 m WorldPV eIoni + 15 -2.62 m 35.8 cm -1.26 m 161 keV 2.21 keV 7.84 mm 3.05 m WorldPV eIoni + 16 -2.66 m 31.5 cm -1.25 m 142 keV 19.7 keV 6.35 cm 3.12 m WorldPV eIoni + 17 -2.68 m 27.1 cm -1.26 m 120 keV 21.7 keV 5.11 cm 3.17 m WorldPV eIoni + 18 -2.69 m 26.3 cm -1.26 m 96.9 keV 14.5 keV 1.07 cm 3.18 m WorldPV eIoni + 19 -2.7 m 24.4 cm -1.27 m 87.1 keV 9.84 keV 2.67 cm 3.21 m WorldPV eIoni + 20 -2.72 m 23.5 cm -1.26 m 72.3 keV 14.8 keV 2.21 cm 3.23 m WorldPV eIoni + 21 -2.74 m 23 cm -1.26 m 63.7 keV 8.61 keV 1.6 cm 3.24 m WorldPV eIoni + 22 -2.75 m 22.9 cm -1.25 m 55.9 keV 7.76 keV 1.28 cm 3.26 m WorldPV eIoni + 23 -2.75 m 22.3 cm -1.26 m 50.1 keV 5.85 keV 1.02 cm 3.27 m WorldPV eIoni + 24 -2.76 m 21.8 cm -1.26 m 42.3 keV 7.78 keV 8.45 mm 3.27 m WorldPV eIoni + 25 -2.76 m 21.4 cm -1.26 m 37.4 keV 4.85 keV 6.31 mm 3.28 m WorldPV eIoni + 26 -2.77 m 21.1 cm -1.26 m 33.6 keV 3.88 keV 5.13 mm 3.29 m WorldPV eIoni + 27 -2.77 m 20.7 cm -1.26 m 29.2 keV 4.35 keV 4.28 mm 3.29 m WorldPV eIoni + 28 -2.77 m 20.5 cm -1.26 m 24.4 keV 4.81 keV 3.39 mm 3.29 m WorldPV eIoni + 29 -2.77 m 20.3 cm -1.26 m 21.9 keV 2.47 keV 2.54 mm 3.3 m WorldPV eIoni + 30 -2.77 m 20.1 cm -1.26 m 16.9 keV 5.02 keV 2.16 mm 3.3 m WorldPV eIoni + 31 -2.77 m 20 cm -1.26 m 12.2 keV 4.71 keV 1.47 mm 3.3 m WorldPV eIoni + 32 -2.77 m 20 cm -1.26 m 11 keV 1.21 keV 962 mum 3.3 m WorldPV eIoni + 33 -2.77 m 20 cm -1.26 m 10.2 keV 804 eV 853 mum 3.3 m WorldPV eIoni + 34 -2.77 m 20 cm -1.26 m 7.95 keV 2.22 keV 783 mum 3.3 m WorldPV eIoni + 35 -2.77 m 20 cm -1.26 m 6.64 keV 1.31 keV 611 mum 3.3 m WorldPV eIoni + 36 -2.77 m 20 cm -1.26 m 4.82 keV 1.81 keV 521 mum 3.3 m WorldPV eIoni + 37 -2.77 m 20 cm -1.26 m 3.01 keV 1.82 keV 405 mum 3.3 m WorldPV eIoni + 38 -2.77 m 20 cm -1.26 m 455 eV 2.55 keV 278 mum 3.3 m WorldPV eIoni + 39 -2.77 m 20 cm -1.26 m 0 eV 455 eV 25.4 mum 3.3 m WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.69 m 26.3 cm -1.26 m 8.65 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.69 m 26.3 cm -1.26 m 6.36 keV 2.29 keV 662 mum 662 mum WorldPV eIoni + 2 -2.69 m 26.3 cm -1.26 m 4.96 keV 1.4 keV 503 mum 1.17 mm WorldPV eIoni + 3 -2.69 m 26.3 cm -1.26 m 3.7 keV 1.26 keV 414 mum 1.58 mm WorldPV eIoni + 4 -2.69 m 26.3 cm -1.26 m 2.14 keV 1.55 keV 332 mum 1.91 mm WorldPV eIoni + 5 -2.69 m 26.3 cm -1.26 m 0 eV 2.14 keV 181 mum 2.09 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.62 m 35.8 cm -1.26 m 10.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.62 m 35.7 cm -1.26 m 6.4 keV 3.77 keV 782 mum 782 mum WorldPV eIoni + 2 -2.62 m 35.7 cm -1.26 m 4.5 keV 1.9 keV 505 mum 1.29 mm WorldPV eIoni + 3 -2.62 m 35.7 cm -1.26 m 3.11 keV 1.39 keV 385 mum 1.67 mm WorldPV eIoni + 4 -2.62 m 35.7 cm -1.26 m 237 eV 2.87 keV 286 mum 1.96 mm WorldPV eIoni + 5 -2.62 m 35.7 cm -1.26 m 0 eV 237 eV 15.6 mum 1.97 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.26 m 41.8 cm -1.26 m 14.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.26 m 41.9 cm -1.27 m 11.5 keV 2.98 keV 1.19 mm 1.19 mm Tracker eIoni + 2 -2.26 m 42 cm -1.27 m 8.95 keV 2.54 keV 898 mum 2.09 mm Tracker eIoni + 3 -2.26 m 42 cm -1.27 m 5.25 keV 3.7 keV 686 mum 2.77 mm Tracker eIoni + 4 -2.26 m 42.1 cm -1.27 m 3.49 keV 1.76 keV 433 mum 3.21 mm Tracker eIoni + 5 -2.26 m 42.1 cm -1.27 m 1.67 keV 1.82 keV 316 mum 3.52 mm Tracker eIoni + 6 -2.26 m 42.1 cm -1.27 m 0 eV 1.67 keV 124 mum 3.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.76 m 24 cm -1.48 m 9.63 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m 24 cm -1.48 m 7.87 keV 1.76 keV 739 mum 739 mum Tracker eIoni + 2 -1.76 m 24.1 cm -1.48 m 5.89 keV 1.97 keV 605 mum 1.34 mm Tracker eIoni + 3 -1.76 m 24 cm -1.48 m 5.03 keV 860 eV 472 mum 1.82 mm Tracker eIoni + 4 -1.76 m 24 cm -1.48 m 3.71 keV 1.32 keV 419 mum 2.24 mm Tracker eIoni + 5 -1.76 m 24 cm -1.48 m 1.18 keV 2.53 keV 333 mum 2.57 mm Tracker eIoni + 6 -1.76 m 24 cm -1.48 m 0 eV 1.18 keV 76 mum 2.64 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m 17.1 cm -1.24 m 54.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.35 m 16.4 cm -1.24 m 49 keV 5.42 keV 9.75 mm 9.75 mm Tracker eIoni + 2 -1.35 m 15.7 cm -1.24 m 44.4 keV 4.57 keV 8.14 mm 1.79 cm Tracker eIoni + 3 -1.35 m 15.8 cm -1.24 m 40.8 keV 3.57 keV 6.85 mm 2.47 cm Tracker eIoni + 4 -1.36 m 15.8 cm -1.25 m 36.1 keV 4.72 keV 5.95 mm 3.07 cm Tracker eIoni + 5 -1.36 m 15.4 cm -1.24 m 28.8 keV 7.31 keV 4.81 mm 3.55 cm Tracker eIoni + 6 -1.36 m 15.3 cm -1.25 m 26.1 keV 2.65 keV 3.32 mm 3.88 cm Tracker eIoni + 7 -1.37 m 15.2 cm -1.25 m 22.4 keV 3.75 keV 2.84 mm 4.17 cm Tracker eIoni + 8 -1.37 m 15 cm -1.25 m 17.4 keV 4.98 keV 2.23 mm 4.39 cm Tracker eIoni + 9 -1.37 m 14.9 cm -1.25 m 15.8 keV 1.61 keV 1.53 mm 4.54 cm Tracker eIoni + 10 -1.37 m 14.8 cm -1.25 m 13.4 keV 2.39 keV 1.34 mm 4.68 cm Tracker eIoni + 11 -1.37 m 14.8 cm -1.25 m 11.4 keV 2.01 keV 1.08 mm 4.78 cm Tracker eIoni + 12 -1.37 m 14.7 cm -1.25 m 10.3 keV 1.12 keV 891 mum 4.87 cm Tracker eIoni + 13 -1.37 m 14.6 cm -1.25 m 8.13 keV 2.16 keV 793 mum 4.95 cm Tracker eIoni + 14 -1.37 m 14.6 cm -1.25 m 5.75 keV 2.38 keV 623 mum 5.01 cm Tracker eIoni + 15 -1.37 m 14.5 cm -1.25 m 2.59 keV 3.16 keV 463 mum 5.06 cm Tracker eIoni + 16 -1.37 m 14.5 cm -1.25 m 0 eV 2.59 keV 237 mum 5.08 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.34 cm -3.37 mm -2.21 m 21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.19 cm -2.16 mm -2.21 m 18.4 keV 2.56 keV 2.01 mm 2.01 mm Tracker eIoni + 2 -3.1 cm -831 mum -2.21 m 16.8 keV 1.62 keV 1.67 mm 3.68 mm Tracker eIoni + 3 -3.03 cm -97.5 mum -2.21 m 10.3 keV 6.51 keV 1.46 mm 5.14 mm Tracker eIoni + 4 -3.02 cm 290 mum -2.2 m 8.54 keV 1.76 keV 794 mum 5.93 mm Tracker eIoni + 5 -3.05 cm -279 mum -2.2 m 7.04 keV 1.5 keV 654 mum 6.58 mm Tracker eIoni + 6 -3.07 cm -588 mum -2.2 m 5.68 keV 1.35 keV 547 mum 7.13 mm Tracker eIoni + 7 -3.04 cm -339 mum -2.21 m 3.55 keV 2.13 keV 459 mum 7.59 mm Tracker eIoni + 8 -3.01 cm -254 mum -2.21 m 1.89 keV 1.67 keV 321 mum 7.91 mm Tracker eIoni + 9 -3.02 cm -274 mum -2.2 m 0 eV 1.89 keV 149 mum 8.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -165 mum -228 mum -2.4 m 6.27 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -300 mum -331 mum -2.4 m 6.27 MeV 0 eV 1.14 mm 1.14 mm TrackerTransportation + 2 -9.58 cm -7.36 cm -1.6 m 6.27 MeV 0 eV 80.9 cm 81 cm ChamberTransportation + 3 -12 cm -9.19 cm -1.4 m 6.27 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 -19.1 cm -14.7 cm -80 cm 6.27 MeV 0 eV 60.7 cm 1.62 m ChamberTransportation + 5 -21.5 cm -16.5 cm -60 cm 6.27 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 -28.7 cm -22 cm -0.114 fm 6.27 MeV 0 eV 60.7 cm 2.43 m ChamberTransportation + 7 -31.1 cm -23.9 cm 20 cm 6.27 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 -38.2 cm -29.3 cm 80 cm 6.27 MeV 0 eV 60.7 cm 3.24 m ChamberTransportation + 9 -40.6 cm -31.2 cm 1 m 6.27 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 -47.8 cm -36.7 cm 1.6 m 6.27 MeV 0 eV 60.7 cm 4.05 m ChamberTransportation + 11 -50.2 cm -38.5 cm 1.8 m 6.27 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 -57.4 cm -44 cm 2.4 m 6.27 MeV 0 eV 60.7 cm 4.86 m WorldPVTransportation + 13 -63.4 cm -48.7 cm 2.91 m 6.27 MeV 0 eV 51.6 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 198, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -159 mum -194 mum -2.4 m 107 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -233 mum -295 mum -2.4 m 107 MeV 0 eV 1.51 mm 1.51 mm TrackerTransportation + 2 -3.94 cm -5.41 cm -1.6 m 107 MeV 0 eV 80.3 cm 80.4 cm ChamberTransportation + 3 -4.92 cm -6.76 cm -1.4 m 107 MeV 0 eV 20.1 cm 1 m TrackerTransportation + 4 -7.85 cm -10.8 cm -80 cm 107 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 -8.83 cm -12.1 cm -60 cm 107 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 -11.8 cm -16.2 cm 0 fm 107 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 -12.7 cm -17.5 cm 20 cm 107 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 -15.7 cm -21.6 cm 80 cm 107 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 -16.7 cm -22.9 cm 1 m 107 MeV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 -19.6 cm -26.9 cm 1.6 m 107 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -20.6 cm -28.3 cm 1.8 m 107 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -23.5 cm -32.3 cm 2.4 m 107 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 -26 cm -35.7 cm 2.91 m 107 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -118 mum -148 mum -2.4 m 614 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -159 mum -296 mum -2.4 m 614 keV 0 eV 2.28 mm 2.28 mm TrackerTransportation + 2 -1.48 cm -5.25 cm -1.6 m 614 keV 0 eV 80.2 cm 80.4 cm ChamberTransportation + 3 -1.85 cm -6.55 cm -1.4 m 614 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.95 cm -10.5 cm -80 cm 614 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -3.31 cm -11.8 cm -60 cm 614 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.41 cm -15.7 cm 0 fm 614 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -4.78 cm -17 cm 20 cm 614 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.87 cm -20.9 cm 80 cm 614 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -6.24 cm -22.2 cm 1 m 614 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -7.34 cm -26.1 cm 1.6 m 614 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -7.7 cm -27.4 cm 1.8 m 614 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.8 cm -31.3 cm 2.4 m 614 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -9.74 cm -34.7 cm 2.91 m 614 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -92.5 mum -81.2 mum -2.4 m 2.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -127 mum -211 mum -2.4 m 2.5 MeV 0 eV 3.33 mm 3.33 mm TrackerTransportation + 2 -8.46 mm -3.14 cm -1.6 m 2.5 MeV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -1.05 cm -3.92 cm -1.4 m 2.5 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -1.61 cm -5.98 cm -87.1 cm 416 keV 0 eV 52.9 cm 1.53 m Tracker compt + 5 2.4 m 21.6 cm -89.6 cm 416 keV 0 eV 2.43 m 3.97 m WorldPVTransportation + 6 2.91 m 27.4 cm -90.1 cm 416 keV 0 eV 51.3 cm 4.48 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.61 cm -5.98 cm -87.1 cm 2.08 MeV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.85 cm -6.39 cm -80 cm 2.08 MeV 9.69 keV 7.23 cm 7.23 cm ChamberTransportation + 2 -3.98 cm -10.1 cm -67.8 cm 1.61 MeV 63.1 keV 13.4 cm 20.6 cm Chamber eBrem + 3 -7.02 cm -8.52 cm -63.2 cm 1.48 MeV 24.7 keV 5.87 cm 26.5 cm Chamber eIoni + 4 -9.01 cm -7.8 cm -60 cm 1.46 MeV 13.7 keV 4.02 cm 30.5 cm TrackerTransportation + 5 -41.8 cm -13.6 cm 0 fm 1.35 MeV 115 keV 71.1 cm 1.02 m ChamberTransportation + 6 -51.3 cm -4.17 cm 20 cm 1.16 MeV 165 keV 41.3 cm 1.43 m TrackerTransportation + 7 -17.2 cm -5.31 cm 59.7 cm 1.06 MeV 87.5 keV 53.2 cm 1.96 m Tracker eIoni + 8 3.03 cm 6.63 mm 80 cm 1.02 MeV 40.8 keV 30 cm 2.26 m ChamberTransportation + 9 10.4 cm 3.61 cm 97.9 cm 853 keV 171 keV 33 cm 2.59 m Chamber eIoni + 10 5.86 cm 3.3 cm 84.3 cm 624 keV 136 keV 25.8 cm 2.85 m Chamber eIoni + 11 4.89 cm 1.71 cm 80 cm 580 keV 43.4 keV 6.09 cm 2.91 m TrackerTransportation + 12 -8.95 cm 7.39 cm 40.9 cm 491 keV 89.3 keV 46 cm 3.37 m Tracker eIoni + 13 -32.4 cm 21 cm 22.1 cm 423 keV 67.7 keV 36.3 cm 3.73 m Tracker eIoni + 14 -37 cm 25 cm 20 cm 412 keV 11.3 keV 6.57 cm 3.8 m ChamberTransportation + 15 -35.7 cm 28.4 cm 15.3 cm 364 keV 48.3 keV 9.68 cm 3.89 m Chamber eIoni + 16 -35.9 cm 28.8 cm 11.3 cm 303 keV 60.5 keV 8.07 cm 3.98 m Chamber eIoni + 17 -34.4 cm 32.3 cm 9.12 cm 262 keV 41.3 keV 6.15 cm 4.04 m Chamber eIoni + 18 -34.9 cm 35.7 cm 9.06 cm 217 keV 44.5 keV 4.91 cm 4.09 m Chamber eIoni + 19 -34.7 cm 33.2 cm 8.3 cm 180 keV 36.9 keV 3.68 cm 4.12 m Chamber eIoni + 20 -36.1 cm 34.6 cm 8.74 cm 153 keV 27.3 keV 2.74 cm 4.15 m Chamber eIoni + 21 -36.3 cm 33.5 cm 7.68 cm 139 keV 14.3 keV 2.1 cm 4.17 m Chamber eIoni + 22 -35.7 cm 32.5 cm 6.99 cm 121 keV 17.8 keV 1.8 cm 4.19 m Chamber eIoni + 23 -34.8 cm 32.8 cm 6.59 cm 89.7 keV 31.3 keV 1.44 cm 4.2 m Chamber eIoni + 24 -34.5 cm 32.3 cm 6.35 cm 61.4 keV 28.3 keV 8.89 mm 4.21 m Chamber eIoni + 25 -34.2 cm 32.4 cm 6.17 cm 53.8 keV 7.61 keV 4.9 mm 4.22 m Chamber eIoni + 26 -34.3 cm 32.2 cm 6.31 cm 47.8 keV 5.94 keV 4 mm 4.22 m Chamber eIoni + 27 -34.4 cm 32.2 cm 6.14 cm 44.7 keV 3.17 keV 3.35 mm 4.23 m Chamber eIoni + 28 -34.4 cm 32.1 cm 6.3 cm 42.9 keV 1.8 keV 3.02 mm 4.23 m Chamber eIoni + 29 -34.3 cm 32 cm 6.2 cm 34.3 keV 8.55 keV 2.84 mm 4.23 m Chamber eIoni + 30 -34.4 cm 31.9 cm 6.12 cm 29.6 keV 4.72 keV 2.06 mm 4.23 m Chamber eIoni + 31 -34.4 cm 31.8 cm 6.12 cm 23.2 keV 6.44 keV 1.68 mm 4.23 m Chamber eIoni + 32 -34.3 cm 31.9 cm 6.12 cm 18.8 keV 4.32 keV 1.23 mm 4.24 m Chamber eIoni + 33 -34.4 cm 31.9 cm 6.18 cm 16 keV 2.82 keV 963 mum 4.24 m Chamber eIoni + 34 -34.4 cm 31.9 cm 6.19 cm 15.7 keV 290 eV 810 mum 4.24 m Chamber eIoni + 35 -34.4 cm 31.8 cm 6.21 cm 11.8 keV 3.9 keV 795 mum 4.24 m Chamber eIoni + 36 -34.4 cm 31.8 cm 6.23 cm 10.6 keV 1.22 keV 609 mum 4.24 m Chamber eIoni + 37 -34.4 cm 31.8 cm 6.25 cm 8.99 keV 1.63 keV 557 mum 4.24 m Chamber eIoni + 38 -34.4 cm 31.8 cm 6.24 cm 7.25 keV 1.74 keV 491 mum 4.24 m Chamber eIoni + 39 -34.4 cm 31.8 cm 6.24 cm 240 eV 7.01 keV 422 mum 4.24 m Chamber eIoni + 40 -34.4 cm 31.8 cm 6.24 cm 0 eV 240 eV 12 mum 4.24 m Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.86 cm 3.3 cm 84.3 cm 93.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 5.34 cm 3.73 cm 84.4 cm 80.8 keV 12.3 keV 9.44 mm 9.44 mm Chamber eIoni + 2 4.98 cm 4.09 cm 84.6 cm 73.4 keV 7.34 keV 7.55 mm 1.7 cm Chamber eIoni + 3 4.64 cm 4.4 cm 84.7 cm 61.1 keV 12.4 keV 6.49 mm 2.35 cm Chamber eIoni + 4 4.77 cm 4.11 cm 84.5 cm 53.2 keV 7.9 keV 4.86 mm 2.83 cm Chamber eIoni + 5 4.64 cm 4.23 cm 84.3 cm 46.6 keV 6.55 keV 3.93 mm 3.23 cm Chamber eIoni + 6 4.82 cm 4.09 cm 84.3 cm 42.9 keV 3.69 keV 3.23 mm 3.55 cm Chamber eIoni + 7 4.71 cm 3.92 cm 84.3 cm 31.9 keV 11.1 keV 2.85 mm 3.83 cm Chamber eIoni + 8 4.6 cm 3.9 cm 84.4 cm 29.6 keV 2.27 keV 1.86 mm 4.02 cm Chamber eIoni + 9 4.53 cm 3.95 cm 84.3 cm 28 keV 1.64 keV 1.68 mm 4.19 cm Chamber eIoni + 10 4.57 cm 4.06 cm 84.3 cm 25.4 keV 2.55 keV 1.56 mm 4.34 cm Chamber eIoni + 11 4.59 cm 4 cm 84.2 cm 19.9 keV 5.52 keV 1.37 mm 4.48 cm Chamber eIoni + 12 4.59 cm 4.03 cm 84.3 cm 12 keV 7.9 keV 1.02 mm 4.58 cm Chamber eIoni + 13 4.58 cm 4 cm 84.3 cm 8.67 keV 3.33 keV 615 mum 4.65 cm Chamber eIoni + 14 4.59 cm 3.99 cm 84.3 cm 4.56 keV 4.11 keV 478 mum 4.69 cm Chamber eIoni + 15 4.59 cm 3.99 cm 84.3 cm 560 eV 4 keV 307 mum 4.72 cm Chamber eIoni + 16 4.59 cm 3.99 cm 84.3 cm 0 eV 560 eV 23.8 mum 4.73 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -17.2 cm -5.31 cm 59.7 cm 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -17.1 cm -5.39 cm 59.7 cm 9.66 keV 1.35 keV 856 mum 856 mum Tracker eIoni + 2 -17.1 cm -5.4 cm 59.7 cm 7.26 keV 2.4 keV 741 mum 1.6 mm Tracker eIoni + 3 -17 cm -5.37 cm 59.7 cm 4.94 keV 2.32 keV 563 mum 2.16 mm Tracker eIoni + 4 -17 cm -5.38 cm 59.7 cm 3.87 keV 1.07 keV 413 mum 2.57 mm Tracker eIoni + 5 -17 cm -5.36 cm 59.7 cm 1.34 keV 2.53 keV 343 mum 2.92 mm Tracker eIoni + 6 -17 cm -5.36 cm 59.7 cm 0 eV 1.34 keV 90.3 mum 3.01 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.7 cm -11.6 cm 4.1 cm 9.07 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -43.7 cm -11.6 cm 4.12 cm 5.38 keV 3.69 keV 494 mum 494 mum Chamber eIoni + 2 -43.7 cm -11.6 cm 4.11 cm 3.25 keV 2.13 keV 345 mum 839 mum Chamber eIoni + 3 -43.7 cm -11.7 cm 4.1 cm 1.57 keV 1.68 keV 226 mum 1.07 mm Chamber eIoni + 4 -43.7 cm -11.7 cm 4.1 cm 0 eV 1.57 keV 84.4 mum 1.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -45.6 cm -9.81 cm 8 cm 9.68 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -45.6 cm -9.79 cm 8.01 cm 3.02 keV 6.66 keV 518 mum 518 mum Chamber eIoni + 2 -45.6 cm -9.79 cm 8.01 cm 0 eV 3.02 keV 207 mum 726 mum Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.02 cm -8.52 cm -63.2 cm 107 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -6.47 cm -9.04 cm -62.8 cm 94 keV 13.1 keV 1.18 cm 1.18 cm Chamber eIoni + 2 -6.18 cm -9.36 cm -63.3 cm 86.6 keV 7.45 keV 9.6 mm 2.14 cm Chamber eIoni + 3 -6.51 cm -9.87 cm -63.2 cm 78.3 keV 8.25 keV 8.43 mm 2.99 cm Chamber eIoni + 4 -6.44 cm -10.2 cm -63.6 cm 52.5 keV 25.9 keV 7.18 mm 3.7 cm Chamber eIoni + 5 -6.67 cm -10 cm -63.6 cm 49.2 keV 3.3 keV 3.84 mm 4.09 cm Chamber eIoni + 6 -6.86 cm -10.2 cm -63.7 cm 45.9 keV 3.26 keV 3.5 mm 4.44 cm Chamber eIoni + 7 -6.67 cm -10.2 cm -63.8 cm 41.3 keV 4.66 keV 3.15 mm 4.75 cm Chamber eIoni + 8 -6.71 cm -10.1 cm -63.7 cm 40.1 keV 1.21 keV 2.69 mm 5.02 cm Chamber eIoni + 9 -6.81 cm -9.99 cm -63.8 cm 37.5 keV 2.54 keV 2.58 mm 5.28 cm Chamber eIoni + 10 -6.77 cm -10 cm -63.7 cm 34.6 keV 2.96 keV 2.34 mm 5.51 cm Chamber eIoni + 11 -6.81 cm -10 cm -63.8 cm 0 eV 34.6 keV 2.08 mm 5.72 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 217, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.98 cm -10.1 cm -67.8 cm 405 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -2.19 cm -8.94 cm -60 cm 405 keV 0 eV 8.04 cm 8.04 cm TrackerTransportation + 2 11.6 cm 523 mum 0 fm 405 keV 0 eV 62.2 cm 70.3 cm ChamberTransportation + 3 16.3 cm 3.05 cm 20 cm 405 keV 0 eV 20.7 cm 91 cm TrackerTransportation + 4 30.1 cm 12 cm 80 cm 405 keV 0 eV 62.2 cm 1.53 m ChamberTransportation + 5 34.7 cm 15 cm 1 m 405 keV 0 eV 20.7 cm 1.74 m TrackerTransportation + 6 48.6 cm 24 cm 1.6 m 405 keV 0 eV 62.2 cm 2.36 m ChamberTransportation + 7 53.2 cm 27 cm 1.8 m 405 keV 0 eV 20.7 cm 2.57 m TrackerTransportation + 8 67 cm 36 cm 2.4 m 405 keV 0 eV 62.2 cm 3.19 m WorldPVTransportation + 9 78.8 cm 43.6 cm 2.91 m 405 keV 0 eV 52.9 cm 3.72 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 195, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -91.1 mum -77.2 mum -2.4 m 492 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -91.2 mum -214 mum -2.4 m 492 keV 0 eV 3.42 mm 3.42 mm TrackerTransportation + 2 -127 mum -3.22 cm -1.6 m 492 keV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -135 mum -4.02 cm -1.4 m 492 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -162 mum -6.42 cm -80 cm 492 keV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -171 mum -7.22 cm -60 cm 492 keV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -197 mum -9.62 cm 0.114 fm 492 keV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -206 mum -10.4 cm 20 cm 492 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -233 mum -12.8 cm 80 cm 492 keV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -242 mum -13.6 cm 1 m 492 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -268 mum -16 cm 1.6 m 492 keV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -277 mum -16.8 cm 1.8 m 492 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -304 mum -19.2 cm 2.4 m 492 keV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -326 mum -21.3 cm 2.91 m 492 keV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.4 mum -75.6 mum -2.4 m 10.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -189 mum -59.3 mum -2.4 m 10.8 MeV 0 eV 3.63 mm 3.63 mm TrackerTransportation + 2 -2.21 cm 3.53 mm -1.6 m 10.8 MeV 0 eV 80 cm 80.4 cm ChamberTransportation + 3 -2.76 cm 4.42 mm -1.4 m 10.8 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -4.41 cm 7.11 mm -80 cm 10.8 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -4.96 cm 8.01 mm -60 cm 10.8 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -6.6 cm 1.07 cm 0 fm 10.8 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -7.15 cm 1.16 cm 20 cm 10.8 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -8.8 cm 1.43 cm 80 cm 10.8 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -9.34 cm 1.52 cm 1 m 10.8 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -11 cm 1.79 cm 1.6 m 10.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -11.5 cm 1.88 cm 1.8 m 10.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -13.2 cm 2.15 cm 2.4 m 10.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -14.6 cm 2.37 cm 2.91 m 10.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65.6 mum -32.9 mum -2.4 m 767 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -171 mum -243 mum -2.4 m 767 keV 0 eV 4.28 mm 4.28 mm TrackerTransportation + 2 -2 cm -3.96 cm -1.6 m 767 keV 0 eV 80.1 cm 80.5 cm ChamberTransportation + 3 -2.49 cm -4.94 cm -1.4 m 767 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -3.98 cm -7.89 cm -80 cm 767 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -4.48 cm -8.88 cm -60 cm 767 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -5.96 cm -11.8 cm 0 fm 767 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -6.46 cm -12.8 cm 20 cm 767 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -7.94 cm -15.8 cm 80 cm 767 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -8.44 cm -16.7 cm 1 m 767 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -9.93 cm -19.7 cm 1.6 m 767 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -10.4 cm -20.7 cm 1.8 m 767 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -11.9 cm -23.6 cm 2.4 m 767 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -13.2 cm -26.1 cm 2.91 m 767 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -67.3 mum -25.8 mum -2.41 m 1.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -183 mum -98.7 mum -2.4 m 1.09 MeV 0 eV 5.26 mm 5.26 mm TrackerTransportation + 2 -1.78 cm -1.12 cm -1.6 m 1.09 MeV 0 eV 80 cm 80.6 cm ChamberTransportation + 3 -2.22 cm -1.4 cm -1.4 m 1.09 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -3.53 cm -2.23 cm -80 cm 1.09 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.97 cm -2.51 cm -60 cm 1.09 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -5.29 cm -3.34 cm 0 fm 1.09 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -5.73 cm -3.62 cm 20 cm 1.09 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -7.05 cm -4.45 cm 80 cm 1.09 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -7.49 cm -4.73 cm 1 m 1.09 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -8.81 cm -5.56 cm 1.6 m 1.09 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -9.25 cm -5.84 cm 1.8 m 1.09 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -10.6 cm -6.67 cm 2.4 m 1.09 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -11.7 cm -7.38 cm 2.91 m 1.09 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.8 mum -26 mum -2.41 m 542 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -121 mum -23.9 mum -2.4 m 192 keV 351 keV 2.51 mm 2.51 mm TargetPV compt + 2 -869 mum 43.1 mum -2.4 m 0 eV 192 keV 1.11 mm 3.62 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 107 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64 mum -25.8 mum -2.41 m 318 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.2 mum -25.9 mum -2.41 m 309 MeV 42.4 keV 35.3 mum 35.3 mum TargetPV eBrem + 2 -80.4 mum -34.1 mum -2.4 m 277 MeV 1.03 MeV 735 mum 770 mum TargetPV eBrem + 3 -83.2 mum -22 mum -2.4 m 270 MeV 583 keV 461 mum 1.23 mm TargetPV eBrem + 4 -87.9 mum -6.42 mum -2.4 m 138 MeV 1.2 MeV 762 mum 1.99 mm TargetPV eBrem + 5 -94.7 mum -300 nm -2.4 m 80.1 MeV 454 keV 364 mum 2.36 mm TargetPV eBrem + 6 -41.8 mum 43.9 mum -2.4 m 77.5 MeV 944 keV 681 mum 3.04 mm TargetPV eBrem + 7 53.4 mum 143 mum -2.4 m 51.4 MeV 1.36 MeV 1.01 mm 4.05 mm TargetPV eBrem + 8 64.8 mum 145 mum -2.4 m 45.8 MeV 62.7 keV 66.2 mum 4.12 mm TargetPV eBrem + 9 65.7 mum 145 mum -2.4 m 45.3 MeV 7.77 keV 8.33 mum 4.13 mm TargetPV eBrem + 10 83.5 mum 240 mum -2.4 m 42.5 MeV 2.1 MeV 1.04 mm 5.17 mm TargetPV eBrem + 11 110 mum 210 mum -2.4 m 42 MeV 515 keV 269 mum 5.44 mm TrackerTransportation + 12 5.56 cm -6.3 cm -1.98 m 41.9 MeV 87 keV 42.7 cm 43.3 cm Tracker eIoni + 13 10.6 cm -11.5 cm -1.6 m 41.8 MeV 80.9 keV 38.8 cm 82.1 cm ChamberTransportation + 14 13.2 cm -13.9 cm -1.44 m 41.7 MeV 104 keV 16.4 cm 98.4 cm Chamber eBrem + 15 13.8 cm -14.5 cm -1.4 m 41.7 MeV 11.9 keV 4.1 cm 1.03 m TrackerTransportation + 16 23 cm -23 cm -80 cm 41.5 MeV 134 keV 61.3 cm 1.64 m ChamberTransportation + 17 24.8 cm -24.9 cm -65.4 cm 41.5 MeV 67.2 keV 14.9 cm 1.79 m Chamber eBrem + 18 25.5 cm -26.1 cm -60 cm 41.4 MeV 41.1 keV 5.53 cm 1.84 m TrackerTransportation + 19 31.4 cm -38 cm 0.0241 fm 41.3 MeV 127 keV 61.5 cm 2.46 m ChamberTransportation + 20 32.6 cm -41.6 cm 17.6 cm 40.9 MeV 108 keV 18 cm 2.64 m Chamber eIoni + 21 32.8 cm -42.3 cm 20 cm 40.9 MeV 17.1 keV 2.46 cm 2.66 m TrackerTransportation + 22 37 cm -59 cm 80 cm 40.8 MeV 131 keV 62.4 cm 3.29 m ChamberTransportation + 23 38.4 cm -64.5 cm 1 m 40.7 MeV 89.2 keV 20.8 cm 3.49 m TrackerTransportation + 24 44.3 cm -83 cm 1.6 m 40.5 MeV 134 keV 63.1 cm 4.13 m ChamberTransportation + 25 46.3 cm -89.5 cm 1.8 m 40.4 MeV 102 keV 21.1 cm 4.34 m TrackerTransportation + 26 51.7 cm -1.12 m 2.37 m 40.3 MeV 122 keV 61.8 cm 4.95 m Tracker eIoni + 27 52 cm -1.13 m 2.4 m 40.3 MeV 5.62 keV 2.79 cm 4.98 m WorldPVTransportation + 28 57.7 cm -1.32 m 2.91 m 40.1 MeV 117 keV 54.8 cm 5.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.7 cm -1.12 m 2.37 m 17.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.6 cm -1.12 m 2.37 m 14.4 keV 3.46 keV 1.59 mm 1.59 mm Tracker eIoni + 2 51.6 cm -1.12 m 2.38 m 6.1 keV 8.27 keV 1.18 mm 2.77 mm Tracker eIoni + 3 51.6 cm -1.12 m 2.38 m 3.31 keV 2.8 keV 486 mum 3.25 mm Tracker eIoni + 4 51.6 cm -1.12 m 2.38 m 1.79 keV 1.51 keV 302 mum 3.55 mm Tracker eIoni + 5 51.6 cm -1.12 m 2.38 m 0 eV 1.79 keV 138 mum 3.69 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.1 cm -88.7 cm 1.78 m 31.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 46 cm -88.7 cm 1.78 m 29.2 keV 2.7 keV 1.87 mm 1.87 mm Chamber eIoni + 2 45.9 cm -88.8 cm 1.77 m 27.9 keV 1.31 keV 1.65 mm 3.52 mm Chamber eIoni + 3 45.8 cm -88.9 cm 1.78 m 18.3 keV 9.62 keV 1.56 mm 5.08 mm Chamber eIoni + 4 45.8 cm -88.9 cm 1.78 m 15.2 keV 3.09 keV 931 mum 6.01 mm Chamber eIoni + 5 45.8 cm -88.9 cm 1.77 m 11.8 keV 3.45 keV 768 mum 6.77 mm Chamber eIoni + 6 45.8 cm -88.9 cm 1.77 m 8.44 keV 3.32 keV 605 mum 7.38 mm Chamber eIoni + 7 45.8 cm -88.9 cm 1.77 m 4.3 keV 4.14 keV 468 mum 7.85 mm Chamber eIoni + 8 45.8 cm -88.9 cm 1.77 m 0 eV 4.3 keV 294 mum 8.14 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.5 cm -61 cm 87.2 cm 19.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 37.5 cm -61 cm 87.2 cm 17.5 keV 2.2 keV 1.01 mm 1.01 mm Chamber eIoni + 2 37.4 cm -61 cm 87.2 cm 1.9 keV 15.6 keV 887 mum 1.9 mm Chamber eIoni + 3 37.4 cm -61 cm 87.2 cm 0 eV 1.9 keV 109 mum 2.01 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.6 cm -41.6 cm 17.6 cm 250 keV 0 eV 0 fm 0 fm Chamber initStep + 1 34.6 cm -41.2 cm 18.7 cm 220 keV 29.8 keV 4.57 cm 4.57 cm Chamber eIoni + 2 36.1 cm -42.1 cm 19.5 cm 192 keV 28.3 keV 3.75 cm 8.32 cm Chamber eIoni + 3 37.5 cm -43.2 cm 19.5 cm 166 keV 25.6 keV 3.01 cm 11.3 cm Chamber eIoni + 4 37.4 cm -43.1 cm 19.4 cm 125 keV 641 eV 1.67 mm 11.5 cm Chamber eIoni + 5 36.4 cm -43.2 cm 19 cm 108 keV 17.2 keV 1.52 cm 13 cm Chamber eIoni + 6 37 cm -43.2 cm 19.4 cm 94.4 keV 13.6 keV 1.2 cm 14.2 cm Chamber eIoni + 7 37.4 cm -43.3 cm 19.8 cm 88.5 keV 5.85 keV 9.66 mm 15.2 cm Chamber eIoni + 8 37.6 cm -43.6 cm 20 cm 80.2 keV 8.34 keV 8.72 mm 16.1 cm Chamber eIoni + 9 37.6 cm -43.6 cm 20 cm 80.2 keV 0 eV 1.89 mum 16.1 cm TrackerTransportation + 10 38.6 cm -42 cm 20.3 cm 69.4 keV 10.8 keV 1.92 cm 18 cm Tracker eIoni + 11 38.5 cm -40.9 cm 21.2 cm 58.5 keV 10.9 keV 1.49 cm 19.5 cm Tracker eIoni + 12 38.3 cm -40.2 cm 21.9 cm 53.7 keV 4.8 keV 1.11 cm 20.6 cm Tracker eIoni + 13 38.4 cm -39.6 cm 22.6 cm 48.5 keV 5.23 keV 9.52 mm 21.5 cm Tracker eIoni + 14 38.1 cm -39.1 cm 23.1 cm 38.6 keV 9.86 keV 8 mm 22.3 cm Tracker eIoni + 15 37.8 cm -38.7 cm 23.4 cm 34.6 keV 4.01 keV 5.41 mm 22.9 cm Tracker eIoni + 16 37.4 cm -38.5 cm 23.5 cm 31.5 keV 3.07 keV 4.49 mm 23.3 cm Tracker eIoni + 17 37.6 cm -38.5 cm 23.8 cm 29.7 keV 1.85 keV 3.85 mm 23.7 cm Tracker eIoni + 18 37.8 cm -38.4 cm 24 cm 27.9 keV 1.8 keV 3.48 mm 24 cm Tracker eIoni + 19 37.8 cm -38.1 cm 24.2 cm 26.1 keV 1.76 keV 3.15 mm 24.4 cm Tracker eIoni + 20 37.5 cm -38 cm 24.2 cm 22.9 keV 3.2 keV 2.83 mm 24.6 cm Tracker eIoni + 21 37.5 cm -38.1 cm 24 cm 21.4 keV 1.53 keV 2.31 mm 24.9 cm Tracker eIoni + 22 37.4 cm -38.2 cm 23.9 cm 18.6 keV 2.82 keV 2.07 mm 25.1 cm Tracker eIoni + 23 37.3 cm -38.4 cm 23.8 cm 14.2 keV 4.37 keV 1.68 mm 25.3 cm Tracker eIoni + 24 37.3 cm -38.4 cm 23.9 cm 11.5 keV 2.72 keV 1.16 mm 25.4 cm Tracker eIoni + 25 37.2 cm -38.4 cm 23.9 cm 9.55 keV 1.93 keV 897 mum 25.5 cm Tracker eIoni + 26 37.2 cm -38.4 cm 23.9 cm 8.17 keV 1.37 keV 732 mum 25.5 cm Tracker eIoni + 27 37.2 cm -38.4 cm 24 cm 4.11 keV 4.06 keV 627 mum 25.6 cm Tracker eIoni + 28 37.2 cm -38.4 cm 24 cm 1.44 keV 2.67 keV 360 mum 25.6 cm Tracker eIoni + 29 37.2 cm -38.4 cm 24 cm 0 eV 1.44 keV 101 mum 25.6 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 236 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.4 cm -43.1 cm 19.4 cm 40.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 37.3 cm -43.2 cm 19.6 cm 37.3 keV 3.01 keV 2.6 mm 2.6 mm Chamber eIoni + 2 37.4 cm -43.1 cm 19.7 cm 15.2 keV 22.1 keV 2.32 mm 4.92 mm Chamber eIoni + 3 37.5 cm -43.1 cm 19.7 cm 10.8 keV 4.34 keV 766 mum 5.68 mm Chamber eIoni + 4 37.5 cm -43.1 cm 19.7 cm 2.07 keV 8.76 keV 567 mum 6.25 mm Chamber eIoni + 5 37.5 cm -43.1 cm 19.7 cm 0 eV 2.07 keV 124 mum 6.37 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.8 cm -24.9 cm -65.4 cm 4.45 keV 0 eV 0 fm 0 fm Chamber initStep + 1 24.9 cm -25 cm -65.1 cm 0 eV 4.45 keV 3.02 mm 3.02 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.2 cm -13.9 cm -1.44 m 3.66 keV 0 eV 0 fm 0 fm Chamber initStep + 1 13.2 cm -14 cm -1.44 m 0 eV 3.66 keV 4.45 mm 4.45 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 233, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.56 cm -6.3 cm -1.98 m 14 keV 0 eV 0 fm 0 fm Tracker initStep + 1 5.66 cm -6.28 cm -1.98 m 11.5 keV 2.47 keV 1.14 mm 1.14 mm Tracker eIoni + 2 5.72 cm -6.23 cm -1.98 m 10.4 keV 1.13 keV 899 mum 2.04 mm Tracker eIoni + 3 5.75 cm -6.3 cm -1.98 m 8.08 keV 2.29 keV 800 mum 2.84 mm Tracker eIoni + 4 5.8 cm -6.33 cm -1.98 m 3.99 keV 4.08 keV 620 mum 3.46 mm Tracker eIoni + 5 5.81 cm -6.33 cm -1.98 m 824 eV 3.17 keV 351 mum 3.81 mm Tracker eIoni + 6 5.81 cm -6.33 cm -1.98 m 0 eV 824 eV 48.1 mum 3.86 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 83.5 mum 240 mum -2.4 m 757 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 113 mum 206 mum -2.4 m 757 keV 0 eV 269 mum 269 mum TrackerTransportation + 2 9.03 cm -10.3 cm -1.6 m 757 keV 0 eV 81.2 cm 81.2 cm ChamberTransportation + 3 11.3 cm -12.9 cm -1.4 m 757 keV 0 eV 20.3 cm 1.01 m TrackerTransportation + 4 18 cm -20.7 cm -80 cm 757 keV 0 eV 60.9 cm 1.62 m ChamberTransportation + 5 20.3 cm -23.3 cm -60 cm 757 keV 0 eV 20.3 cm 1.83 m TrackerTransportation + 6 27.1 cm -31.1 cm 0 fm 757 keV 0 eV 60.9 cm 2.44 m ChamberTransportation + 7 29.3 cm -33.6 cm 20 cm 757 keV 0 eV 20.3 cm 2.64 m TrackerTransportation + 8 36.1 cm -41.4 cm 80 cm 757 keV 0 eV 60.9 cm 3.25 m ChamberTransportation + 9 38.3 cm -44 cm 1 m 757 keV 0 eV 20.3 cm 3.45 m TrackerTransportation + 10 45.1 cm -51.8 cm 1.6 m 757 keV 0 eV 60.9 cm 4.06 m ChamberTransportation + 11 47.3 cm -54.4 cm 1.8 m 757 keV 0 eV 20.3 cm 4.26 m TrackerTransportation + 12 54.1 cm -62.1 cm 2.4 m 757 keV 0 eV 60.9 cm 4.87 m WorldPVTransportation + 13 59.8 cm -68.7 cm 2.91 m 757 keV 0 eV 51.7 cm 5.39 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 231, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 65.7 mum 145 mum -2.4 m 464 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 194 mum 169 mum -2.4 m 464 keV 0 eV 1.31 mm 1.31 mm TrackerTransportation + 2 7.94 cm 1.49 cm -1.6 m 464 keV 0 eV 80.4 cm 80.5 cm ChamberTransportation + 3 9.92 cm 1.86 cm -1.4 m 464 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 15.9 cm 2.96 cm -80 cm 464 keV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 17.8 cm 3.33 cm -60 cm 464 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 23.8 cm 4.44 cm 0 fm 464 keV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 25.8 cm 4.81 cm 20 cm 464 keV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 31.7 cm 5.91 cm 80 cm 464 keV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 33.7 cm 6.28 cm 1 m 464 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 39.6 cm 7.38 cm 1.6 m 464 keV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 41.6 cm 7.75 cm 1.8 m 464 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 47.5 cm 8.86 cm 2.4 m 464 keV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 52.6 cm 9.8 cm 2.91 m 464 keV 0 eV 51.3 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 230, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 64.8 mum 145 mum -2.4 m 5.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 223 mum 164 mum -2.4 m 5.5 MeV 0 eV 1.32 mm 1.32 mm TrackerTransportation + 2 9.68 cm 1.17 cm -1.6 m 5.5 MeV 0 eV 80.6 cm 80.7 cm ChamberTransportation + 3 12.1 cm 1.46 cm -1.4 m 5.5 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 19.3 cm 2.33 cm -80 cm 5.5 MeV 0 eV 60.4 cm 1.61 m ChamberTransportation + 5 21.8 cm 2.61 cm -60 cm 5.5 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 29 cm 3.48 cm 0.114 fm 5.5 MeV 0 eV 60.4 cm 2.42 m ChamberTransportation + 7 31.4 cm 3.77 cm 20 cm 5.5 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 38.7 cm 4.64 cm 80 cm 5.5 MeV 0 eV 60.4 cm 3.22 m ChamberTransportation + 9 41.1 cm 4.92 cm 1 m 5.5 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 48.3 cm 5.79 cm 1.6 m 5.5 MeV 0 eV 60.4 cm 4.03 m ChamberTransportation + 11 50.7 cm 6.08 cm 1.8 m 5.5 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 58 cm 6.95 cm 2.4 m 5.5 MeV 0 eV 60.4 cm 4.84 m WorldPVTransportation + 13 64.1 cm 7.68 cm 2.91 m 5.5 MeV 0 eV 51.4 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 229, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 53.4 mum 143 mum -2.4 m 24.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 277 mum 192 mum -2.4 m 24.7 MeV 0 eV 1.39 mm 1.39 mm TrackerTransportation + 2 13 cm 2.85 cm -1.6 m 24.7 MeV 0 eV 81.1 cm 81.2 cm ChamberTransportation + 3 16.3 cm 3.56 cm -1.4 m 24.7 MeV 0 eV 20.3 cm 1.02 m TrackerTransportation + 4 26 cm 5.69 cm -80 cm 24.7 MeV 0 eV 60.8 cm 1.62 m ChamberTransportation + 5 29.3 cm 6.39 cm -60 cm 24.7 MeV 0 eV 20.3 cm 1.83 m TrackerTransportation + 6 39 cm 8.52 cm 0 fm 24.7 MeV 0 eV 60.8 cm 2.43 m ChamberTransportation + 7 42.3 cm 9.23 cm 20 cm 24.7 MeV 0 eV 20.3 cm 2.64 m TrackerTransportation + 8 52 cm 11.4 cm 80 cm 24.7 MeV 0 eV 60.8 cm 3.25 m ChamberTransportation + 9 55.3 cm 12.1 cm 1 m 24.7 MeV 0 eV 20.3 cm 3.45 m TrackerTransportation + 10 65 cm 14.2 cm 1.6 m 24.7 MeV 0 eV 60.8 cm 4.06 m ChamberTransportation + 11 68.2 cm 14.9 cm 1.8 m 24.7 MeV 0 eV 20.3 cm 4.26 m TrackerTransportation + 12 78 cm 17 cm 2.4 m 24.7 MeV 0 eV 60.8 cm 4.87 m WorldPVTransportation + 13 86.3 cm 18.8 cm 2.91 m 24.7 MeV 0 eV 51.7 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 228, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.8 mum 43.9 mum -2.4 m 1.73 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 170 mum 103 mum -2.4 m 1.73 MeV 0 eV 2.39 mm 2.39 mm TrackerTransportation + 2 7.16 cm 2.01 cm -1.6 m 1.73 MeV 0 eV 80.3 cm 80.6 cm ChamberTransportation + 3 8.94 cm 2.51 cm -1.4 m 1.73 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.3 cm 4 cm -80 cm 1.73 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.1 cm 4.5 cm -60 cm 1.73 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 21.4 cm 6 cm 0 fm 1.73 MeV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 23.2 cm 6.5 cm 20 cm 1.73 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 28.6 cm 7.99 cm 80 cm 1.73 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 30.4 cm 8.49 cm 1 m 1.73 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 35.7 cm 9.99 cm 1.6 m 1.73 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 37.5 cm 10.5 cm 1.8 m 1.73 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 42.9 cm 12 cm 2.4 m 1.73 MeV 0 eV 60.3 cm 4.82 m WorldPVTransportation + 13 47.4 cm 13.3 cm 2.91 m 1.73 MeV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.7 mum -300 nm -2.4 m 57.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -38.7 mum 65.7 mum -2.4 m 0 eV 0 eV 1.74 mm 1.74 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 242, Parent ID = 227 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.7 mum 65.7 mum -2.4 m 43 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 13.6 mum 131 mum -2.4 m 41.5 MeV 1.52 MeV 1.33 mm 1.33 mm TrackerTransportation + 2 37.3 cm 1.13 cm -1.59 m 41.3 MeV 191 keV 88.9 cm 89.1 cm Tracker eIoni + 3 50.7 cm 1.9 cm -1.31 m 41.2 MeV 58.3 keV 31.6 cm 1.21 m Tracker eIoni + 4 57.2 cm 2.25 cm -1.16 m 41.2 MeV 36.4 keV 15.8 cm 1.36 m Tracker eIoni + 5 76.5 cm 4.09 cm -72.6 cm 41 MeV 105 keV 47.8 cm 1.84 m Tracker eIoni + 6 1.04 m 6.12 cm -14.4 cm 40.9 MeV 138 keV 64.3 cm 2.49 m Tracker eIoni + 7 1.1 m 6.58 cm 0 fm 40.8 MeV 29.5 keV 15.5 cm 2.64 m ChamberTransportation + 8 1.1 m 6.64 cm 1.97 cm 40.8 MeV 11.1 keV 2.13 cm 2.66 m TrackerTransportation + 9 1.42 m 9.33 cm 80 cm 40.6 MeV 182 keV 84.3 cm 3.51 m ChamberTransportation + 10 1.44 m 9.39 cm 84.4 cm 40.5 MeV 38 keV 4.75 cm 3.55 m Chamber eIoni + 11 1.49 m 10.1 cm 96.7 cm 40.3 MeV 96.2 keV 13.2 cm 3.69 m Chamber eIoni + 12 1.5 m 10.2 cm 1 m 40.3 MeV 31.9 keV 3.58 cm 3.72 m TrackerTransportation + 13 1.63 m 10.2 cm 1.3 m 40.2 MeV 65.4 keV 32.3 cm 4.04 m Tracker eIoni + 14 1.77 m 10.1 cm 1.6 m 40.1 MeV 77.8 keV 33.4 cm 4.38 m ChamberTransportation + 15 1.86 m 10 cm 1.8 m 40 MeV 128 keV 21.9 cm 4.6 m TrackerTransportation + 16 2.12 m 11.6 cm 2.4 m 39.8 MeV 142 keV 65.6 cm 5.25 m WorldPVTransportation + 17 2.3 m 12.1 cm 2.78 m 39.8 MeV 88.6 keV 41.3 cm 5.67 m WorldPV eIoni + 18 2.3 m 12.1 cm 2.78 m 39.7 MeV 625 eV 5.27 mm 5.67 m WorldPV eIoni + 19 2.35 m 12.1 cm 2.91 m 39.7 MeV 25.9 keV 14.1 cm 5.81 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.3 m 12.1 cm 2.78 m 8.66 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.3 m 12.1 cm 2.78 m 7.56 keV 1.11 keV 664 mum 664 mum WorldPV eIoni + 2 2.3 m 12 cm 2.78 m 6.31 keV 1.25 keV 584 mum 1.25 mm WorldPV eIoni + 3 2.3 m 12 cm 2.78 m 2.82 keV 3.49 keV 500 mum 1.75 mm WorldPV eIoni + 4 2.3 m 12 cm 2.78 m 631 eV 2.18 keV 260 mum 2.01 mm WorldPV eIoni + 5 2.3 m 12 cm 2.78 m 0 eV 631 eV 35.3 mum 2.04 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.3 m 12.1 cm 2.78 m 8.31 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.3 m 12 cm 2.78 m 5.84 keV 2.46 keV 636 mum 636 mum WorldPV eIoni + 2 2.3 m 12 cm 2.78 m 4.41 keV 1.43 keV 469 mum 1.1 mm WorldPV eIoni + 3 2.3 m 12 cm 2.77 m 356 eV 4.06 keV 380 mum 1.48 mm WorldPV eIoni + 4 2.3 m 12 cm 2.77 m 0 eV 356 eV 20.5 mum 1.5 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.83 m 10.1 cm 1.73 m 9.61 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.83 m 10 cm 1.73 m 8.01 keV 1.6 keV 515 mum 515 mum Chamber eIoni + 2 1.83 m 10.1 cm 1.73 m 5.34 keV 2.67 keV 452 mum 967 mum Chamber eIoni + 3 1.83 m 10.1 cm 1.73 m 686 eV 4.65 keV 344 mum 1.31 mm Chamber eIoni + 4 1.83 m 10.1 cm 1.73 m 0 eV 686 eV 29.6 mum 1.34 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.63 m 10.2 cm 1.3 m 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m 10.1 cm 1.3 m 9 keV 2.01 keV 856 mum 856 mum Tracker eIoni + 2 1.63 m 10.1 cm 1.3 m 8 keV 998 eV 690 mum 1.55 mm Tracker eIoni + 3 1.63 m 10.2 cm 1.3 m 6.54 keV 1.46 keV 614 mum 2.16 mm Tracker eIoni + 4 1.63 m 10.1 cm 1.29 m 5.27 keV 1.27 keV 514 mum 2.67 mm Tracker eIoni + 5 1.63 m 10.2 cm 1.29 m 2.52 keV 2.75 keV 434 mum 3.11 mm Tracker eIoni + 6 1.63 m 10.2 cm 1.29 m 748 eV 1.77 keV 229 mum 3.34 mm Tracker eIoni + 7 1.63 m 10.2 cm 1.29 m 0 eV 748 eV 42.8 mum 3.38 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.49 m 10.1 cm 96.7 cm 93 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.49 m 10.2 cm 96.7 cm 83.3 keV 1.3 keV 1.19 mm 1.19 mm Chamber eBrem + 2 1.48 m 10.4 cm 96.8 cm 74.7 keV 8.66 keV 7.93 mm 9.12 mm Chamber eIoni + 3 1.48 m 10.8 cm 96.5 cm 60.6 keV 14.1 keV 6.65 mm 1.58 cm Chamber eIoni + 4 1.48 m 10.9 cm 96.4 cm 30.4 keV 30.2 keV 4.81 mm 2.06 cm Chamber eIoni + 5 1.48 m 10.9 cm 96.5 cm 24.4 keV 5.96 keV 1.74 mm 2.23 cm Chamber eIoni + 6 1.48 m 10.9 cm 96.5 cm 23.8 keV 668 eV 1.31 mm 2.36 cm Chamber eIoni + 7 1.48 m 10.8 cm 96.5 cm 19.7 keV 4.07 keV 1.27 mm 2.49 cm Chamber eIoni + 8 1.48 m 10.8 cm 96.5 cm 16.9 keV 2.83 keV 1.01 mm 2.59 cm Chamber eIoni + 9 1.48 m 10.8 cm 96.5 cm 14 keV 2.85 keV 854 mum 2.68 cm Chamber eIoni + 10 1.48 m 10.8 cm 96.5 cm 11.7 keV 2.35 keV 709 mum 2.75 cm Chamber eIoni + 11 1.48 m 10.8 cm 96.4 cm 4.68 keV 7 keV 602 mum 2.81 cm Chamber eIoni + 12 1.48 m 10.8 cm 96.5 cm 2.53 keV 2.15 keV 313 mum 2.84 cm Chamber eIoni + 13 1.48 m 10.8 cm 96.5 cm 0 eV 2.53 keV 163 mum 2.86 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 254, Parent ID = 249 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.49 m 10.2 cm 96.7 cm 8.38 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.49 m 10.3 cm 96.8 cm 0 eV 8.38 keV 1.31 mm 1.31 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.44 m 9.39 cm 84.4 cm 109 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.45 m 9.96 cm 84.8 cm 98.8 keV 10.1 keV 1.21 cm 1.21 cm Chamber eIoni + 2 1.45 m 10.2 cm 84.6 cm 86.6 keV 12.3 keV 1.04 cm 2.26 cm Chamber eIoni + 3 1.46 m 10.6 cm 84.9 cm 79 keV 7.52 keV 8.42 mm 3.1 cm Chamber eIoni + 4 1.46 m 10.9 cm 85.3 cm 72.3 keV 6.73 keV 7.29 mm 3.83 cm Chamber eIoni + 5 1.46 m 10.9 cm 85.7 cm 52.4 keV 19.9 keV 6.33 mm 4.46 cm Chamber eIoni + 6 1.46 m 11.1 cm 85.5 cm 47.3 keV 5.13 keV 3.84 mm 4.84 cm Chamber eIoni + 7 1.46 m 11.2 cm 85.6 cm 40.5 keV 6.78 keV 3.3 mm 5.17 cm Chamber eIoni + 8 1.46 m 11.3 cm 85.7 cm 38.1 keV 2.45 keV 2.62 mm 5.44 cm Chamber eIoni + 9 1.46 m 11.2 cm 85.6 cm 35.9 keV 2.15 keV 2.39 mm 5.67 cm Chamber eIoni + 10 1.46 m 11.4 cm 85.7 cm 32 keV 3.85 keV 2.19 mm 5.89 cm Chamber eIoni + 11 1.46 m 11.3 cm 85.6 cm 29.5 keV 2.58 keV 1.88 mm 6.08 cm Chamber eIoni + 12 1.46 m 11.3 cm 85.6 cm 26.3 keV 3.2 keV 1.67 mm 6.25 cm Chamber eIoni + 13 1.46 m 11.2 cm 85.6 cm 22.3 keV 3.93 keV 1.44 mm 6.39 cm Chamber eIoni + 14 1.46 m 11.2 cm 85.7 cm 18.8 keV 3.56 keV 1.17 mm 6.51 cm Chamber eIoni + 15 1.46 m 11.2 cm 85.6 cm 16.4 keV 2.37 keV 959 mum 6.61 cm Chamber eIoni + 16 1.46 m 11.2 cm 85.6 cm 7.51 keV 8.9 keV 830 mum 6.69 cm Chamber eIoni + 17 1.46 m 11.2 cm 85.7 cm 3.55 keV 3.97 keV 432 mum 6.73 cm Chamber eIoni + 18 1.46 m 11.2 cm 85.6 cm 0 eV 3.55 keV 248 mum 6.76 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.04 m 6.12 cm -14.4 cm 15.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.04 m 6.01 cm -14.3 cm 13.1 keV 2.41 keV 1.31 mm 1.31 mm Tracker eIoni + 2 1.04 m 5.92 cm -14.3 cm 11.8 keV 1.31 keV 1.05 mm 2.37 mm Tracker eIoni + 3 1.04 m 5.89 cm -14.2 cm 10.9 keV 887 eV 927 mum 3.29 mm Tracker eIoni + 4 1.04 m 5.88 cm -14.2 cm 8.62 keV 2.31 keV 849 mum 4.14 mm Tracker eIoni + 5 1.04 m 5.82 cm -14.2 cm 6.2 keV 2.42 keV 660 mum 4.8 mm Tracker eIoni + 6 1.04 m 5.78 cm -14.2 cm 593 eV 5.61 keV 493 mum 5.3 mm Tracker eIoni + 7 1.04 m 5.78 cm -14.2 cm 0 eV 593 eV 33.1 mum 5.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 246, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 76.5 cm 4.09 cm -72.6 cm 41.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 76 cm 3.96 cm -72.4 cm 38 keV 3.39 keV 6.09 mm 6.09 mm Tracker eIoni + 2 75.8 cm 3.71 cm -72 cm 35.6 keV 2.35 keV 5.26 mm 1.13 cm Tracker eIoni + 3 75.5 cm 3.76 cm -71.7 cm 32.5 keV 3.11 keV 4.71 mm 1.61 cm Tracker eIoni + 4 75.6 cm 3.58 cm -71.3 cm 30.1 keV 2.39 keV 4.06 mm 2.01 cm Tracker eIoni + 5 75.6 cm 3.52 cm -71 cm 25.6 keV 4.49 keV 3.56 mm 2.37 cm Tracker eIoni + 6 75.3 cm 3.41 cm -70.9 cm 21.7 keV 3.93 keV 2.75 mm 2.64 cm Tracker eIoni + 7 75.3 cm 3.54 cm -70.7 cm 19.5 keV 2.23 keV 2.12 mm 2.85 cm Tracker eIoni + 8 75.2 cm 3.65 cm -70.6 cm 17.9 keV 1.61 keV 1.81 mm 3.04 cm Tracker eIoni + 9 75.3 cm 3.74 cm -70.5 cm 16.3 keV 1.6 keV 1.59 mm 3.19 cm Tracker eIoni + 10 75.3 cm 3.77 cm -70.4 cm 14 keV 2.32 keV 1.4 mm 3.33 cm Tracker eIoni + 11 75.4 cm 3.82 cm -70.4 cm 11.8 keV 2.17 keV 1.14 mm 3.45 cm Tracker eIoni + 12 75.4 cm 3.87 cm -70.4 cm 10.2 keV 1.6 keV 925 mum 3.54 cm Tracker eIoni + 13 75.5 cm 3.94 cm -70.4 cm 8.56 keV 1.63 keV 785 mum 3.62 cm Tracker eIoni + 14 75.4 cm 3.95 cm -70.4 cm 7.53 keV 1.03 keV 656 mum 3.69 cm Tracker eIoni + 15 75.4 cm 3.97 cm -70.4 cm 3.37 keV 4.16 keV 582 mum 3.74 cm Tracker eIoni + 16 75.4 cm 3.98 cm -70.4 cm 2.58 keV 790 eV 307 mum 3.77 cm Tracker eIoni + 17 75.4 cm 3.97 cm -70.4 cm 1.3 keV 1.28 keV 236 mum 3.8 cm Tracker eIoni + 18 75.4 cm 3.96 cm -70.4 cm 0 eV 1.3 keV 86.7 mum 3.81 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 245, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.2 cm 2.25 cm -1.16 m 12.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 57.1 cm 2.24 cm -1.16 m 10.6 keV 1.5 keV 957 mum 957 mum Tracker eIoni + 2 57.1 cm 2.24 cm -1.16 m 8.93 keV 1.7 keV 823 mum 1.78 mm Tracker eIoni + 3 57.1 cm 2.2 cm -1.16 m 5.03 keV 3.9 keV 685 mum 2.46 mm Tracker eIoni + 4 57 cm 2.19 cm -1.16 m 2.98 keV 2.05 keV 418 mum 2.88 mm Tracker eIoni + 5 57.1 cm 2.18 cm -1.16 m 286 eV 2.7 keV 275 mum 3.16 mm Tracker eIoni + 6 57.1 cm 2.18 cm -1.16 m 0 eV 286 eV 17.5 mum 3.18 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 244, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 50.7 cm 1.9 cm -1.31 m 34.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.1 cm 1.9 cm -1.31 m 30.8 keV 4.14 keV 4.56 mm 4.56 mm Tracker eIoni + 2 51.3 cm 2.18 cm -1.31 m 28.6 keV 2.21 keV 3.69 mm 8.26 mm Tracker eIoni + 3 51.5 cm 2.35 cm -1.31 m 25.1 keV 3.45 keV 3.28 mm 1.15 cm Tracker eIoni + 4 51.6 cm 2.45 cm -1.31 m 23.2 keV 1.96 keV 2.65 mm 1.42 cm Tracker eIoni + 5 51.4 cm 2.41 cm -1.31 m 19.8 keV 3.36 keV 2.35 mm 1.65 cm Tracker eIoni + 6 51.5 cm 2.5 cm -1.3 m 16.4 keV 3.43 keV 1.85 mm 1.84 cm Tracker eIoni + 7 51.5 cm 2.55 cm -1.3 m 15.1 keV 1.26 keV 1.41 mm 1.98 cm Tracker eIoni + 8 51.6 cm 2.66 cm -1.3 m 12.5 keV 2.58 keV 1.27 mm 2.11 cm Tracker eIoni + 9 51.6 cm 2.73 cm -1.3 m 7.1 keV 5.44 keV 997 mum 2.21 cm Tracker eIoni + 10 51.6 cm 2.68 cm -1.3 m 6.58 keV 518 eV 552 mum 2.26 cm Tracker eIoni + 11 51.6 cm 2.72 cm -1.3 m 4.57 keV 2.01 keV 517 mum 2.31 cm Tracker eIoni + 12 51.6 cm 2.71 cm -1.3 m 3.07 keV 1.51 keV 390 mum 2.35 cm Tracker eIoni + 13 51.6 cm 2.69 cm -1.3 m 1.23 keV 1.84 keV 283 mum 2.38 cm Tracker eIoni + 14 51.6 cm 2.69 cm -1.3 m 0 eV 1.23 keV 80.8 mum 2.39 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 243, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.3 cm 1.13 cm -1.59 m 18.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 37.4 cm 9.67 mm -1.59 m 12.9 keV 5.5 keV 1.67 mm 1.67 mm Tracker eIoni + 2 37.4 cm 9.13 mm -1.59 m 12.1 keV 851 eV 1.04 mm 2.7 mm Tracker eIoni + 3 37.5 cm 8.64 mm -1.59 m 8.61 keV 3.47 keV 951 mum 3.66 mm Tracker eIoni + 4 37.4 cm 8.72 mm -1.59 m 7 keV 1.62 keV 660 mum 4.31 mm Tracker eIoni + 5 37.4 cm 8.83 mm -1.59 m 5.55 keV 1.45 keV 544 mum 4.86 mm Tracker eIoni + 6 37.4 cm 8.93 mm -1.59 m 3.01 keV 2.54 keV 451 mum 5.31 mm Tracker eIoni + 7 37.3 cm 9.02 mm -1.59 m 1.51 keV 1.5 keV 278 mum 5.59 mm Tracker eIoni + 8 37.3 cm 9.04 mm -1.59 m 0 eV 1.51 keV 107 mum 5.7 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 227 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.7 mum 65.7 mum -2.4 m 13.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -50.1 mum 51.2 mum -2.4 m 12 MeV 176 keV 177 mum 177 mum TargetPV eBrem + 2 -43.2 mum 44.5 mum -2.4 m 11 MeV 62.3 keV 50.9 mum 228 mum TargetPV eBrem + 3 -24.3 mum -124 mum -2.4 m 8.21 MeV 595 keV 475 mum 703 mum TargetPV eBrem + 4 -156 mum 35.8 mum -2.4 m 6.37 MeV 1.36 MeV 338 mum 1.04 mm TargetPV eBrem + 5 -451 mum 18.6 mum -2.4 m 5.05 MeV 763 keV 756 mum 1.8 mm TargetPV eBrem + 6 -1.21 mm 96.5 mum -2.4 m 3.76 MeV 1.29 MeV 1.07 mm 2.87 mm TargetPV eIoni + 7 -1.33 mm -134 mum -2.4 m 2.95 MeV 809 keV 879 mum 3.75 mm TargetPV eIoni + 8 -870 mum -126 mum -2.4 m 1.76 MeV 748 keV 720 mum 4.47 mm TargetPV eBrem + 9 -707 mum -109 mum -2.4 m 1.23 MeV 533 keV 559 mum 5.02 mm TargetPV eIoni + 10 -605 mum -82.1 mum -2.4 m 183 keV 1.04 MeV 460 mum 5.48 mm TargetPV eIoni + 11 -609 mum -81 mum -2.4 m 0 eV 183 keV 70.5 mum 5.55 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 260, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -870 mum -126 mum -2.4 m 440 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.69 mm 703 mum -2.41 m 350 keV 89.9 keV 8.15 mm 8.15 mm TargetPV compt + 2 -2.89 mm 739 mum -2.41 m 0 eV 350 keV 235 mum 8.39 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 259, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -451 mum 18.6 mum -2.4 m 558 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.09 cm -8.21 mm -2.4 m 367 keV 191 keV 1.37 cm 1.37 cm TargetPV compt + 2 -1.03 cm -1.96 cm -2.4 m 0 eV 367 keV 1.15 cm 2.52 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 258, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -156 mum 35.8 mum -2.4 m 473 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.47 mm -4.64 mm -2.41 m 400 keV 73.4 keV 9.15 mm 9.15 mm TargetPV compt + 2 -4.15 mm -5.98 mm -2.41 m 0 eV 400 keV 2.14 mm 1.13 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 257, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -24.3 mum -124 mum -2.4 m 2.25 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.54 mm 8.62 mm -2.41 m 0 eV 1.23 MeV 1.19 cm 1.19 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 261, Parent ID = 257 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.54 mm 8.62 mm -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 263, Parent ID = 261 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.83 mm 6.59 mm -2.41 m 0 eV 511 keV 4.01 mm 4.01 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 262, Parent ID = 261 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -274 mum 1 cm -2.41 m 173 keV 338 keV 2.76 mm 2.76 mm TargetPV compt + 2 -480 mum 9.95 mm -2.41 m 0 eV 173 keV 249 mum 3.01 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 256, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.2 mum 44.5 mum -2.4 m 910 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -38.4 mum -50.7 mum -2.4 m 910 keV 0 eV 1.09 mm 1.09 mm TrackerTransportation + 2 3.43 mm -7.01 cm -1.6 m 910 keV 0 eV 80.3 cm 80.4 cm ChamberTransportation + 3 4.3 mm -8.76 cm -1.4 m 910 keV 0 eV 20.1 cm 1 m TrackerTransportation + 4 6.91 mm -14 cm -80 cm 910 keV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 7.77 mm -15.8 cm -60 cm 910 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 1.04 cm -21 cm 0 fm 910 keV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 1.12 cm -22.8 cm 20 cm 910 keV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 1.38 cm -28 cm 80 cm 910 keV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 1.47 cm -29.8 cm 1 m 910 keV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 1.73 cm -35 cm 1.6 m 910 keV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 1.82 cm -36.8 cm 1.8 m 910 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 2.08 cm -42 cm 2.4 m 910 keV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 2.3 cm -46.5 cm 2.91 m 910 keV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 255, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.1 mum 51.2 mum -2.4 m 1.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 145 mum -215 mum -2.4 m 1.3 MeV 0 eV 1.18 mm 1.18 mm TrackerTransportation + 2 13.7 cm -18.8 cm -1.6 m 1.3 MeV 0 eV 83.3 cm 83.4 cm ChamberTransportation + 3 17.1 cm -23.4 cm -1.4 m 1.3 MeV 0 eV 20.8 cm 1.04 m TrackerTransportation + 4 27.4 cm -37.5 cm -80 cm 1.3 MeV 0 eV 62.5 cm 1.67 m ChamberTransportation + 5 30.9 cm -42.2 cm -60 cm 1.3 MeV 0 eV 20.8 cm 1.88 m TrackerTransportation + 6 41.1 cm -56.2 cm 0 fm 1.3 MeV 0 eV 62.5 cm 2.5 m ChamberTransportation + 7 44.6 cm -60.9 cm 20 cm 1.3 MeV 0 eV 20.8 cm 2.71 m TrackerTransportation + 8 54.8 cm -75 cm 80 cm 1.3 MeV 0 eV 62.5 cm 3.33 m ChamberTransportation + 9 58.3 cm -79.7 cm 1 m 1.3 MeV 0 eV 20.8 cm 3.54 m TrackerTransportation + 10 68.5 cm -93.7 cm 1.6 m 1.3 MeV 0 eV 62.5 cm 4.17 m ChamberTransportation + 11 72 cm -98.4 cm 1.8 m 1.3 MeV 0 eV 20.8 cm 4.37 m TrackerTransportation + 12 82.3 cm -1.12 m 2.4 m 1.3 MeV 0 eV 62.5 cm 5 m WorldPVTransportation + 13 91 cm -1.24 m 2.91 m 1.3 MeV 0 eV 53.1 cm 5.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.9 mum -6.42 mum -2.4 m 131 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -107 mum -24 mum -2.4 m 131 MeV 0 eV 3.42 mm 3.42 mm TrackerTransportation + 2 -4.67 mm -4.15 mm -1.6 m 131 MeV 0 eV 80 cm 80.3 cm ChamberTransportation + 3 -5.81 mm -5.18 mm -1.4 m 131 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -9.24 mm -8.27 mm -80 cm 131 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -1.04 cm -9.31 mm -60 cm 131 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -1.38 cm -1.24 cm -0.114 fm 131 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -1.49 cm -1.34 cm 20 cm 131 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -1.84 cm -1.65 cm 80 cm 131 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -1.95 cm -1.76 cm 1 m 131 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -2.29 cm -2.06 cm 1.6 m 131 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -2.41 cm -2.17 cm 1.8 m 131 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -2.75 cm -2.48 cm 2.4 m 131 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -3.04 cm -2.74 cm 2.91 m 131 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 225, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -83.2 mum -22 mum -2.4 m 6.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -72 mum -13.3 mum -2.4 m 2.52 MeV 0 eV 2.83 mm 2.83 mm TargetPV compt + 2 -349 mum 661 mum -2.4 m 2.52 MeV 0 eV 1.53 mm 4.36 mm TrackerTransportation + 3 -98.7 cm 2.4 m 2.4 m 2.52 MeV 0 eV 5.45 m 5.46 m WorldPVTransportation + 4 -1.09 m 2.66 m 2.91 m 2.52 MeV 0 eV 58.5 cm 6.04 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 264, Parent ID = 225 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -72 mum -13.3 mum -2.4 m 3.66 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -180 mum 266 mum -2.4 m 2.72 MeV 938 keV 865 mum 865 mum TargetPV eIoni + 2 48.9 mum 157 mum -2.4 m 1.87 MeV 852 keV 719 mum 1.58 mm TargetPV eIoni + 3 -32.4 mum -17.1 mum -2.4 m 1.06 MeV 813 keV 578 mum 2.16 mm TargetPV eIoni + 4 -39.7 mum 128 mum -2.4 m 406 keV 333 keV 357 mum 2.52 mm TargetPV eBrem + 5 -51.5 mum 129 mum -2.4 m 0 eV 406 keV 219 mum 2.74 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 265, Parent ID = 264 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.7 mum 128 mum -2.4 m 317 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -70.4 mum 176 mum -2.4 m 317 keV 0 eV 220 mum 220 mum TrackerTransportation + 2 -11.6 cm 18.3 cm -1.6 m 317 keV 0 eV 82.9 cm 82.9 cm ChamberTransportation + 3 -14.5 cm 22.9 cm -1.4 m 317 keV 0 eV 20.7 cm 1.04 m TrackerTransportation + 4 -23.2 cm 36.6 cm -80 cm 317 keV 0 eV 62.2 cm 1.66 m ChamberTransportation + 5 -26.1 cm 41.1 cm -60 cm 317 keV 0 eV 20.7 cm 1.86 m TrackerTransportation + 6 -34.8 cm 54.8 cm 0 fm 317 keV 0 eV 62.2 cm 2.49 m ChamberTransportation + 7 -37.7 cm 59.4 cm 20 cm 317 keV 0 eV 20.7 cm 2.69 m TrackerTransportation + 8 -46.4 cm 73.1 cm 80 cm 317 keV 0 eV 62.2 cm 3.32 m ChamberTransportation + 9 -49.3 cm 77.7 cm 1 m 317 keV 0 eV 20.7 cm 3.52 m TrackerTransportation + 10 -58 cm 91.4 cm 1.6 m 317 keV 0 eV 62.2 cm 4.14 m ChamberTransportation + 11 -60.9 cm 95.9 cm 1.8 m 317 keV 0 eV 20.7 cm 4.35 m TrackerTransportation + 12 -69.6 cm 1.1 m 2.4 m 317 keV 0 eV 62.2 cm 4.97 m WorldPVTransportation + 13 -77 cm 1.21 m 2.91 m 317 keV 0 eV 52.8 cm 5.5 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 224, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.4 mum -34.1 mum -2.4 m 30.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -97.9 mum 31.8 mum -2.4 m 30.8 MeV 0 eV 4.64 mm 4.64 mm TrackerTransportation + 2 -3.11 mm 1.14 cm -1.6 m 30.8 MeV 0 eV 80 cm 80.5 cm ChamberTransportation + 3 -3.86 mm 1.42 cm -1.4 m 30.8 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -6.11 mm 2.28 cm -80 cm 30.8 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -6.87 mm 2.56 cm -60 cm 30.8 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -9.12 mm 3.41 cm 0 fm 30.8 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -9.88 mm 3.7 cm 20 cm 30.8 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -1.21 cm 4.55 cm 80 cm 30.8 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -1.29 cm 4.83 cm 1 m 30.8 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -1.51 cm 5.68 cm 1.6 m 30.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -1.59 cm 5.97 cm 1.8 m 30.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -1.81 cm 6.82 cm 2.4 m 30.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -2.01 cm 7.54 cm 2.91 m 30.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 223, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.2 mum -25.9 mum -2.41 m 9.85 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -89.6 mum -34.2 mum -2.4 m 0 eV 0 eV 3.9 mm 3.9 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 267, Parent ID = 223 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.6 mum -34.2 mum -2.4 m 4.05 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 402 mum 72.7 mum -2.4 m 3.06 MeV 992 keV 945 mum 945 mum TargetPV eIoni + 2 217 mum 460 mum -2.4 m 2.23 MeV 827 keV 789 mum 1.73 mm TargetPV eIoni + 3 -16.7 mum 449 mum -2.4 m 1.59 MeV 647 keV 651 mum 2.38 mm TargetPV eIoni + 4 -211 mum 416 mum -2.4 m 802 keV 785 keV 536 mum 2.92 mm TargetPV eIoni + 5 -229 mum 440 mum -2.4 m 104 keV 699 keV 372 mum 3.29 mm TargetPV eIoni + 6 -232 mum 438 mum -2.4 m 0 eV 104 keV 27.1 mum 3.32 mm TargetPV eIoni + 7 -232 mum 438 mum -2.4 m 0 eV 0 eV 0 fm 3.32 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 269, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -232 mum 438 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -359 mum 529 mum -2.4 m 511 keV 0 eV 204 mum 204 mum TrackerTransportation + 2 -2.4 m 1.71 m 8.07 cm 511 keV 0 eV 3.85 m 3.85 m WorldPVTransportation + 3 -2.91 m 2.07 m 60.8 cm 511 keV 0 eV 81.8 cm 4.67 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 268, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -232 mum 438 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.18 mm -1.99 mm -2.4 m 0 eV 511 keV 5.48 mm 5.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 266, Parent ID = 223 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.6 mum -34.2 mum -2.4 m 4.78 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -439 mum 101 mum -2.4 m 3.56 MeV 877 keV 721 mum 721 mum TargetPV eBrem + 2 -256 mum 518 mum -2.4 m 2.07 MeV 687 keV 646 mum 1.37 mm TargetPV eBrem + 3 -94.5 mum 471 mum -2.4 m 1.17 MeV 505 keV 484 mum 1.85 mm TargetPV eBrem + 4 -174 mum 470 mum -2.4 m 432 keV 167 keV 174 mum 2.03 mm TargetPV eBrem + 5 -183 mum 481 mum -2.4 m 18.5 keV 413 keV 235 mum 2.26 mm TargetPV eIoni + 6 -183 mum 481 mum -2.4 m 0 eV 18.5 keV 1.82 mum 2.26 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 273, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -174 mum 470 mum -2.4 m 571 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 961 mum 825 mum -2.4 m 571 keV 0 eV 1.94 mm 1.94 mm TrackerTransportation + 2 2.4 m 75 cm 83.7 cm 571 keV 0 eV 4.1 m 4.1 m WorldPVTransportation + 3 2.91 m 91 cm 1.53 m 571 keV 0 eV 87.1 cm 4.97 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 272, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.5 mum 471 mum -2.4 m 391 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 145 mum 718 mum -2.41 m 0 eV 391 keV 3.82 mm 3.82 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 271, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -256 mum 518 mum -2.4 m 811 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.65 mm 1.47 mm -2.42 m 755 keV 55.9 keV 1.8 cm 1.8 cm TargetPV compt + 2 -7.49 mm 519 mum -2.42 m 608 keV 147 keV 5.85 mm 2.39 cm TargetPV compt + 3 -7.53 mm 1.08 mm -2.43 m 0 eV 608 keV 1.43 mm 2.53 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 270, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -439 mum 101 mum -2.4 m 335 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.01 mm 1.44 mm -2.4 m 0 eV 335 keV 1.47 mm 1.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.42 mum -7.38 mum -2.41 m 6.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -80.1 mum -83.3 mum -2.4 m 6.1 MeV 0 eV 1.26 cm 1.26 cm TrackerTransportation + 2 -4.82 mm -4.9 mm -1.6 m 6.1 MeV 0 eV 80 cm 81.3 cm ChamberTransportation + 3 -6.01 mm -6.11 mm -1.4 m 6.1 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -9.56 mm -9.72 mm -80 cm 6.1 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -1.07 cm -1.09 cm -60 cm 6.1 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -1.43 cm -1.45 cm 0 fm 6.1 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -1.55 cm -1.57 cm 20 cm 6.1 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -1.9 cm -1.94 cm 80 cm 6.1 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -2.02 cm -2.06 cm 1 m 6.1 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -2.38 cm -2.42 cm 1.6 m 6.1 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -2.5 cm -2.54 cm 1.8 m 6.1 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -2.85 cm -2.9 cm 2.4 m 6.1 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -3.15 cm -3.21 cm 2.91 m 6.1 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.07 mum -2.63 mum -2.41 m 654 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -47.4 mum -30.6 mum -2.4 m 595 keV 58.3 keV 1.21 cm 1.21 cm TargetPV compt + 2 -480 mum -197 mum -2.4 m 595 keV 0 eV 1.2 mm 1.33 cm TrackerTransportation + 3 -62.9 cm -24.2 cm -80 cm 595 keV 0 eV 1.74 m 1.75 m ChamberTransportation + 4 -67.2 cm -25.9 cm -68.9 cm 595 keV 0 eV 12 cm 1.87 m TrackerTransportation + 5 -94.3 cm -36.3 cm 0 fm 595 keV 0 eV 74.8 cm 2.62 m ChamberTransportation + 6 -1.02 m -39.3 cm 20 cm 595 keV 0 eV 21.7 cm 2.83 m TrackerTransportation + 7 -1.26 m -48.4 cm 80 cm 595 keV 0 eV 65.1 cm 3.48 m ChamberTransportation + 8 -1.34 m -51.4 cm 1 m 595 keV 0 eV 21.7 cm 3.7 m TrackerTransportation + 9 -1.57 m -60.5 cm 1.6 m 595 keV 0 eV 65.1 cm 4.35 m ChamberTransportation + 10 -1.65 m -63.5 cm 1.8 m 595 keV 0 eV 21.7 cm 4.57 m TrackerTransportation + 11 -1.88 m -72.6 cm 2.4 m 595 keV 0 eV 65.1 cm 5.22 m WorldPVTransportation + 12 -2.09 m -80.3 cm 2.91 m 595 keV 0 eV 55.3 cm 5.77 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mum -2.53 mum -2.41 m 41.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -755 nm -2.98 mum -2.41 m 0 eV 6.32 MeV 412 mum 412 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 275, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -755 nm -2.98 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.18 mum 9.01 mm -2.42 m 0 eV 511 keV 9.69 mm 9.69 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 276, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.52 mum -4.21 mm -2.41 m 308 keV 203 keV 4.52 mm 4.52 mm TargetPV compt + 2 192 mum -4.23 mm -2.41 m 298 keV 10.2 keV 284 mum 4.81 mm TargetPV compt + 3 4.01 mm -6.27 mm -2.41 m 0 eV 298 keV 5.29 mm 1.01 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 274, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 33.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 83.6 mum 138 mum -2.41 m 26.3 MeV 1.35 MeV 1.02 mm 1.02 mm TargetPV eBrem + 2 77.4 mum 143 mum -2.41 m 22.4 MeV 91.5 keV 98.9 mum 1.12 mm TargetPV eBrem + 3 81.8 mum 151 mum -2.41 m 10.8 MeV 216 keV 82.7 mum 1.2 mm TargetPV eBrem + 4 -91.4 mum 257 mum -2.41 m 8.49 MeV 637 keV 591 mum 1.79 mm TargetPV eBrem + 5 213 mum -815 mum -2.41 m 6.7 MeV 1.78 MeV 1.55 mm 3.34 mm TargetPV eIoni + 6 -642 mum -248 mum -2.41 m 4.98 MeV 1.73 MeV 1.3 mm 4.64 mm TargetPV eIoni + 7 -802 mum -256 mum -2.41 m 4.36 MeV 215 keV 200 mum 4.84 mm TargetPV eBrem + 8 -1.18 mm -558 mum -2.41 m 1.45 MeV 2.91 MeV 969 mum 5.81 mm TargetPV eIoni + 9 -1.36 mm -603 mum -2.41 m 755 keV 697 keV 503 mum 6.32 mm TargetPV eIoni + 10 -1.35 mm -578 mum -2.41 m 310 keV 446 keV 355 mum 6.67 mm TargetPV eIoni + 11 -1.35 mm -586 mum -2.41 m 0 eV 310 keV 152 mum 6.82 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 282, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -802 mum -256 mum -2.41 m 403 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -979 mum -518 mum -2.41 m 386 keV 17.6 keV 861 mum 861 mum TargetPV compt + 2 -1.15 mm -664 mum -2.41 m 0 eV 386 keV 349 mum 1.21 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 281, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -91.4 mum 257 mum -2.41 m 1.67 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -966 mum -1 cm -2.4 m 1.67 MeV 0 eV 1.54 cm 1.54 cm TrackerTransportation + 2 -20.5 cm -2.4 m 25.4 cm 1.67 MeV 0 eV 3.58 m 3.59 m WorldPVTransportation + 3 -24.8 cm -2.91 m 82.1 cm 1.67 MeV 0 eV 76.3 cm 4.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 280, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 81.8 mum 151 mum -2.41 m 11.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 269 mum 743 mum -2.4 m 11.4 MeV 0 eV 1.19 cm 1.19 cm TrackerTransportation + 2 1.28 cm 4.05 cm -1.6 m 11.4 MeV 0 eV 80.1 cm 81.3 cm ChamberTransportation + 3 1.59 cm 5.04 cm -1.4 m 11.4 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.53 cm 8.02 cm -80 cm 11.4 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 2.84 cm 9.01 cm -60 cm 11.4 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 3.78 cm 12 cm 0.114 fm 11.4 MeV 0 eV 60.1 cm 2.42 m ChamberTransportation + 7 4.1 cm 13 cm 20 cm 11.4 MeV 0 eV 20 cm 2.62 m TrackerTransportation + 8 5.04 cm 16 cm 80 cm 11.4 MeV 0 eV 60.1 cm 3.22 m ChamberTransportation + 9 5.35 cm 17 cm 1 m 11.4 MeV 0 eV 20 cm 3.42 m TrackerTransportation + 10 6.29 cm 19.9 cm 1.6 m 11.4 MeV 0 eV 60.1 cm 4.02 m ChamberTransportation + 11 6.6 cm 20.9 cm 1.8 m 11.4 MeV 0 eV 20 cm 4.22 m TrackerTransportation + 12 7.54 cm 23.9 cm 2.4 m 11.4 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 8.34 cm 26.4 cm 2.91 m 11.4 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 279, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 77.4 mum 143 mum -2.41 m 3.85 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -201 mum 1 mm -2.4 m 3.85 MeV 0 eV 1.2 cm 1.2 cm TrackerTransportation + 2 -1.88 cm 5.83 cm -1.6 m 3.85 MeV 0 eV 80.2 cm 81.4 cm ChamberTransportation + 3 -2.34 cm 7.27 cm -1.4 m 3.85 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -3.73 cm 11.6 cm -80 cm 3.85 MeV 0 eV 60.2 cm 1.62 m ChamberTransportation + 5 -4.2 cm 13 cm -60 cm 3.85 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 -5.59 cm 17.3 cm 0 fm 3.85 MeV 0 eV 60.2 cm 2.42 m ChamberTransportation + 7 -6.05 cm 18.7 cm 20 cm 3.85 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -7.45 cm 23 cm 80 cm 3.85 MeV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 -7.91 cm 24.5 cm 1 m 3.85 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 -9.3 cm 28.8 cm 1.6 m 3.85 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -9.77 cm 30.2 cm 1.8 m 3.85 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -11.2 cm 34.5 cm 2.4 m 3.85 MeV 0 eV 60.2 cm 4.83 m WorldPVTransportation + 13 -12.3 cm 38.2 cm 2.91 m 3.85 MeV 0 eV 51.1 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 278, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 83.6 mum 138 mum -2.41 m 6.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -245 mum 333 mum -2.4 m 6.23 MeV 0 eV 1.21 cm 1.21 cm TrackerTransportation + 2 -2.19 cm 1.32 cm -1.6 m 6.23 MeV 0 eV 80 cm 81.3 cm ChamberTransportation + 3 -2.74 cm 1.64 cm -1.4 m 6.23 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -4.36 cm 2.61 cm -80 cm 6.23 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -4.91 cm 2.93 cm -60 cm 6.23 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -6.53 cm 3.9 cm 0.114 fm 6.23 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -7.08 cm 4.22 cm 20 cm 6.23 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -8.71 cm 5.18 cm 80 cm 6.23 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -9.25 cm 5.51 cm 1 m 6.23 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -10.9 cm 6.47 cm 1.6 m 6.23 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -11.4 cm 6.79 cm 1.8 m 6.23 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -13 cm 7.76 cm 2.4 m 6.23 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -14.4 cm 8.58 cm 2.91 m 6.23 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 mum -2.44 mum -2.41 m 1.88 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 24.7 mum -21.5 mum -2.4 m 0 eV 860 keV 1.01 cm 1.01 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 283, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 24.7 mum -21.5 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 285, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 382 mum 2.78 mm -2.4 m 271 keV 240 keV 2.98 mm 2.98 mm TargetPV compt + 2 941 mum 2.99 mm -2.4 m 0 eV 271 keV 814 mum 3.79 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 284, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -862 mum -6.96 mm -2.4 m 0 eV 511 keV 7.39 mm 7.39 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.67 mum -2.35 mum -2.41 m 65.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 29.3 mum -14.8 mum -2.4 m 0 eV 0 eV 1.02 cm 1.02 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 287, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.3 mum -14.8 mum -2.4 m 47.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 51.6 mum -16.6 mum -2.4 m 42.3 MeV 5.34 MeV 3.5 mm 3.5 mm TrackerTransportation + 2 6.42 cm 3.61 cm -1.6 m 42.1 MeV 175 keV 80.3 cm 80.7 cm ChamberTransportation + 3 7.87 cm 4.73 cm -1.4 m 41.8 MeV 109 keV 20.1 cm 1.01 m Chamber eIoni + 4 7.87 cm 4.73 cm -1.4 m 41.8 MeV 0 eV 27.6 mum 1.01 m TrackerTransportation + 5 11.7 cm 5.74 cm -80 cm 41.7 MeV 129 keV 60.1 cm 1.61 m ChamberTransportation + 6 12.9 cm 6 cm -60 cm 41.6 MeV 84.5 keV 20 cm 1.81 m TrackerTransportation + 7 14.4 cm 5.48 cm -37.4 cm 41.5 MeV 44.8 keV 22.7 cm 2.04 m Tracker eIoni + 8 16.9 cm 4.76 cm -0.0568 fm 41.4 MeV 75.7 keV 37.5 cm 2.41 m ChamberTransportation + 9 18.2 cm 4.14 cm 20 cm 41.3 MeV 112 keV 20.1 cm 2.61 m TrackerTransportation + 10 21.6 cm 3.43 cm 80 cm 41.1 MeV 119 keV 60.1 cm 3.21 m ChamberTransportation + 11 22.5 cm 3.04 cm 1 m 41 MeV 116 keV 20 cm 3.41 m TrackerTransportation + 12 22.6 cm 2.43 cm 1.53 m 40.9 MeV 113 keV 52.6 cm 3.94 m Tracker eIoni + 13 22.6 cm 2.23 cm 1.6 m 40.9 MeV 16.3 keV 7.45 cm 4.01 m ChamberTransportation + 14 22.9 cm 2.24 cm 1.77 m 40.7 MeV 110 keV 16.8 cm 4.18 m Chamber eIoni + 15 22.8 cm 2.08 cm 1.8 m 40.7 MeV 16.1 keV 3.23 cm 4.21 m TrackerTransportation + 16 22.6 cm -1.62 cm 2.4 m 40.6 MeV 129 keV 60.1 cm 4.81 m WorldPVTransportation + 17 22.6 cm -1.72 cm 2.42 m 40.6 MeV 8 keV 2.37 cm 4.84 m WorldPV eIoni + 18 22.3 cm -4.2 cm 2.91 m 40.5 MeV 101 keV 48.7 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 296, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.6 cm -1.72 cm 2.42 m 11.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 22.6 cm -1.64 cm 2.42 m 10.4 keV 1.16 keV 907 mum 907 mum WorldPV eIoni + 2 22.6 cm -1.58 cm 2.42 m 5.12 keV 5.3 keV 805 mum 1.71 mm WorldPV eIoni + 3 22.6 cm -1.55 cm 2.42 m 3.61 keV 1.52 keV 425 mum 2.14 mm WorldPV eIoni + 4 22.6 cm -1.54 cm 2.42 m 2.22 keV 1.38 keV 325 mum 2.46 mm WorldPV eIoni + 5 22.6 cm -1.53 cm 2.42 m 0 eV 2.22 keV 191 mum 2.65 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 295, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.9 cm 2.24 cm 1.77 m 48.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23 cm 2.4 cm 1.77 m 45 keV 3.5 keV 3.43 mm 3.43 mm Chamber eIoni + 2 23.1 cm 2.51 cm 1.77 m 39.7 keV 5.36 keV 3.06 mm 6.49 mm Chamber eIoni + 3 23 cm 2.4 cm 1.77 m 33.9 keV 5.78 keV 2.54 mm 9.03 mm Chamber eIoni + 4 22.9 cm 2.38 cm 1.77 m 31.1 keV 2.78 keV 2.03 mm 1.11 cm Chamber eIoni + 5 22.9 cm 2.25 cm 1.77 m 28.9 keV 2.2 keV 1.8 mm 1.29 cm Chamber eIoni + 6 23 cm 2.24 cm 1.77 m 27.5 keV 1.39 keV 1.63 mm 1.45 cm Chamber eIoni + 7 23.1 cm 2.26 cm 1.77 m 23.6 keV 3.94 keV 1.53 mm 1.6 cm Chamber eIoni + 8 23.1 cm 2.2 cm 1.77 m 13.8 keV 9.79 keV 1.25 mm 1.73 cm Chamber eIoni + 9 23.1 cm 2.21 cm 1.77 m 10.9 keV 2.88 keV 699 mum 1.8 cm Chamber eIoni + 10 23.1 cm 2.19 cm 1.77 m 7.82 keV 3.09 keV 570 mum 1.85 cm Chamber eIoni + 11 23.1 cm 2.21 cm 1.77 m 2.83 keV 4.99 keV 444 mum 1.9 cm Chamber eIoni + 12 23.1 cm 2.21 cm 1.77 m 0 eV 2.83 keV 190 mum 1.92 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 294, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.6 cm 2.43 cm 1.53 m 12.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 22.6 cm 2.52 cm 1.53 m 12.4 keV 455 eV 1.03 mm 1.03 mm Tracker eIoni + 2 22.6 cm 2.61 cm 1.53 m 11.4 keV 1.06 keV 985 mum 2.02 mm Tracker eIoni + 3 22.6 cm 2.68 cm 1.53 m 8.98 keV 2.38 keV 887 mum 2.9 mm Tracker eIoni + 4 22.6 cm 2.73 cm 1.53 m 7.97 keV 1.01 keV 689 mum 3.59 mm Tracker eIoni + 5 22.6 cm 2.7 cm 1.53 m 7.29 keV 677 eV 612 mum 4.2 mm Tracker eIoni + 6 22.6 cm 2.68 cm 1.53 m 5.96 keV 1.33 keV 565 mum 4.77 mm Tracker eIoni + 7 22.6 cm 2.66 cm 1.53 m 4.17 keV 1.79 keV 477 mum 5.25 mm Tracker eIoni + 8 22.6 cm 2.63 cm 1.53 m 2.31 keV 1.86 keV 364 mum 5.61 mm Tracker eIoni + 9 22.6 cm 2.62 cm 1.53 m 0 eV 2.31 keV 203 mum 5.81 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 293, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.8 cm 3.35 cm 83.8 cm 11.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 21.8 cm 3.32 cm 83.9 cm 9 keV 2.33 keV 587 mum 587 mum Chamber eIoni + 2 21.7 cm 3.31 cm 83.9 cm 6.75 keV 2.25 keV 491 mum 1.08 mm Chamber eIoni + 3 21.7 cm 3.31 cm 83.9 cm 0 eV 6.75 keV 402 mum 1.48 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 292, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.7 cm 4.34 cm 13.4 cm 16.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 17.7 cm 4.38 cm 13.4 cm 10.1 keV 6.8 keV 854 mum 854 mum Chamber eIoni + 2 17.7 cm 4.39 cm 13.4 cm 8.69 keV 1.39 keV 534 mum 1.39 mm Chamber eIoni + 3 17.7 cm 4.39 cm 13.4 cm 7.25 keV 1.44 keV 478 mum 1.87 mm Chamber eIoni + 4 17.8 cm 4.39 cm 13.4 cm 5.43 keV 1.82 keV 422 mum 2.29 mm Chamber eIoni + 5 17.8 cm 4.39 cm 13.4 cm 0 eV 5.43 keV 348 mum 2.64 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 291, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.4 cm 5.48 cm -37.4 cm 60.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 14.6 cm 4.53 cm -36.8 cm 54.6 keV 6.19 keV 1.18 cm 1.18 cm Tracker eIoni + 2 14.4 cm 3.61 cm -36.8 cm 50.7 keV 3.92 keV 9.81 mm 2.16 cm Tracker eIoni + 3 14.9 cm 2.94 cm -36.8 cm 30.2 keV 20.5 keV 8.62 mm 3.03 cm Tracker eIoni + 4 15 cm 2.61 cm -36.7 cm 23.8 keV 6.43 keV 3.57 mm 3.38 cm Tracker eIoni + 5 15.1 cm 2.4 cm -36.7 cm 21.1 keV 2.64 keV 2.44 mm 3.63 cm Tracker eIoni + 6 15.2 cm 2.3 cm -36.6 cm 19.3 keV 1.84 keV 2.03 mm 3.83 cm Tracker eIoni + 7 15.1 cm 2.33 cm -36.5 cm 8.72 keV 10.6 keV 1.78 mm 4.01 cm Tracker eIoni + 8 15.1 cm 2.3 cm -36.4 cm 7.66 keV 1.07 keV 668 mum 4.07 cm Tracker eIoni + 9 15.2 cm 2.26 cm -36.4 cm 5.49 keV 2.17 keV 591 mum 4.13 cm Tracker eIoni + 10 15.2 cm 2.27 cm -36.4 cm 3.83 keV 1.66 keV 447 mum 4.18 cm Tracker eIoni + 11 15.2 cm 2.26 cm -36.4 cm 0 eV 3.83 keV 341 mum 4.21 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 290, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 12.7 cm 5.96 cm -63.1 cm 16.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 12.7 cm 5.99 cm -63.1 cm 14.8 keV 1.78 keV 840 mum 840 mum Chamber eIoni + 2 12.7 cm 5.98 cm -63.1 cm 11.4 keV 3.41 keV 748 mum 1.59 mm Chamber eIoni + 3 12.7 cm 6 cm -63.1 cm 10.5 keV 931 eV 591 mum 2.18 mm Chamber eIoni + 4 12.7 cm 6 cm -63.1 cm 9.37 keV 1.12 keV 552 mum 2.73 mm Chamber eIoni + 5 12.7 cm 5.99 cm -63.1 cm 8.35 keV 1.02 keV 506 mum 3.24 mm Chamber eIoni + 6 12.7 cm 5.96 cm -63.1 cm 7.33 keV 1.02 keV 464 mum 3.7 mm Chamber eIoni + 7 12.7 cm 5.95 cm -63.1 cm 4.55 keV 2.78 keV 425 mum 4.13 mm Chamber eIoni + 8 12.7 cm 5.94 cm -63.1 cm 4.37 keV 184 eV 307 mum 4.43 mm Chamber eIoni + 9 12.7 cm 5.94 cm -63.1 cm 638 eV 3.73 keV 298 mum 4.73 mm Chamber eIoni + 10 12.7 cm 5.94 cm -63.1 cm 0 eV 638 eV 27.3 mum 4.76 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.87 cm 4.73 cm -1.4 m 163 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.88 cm 4.73 cm -1.4 m 163 keV 0 eV 90.8 mum 90.8 mum TrackerTransportation + 2 13.3 cm 4.49 cm -1.37 m 138 keV 24.6 keV 6.45 cm 6.46 cm Tracker eIoni + 3 17.4 cm 6.87 cm -1.37 m 121 keV 17.2 keV 4.9 cm 11.4 cm Tracker eIoni + 4 20.6 cm 6.18 cm -1.35 m 106 keV 14.7 keV 3.91 cm 15.3 cm Tracker eIoni + 5 19.9 cm 5.1 cm -1.32 m 93 keV 13.3 keV 3.12 cm 18.4 cm Tracker eIoni + 6 19.8 cm 5.52 cm -1.3 m 79.4 keV 13.6 keV 2.47 cm 20.9 cm Tracker eIoni + 7 21.3 cm 6.11 cm -1.29 m 69.8 keV 9.57 keV 1.88 cm 22.7 cm Tracker eIoni + 8 22.6 cm 5.59 cm -1.3 m 56 keV 13.8 keV 1.51 cm 24.3 cm Tracker eIoni + 9 23.6 cm 5.45 cm -1.3 m 46.9 keV 9.17 keV 1.03 cm 25.3 cm Tracker eIoni + 10 24.1 cm 5.06 cm -1.3 m 41.5 keV 5.36 keV 7.54 mm 26 cm Tracker eIoni + 11 24.3 cm 5.2 cm -1.31 m 38.5 keV 2.95 keV 6.11 mm 26.6 cm Tracker eIoni + 12 24.3 cm 5.04 cm -1.31 m 35.6 keV 2.98 keV 5.4 mm 27.2 cm Tracker eIoni + 13 24.2 cm 5.22 cm -1.32 m 29.6 keV 5.93 keV 4.69 mm 27.7 cm Tracker eIoni + 14 24.1 cm 5.18 cm -1.32 m 24.5 keV 5.1 keV 3.47 mm 28 cm Tracker eIoni + 15 24 cm 5.11 cm -1.32 m 20.8 keV 3.73 keV 2.56 mm 28.3 cm Tracker eIoni + 16 24 cm 4.92 cm -1.32 m 18.1 keV 2.7 keV 1.98 mm 28.5 cm Tracker eIoni + 17 24 cm 4.77 cm -1.32 m 16.5 keV 1.61 keV 1.62 mm 28.6 cm Tracker eIoni + 18 23.9 cm 4.64 cm -1.32 m 14.8 keV 1.64 keV 1.42 mm 28.8 cm Tracker eIoni + 19 23.9 cm 4.53 cm -1.32 m 11.9 keV 2.94 keV 1.23 mm 28.9 cm Tracker eIoni + 20 23.8 cm 4.46 cm -1.32 m 10.1 keV 1.81 keV 934 mum 29 cm Tracker eIoni + 21 23.8 cm 4.43 cm -1.32 m 8.89 keV 1.19 keV 775 mum 29.1 cm Tracker eIoni + 22 23.8 cm 4.37 cm -1.32 m 6.67 keV 2.23 keV 681 mum 29.1 cm Tracker eIoni + 23 23.8 cm 4.4 cm -1.32 m 5.22 keV 1.45 keV 523 mum 29.2 cm Tracker eIoni + 24 23.8 cm 4.37 cm -1.32 m 2.37 keV 2.84 keV 430 mum 29.2 cm Tracker eIoni + 25 23.8 cm 4.37 cm -1.32 m 0 eV 2.37 keV 211 mum 29.2 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.1 cm 4.14 cm -1.51 m 14 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.11 cm 4.16 cm -1.51 m 13 keV 988 eV 710 mum 710 mum Chamber eIoni + 2 7.09 cm 4.13 cm -1.51 m 11.5 keV 1.54 keV 664 mum 1.37 mm Chamber eIoni + 3 7.1 cm 4.15 cm -1.51 m 6.19 keV 5.32 keV 595 mum 1.97 mm Chamber eIoni + 4 7.1 cm 4.16 cm -1.51 m 468 eV 5.72 keV 380 mum 2.35 mm Chamber eIoni + 5 7.1 cm 4.16 cm -1.51 m 0 eV 468 eV 19.9 mum 2.37 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.3 mum -14.8 mum -2.4 m 16.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 365 mum 223 mum -2.4 m 9.59 MeV 2.26 MeV 1.28 mm 1.28 mm TargetPV eBrem + 2 238 mum 457 mum -2.4 m 6.91 MeV 2.68 MeV 1.7 mm 2.98 mm TargetPV eIoni + 3 -27.7 mum 223 mum -2.4 m 5.43 MeV 1.48 MeV 1.14 mm 4.11 mm TrackerTransportation + 4 43.5 cm -36.6 cm -2.14 m 5.3 MeV 107 keV 62.7 cm 63.1 cm Tracker eIoni + 5 51.7 cm -43.2 cm -2.1 m 5.28 MeV 15.1 keV 11.2 cm 74.3 cm Tracker eIoni + 6 1.52 m -1.2 m -1.62 m 5.03 MeV 240 keV 1.36 m 2.1 m Tracker eIoni + 7 1.54 m -1.21 m -1.62 m 5.01 MeV 4.3 keV 1.52 cm 2.12 m Tracker eIoni + 8 2.4 m -1.46 m -1.26 m 4.84 MeV 171 keV 97.5 cm 3.09 m WorldPVTransportation + 9 2.91 m -1.59 m -1.12 m 4.75 MeV 93.1 keV 54.8 cm 3.64 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 301, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.54 m -1.21 m -1.62 m 11.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.54 m -1.21 m -1.62 m 9.39 keV 2.44 keV 928 mum 928 mum Tracker eIoni + 2 1.54 m -1.2 m -1.62 m 3.28 keV 6.11 keV 720 mum 1.65 mm Tracker eIoni + 3 1.54 m -1.2 m -1.62 m 894 eV 2.39 keV 300 mum 1.95 mm Tracker eIoni + 4 1.54 m -1.2 m -1.62 m 0 eV 894 eV 53.1 mum 2 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 300, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.52 m -1.2 m -1.62 m 8.21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.52 m -1.2 m -1.63 m 5.91 keV 2.31 keV 629 mum 629 mum Tracker eIoni + 2 1.52 m -1.2 m -1.63 m 4.53 keV 1.38 keV 473 mum 1.1 mm Tracker eIoni + 3 1.52 m -1.2 m -1.63 m 3.22 keV 1.31 keV 387 mum 1.49 mm Tracker eIoni + 4 1.52 m -1.2 m -1.63 m 1.38 keV 1.84 keV 295 mum 1.79 mm Tracker eIoni + 5 1.52 m -1.2 m -1.63 m 0 eV 1.38 keV 94.7 mum 1.88 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 299, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.7 cm -43.2 cm -2.1 m 11.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.7 cm -43.3 cm -2.1 m 10.2 keV 1.22 keV 893 mum 893 mum Tracker eIoni + 2 51.6 cm -43.3 cm -2.1 m 9.14 keV 1.07 keV 785 mum 1.68 mm Tracker eIoni + 3 51.6 cm -43.3 cm -2.1 m 6.31 keV 2.83 keV 701 mum 2.38 mm Tracker eIoni + 4 51.6 cm -43.3 cm -2.1 m 5.24 keV 1.07 keV 500 mum 2.88 mm Tracker eIoni + 5 51.6 cm -43.4 cm -2.1 m 4.04 keV 1.2 keV 432 mum 3.31 mm Tracker eIoni + 6 51.5 cm -43.4 cm -2.1 m 781 eV 3.26 keV 355 mum 3.67 mm Tracker eIoni + 7 51.5 cm -43.4 cm -2.1 m 0 eV 781 eV 45.1 mum 3.71 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 298, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.5 cm -36.6 cm -2.14 m 21.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 43.6 cm -36.5 cm -2.14 m 17.7 keV 3.45 keV 2.03 mm 2.03 mm Tracker eIoni + 2 43.7 cm -36.4 cm -2.14 m 13.5 keV 4.12 keV 1.56 mm 3.59 mm Tracker eIoni + 3 43.8 cm -36.4 cm -2.14 m 12.8 keV 752 eV 1.1 mm 4.69 mm Tracker eIoni + 4 43.8 cm -36.3 cm -2.14 m 11 keV 1.77 keV 1.02 mm 5.71 mm Tracker eIoni + 5 43.9 cm -36.4 cm -2.14 m 8.75 keV 2.27 keV 857 mum 6.57 mm Tracker eIoni + 6 44 cm -36.3 cm -2.14 m 7.54 keV 1.21 keV 670 mum 7.24 mm Tracker eIoni + 7 44 cm -36.3 cm -2.14 m 4.61 keV 2.92 keV 582 mum 7.82 mm Tracker eIoni + 8 44 cm -36.3 cm -2.14 m 936 eV 3.68 keV 392 mum 8.22 mm Tracker eIoni + 9 44 cm -36.3 cm -2.14 m 0 eV 936 eV 56.2 mum 8.27 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 297, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 365 mum 223 mum -2.4 m 4.94 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.55 mm -243 mum -2.4 m 4.94 MeV 0 eV 2.57 mm 2.57 mm TrackerTransportation + 2 2.4 m -94 cm 2.1 m 4.94 MeV 0 eV 5.18 m 5.19 m WorldPVTransportation + 3 2.83 m -1.11 m 2.91 m 4.94 MeV 0 eV 93.4 cm 6.12 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 101, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.05 mum -2.34 mum -2.41 m 267 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -68.7 nm -2.92 mum -2.41 m 0 eV 0 eV 2.08 mm 2.08 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 303, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.7 nm -2.92 mum -2.41 m 205 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.19 mum -8.44 mum -2.41 m 203 MeV 535 keV 380 mum 380 mum TargetPV eBrem + 2 -1.05 mum -24.3 mum -2.41 m 198 MeV 577 keV 445 mum 826 mum TargetPV eBrem + 3 165 nm -32.4 mum -2.41 m 197 MeV 226 keV 209 mum 1.04 mm TargetPV eBrem + 4 -82.4 mum -133 mum -2.41 m 184 MeV 2.97 MeV 2.32 mm 3.35 mm TargetPV eBrem + 5 -79.3 mum -150 mum -2.41 m 96.5 MeV 623 keV 466 mum 3.82 mm TargetPV eBrem + 6 -80.4 mum -150 mum -2.41 m 66.5 MeV 82.8 keV 77.9 mum 3.9 mm TargetPV eBrem + 7 -94.5 mum -168 mum -2.41 m 59.8 MeV 652 keV 440 mum 4.34 mm TargetPV eBrem + 8 -65.4 mum -116 mum -2.41 m 48.9 MeV 3.69 MeV 1.35 mm 5.69 mm TargetPV eBrem + 9 -52.7 mum -125 mum -2.41 m 31.8 MeV 934 keV 359 mum 6.04 mm TargetPV eBrem + 10 -6.67 mum -224 mum -2.41 m 22.7 MeV 484 keV 365 mum 6.41 mm TargetPV eBrem + 11 75.5 mum -272 mum -2.4 m 21.7 MeV 529 keV 449 mum 6.86 mm TargetPV eBrem + 12 266 mum 259 mum -2.4 m 14.8 MeV 2.26 MeV 1.89 mm 8.75 mm TargetPV eBrem + 13 370 mum 209 mum -2.4 m 13.5 MeV 742 keV 582 mum 9.33 mm TargetPV eBrem + 14 -370 mum 94.5 mum -2.4 m 9.9 MeV 2.15 MeV 1.8 mm 1.11 cm TargetPV eBrem + 15 -266 mum -308 mum -2.4 m 8.19 MeV 473 keV 438 mum 1.16 cm TargetPV eBrem + 16 172 mum -646 mum -2.4 m 6.79 MeV 724 keV 642 mum 1.22 cm TargetPV eBrem + 17 381 mum -707 mum -2.4 m 2.49 MeV 334 keV 319 mum 1.25 cm TargetPV eBrem + 18 456 mum -950 mum -2.4 m 1.5 MeV 990 keV 694 mum 1.32 cm TargetPV eIoni + 19 237 mum -1.15 mm -2.4 m 1.03 MeV 468 keV 519 mum 1.37 cm TargetPV eIoni + 20 222 mum -959 mum -2.4 m 633 keV 395 keV 425 mum 1.42 cm TargetPV eIoni + 21 149 mum -915 mum -2.4 m 272 keV 361 keV 323 mum 1.45 cm TargetPV eIoni + 22 146 mum -907 mum -2.4 m 0 eV 272 keV 125 mum 1.46 cm TargetPV eIoni + 23 146 mum -907 mum -2.4 m 0 eV 0 eV 0 fm 1.46 cm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 322, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 146 mum -907 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.55 mm 273 mum -2.4 m 0 eV 511 keV 4.61 mm 4.61 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 321, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 146 mum -907 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.28 mm -1.75 mm -2.4 m 511 keV 0 eV 3.3 mm 3.3 mm TrackerTransportation + 2 -2.4 m -83.4 cm -36.5 cm 511 keV 0 eV 3.25 m 3.26 m WorldPVTransportation + 3 -2.91 m -1.01 m 6.84 cm 511 keV 0 eV 69.2 cm 3.95 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 320, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 381 mum -707 mum -2.4 m 3.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.46 cm -9.38 mm -2.41 m 2.11 MeV 1.86 MeV 1.82 cm 1.82 cm TargetPV compt + 2 2.5 cm -2.49 cm -2.41 m 2.11 MeV 0 eV 1.9 cm 3.72 cm WorldPVTransportation + 3 1.59 m -2.38 m -2.91 m 2.11 MeV 0 eV 2.87 m 2.91 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 319, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 172 mum -646 mum -2.4 m 682 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.2 cm -5.56 mm -2.4 m 350 keV 332 keV 1.33 cm 1.33 cm TargetPV compt + 2 1.31 cm -4.6 mm -2.4 m 0 eV 350 keV 1.62 mm 1.49 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 318, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -266 mum -308 mum -2.4 m 1.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.46 cm -2.5 cm -2.42 m 1.23 MeV 0 eV 3.43 cm 3.43 cm WorldPVTransportation + 2 40.5 cm -67.4 cm -2.91 m 1.23 MeV 0 eV 90.2 cm 93.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 317, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -370 mum 94.5 mum -2.4 m 1.48 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.69 mm -7.74 mm -2.41 m 608 keV 874 keV 9.4 mm 9.4 mm TargetPV compt + 2 7.27 mm -8.15 mm -2.41 m 192 keV 415 keV 6.58 mm 1.6 cm TargetPV compt + 3 7 mm -8.36 mm -2.41 m 0 eV 192 keV 398 mum 1.64 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 316, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 370 mum 209 mum -2.4 m 562 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 21.1 mum 730 mum -2.4 m 0 eV 562 keV 2.13 mm 2.13 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 315, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 266 mum 259 mum -2.4 m 4.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 419 mum -149 mum -2.4 m 4.56 MeV 0 eV 3.08 mm 3.08 mm TrackerTransportation + 2 4.04 cm -10.7 cm -1.6 m 4.56 MeV 0 eV 80.8 cm 81.1 cm ChamberTransportation + 3 5.05 cm -13.4 cm -1.4 m 4.56 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 8.05 cm -21.4 cm -80 cm 4.56 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 9.05 cm -24.1 cm -60 cm 4.56 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 12 cm -32.1 cm 0 fm 4.56 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 13.1 cm -34.8 cm 20 cm 4.56 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 16.1 cm -42.8 cm 80 cm 4.56 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 17.1 cm -45.5 cm 1 m 4.56 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 20.1 cm -53.6 cm 1.6 m 4.56 MeV 0 eV 60.6 cm 4.04 m ChamberTransportation + 11 21.1 cm -56.2 cm 1.8 m 4.56 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 24.1 cm -64.3 cm 2.4 m 4.56 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 26.6 cm -71.1 cm 2.91 m 4.56 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 314, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 75.5 mum -272 mum -2.4 m 516 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 516 mum -119 mum -2.4 m 516 keV 0 eV 4.84 mm 4.84 mm TrackerTransportation + 2 7.36 cm 2.53 cm -1.6 m 516 keV 0 eV 80.4 cm 80.9 cm ChamberTransportation + 3 9.18 cm 3.17 cm -1.4 m 516 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.7 cm 5.07 cm -80 cm 516 keV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.5 cm 5.71 cm -60 cm 516 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 22 cm 7.61 cm 0 fm 516 keV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 23.8 cm 8.25 cm 20 cm 516 keV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 29.3 cm 10.2 cm 80 cm 516 keV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 31.1 cm 10.8 cm 1 m 516 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 36.6 cm 12.7 cm 1.6 m 516 keV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 38.4 cm 13.3 cm 1.8 m 516 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 43.9 cm 15.2 cm 2.4 m 516 keV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 48.5 cm 16.9 cm 2.91 m 516 keV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 313, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.67 mum -224 mum -2.41 m 8.59 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 327 mum -828 mum -2.4 m 8.59 MeV 0 eV 5.3 mm 5.3 mm TrackerTransportation + 2 5.12 cm -9.28 cm -1.6 m 8.59 MeV 0 eV 80.7 cm 81.2 cm ChamberTransportation + 3 6.01 cm -10.9 cm -1.46 m 0 eV 0 eV 14.1 cm 95.3 cm Chamber conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 324, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.01 cm -10.9 cm -1.46 m 3.37 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 6.08 cm -12.2 cm -1.4 m 3.35 MeV 22.8 keV 6.23 cm 6.23 cm TrackerTransportation + 2 9.23 cm -10.2 cm -1.25 m 3.31 MeV 23.2 keV 15.6 cm 21.8 cm Tracker eIoni + 3 9.74 cm -9.12 cm -1.18 m 3.23 MeV 14.5 keV 7.17 cm 29 cm Tracker eIoni + 4 13.6 cm -3.68 cm -80 cm 3.16 MeV 74.1 keV 38.6 cm 67.6 cm ChamberTransportation + 5 15.1 cm -1.99 cm -60 cm 3.06 MeV 86.8 keV 21.4 cm 89 cm TrackerTransportation + 6 16.3 cm -5.49 cm -54.4 cm 3.03 MeV 11.1 keV 6.7 cm 95.7 cm Tracker eIoni + 7 16.8 cm -7.01 cm -52 cm 3.02 MeV 5.85 keV 2.9 cm 98.6 cm Tracker eIoni + 8 29.7 cm -39.6 cm 0 fm 2.91 MeV 108 keV 63.4 cm 1.62 m ChamberTransportation + 9 34.8 cm -48.5 cm 20 cm 2.8 MeV 97.4 keV 24.4 cm 1.86 m TrackerTransportation + 10 53.7 cm -81.7 cm 23 cm 2.74 MeV 53.2 keV 38.5 cm 2.25 m Tracker eIoni + 11 1.01 m -1.51 m 32 cm 2.58 MeV 143 keV 85 cm 3.1 m Tracker eIoni + 12 1.18 m -1.7 m 35.7 cm 2.53 MeV 49.3 keV 26 cm 3.36 m Tracker eIoni + 13 1.38 m -1.87 m 43.2 cm 2.48 MeV 41.9 keV 27.2 cm 3.63 m Tracker eIoni + 14 2.05 m -2.4 m 64.9 cm 2.33 MeV 146 keV 89.9 cm 4.53 m WorldPVTransportation + 15 2.48 m -2.88 m 72.9 cm 2.2 MeV 106 keV 65.5 cm 5.18 m WorldPV eIoni + 16 2.53 m -2.91 m 73.1 cm 2.19 MeV 8.99 keV 5.83 cm 5.24 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 335, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.48 m -2.88 m 72.9 cm 23.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.48 m -2.88 m 73.1 cm 19.5 keV 3.81 keV 2.37 mm 2.37 mm WorldPV eIoni + 2 2.48 m -2.88 m 73.2 cm 18.1 keV 1.41 keV 1.81 mm 4.18 mm WorldPV eIoni + 3 2.48 m -2.88 m 73.3 cm 15.8 keV 2.28 keV 1.62 mm 5.8 mm WorldPV eIoni + 4 2.48 m -2.87 m 73.3 cm 14.8 keV 1.04 keV 1.34 mm 7.14 mm WorldPV eIoni + 5 2.48 m -2.87 m 73.2 cm 12.4 keV 2.36 keV 1.23 mm 8.37 mm WorldPV eIoni + 6 2.48 m -2.87 m 73.2 cm 10.8 keV 1.59 keV 984 mum 9.35 mm WorldPV eIoni + 7 2.48 m -2.87 m 73.1 cm 7.36 keV 3.46 keV 840 mum 1.02 cm WorldPV eIoni + 8 2.48 m -2.87 m 73 cm 5.36 keV 2 keV 570 mum 1.08 cm WorldPV eIoni + 9 2.48 m -2.87 m 73 cm 2.95 keV 2.41 keV 439 mum 1.12 cm WorldPV eIoni + 10 2.48 m -2.87 m 73 cm 1.38 keV 1.57 keV 273 mum 1.15 cm WorldPV eIoni + 11 2.48 m -2.87 m 73 cm 0 eV 1.38 keV 94.7 mum 1.16 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 334, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.38 m -1.87 m 43.2 cm 8.72 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.38 m -1.87 m 43.3 cm 6.8 keV 1.91 keV 668 mum 668 mum Tracker eIoni + 2 1.38 m -1.87 m 43.2 cm 4.74 keV 2.07 keV 531 mum 1.2 mm Tracker eIoni + 3 1.38 m -1.87 m 43.2 cm 3.1 keV 1.63 keV 400 mum 1.6 mm Tracker eIoni + 4 1.38 m -1.87 m 43.2 cm 969 eV 2.13 keV 286 mum 1.88 mm Tracker eIoni + 5 1.38 m -1.87 m 43.2 cm 0 eV 969 eV 58.9 mum 1.94 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.18 m -1.7 m 35.7 cm 8.22 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.18 m -1.7 m 35.8 cm 6.07 keV 2.15 keV 630 mum 630 mum Tracker eIoni + 2 1.18 m -1.7 m 35.8 cm 4.27 keV 1.8 keV 484 mum 1.11 mm Tracker eIoni + 3 1.18 m -1.7 m 35.8 cm 1.82 keV 2.45 keV 370 mum 1.48 mm Tracker eIoni + 4 1.18 m -1.7 m 35.8 cm 0 eV 1.82 keV 141 mum 1.62 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 332, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.01 m -1.51 m 32 cm 13.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.01 m -1.51 m 32 cm 11.7 keV 1.63 keV 1.07 mm 1.07 mm Tracker eIoni + 2 1.01 m -1.51 m 32 cm 9 keV 2.65 keV 913 mum 1.98 mm Tracker eIoni + 3 1.01 m -1.51 m 32 cm 6.88 keV 2.13 keV 690 mum 2.68 mm Tracker eIoni + 4 1.01 m -1.51 m 32 cm 5.23 keV 1.65 keV 536 mum 3.21 mm Tracker eIoni + 5 1.01 m -1.51 m 32 cm 4.3 keV 927 eV 431 mum 3.64 mm Tracker eIoni + 6 1.02 m -1.51 m 32.1 cm 1.18 keV 3.12 keV 373 mum 4.02 mm Tracker eIoni + 7 1.01 m -1.51 m 32.1 cm 0 eV 1.18 keV 76.2 mum 4.09 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 331, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 53.7 cm -81.7 cm 23 cm 9.79 keV 0 eV 0 fm 0 fm Tracker initStep + 1 53.7 cm -81.7 cm 23 cm 8.39 keV 1.4 keV 751 mum 751 mum Tracker eIoni + 2 53.7 cm -81.7 cm 22.9 cm 6.02 keV 2.38 keV 642 mum 1.39 mm Tracker eIoni + 3 53.7 cm -81.7 cm 22.9 cm 2.45 keV 3.57 keV 481 mum 1.87 mm Tracker eIoni + 4 53.7 cm -81.7 cm 22.9 cm 0 eV 2.45 keV 221 mum 2.1 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 330, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30 cm -40 cm 9.42 mm 11 keV 0 eV 0 fm 0 fm Chamber initStep + 1 30 cm -40 cm 9.6 mm 9.04 keV 2 keV 575 mum 575 mum Chamber eIoni + 2 30 cm -40 cm 9.44 mm 6.89 keV 2.15 keV 493 mum 1.07 mm Chamber eIoni + 3 30 cm -40 cm 9.38 mm 4.67 keV 2.22 keV 407 mum 1.48 mm Chamber eIoni + 4 30 cm -40 cm 9.46 mm 3.47 keV 1.2 keV 313 mum 1.79 mm Chamber eIoni + 5 30 cm -40 cm 9.46 mm 64.4 eV 3.41 keV 243 mum 2.03 mm Chamber eIoni + 6 30 cm -40 cm 9.46 mm 0 eV 64.4 eV 6.17 mum 2.04 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 329, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.8 cm -7.01 cm -52 cm 8.16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 16.8 cm -6.96 cm -52 cm 5.97 keV 2.19 keV 625 mum 625 mum Tracker eIoni + 2 16.9 cm -6.93 cm -52 cm 4.9 keV 1.07 keV 477 mum 1.1 mm Tracker eIoni + 3 16.9 cm -6.9 cm -52 cm 4.08 keV 813 eV 410 mum 1.51 mm Tracker eIoni + 4 16.9 cm -6.87 cm -52 cm 2.74 keV 1.34 keV 358 mum 1.87 mm Tracker eIoni + 5 16.9 cm -6.88 cm -52 cm 399 eV 2.34 keV 252 mum 2.12 mm Tracker eIoni + 6 16.9 cm -6.88 cm -52 cm 0 eV 399 eV 22.6 mum 2.15 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 328, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.3 cm -5.49 cm -54.4 cm 14.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 16.2 cm -5.47 cm -54.4 cm 10.3 keV 4.52 keV 1.23 mm 1.23 mm Tracker eIoni + 2 16.1 cm -5.52 cm -54.4 cm 7.76 keV 2.51 keV 792 mum 2.02 mm Tracker eIoni + 3 16.1 cm -5.55 cm -54.3 cm 3.19 keV 4.57 keV 598 mum 2.62 mm Tracker eIoni + 4 16.1 cm -5.54 cm -54.3 cm 852 eV 2.34 keV 293 mum 2.91 mm Tracker eIoni + 5 16.1 cm -5.54 cm -54.3 cm 0 eV 852 eV 50.1 mum 2.96 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 327, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.4 cm -2.79 cm -69.5 cm 9.62 keV 0 eV 0 fm 0 fm Chamber initStep + 1 14.4 cm -2.78 cm -69.5 cm 7 keV 2.62 keV 516 mum 516 mum Chamber eIoni + 2 14.4 cm -2.79 cm -69.5 cm 5.78 keV 1.22 keV 412 mum 927 mum Chamber eIoni + 3 14.4 cm -2.8 cm -69.5 cm 2.86 keV 2.93 keV 362 mum 1.29 mm Chamber eIoni + 4 14.4 cm -2.8 cm -69.5 cm 0 eV 2.86 keV 192 mum 1.48 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 326, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.74 cm -9.12 cm -1.18 m 64 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.58 cm -10.1 cm -1.17 m 56 keV 7.95 keV 1.29 cm 1.29 cm Tracker eIoni + 2 9.04 cm -10.3 cm -1.16 m 44.1 keV 11.9 keV 1.03 cm 2.32 cm Tracker eIoni + 3 8.94 cm -10.9 cm -1.16 m 39.1 keV 4.95 keV 6.76 mm 2.99 cm Tracker eIoni + 4 8.47 cm -11.2 cm -1.16 m 35.8 keV 3.33 keV 5.54 mm 3.55 cm Tracker eIoni + 5 8.18 cm -11.5 cm -1.16 m 33.5 keV 2.31 keV 4.75 mm 4.02 cm Tracker eIoni + 6 7.79 cm -11.6 cm -1.16 m 29.2 keV 4.32 keV 4.26 mm 4.45 cm Tracker eIoni + 7 7.59 cm -11.9 cm -1.16 m 23.7 keV 5.46 keV 3.38 mm 4.79 cm Tracker eIoni + 8 7.4 cm -12 cm -1.16 m 21.6 keV 2.05 keV 2.43 mm 5.03 cm Tracker eIoni + 9 7.4 cm -12.1 cm -1.16 m 19 keV 2.69 keV 2.11 mm 5.24 cm Tracker eIoni + 10 7.33 cm -12.3 cm -1.15 m 16.8 keV 2.16 keV 1.74 mm 5.41 cm Tracker eIoni + 11 7.35 cm -12.4 cm -1.15 m 12.7 keV 4.05 keV 1.46 mm 5.56 cm Tracker eIoni + 12 7.31 cm -12.5 cm -1.15 m 8.27 keV 4.47 keV 1.02 mm 5.66 cm Tracker eIoni + 13 7.29 cm -12.5 cm -1.15 m 6.87 keV 1.4 keV 633 mum 5.72 cm Tracker eIoni + 14 7.28 cm -12.6 cm -1.15 m 5.49 keV 1.38 keV 535 mum 5.78 cm Tracker eIoni + 15 7.26 cm -12.6 cm -1.15 m 3.11 keV 2.38 keV 447 mum 5.82 cm Tracker eIoni + 16 7.28 cm -12.6 cm -1.15 m 1.19 keV 1.92 keV 286 mum 5.85 cm Tracker eIoni + 17 7.28 cm -12.6 cm -1.15 m 0 eV 1.19 keV 77.2 mum 5.86 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.23 cm -10.2 cm -1.25 m 18.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.36 cm -10.3 cm -1.25 m 16.9 keV 1.63 keV 1.68 mm 1.68 mm Tracker eIoni + 2 9.42 cm -10.4 cm -1.25 m 14.8 keV 2.12 keV 1.47 mm 3.16 mm Tracker eIoni + 3 9.44 cm -10.5 cm -1.25 m 13.2 keV 1.66 keV 1.23 mm 4.39 mm Tracker eIoni + 4 9.4 cm -10.5 cm -1.25 m 11.9 keV 1.26 keV 1.06 mm 5.45 mm Tracker eIoni + 5 9.32 cm -10.6 cm -1.25 m 9.61 keV 2.28 keV 934 mum 6.38 mm Tracker eIoni + 6 9.34 cm -10.6 cm -1.25 m 5.55 keV 4.06 keV 737 mum 7.12 mm Tracker eIoni + 7 9.37 cm -10.6 cm -1.25 m 3.82 keV 1.73 keV 451 mum 7.57 mm Tracker eIoni + 8 9.35 cm -10.6 cm -1.25 m 2.34 keV 1.48 keV 340 mum 7.91 mm Tracker eIoni + 9 9.33 cm -10.6 cm -1.25 m 0 eV 2.34 keV 206 mum 8.12 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 323, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.01 cm -10.9 cm -1.46 m 4.2 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 6.7 cm -11 cm -1.4 m 4.16 MeV 31.3 keV 6.12 cm 6.12 cm TrackerTransportation + 2 7.16 cm -11.2 cm -1.37 m 4.16 MeV 3.75 keV 2.79 cm 8.91 cm Tracker eBrem + 3 7.18 cm -11.2 cm -1.37 m 4.08 MeV 251 eV 956 mum 9.01 cm Tracker eIoni + 4 14.8 cm -13.4 cm -80 cm 3.99 MeV 95.8 keV 58 cm 67.1 cm ChamberTransportation + 5 14.7 cm -15.6 cm -60 cm 3.88 MeV 91.3 keV 21.3 cm 88.3 cm TrackerTransportation + 6 9.31 cm -18.4 cm -21 cm 3.8 MeV 64.6 keV 39.5 cm 1.28 m Tracker eIoni + 7 6.47 cm -18.9 cm 0.0284 fm 3.78 MeV 29.6 keV 21.2 cm 1.49 m ChamberTransportation + 8 3.85 cm -24.5 cm 13.7 cm 3.67 MeV 66.8 keV 15.3 cm 1.64 m Chamber eIoni + 9 3.13 cm -25.5 cm 20 cm 3.64 MeV 23.4 keV 6.54 cm 1.71 m TrackerTransportation + 10 1.26 cm -40.3 cm 80 cm 3.54 MeV 107 keV 62.3 cm 2.33 m ChamberTransportation + 11 3.44 cm -42.7 cm 1 m 3.44 MeV 88.9 keV 21.7 cm 2.55 m TrackerTransportation + 12 9.05 cm -47.5 cm 1.4 m 3.35 MeV 66.7 keV 40.8 cm 2.96 m Tracker eIoni + 13 9.64 cm -51 cm 1.56 m 3.31 MeV 26 keV 16.8 cm 3.13 m Tracker eIoni + 14 9.83 cm -51.7 cm 1.6 m 3.31 MeV 3.83 keV 3.67 cm 3.16 m ChamberTransportation + 15 10.3 cm -55.9 cm 1.8 m 3.21 MeV 77.8 keV 22.1 cm 3.38 m TrackerTransportation + 16 15.6 cm -69.8 cm 2.4 m 3.11 MeV 102 keV 62.4 cm 4.01 m WorldPVTransportation + 17 17 cm -87.2 cm 2.91 m 3.01 MeV 93.9 keV 54.4 cm 4.55 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10 cm -53.3 cm 1.68 m 18.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 10 cm -53.3 cm 1.68 m 13.2 keV 5.38 keV 946 mum 946 mum Chamber eIoni + 2 10 cm -53.3 cm 1.68 m 11 keV 2.19 keV 670 mum 1.62 mm Chamber eIoni + 3 10 cm -53.2 cm 1.68 m 8.92 keV 2.06 keV 573 mum 2.19 mm Chamber eIoni + 4 10 cm -53.2 cm 1.68 m 550 eV 8.37 keV 488 mum 2.68 mm Chamber eIoni + 5 10 cm -53.2 cm 1.68 m 0 eV 550 eV 23.3 mum 2.7 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.64 cm -51 cm 1.56 m 10.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.66 cm -50.9 cm 1.56 m 7.37 keV 3.31 keV 828 mum 828 mum Tracker eIoni + 2 9.61 cm -50.9 cm 1.56 m 6.07 keV 1.3 keV 571 mum 1.4 mm Tracker eIoni + 3 9.58 cm -50.9 cm 1.56 m 3.46 keV 2.61 keV 484 mum 1.88 mm Tracker eIoni + 4 9.56 cm -50.9 cm 1.56 m 1.7 keV 1.76 keV 315 mum 2.2 mm Tracker eIoni + 5 9.56 cm -50.9 cm 1.56 m 0 eV 1.7 keV 128 mum 2.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 342, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.05 cm -47.5 cm 1.4 m 21.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.03 cm -47.3 cm 1.4 m 18.3 keV 3.37 keV 2.12 mm 2.12 mm Tracker eIoni + 2 9.13 cm -47.2 cm 1.4 m 12.9 keV 5.44 keV 1.66 mm 3.78 mm Tracker eIoni + 3 9.14 cm -47.3 cm 1.4 m 11.8 keV 1.13 keV 1.03 mm 4.81 mm Tracker eIoni + 4 9.2 cm -47.3 cm 1.4 m 10.6 keV 1.21 keV 923 mum 5.73 mm Tracker eIoni + 5 9.15 cm -47.2 cm 1.4 m 8.53 keV 2.03 keV 817 mum 6.55 mm Tracker eIoni + 6 9.13 cm -47.2 cm 1.4 m 7.48 keV 1.05 keV 653 mum 7.21 mm Tracker eIoni + 7 9.1 cm -47.1 cm 1.4 m 3.37 keV 4.12 keV 579 mum 7.78 mm Tracker eIoni + 8 9.12 cm -47.1 cm 1.4 m 899 eV 2.47 keV 307 mum 8.09 mm Tracker eIoni + 9 9.12 cm -47.1 cm 1.4 m 0 eV 899 eV 53.5 mum 8.14 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.34 cm -41.5 cm 89.9 cm 10.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 2.31 cm -41.5 cm 89.9 cm 9.69 keV 1.02 keV 561 mum 561 mum Chamber eIoni + 2 2.32 cm -41.5 cm 89.9 cm 8.26 keV 1.43 keV 518 mum 1.08 mm Chamber eIoni + 3 2.33 cm -41.5 cm 89.9 cm 4.6 keV 3.66 keV 461 mum 1.54 mm Chamber eIoni + 4 2.32 cm -41.5 cm 89.9 cm 2.7 keV 1.9 keV 309 mum 1.85 mm Chamber eIoni + 5 2.32 cm -41.5 cm 89.9 cm 0 eV 2.7 keV 178 mum 2.03 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 340, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.85 cm -24.5 cm 13.7 cm 42.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 3.94 cm -24.4 cm 13.9 cm 24.7 keV 18.3 keV 2.85 mm 2.85 mm Chamber eIoni + 2 4.01 cm -24.4 cm 13.9 cm 17.6 keV 7.11 keV 1.32 mm 4.17 mm Chamber eIoni + 3 3.96 cm -24.4 cm 14 cm 14.8 keV 2.74 keV 889 mum 5.06 mm Chamber eIoni + 4 3.97 cm -24.5 cm 14 cm 4.99 keV 9.82 keV 747 mum 5.81 mm Chamber eIoni + 5 3.96 cm -24.5 cm 14 cm 2.88 keV 2.11 keV 328 mum 6.13 mm Chamber eIoni + 6 3.96 cm -24.5 cm 14 cm 0 eV 2.88 keV 195 mum 6.33 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 339, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.31 cm -18.4 cm -21 cm 8.76 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.27 cm -18.3 cm -21 cm 6.75 keV 2.01 keV 671 mum 671 mum Tracker eIoni + 2 9.24 cm -18.3 cm -20.9 cm 5.33 keV 1.41 keV 528 mum 1.2 mm Tracker eIoni + 3 9.22 cm -18.3 cm -21 cm 4.23 keV 1.1 keV 438 mum 1.64 mm Tracker eIoni + 4 9.19 cm -18.3 cm -21 cm 2.95 keV 1.29 keV 368 mum 2 mm Tracker eIoni + 5 9.2 cm -18.3 cm -20.9 cm 1.72 keV 1.22 keV 272 mum 2.28 mm Tracker eIoni + 6 9.21 cm -18.3 cm -20.9 cm 0 eV 1.72 keV 130 mum 2.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 338, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.8 cm -14.4 cm -71.4 cm 18 keV 0 eV 0 fm 0 fm Chamber initStep + 1 14.7 cm -14.4 cm -71.3 cm 16.4 keV 1.53 keV 912 mum 912 mum Chamber eIoni + 2 14.7 cm -14.3 cm -71.3 cm 15.3 keV 1.11 keV 830 mum 1.74 mm Chamber eIoni + 3 14.7 cm -14.4 cm -71.3 cm 13.3 keV 2.02 keV 773 mum 2.52 mm Chamber eIoni + 4 14.6 cm -14.4 cm -71.3 cm 12.2 keV 1.12 keV 676 mum 3.19 mm Chamber eIoni + 5 14.6 cm -14.4 cm -71.4 cm 11.4 keV 797 eV 624 mum 3.82 mm Chamber eIoni + 6 14.6 cm -14.4 cm -71.3 cm 902 eV 10.5 keV 590 mum 4.4 mm Chamber eIoni + 7 14.6 cm -14.4 cm -71.3 cm 0 eV 902 eV 40.9 mum 4.45 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 337, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.18 cm -11.2 cm -1.37 m 75 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.52 cm -12.8 cm -1.37 m 67.6 keV 7.4 keV 1.7 cm 1.7 cm Tracker eIoni + 2 8.08 cm -13.3 cm -1.36 m 62.5 keV 5.06 keV 1.42 cm 3.12 cm Tracker eIoni + 3 8.35 cm -13.8 cm -1.35 m 55.9 keV 6.58 keV 1.24 cm 4.36 cm Tracker eIoni + 4 8.9 cm -13.6 cm -1.34 m 49.3 keV 6.61 keV 1.02 cm 5.39 cm Tracker eIoni + 5 9.52 cm -13.8 cm -1.33 m 42.9 keV 6.43 keV 8.23 mm 6.21 cm Tracker eIoni + 6 9.97 cm -14.2 cm -1.33 m 34.5 keV 8.37 keV 6.45 mm 6.85 cm Tracker eIoni + 7 10.3 cm -14.4 cm -1.33 m 31.5 keV 2.97 keV 4.48 mm 7.3 cm Tracker eIoni + 8 10.4 cm -14.5 cm -1.34 m 28.6 keV 2.93 keV 3.85 mm 7.69 cm Tracker eIoni + 9 10.6 cm -14.4 cm -1.34 m 17.5 keV 11.1 keV 3.28 mm 8.02 cm Tracker eIoni + 10 10.8 cm -14.5 cm -1.34 m 16 keV 1.53 keV 1.54 mm 8.17 cm Tracker eIoni + 11 10.8 cm -14.6 cm -1.34 m 15 keV 916 eV 1.36 mm 8.31 cm Tracker eIoni + 12 10.9 cm -14.7 cm -1.34 m 12.9 keV 2.17 keV 1.26 mm 8.43 cm Tracker eIoni + 13 10.8 cm -14.7 cm -1.34 m 10.5 keV 2.32 keV 1.03 mm 8.53 cm Tracker eIoni + 14 10.8 cm -14.7 cm -1.34 m 9.81 keV 730 eV 815 mum 8.62 cm Tracker eIoni + 15 10.7 cm -14.8 cm -1.34 m 8.24 keV 1.58 keV 753 mum 8.69 cm Tracker eIoni + 16 10.7 cm -14.8 cm -1.34 m 5.78 keV 2.45 keV 631 mum 8.75 cm Tracker eIoni + 17 10.6 cm -14.8 cm -1.34 m 0 eV 5.78 keV 465 mum 8.8 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 336, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.16 cm -11.2 cm -1.37 m 1.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.3 cm -11.4 cm -1.37 m 0 eV 1.4 keV 5.33 mm 5.33 mm Tracker phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 312, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.7 mum -125 mum -2.41 m 16.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 551 mum -1.26 mm -2.4 m 16.2 MeV 0 eV 5.75 mm 5.75 mm TrackerTransportation + 2 8.68 cm -16.3 cm -1.6 m 16.2 MeV 0 eV 82.1 cm 82.6 cm ChamberTransportation + 3 10.8 cm -20.3 cm -1.4 m 16.2 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 17.3 cm -32.4 cm -80 cm 16.2 MeV 0 eV 61.6 cm 1.65 m ChamberTransportation + 5 19.5 cm -36.5 cm -60 cm 16.2 MeV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 25.9 cm -48.6 cm 0 fm 16.2 MeV 0 eV 61.6 cm 2.47 m ChamberTransportation + 7 28.1 cm -52.6 cm 20 cm 16.2 MeV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 34.5 cm -64.7 cm 80 cm 16.2 MeV 0 eV 61.6 cm 3.29 m ChamberTransportation + 9 36.7 cm -68.8 cm 1 m 16.2 MeV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 43.2 cm -80.9 cm 1.6 m 16.2 MeV 0 eV 61.6 cm 4.11 m ChamberTransportation + 11 45.3 cm -84.9 cm 1.8 m 16.2 MeV 0 eV 20.5 cm 4.31 m TrackerTransportation + 12 51.8 cm -97 cm 2.4 m 16.2 MeV 0 eV 61.6 cm 4.93 m WorldPVTransportation + 13 57.3 cm -1.07 m 2.91 m 16.2 MeV 0 eV 52.3 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 311, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65.4 mum -116 mum -2.41 m 7.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 39.8 mum -592 mum -2.4 m 5.57 MeV 0 eV 5.88 mm 5.88 mm TargetPV compt + 2 38.6 mum -580 mum -2.4 m 5.57 MeV 0 eV 99.5 mum 5.98 mm TrackerTransportation + 3 -1 cm 9.76 cm -1.6 m 5.57 MeV 0 eV 80.6 cm 81.2 cm ChamberTransportation + 4 -1.25 cm 12.2 cm -1.4 m 5.57 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 5 -2 cm 19.6 cm -80 cm 5.57 MeV 0 eV 60.5 cm 1.62 m ChamberTransportation + 6 -2.26 cm 22 cm -60 cm 5.57 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 7 -3.01 cm 29.4 cm -0.114 fm 5.57 MeV 0 eV 60.5 cm 2.42 m ChamberTransportation + 8 -3.26 cm 31.9 cm 20 cm 5.57 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 9 -4.01 cm 39.2 cm 80 cm 5.57 MeV 0 eV 60.5 cm 3.23 m ChamberTransportation + 10 -4.26 cm 41.7 cm 1 m 5.57 MeV 0 eV 20.2 cm 3.43 m TrackerTransportation + 11 -5.02 cm 49 cm 1.6 m 5.57 MeV 0 eV 60.5 cm 4.04 m ChamberTransportation + 12 -5.27 cm 51.5 cm 1.8 m 5.57 MeV 0 eV 20.2 cm 4.24 m TrackerTransportation + 13 -6.02 cm 58.9 cm 2.4 m 5.57 MeV 0 eV 60.5 cm 4.84 m WorldPVTransportation + 14 -6.66 cm 65.1 cm 2.91 m 5.57 MeV 0 eV 51.4 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 311 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.8 mum -592 mum -2.4 m 1.66 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 51.6 mum -667 mum -2.4 m 1.45 MeV 212 keV 267 mum 267 mum TrackerTransportation + 2 -59.2 cm 92.3 cm -2.16 m 1.23 MeV 201 keV 1.18 m 1.18 m Tracker eIoni + 3 -1.06 m 1.33 m -2.07 m 1.11 MeV 108 keV 65.7 cm 1.83 m Tracker eIoni + 4 -1.49 m 1.9 m -1.99 m 978 keV 127 keV 75.1 cm 2.59 m Tracker eIoni + 5 -1.76 m 2.24 m -1.89 m 860 keV 76.8 keV 46.9 cm 3.05 m Tracker eIoni + 6 -1.84 m 2.28 m -1.87 m 829 keV 17.4 keV 9.45 cm 3.15 m Tracker eIoni + 7 -1.82 m 2.4 m -1.85 m 808 keV 20.8 keV 13 cm 3.28 m WorldPVTransportation + 8 -1.73 m 2.91 m -1.76 m 707 keV 101 keV 56.4 cm 3.84 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 350, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.84 m 2.28 m -1.87 m 12.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.85 m 2.28 m -1.87 m 12 keV 911 eV 1.03 mm 1.03 mm Tracker eIoni + 2 -1.85 m 2.28 m -1.87 m 9.04 keV 2.97 keV 943 mum 1.98 mm Tracker eIoni + 3 -1.85 m 2.28 m -1.87 m 7.77 keV 1.27 keV 693 mum 2.67 mm Tracker eIoni + 4 -1.85 m 2.27 m -1.87 m 7.05 keV 726 eV 599 mum 3.27 mm Tracker eIoni + 5 -1.85 m 2.27 m -1.87 m 6.33 keV 716 eV 548 mum 3.82 mm Tracker eIoni + 6 -1.85 m 2.27 m -1.87 m 5.35 keV 981 eV 501 mum 4.32 mm Tracker eIoni + 7 -1.85 m 2.27 m -1.87 m 2.48 keV 2.87 keV 439 mum 4.76 mm Tracker eIoni + 8 -1.85 m 2.27 m -1.87 m 347 eV 2.13 keV 224 mum 4.98 mm Tracker eIoni + 9 -1.85 m 2.27 m -1.87 m 0 eV 347 eV 20.2 mum 5 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 349, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.76 m 2.24 m -1.89 m 41.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m 2.25 m -1.89 m 37.6 keV 3.97 keV 6.13 mm 6.13 mm Tracker eIoni + 2 -1.76 m 2.25 m -1.89 m 31.8 keV 5.8 keV 5.17 mm 1.13 cm Tracker eIoni + 3 -1.76 m 2.25 m -1.89 m 29.7 keV 2.12 keV 3.91 mm 1.52 cm Tracker eIoni + 4 -1.76 m 2.25 m -1.89 m 25.8 keV 3.91 keV 3.48 mm 1.87 cm Tracker eIoni + 5 -1.76 m 2.25 m -1.89 m 23.1 keV 2.69 keV 2.77 mm 2.15 cm Tracker eIoni + 6 -1.77 m 2.25 m -1.89 m 20.8 keV 2.31 keV 2.33 mm 2.38 cm Tracker eIoni + 7 -1.77 m 2.25 m -1.89 m 18.3 keV 2.51 keV 1.98 mm 2.58 cm Tracker eIoni + 8 -1.77 m 2.25 m -1.89 m 16.5 keV 1.75 keV 1.64 mm 2.74 cm Tracker eIoni + 9 -1.77 m 2.25 m -1.89 m 14.1 keV 2.42 keV 1.43 mm 2.88 cm Tracker eIoni + 10 -1.77 m 2.25 m -1.89 m 11.6 keV 2.45 keV 1.15 mm 3 cm Tracker eIoni + 11 -1.77 m 2.25 m -1.89 m 10.1 keV 1.58 keV 912 mum 3.09 cm Tracker eIoni + 12 -1.77 m 2.25 m -1.89 m 8.96 keV 1.1 keV 773 mum 3.17 cm Tracker eIoni + 13 -1.77 m 2.25 m -1.89 m 7.57 keV 1.4 keV 687 mum 3.24 cm Tracker eIoni + 14 -1.77 m 2.25 m -1.89 m 6.38 keV 1.18 keV 584 mum 3.29 cm Tracker eIoni + 15 -1.77 m 2.25 m -1.89 m 3.72 keV 2.66 keV 504 mum 3.34 cm Tracker eIoni + 16 -1.77 m 2.25 m -1.89 m 2.13 keV 1.59 keV 333 mum 3.38 cm Tracker eIoni + 17 -1.77 m 2.25 m -1.89 m 0 eV 2.13 keV 179 mum 3.4 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 m 1.9 m -1.99 m 8.22 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.49 m 1.9 m -1.99 m 4.95 keV 3.27 keV 630 mum 630 mum Tracker eIoni + 2 -1.49 m 1.9 m -1.99 m 154 eV 4.8 keV 414 mum 1.04 mm Tracker eIoni + 3 -1.49 m 1.9 m -1.99 m 0 eV 154 eV 12.5 mum 1.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.06 m 1.33 m -2.07 m 11.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.06 m 1.33 m -2.07 m 8.92 keV 2.52 keV 894 mum 894 mum Tracker eIoni + 2 -1.06 m 1.33 m -2.07 m 6.21 keV 2.7 keV 683 mum 1.58 mm Tracker eIoni + 3 -1.06 m 1.33 m -2.07 m 4.54 keV 1.67 keV 494 mum 2.07 mm Tracker eIoni + 4 -1.06 m 1.33 m -2.07 m 2.25 keV 2.29 keV 388 mum 2.46 mm Tracker eIoni + 5 -1.06 m 1.33 m -2.07 m 0 eV 2.25 keV 195 mum 2.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.2 cm 92.3 cm -2.16 m 14.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -59.3 cm 92.2 cm -2.16 m 12.7 keV 1.34 keV 1.15 mm 1.15 mm Tracker eIoni + 2 -59.4 cm 92.2 cm -2.16 m 11.3 keV 1.47 keV 1.02 mm 2.17 mm Tracker eIoni + 3 -59.5 cm 92.2 cm -2.16 m 9.9 keV 1.37 keV 879 mum 3.05 mm Tracker eIoni + 4 -59.5 cm 92.3 cm -2.16 m 8.19 keV 1.71 keV 759 mum 3.81 mm Tracker eIoni + 5 -59.5 cm 92.3 cm -2.16 m 5.55 keV 2.64 keV 627 mum 4.43 mm Tracker eIoni + 6 -59.6 cm 92.3 cm -2.16 m 4.05 keV 1.5 keV 451 mum 4.88 mm Tracker eIoni + 7 -59.5 cm 92.3 cm -2.16 m 1.22 keV 2.82 keV 355 mum 5.24 mm Tracker eIoni + 8 -59.5 cm 92.3 cm -2.16 m 0 eV 1.22 keV 79.8 mum 5.32 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 310, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.5 mum -168 mum -2.41 m 6.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -183 mum -512 mum -2.4 m 6.03 MeV 0 eV 7.31 mm 7.31 mm TrackerTransportation + 2 -9.93 mm -3.82 cm -1.6 m 6.03 MeV 0 eV 80.1 cm 80.8 cm ChamberTransportation + 3 -1.24 cm -4.77 cm -1.4 m 6.03 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -1.97 cm -7.59 cm -80 cm 6.03 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -2.21 cm -8.54 cm -60 cm 6.03 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -2.94 cm -11.4 cm 0 fm 6.03 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -3.19 cm -12.3 cm 20 cm 6.03 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -3.92 cm -15.1 cm 80 cm 6.03 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -4.16 cm -16.1 cm 1 m 6.03 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -4.89 cm -18.9 cm 1.6 m 6.03 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -5.13 cm -19.9 cm 1.8 m 6.03 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -5.87 cm -22.7 cm 2.4 m 6.03 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -6.49 cm -25.1 cm 2.91 m 6.03 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 309, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.4 mum -150 mum -2.41 m 29.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -218 mum -228 mum -2.4 m 29.9 MeV 0 eV 7.75 mm 7.75 mm TrackerTransportation + 2 -1.44 cm -8.29 mm -1.6 m 29.9 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -1.8 cm -1.03 cm -1.4 m 29.9 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.86 cm -1.63 cm -80 cm 29.9 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.22 cm -1.84 cm -60 cm 29.9 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.28 cm -2.44 cm 0.114 fm 29.9 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -4.64 cm -2.64 cm 20 cm 29.9 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.7 cm -3.25 cm 80 cm 29.9 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -6.06 cm -3.45 cm 1 m 29.9 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -7.12 cm -4.05 cm 1.6 m 29.9 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -7.48 cm -4.25 cm 1.8 m 29.9 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.54 cm -4.86 cm 2.4 m 29.9 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -9.45 cm -5.37 cm 2.91 m 29.9 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 308, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.3 mum -150 mum -2.41 m 86.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -191 mum -250 mum -2.4 m 86.6 MeV 0 eV 7.82 mm 7.82 mm TrackerTransportation + 2 -1.16 cm -1.06 cm -1.6 m 86.6 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -1.45 cm -1.32 cm -1.4 m 86.6 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.31 cm -2.09 cm -80 cm 86.6 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -2.6 cm -2.35 cm -60 cm 86.6 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -3.45 cm -3.12 cm 0 fm 86.6 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -3.74 cm -3.38 cm 20 cm 86.6 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -4.6 cm -4.15 cm 80 cm 86.6 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -4.89 cm -4.41 cm 1 m 86.6 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -5.74 cm -5.19 cm 1.6 m 86.6 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -6.03 cm -5.44 cm 1.8 m 86.6 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -6.89 cm -6.22 cm 2.4 m 86.6 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -7.62 cm -6.88 cm 2.91 m 86.6 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 307, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -82.4 mum -133 mum -2.41 m 10.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -106 mum -295 mum -2.4 m 10.8 MeV 0 eV 8.29 mm 8.29 mm TrackerTransportation + 2 -2.41 mm -1.6 cm -1.6 m 10.8 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -2.98 mm -1.99 cm -1.4 m 10.8 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -4.71 mm -3.17 cm -80 cm 10.8 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -5.28 mm -3.56 cm -60 cm 10.8 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -7.01 mm -4.74 cm -0.114 fm 10.8 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -7.59 mm -5.14 cm 20 cm 10.8 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -9.31 mm -6.31 cm 80 cm 10.8 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -9.89 mm -6.71 cm 1 m 10.8 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -1.16 cm -7.88 cm 1.6 m 10.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -1.22 cm -8.28 cm 1.8 m 10.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -1.39 cm -9.46 cm 2.4 m 10.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -1.54 cm -10.5 cm 2.91 m 10.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 306, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 165 nm -32.4 mum -2.41 m 434 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -13.3 mum -197 mum -2.41 m 0 eV 434 keV 4.47 mm 4.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 305, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.05 mum -24.3 mum -2.41 m 4.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -9.48 mum -352 mum -2.4 m 4.7 MeV 0 eV 1.08 cm 1.08 cm TrackerTransportation + 2 -633 mum -2.46 cm -1.6 m 4.7 MeV 0 eV 80 cm 81.1 cm ChamberTransportation + 3 -789 mum -3.07 cm -1.4 m 4.7 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -1.26 mm -4.89 cm -80 cm 4.7 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -1.41 mm -5.49 cm -60 cm 4.7 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -1.88 mm -7.31 cm 0 fm 4.7 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -2.04 mm -7.92 cm 20 cm 4.7 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -2.5 mm -9.74 cm 80 cm 4.7 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -2.66 mm -10.3 cm 1 m 4.7 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -3.13 mm -12.2 cm 1.6 m 4.7 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -3.28 mm -12.8 cm 1.8 m 4.7 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -3.75 mm -14.6 cm 2.4 m 4.7 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -4.15 mm -16.1 cm 2.91 m 4.7 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 304, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.19 mum -8.44 mum -2.41 m 703 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -7.6 mum -46.9 mum -2.41 m 697 keV 5.9 keV 2.14 mm 2.14 mm TargetPV compt + 2 603 mum -987 mum -2.4 m 697 keV 0 eV 9.19 mm 1.13 cm TrackerTransportation + 3 5.42 cm -8.35 cm -1.6 m 697 keV 0 eV 80.6 cm 81.7 cm ChamberTransportation + 4 6.76 cm -10.4 cm -1.4 m 697 keV 0 eV 20.2 cm 1.02 m TrackerTransportation + 5 10.8 cm -16.6 cm -80 cm 697 keV 0 eV 60.5 cm 1.62 m ChamberTransportation + 6 12.1 cm -18.7 cm -60 cm 697 keV 0 eV 20.2 cm 1.82 m TrackerTransportation + 7 16.1 cm -24.8 cm 0 fm 697 keV 0 eV 60.5 cm 2.43 m ChamberTransportation + 8 17.5 cm -26.9 cm 20 cm 697 keV 0 eV 20.2 cm 2.63 m TrackerTransportation + 9 21.5 cm -33.1 cm 80 cm 697 keV 0 eV 60.5 cm 3.24 m ChamberTransportation + 10 22.8 cm -35.2 cm 1 m 697 keV 0 eV 20.2 cm 3.44 m TrackerTransportation + 11 26.9 cm -41.3 cm 1.6 m 697 keV 0 eV 60.5 cm 4.04 m ChamberTransportation + 12 28.2 cm -43.4 cm 1.8 m 697 keV 0 eV 20.2 cm 4.24 m TrackerTransportation + 13 32.2 cm -49.6 cm 2.4 m 697 keV 0 eV 60.5 cm 4.85 m WorldPVTransportation + 14 35.6 cm -54.8 cm 2.91 m 697 keV 0 eV 51.4 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.7 nm -2.92 mum -2.41 m 60.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 510 mum 305 mum -2.41 m 47.1 MeV 5.06 MeV 3.55 mm 3.55 mm TargetPV eBrem + 2 511 mum 311 mum -2.41 m 46.5 MeV 145 keV 124 mum 3.67 mm TargetPV eBrem + 3 485 mum 449 mum -2.41 m 45 MeV 914 keV 706 mum 4.38 mm TargetPV eBrem + 4 493 mum 365 mum -2.41 m 40.2 MeV 1.84 MeV 1.31 mm 5.69 mm TargetPV eBrem + 5 490 mum 370 mum -2.41 m 39.7 MeV 42.4 keV 27.9 mum 5.72 mm TargetPV eBrem + 6 466 mum 454 mum -2.41 m 38 MeV 545 keV 494 mum 6.21 mm TargetPV eBrem + 7 51.4 mum 700 mum -2.4 m 35.4 MeV 1.79 MeV 1.34 mm 7.56 mm TargetPV eBrem + 8 -65 mum 723 mum -2.4 m 33 MeV 533 keV 456 mum 8.01 mm TargetPV eBrem + 9 -78.6 mum 509 mum -2.4 m 30.7 MeV 695 keV 474 mum 8.49 mm TargetPV eBrem + 10 -99.4 mum 540 mum -2.4 m 28.2 MeV 124 keV 81.4 mum 8.57 mm TargetPV eBrem + 11 -379 mum 1.24 mm -2.4 m 25.4 MeV 1.73 MeV 1.36 mm 9.93 mm TargetPV eBrem + 12 -417 mum 1.76 mm -2.4 m 19.8 MeV 1.48 MeV 1 mm 1.09 cm TargetPV eBrem + 13 -503 mum 2.01 mm -2.4 m 17.9 MeV 579 keV 408 mum 1.13 cm TargetPV eBrem + 14 -716 mum 2.74 mm -2.4 m 13.6 MeV 4.24 MeV 1.46 mm 1.28 cm TrackerTransportation + 15 -1.33 m 34.6 cm -1.55 m 13.3 MeV 304 keV 1.61 m 1.62 m Tracker eIoni + 16 -2.4 m 52.4 cm -82.6 cm 13.1 MeV 245 keV 1.31 m 2.94 m WorldPVTransportation + 17 -2.51 m 54.2 cm -74.9 cm 13 MeV 27.9 keV 13.8 cm 3.07 m WorldPV eIoni + 18 -2.7 m 56.9 cm -63.4 cm 12.9 MeV 42 keV 22.3 cm 3.3 m WorldPV eIoni + 19 -2.75 m 57.4 cm -60.1 cm 12.8 MeV 11.5 keV 6.28 cm 3.36 m WorldPV eIoni + 20 -2.81 m 58 cm -56.8 cm 12.8 MeV 15.3 keV 6.49 cm 3.42 m WorldPV eIoni + 21 -2.91 m 58.9 cm -50.8 cm 12.8 MeV 24 keV 11.7 cm 3.54 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 368, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.81 m 58 cm -56.8 cm 11.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.81 m 58 cm -56.8 cm 9.24 keV 1.98 keV 875 mum 875 mum WorldPV eIoni + 2 -2.81 m 58.1 cm -56.8 cm 6.78 keV 2.46 keV 708 mum 1.58 mm WorldPV eIoni + 3 -2.81 m 58.1 cm -56.8 cm 5.15 keV 1.63 keV 530 mum 2.11 mm WorldPV eIoni + 4 -2.81 m 58.1 cm -56.8 cm 3.48 keV 1.67 keV 426 mum 2.54 mm WorldPV eIoni + 5 -2.81 m 58.1 cm -56.9 cm 1.63 keV 1.84 keV 316 mum 2.85 mm WorldPV eIoni + 6 -2.81 m 58.1 cm -56.9 cm 0 eV 1.63 keV 120 mum 2.97 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 367, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.75 m 57.4 cm -60.1 cm 36.7 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.75 m 57.3 cm -59.7 cm 21.7 keV 2.23 keV 4.19 mm 4.19 mm WorldPV eIoni + 2 -2.75 m 57.2 cm -59.7 cm 13 keV 8.72 keV 2.12 mm 6.31 mm WorldPV eIoni + 3 -2.75 m 57.1 cm -59.7 cm 11.5 keV 1.43 keV 1.04 mm 7.35 mm WorldPV eIoni + 4 -2.75 m 57.1 cm -59.7 cm 8.19 keV 3.35 keV 903 mum 8.25 mm WorldPV eIoni + 5 -2.75 m 57.1 cm -59.7 cm 7.1 keV 1.1 keV 628 mum 8.88 mm WorldPV eIoni + 6 -2.75 m 57 cm -59.7 cm 5.78 keV 1.32 keV 551 mum 9.43 mm WorldPV eIoni + 7 -2.75 m 57 cm -59.6 cm 3.62 keV 2.16 keV 465 mum 9.89 mm WorldPV eIoni + 8 -2.75 m 57 cm -59.6 cm 1.99 keV 1.63 keV 326 mum 1.02 cm WorldPV eIoni + 9 -2.75 m 57 cm -59.6 cm 0 eV 1.99 keV 161 mum 1.04 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 367 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.75 m 57.3 cm -59.7 cm 12.8 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.75 m 57.3 cm -59.6 cm 9.85 keV 2.92 keV 1.02 mm 1.02 mm WorldPV eIoni + 2 -2.75 m 57.2 cm -59.6 cm 8.79 keV 1.06 keV 755 mum 1.78 mm WorldPV eIoni + 3 -2.75 m 57.2 cm -59.6 cm 5.76 keV 3.03 keV 673 mum 2.45 mm WorldPV eIoni + 4 -2.75 m 57.2 cm -59.6 cm 4.37 keV 1.38 keV 463 mum 2.91 mm WorldPV eIoni + 5 -2.75 m 57.2 cm -59.6 cm 3.12 keV 1.26 keV 377 mum 3.29 mm WorldPV eIoni + 6 -2.75 m 57.2 cm -59.5 cm 0 eV 3.12 keV 287 mum 3.58 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 366, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 m 56.9 cm -63.4 cm 105 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.7 m 57.7 cm -63.3 cm 75.3 keV 1.66 keV 7.64 mm 7.64 mm WorldPV eIoni + 2 -2.7 m 58 cm -61.7 cm 69.8 keV 5.52 keV 1.71 cm 2.48 cm WorldPV eIoni + 3 -2.71 m 58.2 cm -60.4 cm 62.1 keV 7.62 keV 1.51 cm 3.98 cm WorldPV eIoni + 4 -2.71 m 59 cm -59.6 cm 55.7 keV 6.45 keV 1.23 cm 5.21 cm WorldPV eIoni + 5 -2.72 m 59.3 cm -58.9 cm 50.6 keV 5.11 keV 1.02 cm 6.22 cm WorldPV eIoni + 6 -2.72 m 59.2 cm -58.1 cm 46.3 keV 4.26 keV 8.59 mm 7.08 cm WorldPV eIoni + 7 -2.72 m 59.8 cm -58.5 cm 39.5 keV 6.83 keV 7.39 mm 7.82 cm WorldPV eIoni + 8 -2.72 m 60.2 cm -58.9 cm 30.8 keV 8.69 keV 5.63 mm 8.39 cm WorldPV eIoni + 9 -2.72 m 60.2 cm -59.1 cm 28.7 keV 2.09 keV 3.7 mm 8.76 cm WorldPV eIoni + 10 -2.72 m 60.4 cm -59.4 cm 24.8 keV 3.88 keV 3.3 mm 9.09 cm WorldPV eIoni + 11 -2.72 m 60.3 cm -59.5 cm 22.7 keV 2.14 keV 2.61 mm 9.35 cm WorldPV eIoni + 12 -2.73 m 60.2 cm -59.6 cm 19.7 keV 3 keV 2.28 mm 9.57 cm WorldPV eIoni + 13 -2.72 m 60.2 cm -59.8 cm 17.9 keV 1.83 keV 1.83 mm 9.76 cm WorldPV eIoni + 14 -2.72 m 60.1 cm -59.9 cm 15.6 keV 2.29 keV 1.59 mm 9.92 cm WorldPV eIoni + 15 -2.72 m 60.2 cm -60 cm 13.3 keV 2.28 keV 1.32 mm 10 cm WorldPV eIoni + 16 -2.72 m 60.1 cm -60.1 cm 11.4 keV 1.92 keV 1.07 mm 10.2 cm WorldPV eIoni + 17 -2.72 m 60 cm -60.1 cm 10.5 keV 846 eV 889 mum 10.2 cm WorldPV eIoni + 18 -2.72 m 59.9 cm -60.1 cm 9.27 keV 1.26 keV 815 mum 10.3 cm WorldPV eIoni + 19 -2.72 m 59.9 cm -60.1 cm 7.09 keV 2.18 keV 711 mum 10.4 cm WorldPV eIoni + 20 -2.72 m 59.8 cm -60.1 cm 335 eV 6.76 keV 551 mum 10.5 cm WorldPV eIoni + 21 -2.72 m 59.8 cm -60.1 cm 0 eV 335 eV 19.6 mum 10.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 370, Parent ID = 366 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 m 57.7 cm -63.3 cm 28.4 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.7 m 57.9 cm -63.4 cm 24.7 keV 3.63 keV 3.24 mm 3.24 mm WorldPV eIoni + 2 -2.7 m 58 cm -63.6 cm 20.2 keV 4.58 keV 2.59 mm 5.83 mm WorldPV eIoni + 3 -2.71 m 58.2 cm -63.5 cm 18.4 keV 1.72 keV 1.9 mm 7.73 mm WorldPV eIoni + 4 -2.71 m 58.3 cm -63.6 cm 16.6 keV 1.89 keV 1.67 mm 9.4 mm WorldPV eIoni + 5 -2.71 m 58.4 cm -63.6 cm 13.9 keV 2.69 keV 1.43 mm 1.08 cm WorldPV eIoni + 6 -2.7 m 58.5 cm -63.7 cm 12.5 keV 1.37 keV 1.13 mm 1.2 cm WorldPV eIoni + 7 -2.7 m 58.6 cm -63.7 cm 11.1 keV 1.36 keV 992 mum 1.29 cm WorldPV eIoni + 8 -2.7 m 58.6 cm -63.8 cm 9.34 keV 1.79 keV 867 mum 1.38 cm WorldPV eIoni + 9 -2.7 m 58.7 cm -63.8 cm 4.18 keV 5.16 keV 716 mum 1.45 cm WorldPV eIoni + 10 -2.7 m 58.7 cm -63.8 cm 1.8 keV 2.38 keV 364 mum 1.49 cm WorldPV eIoni + 11 -2.7 m 58.7 cm -63.8 cm 0 eV 1.8 keV 139 mum 1.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.51 m 54.2 cm -74.9 cm 22.7 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.51 m 54.3 cm -75.1 cm 18.5 keV 4.2 keV 2.27 mm 2.27 mm WorldPV eIoni + 2 -2.51 m 54.2 cm -75.1 cm 16.9 keV 1.52 keV 1.67 mm 3.94 mm WorldPV eIoni + 3 -2.51 m 54.2 cm -75.1 cm 14.5 keV 2.46 keV 1.48 mm 5.42 mm WorldPV eIoni + 4 -2.51 m 54.2 cm -75.2 cm 13.1 keV 1.42 keV 1.19 mm 6.61 mm WorldPV eIoni + 5 -2.51 m 54.2 cm -75.3 cm 10.8 keV 2.3 keV 1.05 mm 7.66 mm WorldPV eIoni + 6 -2.51 m 54.2 cm -75.3 cm 6.92 keV 3.85 keV 835 mum 8.5 mm WorldPV eIoni + 7 -2.51 m 54.3 cm -75.3 cm 4.7 keV 2.22 keV 539 mum 9.03 mm WorldPV eIoni + 8 -2.51 m 54.3 cm -75.3 cm 1.52 keV 3.18 keV 397 mum 9.43 mm WorldPV eIoni + 9 -2.51 m 54.3 cm -75.3 cm 0 eV 1.52 keV 108 mum 9.54 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 364, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.33 m 34.6 cm -1.55 m 13.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.33 m 34.6 cm -1.55 m 12.5 keV 1.19 keV 1.11 mm 1.11 mm Tracker eIoni + 2 -1.33 m 34.6 cm -1.55 m 11.2 keV 1.27 keV 994 mum 2.11 mm Tracker eIoni + 3 -1.33 m 34.6 cm -1.55 m 9.9 keV 1.34 keV 877 mum 2.98 mm Tracker eIoni + 4 -1.33 m 34.6 cm -1.55 m 7.67 keV 2.23 keV 760 mum 3.74 mm Tracker eIoni + 5 -1.33 m 34.7 cm -1.55 m 6.18 keV 1.49 keV 591 mum 4.34 mm Tracker eIoni + 6 -1.33 m 34.7 cm -1.55 m 5.09 keV 1.08 keV 491 mum 4.83 mm Tracker eIoni + 7 -1.33 m 34.7 cm -1.55 m 0 eV 5.09 keV 423 mum 5.25 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 363, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -503 mum 2.01 mm -2.4 m 1.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -685 mum 2.72 mm -2.4 m 1.28 MeV 0 eV 1.32 mm 1.32 mm TrackerTransportation + 2 -61.9 cm 2.4 m 1.35 m 1.28 MeV 0 eV 4.49 m 4.49 m WorldPVTransportation + 3 -75.1 cm 2.91 m 2.15 m 1.28 MeV 0 eV 95.6 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 362, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -417 mum 1.76 mm -2.4 m 4.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -696 mum 2.44 mm -2.4 m 4.14 MeV 0 eV 1.59 mm 1.59 mm TrackerTransportation + 2 -79.1 cm 1.93 m 1.6 m 4.14 MeV 0 eV 4.51 m 4.51 m ChamberTransportation + 3 -80.5 cm 1.97 m 1.67 m 4.14 MeV 0 eV 7.96 cm 4.59 m TrackerTransportation + 4 -94.9 cm 2.32 m 2.4 m 4.14 MeV 0 eV 82.3 cm 5.42 m WorldPVTransportation + 5 -1.05 m 2.57 m 2.91 m 4.14 MeV 0 eV 57.5 cm 5.99 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 361, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -379 mum 1.24 mm -2.4 m 1.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -710 mum 2.08 mm -2.4 m 1.1 MeV 0 eV 2.43 mm 2.43 mm TrackerTransportation + 2 -23.5 cm 59.9 cm -80 cm 1.1 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -26.4 cm 67.2 cm -60.3 cm 1.1 MeV 0 eV 21.2 cm 1.94 m TrackerTransportation + 4 -35.3 cm 89.7 cm 0.114 fm 1.1 MeV 0 eV 65 cm 2.59 m ChamberTransportation + 5 -38.2 cm 97.2 cm 20 cm 1.1 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 -47 cm 1.2 m 80 cm 1.1 MeV 0 eV 64.6 cm 3.45 m ChamberTransportation + 7 -50 cm 1.27 m 1 m 1.1 MeV 0 eV 21.5 cm 3.67 m TrackerTransportation + 8 -58.8 cm 1.49 m 1.6 m 1.1 MeV 0 eV 64.6 cm 4.31 m ChamberTransportation + 9 -61.7 cm 1.57 m 1.8 m 1.1 MeV 0 eV 21.5 cm 4.53 m TrackerTransportation + 10 -70.5 cm 1.79 m 2.4 m 1.1 MeV 0 eV 64.6 cm 5.17 m WorldPVTransportation + 11 -78 cm 1.98 m 2.91 m 1.1 MeV 0 eV 54.9 cm 5.72 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 360, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -99.4 mum 540 mum -2.4 m 2.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -753 mum 1.53 mm -2.4 m 645 keV 0 eV 2.94 mm 2.94 mm TargetPV compt + 2 -5.58 mum 1.46 mm -2.4 m 645 keV 0 eV 1.01 mm 3.95 mm TrackerTransportation + 3 2.4 m -21.9 cm -24.8 cm 645 keV 0 eV 3.23 m 3.23 m WorldPVTransportation + 4 2.91 m -26.6 cm 20.9 cm 645 keV 0 eV 68.7 cm 3.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 360 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -753 mum 1.53 mm -2.4 m 1.74 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.03 mm 1.57 mm -2.4 m 1.21 MeV 533 keV 555 mum 555 mum TargetPV eIoni + 2 -907 mum 1.53 mm -2.4 m 726 keV 480 keV 456 mum 1.01 mm TargetPV eIoni + 3 -885 mum 1.52 mm -2.4 m 91.2 keV 635 keV 347 mum 1.36 mm TargetPV eIoni + 4 -887 mum 1.52 mm -2.4 m 0 eV 91.2 keV 23.7 mum 1.38 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 359, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.6 mum 509 mum -2.4 m 1.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -894 mum 1.39 mm -2.4 m 0 eV 88 keV 2.89 mm 2.89 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 372, Parent ID = 359 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -894 mum 1.39 mm -2.4 m 1.47 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -900 mum 1.39 mm -2.4 m 846 keV 14.4 keV 11.3 mum 11.3 mum TargetPV eBrem + 2 -927 mum 1.41 mm -2.4 m 14.1 keV 832 keV 309 mum 320 mum TargetPV eBrem + 3 -927 mum 1.41 mm -2.4 m 0 eV 14.1 keV 1.19 mum 321 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 373, Parent ID = 372 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -900 mum 1.39 mm -2.4 m 611 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -934 mum 1.84 mm -2.4 m 611 keV 0 eV 918 mum 918 mum TrackerTransportation + 2 -18.4 cm 2.4 m 1.83 m 611 keV 0 eV 4.87 m 4.87 m WorldPVTransportation + 3 -22.3 cm 2.91 m 2.73 m 611 keV 0 eV 1.04 m 5.91 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 358, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65 mum 723 mum -2.4 m 1.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -628 mum -1.49 mm -2.4 m 1.9 MeV 0 eV 4.48 mm 4.48 mm TrackerTransportation + 2 -61.1 cm -2.4 m 1.78 m 1.9 MeV 0 eV 4.86 m 4.86 m WorldPVTransportation + 3 -74.1 cm -2.91 m 2.67 m 1.9 MeV 0 eV 1.03 m 5.9 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 357, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.4 mum 700 mum -2.4 m 832 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.42 mm 657 mum -2.4 m 832 keV 0 eV 4.54 mm 4.54 mm TrackerTransportation + 2 -55.1 cm -1.53 cm -80 cm 832 keV 0 eV 1.69 m 1.7 m ChamberTransportation + 3 -61.9 cm -1.72 cm -60 cm 832 keV 0 eV 21.1 cm 1.91 m TrackerTransportation + 4 -82.5 cm -2.32 cm 0 fm 832 keV 0 eV 63.4 cm 2.54 m ChamberTransportation + 5 -89.4 cm -2.52 cm 20 cm 832 keV 0 eV 21.1 cm 2.75 m TrackerTransportation + 6 -1.1 m -3.12 cm 80 cm 832 keV 0 eV 63.4 cm 3.39 m ChamberTransportation + 7 -1.17 m -3.32 cm 1 m 832 keV 0 eV 21.1 cm 3.6 m TrackerTransportation + 8 -1.37 m -3.91 cm 1.6 m 832 keV 0 eV 63.4 cm 4.23 m ChamberTransportation + 9 -1.44 m -4.11 cm 1.8 m 832 keV 0 eV 21.1 cm 4.45 m TrackerTransportation + 10 -1.65 m -4.71 cm 2.4 m 832 keV 0 eV 63.4 cm 5.08 m WorldPVTransportation + 11 -1.82 m -5.21 cm 2.91 m 832 keV 0 eV 53.9 cm 5.62 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 356, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 466 mum 454 mum -2.41 m 1.12 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.72 mm 500 mum -2.4 m 1.12 MeV 0 eV 5.95 mm 5.95 mm TrackerTransportation + 2 -63.4 cm 1.37 cm -80 cm 1.12 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -67.2 cm 1.45 cm -70.4 cm 1.12 MeV 0 eV 10.3 cm 1.83 m TrackerTransportation + 4 -95 cm 2.04 cm 0.114 fm 1.12 MeV 0 eV 75.7 cm 2.59 m ChamberTransportation + 5 -1.03 m 2.2 cm 20 cm 1.12 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 -1.27 m 2.7 cm 80 cm 1.12 MeV 0 eV 64.5 cm 3.45 m ChamberTransportation + 7 -1.35 m 2.86 cm 1 m 1.12 MeV 0 eV 21.5 cm 3.66 m TrackerTransportation + 8 -1.42 m 3.03 cm 1.2 m 258 keV 0 eV 21.6 cm 3.88 m Tracker compt + 9 -72.8 cm -41.8 cm 1 m 258 keV 0 eV 85.3 cm 4.73 m ChamberTransportation + 10 -3.4 cm -86.4 cm 80 cm 258 keV 0 eV 84.9 cm 5.58 m TrackerTransportation + 11 2.36 m -2.4 m 11.1 cm 258 keV 0 eV 2.92 m 8.5 m WorldPVTransportation + 12 2.91 m -2.76 m -4.87 cm 258 keV 0 eV 67.7 cm 9.18 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 374, Parent ID = 356 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.42 m 3.03 cm 1.2 m 867 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.65 m 8.23 cm 1.6 m 790 keV 76.2 keV 48.7 cm 48.7 cm ChamberTransportation + 2 -1.68 m 19.1 cm 1.68 m 613 keV 178 keV 23.8 cm 72.5 cm Chamber eIoni + 3 -1.62 m 17.1 cm 1.7 m 451 keV 81.4 keV 11.7 cm 84.2 cm Chamber eIoni + 4 -1.57 m 22.5 cm 1.71 m 356 keV 95.6 keV 11 cm 95.3 cm Chamber eIoni + 5 -1.58 m 17.9 cm 1.68 m 327 keV 28.8 keV 7.81 cm 1.03 m Chamber eIoni + 6 -1.58 m 14.7 cm 1.72 m 285 keV 41.7 keV 6.88 cm 1.1 m Chamber eIoni + 7 -1.58 m 17.3 cm 1.74 m 204 keV 19.1 keV 4.21 cm 1.14 m Chamber eIoni + 8 -1.57 m 19.3 cm 1.73 m 183 keV 20.8 keV 3.32 cm 1.17 m Chamber eIoni + 9 -1.58 m 17.9 cm 1.71 m 169 keV 13.9 keV 2.8 cm 1.2 m Chamber eIoni + 10 -1.58 m 18.9 cm 1.7 m 115 keV 6.75 keV 1.82 cm 1.22 m Chamber eIoni + 11 -1.57 m 19.6 cm 1.7 m 104 keV 10.5 keV 1.32 cm 1.23 m Chamber eIoni + 12 -1.57 m 19.8 cm 1.69 m 91.4 keV 12.9 keV 1.13 cm 1.25 m Chamber eIoni + 13 -1.58 m 20 cm 1.69 m 81.7 keV 9.75 keV 9.16 mm 1.25 m Chamber eIoni + 14 -1.58 m 20.3 cm 1.69 m 77.9 keV 3.73 keV 7.69 mm 1.26 m Chamber eIoni + 15 -1.58 m 20.7 cm 1.69 m 71.3 keV 6.65 keV 7.12 mm 1.27 m Chamber eIoni + 16 -1.58 m 20.3 cm 1.69 m 63.3 keV 8.01 keV 6.2 mm 1.28 m Chamber eIoni + 17 -1.58 m 20.1 cm 1.69 m 54 keV 9.31 keV 5.13 mm 1.28 m Chamber eIoni + 18 -1.58 m 20.3 cm 1.69 m 49.3 keV 4.64 keV 4.02 mm 1.28 m Chamber eIoni + 19 -1.58 m 20.2 cm 1.69 m 44.6 keV 4.74 keV 3.51 mm 1.29 m Chamber eIoni + 20 -1.58 m 20.1 cm 1.69 m 40.4 keV 4.15 keV 3.01 mm 1.29 m Chamber eIoni + 21 -1.58 m 20.1 cm 1.69 m 15.2 keV 25.2 keV 2.61 mm 1.29 m Chamber eIoni + 22 -1.58 m 20.1 cm 1.69 m 13 keV 2.22 keV 767 mum 1.29 m Chamber eIoni + 23 -1.58 m 20.1 cm 1.69 m 8.95 keV 4.03 keV 661 mum 1.3 m Chamber eIoni + 24 -1.58 m 20.1 cm 1.69 m 0 eV 8.95 keV 489 mum 1.3 m Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 377, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.58 m 18.9 cm 1.7 m 47.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.58 m 19.1 cm 1.7 m 40.2 keV 7.37 keV 3.32 mm 3.32 mm Chamber eIoni + 2 -1.57 m 19 cm 1.7 m 37.3 keV 2.9 keV 2.59 mm 5.91 mm Chamber eIoni + 3 -1.57 m 18.9 cm 1.7 m 34.3 keV 2.95 keV 2.32 mm 8.22 mm Chamber eIoni + 4 -1.57 m 18.9 cm 1.7 m 26 keV 8.3 keV 2.06 mm 1.03 cm Chamber eIoni + 5 -1.57 m 18.8 cm 1.7 m 17 keV 9.03 keV 1.42 mm 1.17 cm Chamber eIoni + 6 -1.57 m 18.9 cm 1.7 m 12.8 keV 4.19 keV 858 mum 1.26 cm Chamber eIoni + 7 -1.57 m 18.9 cm 1.7 m 10.5 keV 2.33 keV 652 mum 1.32 cm Chamber eIoni + 8 -1.57 m 18.9 cm 1.7 m 8.89 keV 1.56 keV 550 mum 1.38 cm Chamber eIoni + 9 -1.57 m 18.9 cm 1.7 m 8.03 keV 867 eV 487 mum 1.43 cm Chamber eIoni + 10 -1.57 m 18.9 cm 1.7 m 7.06 keV 963 eV 452 mum 1.47 cm Chamber eIoni + 11 -1.57 m 18.9 cm 1.7 m 5.47 keV 1.59 keV 414 mum 1.51 cm Chamber eIoni + 12 -1.57 m 18.9 cm 1.7 m 518 eV 4.95 keV 350 mum 1.55 cm Chamber eIoni + 13 -1.57 m 18.9 cm 1.7 m 0 eV 518 eV 22 mum 1.55 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 376, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.58 m 17.3 cm 1.74 m 62.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.58 m 16.9 cm 1.74 m 53.9 keV 8.28 keV 5 mm 5 mm Chamber eIoni + 2 -1.58 m 16.9 cm 1.74 m 50.6 keV 3.36 keV 4.02 mm 9.02 mm Chamber eIoni + 3 -1.58 m 17.1 cm 1.74 m 44.2 keV 6.42 keV 3.64 mm 1.27 cm Chamber eIoni + 4 -1.58 m 17.1 cm 1.74 m 37.8 keV 6.33 keV 2.97 mm 1.56 cm Chamber eIoni + 5 -1.58 m 17.2 cm 1.74 m 34.5 keV 3.33 keV 2.37 mm 1.8 cm Chamber eIoni + 6 -1.58 m 17.1 cm 1.74 m 26.8 keV 7.67 keV 2.08 mm 2.01 cm Chamber eIoni + 7 -1.58 m 17.1 cm 1.74 m 21.8 keV 5.01 keV 1.48 mm 2.15 cm Chamber eIoni + 8 -1.58 m 17.1 cm 1.74 m 15.6 keV 6.21 keV 1.14 mm 2.27 cm Chamber eIoni + 9 -1.58 m 17.1 cm 1.74 m 9.34 keV 6.26 keV 788 mum 2.35 cm Chamber eIoni + 10 -1.58 m 17.1 cm 1.74 m 8.19 keV 1.15 keV 505 mum 2.4 cm Chamber eIoni + 11 -1.58 m 17.1 cm 1.74 m 882 eV 7.31 keV 458 mum 2.44 cm Chamber eIoni + 12 -1.58 m 17.1 cm 1.74 m 0 eV 882 eV 39.8 mum 2.45 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 375, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.62 m 17.1 cm 1.7 m 79.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.62 m 17.5 cm 1.7 m 71.4 keV 8.52 keV 7.42 mm 7.42 mm Chamber eIoni + 2 -1.62 m 17.8 cm 1.71 m 52.7 keV 18.7 keV 6.21 mm 1.36 cm Chamber eIoni + 3 -1.62 m 17.9 cm 1.71 m 47.1 keV 5.56 keV 3.86 mm 1.75 cm Chamber eIoni + 4 -1.62 m 17.8 cm 1.71 m 43.3 keV 3.82 keV 3.28 mm 2.08 cm Chamber eIoni + 5 -1.62 m 17.6 cm 1.71 m 40.8 keV 2.5 keV 2.88 mm 2.37 cm Chamber eIoni + 6 -1.62 m 17.6 cm 1.7 m 36.5 keV 4.26 keV 2.64 mm 2.63 cm Chamber eIoni + 7 -1.62 m 17.7 cm 1.71 m 31.3 keV 5.26 keV 2.25 mm 2.85 cm Chamber eIoni + 8 -1.62 m 17.8 cm 1.71 m 29 keV 2.26 keV 1.81 mm 3.04 cm Chamber eIoni + 9 -1.62 m 17.9 cm 1.71 m 24.7 keV 4.35 keV 1.64 mm 3.2 cm Chamber eIoni + 10 -1.62 m 17.9 cm 1.71 m 19.8 keV 4.81 keV 1.32 mm 3.33 cm Chamber eIoni + 11 -1.62 m 17.9 cm 1.71 m 17.8 keV 2.07 keV 1.02 mm 3.43 cm Chamber eIoni + 12 -1.62 m 17.9 cm 1.71 m 9.81 keV 7.95 keV 901 mum 3.52 cm Chamber eIoni + 13 -1.62 m 17.9 cm 1.71 m 6.3 keV 3.51 keV 523 mum 3.58 cm Chamber eIoni + 14 -1.62 m 17.9 cm 1.71 m 3.44 keV 2.87 keV 384 mum 3.61 cm Chamber eIoni + 15 -1.62 m 17.9 cm 1.71 m 0 eV 3.44 keV 241 mum 3.64 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 355, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 490 mum 370 mum -2.41 m 454 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -239 mum 1.54 mm -2.4 m 454 keV 0 eV 6.18 mm 6.18 mm TrackerTransportation + 2 -9.72 cm 15.7 cm -1.6 m 454 keV 0 eV 82.1 cm 82.7 cm ChamberTransportation + 3 -12.1 cm 19.6 cm -1.4 m 454 keV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -19.4 cm 31.3 cm -80 cm 454 keV 0 eV 61.6 cm 1.65 m ChamberTransportation + 5 -21.8 cm 35.2 cm -60 cm 454 keV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 -29.1 cm 46.9 cm 0 fm 454 keV 0 eV 61.6 cm 2.47 m ChamberTransportation + 7 -31.5 cm 50.8 cm 20 cm 454 keV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 -38.8 cm 62.5 cm 80 cm 454 keV 0 eV 61.6 cm 3.29 m ChamberTransportation + 9 -41.2 cm 66.4 cm 1 m 454 keV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 -48.5 cm 78.1 cm 1.6 m 454 keV 0 eV 61.6 cm 4.11 m ChamberTransportation + 11 -50.9 cm 82 cm 1.8 m 454 keV 0 eV 20.5 cm 4.32 m TrackerTransportation + 12 -58.2 cm 93.7 cm 2.4 m 454 keV 0 eV 61.6 cm 4.93 m WorldPVTransportation + 13 -64.4 cm 1.04 m 2.91 m 454 keV 0 eV 52.3 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 354, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 493 mum 365 mum -2.41 m 2.94 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -340 mum 1.79 mm -2.4 m 2.94 MeV 0 eV 6.27 mm 6.27 mm TrackerTransportation + 2 -11 cm 19 cm -1.6 m 2.94 MeV 0 eV 82.9 cm 83.5 cm ChamberTransportation + 3 -13.8 cm 23.7 cm -1.4 m 2.94 MeV 0 eV 20.7 cm 1.04 m TrackerTransportation + 4 -22.1 cm 37.8 cm -80 cm 2.94 MeV 0 eV 62.2 cm 1.66 m ChamberTransportation + 5 -24.8 cm 42.5 cm -60 cm 2.94 MeV 0 eV 20.7 cm 1.87 m TrackerTransportation + 6 -33.1 cm 56.6 cm 0 fm 2.94 MeV 0 eV 62.2 cm 2.49 m ChamberTransportation + 7 -35.8 cm 61.3 cm 20 cm 2.94 MeV 0 eV 20.7 cm 2.7 m TrackerTransportation + 8 -44.1 cm 75.4 cm 80 cm 2.94 MeV 0 eV 62.2 cm 3.32 m ChamberTransportation + 9 -46.8 cm 80.1 cm 1 m 2.94 MeV 0 eV 20.7 cm 3.53 m TrackerTransportation + 10 -55.1 cm 94.2 cm 1.6 m 2.94 MeV 0 eV 62.2 cm 4.15 m ChamberTransportation + 11 -57.8 cm 98.9 cm 1.8 m 2.94 MeV 0 eV 20.7 cm 4.36 m TrackerTransportation + 12 -66.1 cm 1.13 m 2.4 m 2.94 MeV 0 eV 62.2 cm 4.98 m WorldPVTransportation + 13 -73.1 cm 1.25 m 2.91 m 2.94 MeV 0 eV 52.9 cm 5.51 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 353, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 485 mum 449 mum -2.41 m 594 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 56.3 mum 779 mum -2.4 m 594 keV 0 eV 7.37 mm 7.37 mm TrackerTransportation + 2 -4.27 cm 3.36 cm -1.67 m 481 keV 0 eV 73.4 cm 74.1 cm Tracker compt + 3 -10 cm 4.65 cm -1.6 m 481 keV 0 eV 9 cm 83.1 cm ChamberTransportation + 4 -24 cm 7.79 cm -1.44 m 481 keV 0 eV 21.8 cm 1.05 m TrackerTransportation + 5 -2.4 m 56.2 cm 1.11 m 481 keV 0 eV 3.38 m 4.43 m WorldPVTransportation + 6 -2.91 m 67.7 cm 1.72 m 481 keV 0 eV 79.7 cm 5.22 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 378, Parent ID = 353 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.27 cm 3.36 cm -1.67 m 114 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.23 cm 3.76 cm -1.65 m 102 keV 11.9 keV 3.5 cm 3.5 cm Tracker eIoni + 2 9.29 mm 4.76 cm -1.64 m 90.8 keV 11 keV 2.9 cm 6.41 cm Tracker eIoni + 3 1.93 cm 5.87 cm -1.62 m 77.9 keV 12.9 keV 2.37 cm 8.78 cm Tracker eIoni + 4 6.38 mm 5.25 cm -1.63 m 70.8 keV 7.03 keV 1.82 cm 10.6 cm Tracker eIoni + 5 -2.2 mm 4.14 cm -1.64 m 58 keV 12.8 keV 1.55 cm 12.1 cm Tracker eIoni + 6 -1.13 cm 3.88 cm -1.64 m 50.6 keV 7.42 keV 1.09 cm 13.2 cm Tracker eIoni + 7 -1.9 cm 3.92 cm -1.64 m 41 keV 9.59 keV 8.6 mm 14.1 cm Tracker eIoni + 8 -2.35 cm 3.64 cm -1.64 m 38 keV 3.06 keV 6 mm 14.7 cm Tracker eIoni + 9 -2.85 cm 3.63 cm -1.64 m 35.3 keV 2.63 keV 5.25 mm 15.2 cm Tracker eIoni + 10 -2.96 cm 3.59 cm -1.64 m 26.4 keV 559 eV 1.87 mm 15.4 cm Tracker eIoni + 11 -3.14 cm 3.48 cm -1.64 m 23.7 keV 2.67 keV 2.88 mm 15.7 cm Tracker eIoni + 12 -3.27 cm 3.4 cm -1.65 m 21.8 keV 1.91 keV 2.44 mm 15.9 cm Tracker eIoni + 13 -3.31 cm 3.34 cm -1.65 m 19.2 keV 2.57 keV 2.14 mm 16.2 cm Tracker eIoni + 14 -3.45 cm 3.33 cm -1.65 m 16.6 keV 2.61 keV 1.78 mm 16.3 cm Tracker eIoni + 15 -3.58 cm 3.3 cm -1.65 m 14.3 keV 2.34 keV 1.44 mm 16.5 cm Tracker eIoni + 16 -3.61 cm 3.24 cm -1.65 m 13 keV 1.29 keV 1.17 mm 16.6 cm Tracker eIoni + 17 -3.63 cm 3.19 cm -1.65 m 12.4 keV 591 eV 1.04 mm 16.7 cm Tracker eIoni + 18 -3.56 cm 3.13 cm -1.65 m 11.2 keV 1.18 keV 985 mum 16.8 cm Tracker eIoni + 19 -3.55 cm 3.1 cm -1.65 m 9.39 keV 1.85 keV 876 mum 16.9 cm Tracker eIoni + 20 -3.51 cm 3.07 cm -1.65 m 7.78 keV 1.61 keV 720 mum 17 cm Tracker eIoni + 21 -3.48 cm 3.02 cm -1.65 m 6.72 keV 1.06 keV 599 mum 17 cm Tracker eIoni + 22 -3.53 cm 2.99 cm -1.65 m 4.21 keV 2.51 keV 526 mum 17.1 cm Tracker eIoni + 23 -3.53 cm 2.97 cm -1.65 m 1.36 keV 2.85 keV 367 mum 17.1 cm Tracker eIoni + 24 -3.54 cm 2.97 cm -1.65 m 0 eV 1.36 keV 92.7 mum 17.1 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 379, Parent ID = 378 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.96 cm 3.59 cm -1.64 m 8.36 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.91 cm 3.57 cm -1.64 m 6.97 keV 1.39 keV 640 mum 640 mum Tracker eIoni + 2 -2.9 cm 3.56 cm -1.64 m 5.48 keV 1.49 keV 543 mum 1.18 mm Tracker eIoni + 3 -2.87 cm 3.59 cm -1.64 m 1.52 keV 3.97 keV 447 mum 1.63 mm Tracker eIoni + 4 -2.87 cm 3.6 cm -1.64 m 0 eV 1.52 keV 108 mum 1.74 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 352, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 511 mum 311 mum -2.41 m 442 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 482 mum 420 mum -2.41 m 0 eV 442 keV 1.02 mm 1.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 351, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 510 mum 305 mum -2.41 m 8.74 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 498 mum 382 mum -2.41 m 0 eV 7.72 MeV 1.28 mm 1.28 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 380, Parent ID = 351 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 498 mum 382 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 382, Parent ID = 380 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -139 mum 5.58 mm -2.4 m 0 eV 88 keV 6.67 mm 6.67 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 383, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -139 mum 5.58 mm -2.4 m 423 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -141 mum 5.6 mm -2.4 m 0 eV 423 keV 230 mum 230 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 381, Parent ID = 380 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 541 mum 32.4 mum -2.41 m 0 eV 511 keV 449 mum 449 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.24 mum -2.78 mum -2.41 m 4.07 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 16.9 mum 41.4 mum -2.4 m 4.07 MeV 0 eV 1.38 cm 1.38 cm TrackerTransportation + 2 1.13 mm 2.6 mm -1.6 m 4.07 MeV 0 eV 80 cm 81.4 cm ChamberTransportation + 3 1.4 mm 3.24 mm -1.4 m 4.07 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.24 mm 5.16 mm -80 cm 4.07 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 2.51 mm 5.8 mm -60 cm 4.07 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 3.35 mm 7.72 mm 0 fm 4.07 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 3.62 mm 8.36 mm 20 cm 4.07 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 4.46 mm 1.03 cm 80 cm 4.07 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 4.73 mm 1.09 cm 1 m 4.07 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 5.57 mm 1.28 cm 1.6 m 4.07 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 5.84 mm 1.35 cm 1.8 m 4.07 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 6.68 mm 1.54 cm 2.4 m 4.07 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 7.38 mm 1.7 cm 2.91 m 4.07 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.3 nm -850 nm -2.42 m 441 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.04 mum 8.08 mum -2.42 m 439 MeV 258 keV 218 mum 218 mum TargetPV eBrem + 2 -5.83 mum 13.8 mum -2.42 m 236 MeV 180 keV 139 mum 357 mum TargetPV eBrem + 3 -7.71 mum 19.8 mum -2.42 m 220 MeV 330 keV 155 mum 513 mum TargetPV eBrem + 4 -9.51 mum 36.2 mum -2.42 m 46.2 MeV 391 keV 286 mum 799 mum TargetPV eBrem + 5 2.57 mum 53.1 mum -2.42 m 13.7 MeV 306 keV 262 mum 1.06 mm TargetPV eBrem + 6 179 mum -656 mum -2.42 m 8.31 MeV 4.31 MeV 1.61 mm 2.68 mm TargetPV eBrem + 7 530 mum -1.82 mm -2.42 m 6.61 MeV 1.7 MeV 1.52 mm 4.2 mm TargetPV eIoni + 8 1.3 mm -1.7 mm -2.41 m 3.63 MeV 2.98 MeV 1.29 mm 5.49 mm TargetPV eIoni + 9 1.28 mm -1.66 mm -2.41 m 2.56 MeV 53.4 keV 51.6 mum 5.54 mm TargetPV eBrem + 10 1.11 mm -1.28 mm -2.41 m 1.81 MeV 757 keV 694 mum 6.23 mm TargetPV eIoni + 11 1.05 mm -1.48 mm -2.41 m 1.27 MeV 532 keV 567 mum 6.8 mm TargetPV eIoni + 12 870 mum -1.47 mm -2.41 m 738 keV 537 keV 470 mum 7.27 mm TargetPV eIoni + 13 923 mum -1.49 mm -2.41 m 345 keV 393 keV 350 mum 7.62 mm TargetPV eIoni + 14 932 mum -1.49 mm -2.41 m 0 eV 345 keV 177 mum 7.8 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 390, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.28 mm -1.66 mm -2.41 m 1.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.03 mm 947 mum -2.42 m 454 keV 562 keV 4.92 mm 4.92 mm TargetPV compt + 2 5.99 mm 3.26 mm -2.42 m 0 eV 454 keV 3.43 mm 8.35 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 389, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 179 mum -656 mum -2.42 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.26 mm -6.25 mm -2.41 m 243 keV 842 keV 1.18 cm 1.18 cm TargetPV compt + 2 1.63 mm -5.78 mm -2.41 m 0 eV 243 keV 817 mum 1.26 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 388, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.57 mum 53.1 mum -2.42 m 32.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -127 mum 4.51 mum -2.41 m 0 eV 0 eV 1.04 cm 1.04 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 392, Parent ID = 388 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -127 mum 4.51 mum -2.41 m 2.72 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -461 mum -175 mum -2.41 m 1.95 MeV 771 keV 732 mum 732 mum TargetPV eIoni + 2 -351 mum -526 mum -2.41 m 1.14 MeV 805 keV 601 mum 1.33 mm TargetPV eIoni + 3 -275 mum -588 mum -2.41 m 659 keV 156 keV 159 mum 1.49 mm TargetPV eBrem + 4 -219 mum -615 mum -2.41 m 77.2 keV 582 keV 331 mum 1.82 mm TargetPV eIoni + 5 -222 mum -616 mum -2.41 m 0 eV 77.2 keV 16.5 mum 1.84 mm TargetPV eIoni + 6 -222 mum -616 mum -2.41 m 0 eV 0 eV 0 fm 1.84 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 395, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -222 mum -616 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.67 mm -2.72 mm -2.41 m 273 keV 238 keV 7.61 mm 7.61 mm TargetPV compt + 2 6.2 mm -3 mm -2.41 m 0 eV 273 keV 1.98 mm 9.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 394, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -222 mum -616 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.11 cm 2.69 mm -2.4 m 0 eV 511 keV 1.2 cm 1.2 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 393, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -275 mum -588 mum -2.41 m 326 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 357 mum -834 mum -2.41 m 0 eV 326 keV 1.15 mm 1.15 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 391, Parent ID = 388 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -127 mum 4.51 mum -2.41 m 28.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 32.7 mum -132 mum -2.41 m 5.05 MeV 1.6 MeV 1.28 mm 1.28 mm TargetPV eBrem + 2 -426 mum -130 mum -2.41 m 2.61 MeV 2.44 MeV 1.07 mm 2.35 mm TargetPV eIoni + 3 -187 mum -317 mum -2.41 m 1.67 MeV 939 keV 701 mum 3.05 mm TargetPV eIoni + 4 -311 mum -397 mum -2.41 m 1.05 MeV 620 keV 543 mum 3.59 mm TargetPV eIoni + 5 -211 mum -483 mum -2.41 m 499 keV 550 keV 424 mum 4.02 mm TargetPV eIoni + 6 -199 mum -456 mum -2.41 m 61.3 keV 437 keV 269 mum 4.28 mm TargetPV eIoni + 7 -198 mum -456 mum -2.41 m 0 eV 61.3 keV 12.5 mum 4.3 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 396, Parent ID = 391 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.7 mum -132 mum -2.41 m 21.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 709 mum 86.7 mum -2.4 m 21.8 MeV 0 eV 5.92 mm 5.92 mm TrackerTransportation + 2 9.27 cm 2.98 cm -1.6 m 21.8 MeV 0 eV 80.6 cm 81.2 cm ChamberTransportation + 3 11.6 cm 3.72 cm -1.4 m 21.8 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 18.5 cm 5.95 cm -80 cm 21.8 MeV 0 eV 60.4 cm 1.62 m ChamberTransportation + 5 20.8 cm 6.69 cm -60 cm 21.8 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 27.7 cm 8.92 cm 0 fm 21.8 MeV 0 eV 60.4 cm 2.42 m ChamberTransportation + 7 30 cm 9.67 cm 20 cm 21.8 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 36.9 cm 11.9 cm 80 cm 21.8 MeV 0 eV 60.4 cm 3.23 m ChamberTransportation + 9 39.2 cm 12.6 cm 1 m 21.8 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 46.1 cm 14.9 cm 1.6 m 21.8 MeV 0 eV 60.4 cm 4.04 m ChamberTransportation + 11 48.4 cm 15.6 cm 1.8 m 21.8 MeV 0 eV 20.1 cm 4.24 m TrackerTransportation + 12 55.3 cm 17.8 cm 2.4 m 21.8 MeV 0 eV 60.4 cm 4.84 m WorldPVTransportation + 13 61.2 cm 19.7 cm 2.91 m 21.8 MeV 0 eV 51.4 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 387, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.51 mum 36.2 mum -2.42 m 174 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -27 mum 222 mum -2.41 m 0 eV 0 eV 4.8 mm 4.8 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 398, Parent ID = 387 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 mum 222 mum -2.41 m 59.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -35.4 mum 258 mum -2.41 m 58.6 MeV 512 keV 434 mum 434 mum TargetPV eBrem + 2 -51.2 mum 267 mum -2.41 m 49.4 MeV 238 keV 241 mum 675 mum TargetPV eBrem + 3 -220 mum 205 mum -2.41 m 44.8 MeV 1.71 MeV 1.41 mm 2.08 mm TargetPV eBrem + 4 -604 mum 213 mum -2.41 m 38.9 MeV 1.84 MeV 1.1 mm 3.18 mm TargetPV eBrem + 5 -652 mum 224 mum -2.41 m 37.8 MeV 153 keV 133 mum 3.32 mm TargetPV eBrem + 6 -981 mum 259 mum -2.41 m 34.4 MeV 1.96 MeV 740 mum 4.06 mm TargetPV eBrem + 7 -1.98 mm 487 mum -2.41 m 6.11 MeV 2.64 MeV 2.13 mm 6.18 mm TargetPV eBrem + 8 -2.12 mm 567 mum -2.41 m 5.22 MeV 528 keV 287 mum 6.47 mm TargetPV eBrem + 9 -2.27 mm 180 mum -2.41 m 4 MeV 489 keV 470 mum 6.94 mm TargetPV eBrem + 10 -3.03 mm 139 mum -2.41 m 3.04 MeV 953 keV 936 mum 7.87 mm TargetPV eIoni + 11 -3.23 mm 472 mum -2.41 m 1.51 MeV 738 keV 618 mum 8.49 mm TargetPV eBrem + 12 -3.47 mm 646 mum -2.41 m 997 keV 516 keV 523 mum 9.01 mm TargetPV eIoni + 13 -3.33 mm 525 mum -2.41 m 560 keV 437 keV 418 mum 9.43 mm TargetPV eIoni + 14 -3.28 mm 554 mum -2.41 m 113 keV 447 keV 297 mum 9.73 mm TargetPV eIoni + 15 -3.28 mm 552 mum -2.41 m 0 eV 113 keV 31.2 mum 9.76 mm TargetPV eIoni + 16 -3.28 mm 552 mum -2.41 m 0 eV 0 eV 0 fm 9.76 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 410, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.28 mm 552 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.96 mm 484 mum -2.41 m 447 keV 63.7 keV 3.94 mm 3.94 mm TargetPV compt + 2 -2.95 mm -1.6 mm -2.41 m 186 keV 261 keV 3.97 mm 7.91 mm TargetPV compt + 3 -2.82 mm -1.34 mm -2.41 m 108 keV 78.3 keV 288 mum 8.19 mm TargetPV compt + 4 -2.88 mm -1.44 mm -2.41 m 0 eV 108 keV 120 mum 8.31 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 409, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.28 mm 552 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.44 mm 587 mum -2.4 m 0 eV 511 keV 2.08 mm 2.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 408, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.23 mm 472 mum -2.41 m 793 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.15 mm 1.01 cm -2.41 m 0 eV 793 keV 1.06 cm 1.06 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 407, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.27 mm 180 mum -2.41 m 737 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.95 mm 107 mum -2.4 m 277 keV 460 keV 2.89 mm 2.89 mm TargetPV compt + 2 -3.79 mm -77.8 mum -2.4 m 223 keV 54.6 keV 251 mum 3.14 mm TargetPV compt + 3 -3.99 mm -667 mum -2.4 m 136 keV 87 keV 636 mum 3.78 mm TargetPV compt + 4 -4.47 mm -163 mum -2.4 m 0 eV 136 keV 701 mum 4.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 406, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.12 mm 567 mum -2.41 m 364 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.99 mm -1.33 mm -2.41 m 196 keV 168 keV 3.66 mm 3.66 mm TargetPV compt + 2 -4.5 mm -308 mum -2.4 m 0 eV 196 keV 1.91 mm 5.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 405, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.98 mm 487 mum -2.41 m 25.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.17 mm 313 mum -2.4 m 25.7 MeV 0 eV 8.43 mm 8.43 mm TrackerTransportation + 2 -2.4 m -9.87 cm 1.78 m 25.7 MeV 0 eV 4.82 m 4.83 m WorldPVTransportation + 3 -2.91 m -12 cm 2.67 m 25.7 MeV 0 eV 1.03 m 5.85 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -981 mum 259 mum -2.41 m 1.36 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.81 mm 277 mum -2.41 m 260 keV 1.1 MeV 2.51 mm 2.51 mm TargetPV compt + 2 -1.93 mm 161 mum -2.41 m 144 keV 116 keV 271 mum 2.78 mm TargetPV compt + 3 -1.95 mm 122 mum -2.41 m 0 eV 144 keV 150 mum 2.93 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 403, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -652 mum 224 mum -2.41 m 1.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.19 mm 461 mum -2.4 m 1.03 MeV 0 eV 1.04 cm 1.04 cm TrackerTransportation + 2 -58.1 cm 3.9 cm -80 cm 1.03 MeV 0 eV 1.7 m 1.71 m ChamberTransportation + 3 -65.3 cm 4.39 cm -60 cm 1.03 MeV 0 eV 21.3 cm 1.92 m TrackerTransportation + 4 -87 cm 5.83 cm 0 fm 1.03 MeV 0 eV 63.8 cm 2.56 m ChamberTransportation + 5 -94.2 cm 6.32 cm 20 cm 1.03 MeV 0 eV 21.3 cm 2.78 m TrackerTransportation + 6 -1.16 m 7.76 cm 80 cm 1.03 MeV 0 eV 63.8 cm 3.41 m ChamberTransportation + 7 -1.23 m 8.25 cm 1 m 1.03 MeV 0 eV 21.3 cm 3.63 m TrackerTransportation + 8 -1.45 m 9.69 cm 1.6 m 1.03 MeV 0 eV 63.8 cm 4.26 m ChamberTransportation + 9 -1.52 m 10.2 cm 1.8 m 1.03 MeV 0 eV 21.3 cm 4.48 m TrackerTransportation + 10 -1.74 m 11.6 cm 2.4 m 1.03 MeV 0 eV 63.8 cm 5.11 m WorldPVTransportation + 11 -1.92 m 12.9 cm 2.91 m 1.03 MeV 0 eV 54.2 cm 5.66 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 402, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -604 mum 213 mum -2.41 m 3.98 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.56 mm 675 mum -2.4 m 3.98 MeV 0 eV 1.07 cm 1.07 cm TrackerTransportation + 2 -64.2 cm 7.51 cm -80 cm 3.98 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -67.2 cm 7.87 cm -72.5 cm 3.98 MeV 0 eV 8.12 cm 1.82 m TrackerTransportation + 4 -96.1 cm 11.2 cm 0 fm 3.98 MeV 0 eV 78.1 cm 2.6 m ChamberTransportation + 5 -1.04 m 12.2 cm 20 cm 3.98 MeV 0 eV 21.5 cm 2.81 m TrackerTransportation + 6 -1.28 m 15 cm 80 cm 3.98 MeV 0 eV 64.6 cm 3.46 m ChamberTransportation + 7 -1.36 m 15.9 cm 1 m 3.98 MeV 0 eV 21.5 cm 3.67 m TrackerTransportation + 8 -1.6 m 18.7 cm 1.6 m 3.98 MeV 0 eV 64.6 cm 4.32 m ChamberTransportation + 9 -1.68 m 19.6 cm 1.8 m 3.98 MeV 0 eV 21.5 cm 4.54 m TrackerTransportation + 10 -1.92 m 22.4 cm 2.4 m 3.98 MeV 0 eV 64.6 cm 5.18 m WorldPVTransportation + 11 -2.12 m 24.8 cm 2.91 m 3.98 MeV 0 eV 54.9 cm 5.73 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 401, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -220 mum 205 mum -2.41 m 2.96 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.3 mm 1.13 mm -2.4 m 2.96 MeV 0 eV 1.14 cm 1.14 cm TrackerTransportation + 2 -22.8 cm 6.85 cm -1.6 m 2.96 MeV 0 eV 83.4 cm 84.5 cm ChamberTransportation + 3 -24 cm 7.2 cm -1.56 m 2.96 MeV 0 eV 4.29 cm 88.8 cm TrackerTransportation + 4 -45.4 cm 13.6 cm -80 cm 2.96 MeV 0 eV 79.1 cm 1.68 m ChamberTransportation + 5 -51 cm 15.3 cm -60 cm 2.96 MeV 0 eV 20.8 cm 1.89 m TrackerTransportation + 6 -67.9 cm 20.3 cm 0 fm 2.96 MeV 0 eV 62.5 cm 2.51 m ChamberTransportation + 7 -73.5 cm 22 cm 20 cm 2.96 MeV 0 eV 20.8 cm 2.72 m TrackerTransportation + 8 -90.4 cm 27.1 cm 80 cm 2.96 MeV 0 eV 62.5 cm 3.35 m ChamberTransportation + 9 -96 cm 28.8 cm 1 m 2.96 MeV 0 eV 20.8 cm 3.56 m TrackerTransportation + 10 -1.13 m 33.8 cm 1.6 m 2.96 MeV 0 eV 62.5 cm 4.18 m ChamberTransportation + 11 -1.19 m 35.5 cm 1.8 m 2.96 MeV 0 eV 20.8 cm 4.39 m TrackerTransportation + 12 -1.35 m 40.6 cm 2.4 m 2.96 MeV 0 eV 62.5 cm 5.01 m WorldPVTransportation + 13 -1.5 m 44.9 cm 2.91 m 2.96 MeV 0 eV 53.2 cm 5.55 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 400, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -51.2 mum 267 mum -2.41 m 8.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -580 mum 466 mum -2.41 m 1.29 MeV 7.61 MeV 3.87 mm 3.87 mm TargetPV compt + 2 6.15 mm 4.84 mm -2.4 m 1.29 MeV 0 eV 1.17 cm 1.56 cm TrackerTransportation + 3 2.4 m 1.56 m 63.3 cm 1.29 MeV 0 eV 4.17 m 4.18 m WorldPVTransportation + 4 2.91 m 1.89 m 1.28 m 1.29 MeV 0 eV 88.8 cm 5.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 399, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.4 mum 258 mum -2.41 m 506 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -338 mum 327 mum -2.41 m 0 eV 506 keV 3.22 mm 3.22 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 387 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 mum 222 mum -2.41 m 113 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -48 mum 242 mum -2.41 m 112 MeV 784 keV 581 mum 581 mum TargetPV eBrem + 2 -38.9 mum 248 mum -2.41 m 109 MeV 233 keV 184 mum 765 mum TargetPV eBrem + 3 6.04 mum 269 mum -2.41 m 107 MeV 1.89 MeV 1.06 mm 1.82 mm TargetPV eBrem + 4 140 mum 240 mum -2.41 m 95.9 MeV 1.68 MeV 1.26 mm 3.08 mm TargetPV eBrem + 5 159 mum 215 mum -2.41 m 81.6 MeV 446 keV 426 mum 3.5 mm TargetPV eBrem + 6 160 mum 212 mum -2.41 m 81.2 MeV 28.8 keV 27.4 mum 3.53 mm TargetPV eBrem + 7 164 mum 199 mum -2.41 m 80.7 MeV 112 keV 92.1 mum 3.62 mm TargetPV eBrem + 8 184 mum 164 mum -2.41 m 77.3 MeV 384 keV 253 mum 3.88 mm TargetPV eBrem + 9 183 mum 152 mum -2.41 m 74.2 MeV 77.1 keV 62.1 mum 3.94 mm TargetPV eBrem + 10 183 mum 144 mum -2.41 m 71.8 MeV 88 keV 42.6 mum 3.98 mm TargetPV eBrem + 11 218 mum -118 mum -2.41 m 56.7 MeV 1.71 MeV 1.06 mm 5.04 mm TargetPV eBrem + 12 528 mum -1.08 mm -2.41 m 48.1 MeV 3.76 MeV 2.93 mm 7.98 mm TargetPV eBrem + 13 195 mum -1.44 mm -2.4 m 42.4 MeV 3.67 MeV 2.65 mm 1.06 cm TargetPV eBrem + 14 191 mum -1.47 mm -2.4 m 32.4 MeV 76.6 keV 44.4 mum 1.07 cm TargetPV eBrem + 15 182 mum -1.63 mm -2.4 m 31.2 MeV 295 keV 220 mum 1.09 cm TargetPV eBrem + 16 164 mum -1.68 mm -2.4 m 27.7 MeV 142 keV 87.2 mum 1.1 cm TargetPV eBrem + 17 113 mum -1.9 mm -2.4 m 26.9 MeV 480 keV 330 mum 1.13 cm TargetPV eBrem + 18 7.17 mum -2.44 mm -2.4 m 14.6 MeV 858 keV 740 mum 1.2 cm TargetPV eBrem + 19 -14.1 mum -2.54 mm -2.4 m 14.1 MeV 143 keV 123 mum 1.22 cm TargetPV eBrem + 20 -14.7 mum -2.54 mm -2.4 m 12.9 MeV 1.31 keV 2.21 mum 1.22 cm TargetPV eBrem + 21 -405 mum -3.44 mm -2.4 m 10 MeV 2.93 MeV 2.13 mm 1.43 cm TargetPV eIoni + 22 -523 mum -3.58 mm -2.4 m 9.76 MeV 239 keV 231 mum 1.45 cm TrackerTransportation + 23 -18.4 cm -17.8 cm -2.29 m 9.7 MeV 49.5 keV 27.6 cm 29 cm Tracker eIoni + 24 -87.5 cm -61.3 cm -1.88 m 9.52 MeV 170 keV 91.3 cm 1.2 m Tracker eIoni + 25 -1.44 m -1.05 m -1.46 m 9.36 MeV 145 keV 83 cm 2.03 m Tracker eIoni + 26 -1.72 m -1.26 m -1.25 m 9.24 MeV 74.7 keV 41.1 cm 2.44 m Tracker eIoni + 27 -1.75 m -1.28 m -1.24 m 9.16 MeV 6.14 keV 3.61 cm 2.48 m Tracker eIoni + 28 -2.4 m -1.82 m -78.4 cm 8.97 MeV 186 keV 96.3 cm 3.44 m WorldPVTransportation + 29 -2.4 m -1.82 m -78.3 cm 8.94 MeV 135 eV 1.4 mm 3.45 m WorldPV eIoni + 30 -2.91 m -2.48 m -27.2 cm 8.77 MeV 177 keV 97.9 cm 4.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 436, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.4 m -1.82 m -78.3 cm 28.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.4 m -1.82 m -78.3 cm 28.2 keV 312 eV 972 mum 972 mum TrackerTransportation + 2 -2.4 m -1.83 m -78.2 cm 25.1 keV 3.02 keV 3.2 mm 4.18 mm Tracker eIoni + 3 -2.4 m -1.83 m -78.1 cm 22.3 keV 2.85 keV 2.66 mm 6.83 mm Tracker eIoni + 4 -2.39 m -1.83 m -77.9 cm 20.1 keV 2.21 keV 2.21 mm 9.05 mm Tracker eIoni + 5 -2.39 m -1.83 m -77.7 cm 17.9 keV 2.19 keV 1.89 mm 1.09 cm Tracker eIoni + 6 -2.39 m -1.83 m -77.7 cm 14.7 keV 3.2 keV 1.6 mm 1.25 cm Tracker eIoni + 7 -2.39 m -1.83 m -77.6 cm 12.9 keV 1.8 keV 1.22 mm 1.37 cm Tracker eIoni + 8 -2.39 m -1.83 m -77.6 cm 11.5 keV 1.45 keV 1.03 mm 1.48 cm Tracker eIoni + 9 -2.39 m -1.83 m -77.6 cm 8.62 keV 2.84 keV 896 mum 1.57 cm Tracker eIoni + 10 -2.39 m -1.83 m -77.7 cm 5.8 keV 2.82 keV 660 mum 1.63 cm Tracker eIoni + 11 -2.39 m -1.83 m -77.7 cm 4.51 keV 1.29 keV 466 mum 1.68 cm Tracker eIoni + 12 -2.39 m -1.83 m -77.7 cm 2.36 keV 2.15 keV 386 mum 1.72 cm Tracker eIoni + 13 -2.39 m -1.83 m -77.7 cm 0 eV 2.36 keV 209 mum 1.74 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.75 m -1.28 m -1.24 m 78.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m -1.27 m -1.23 m 71.3 keV 7.07 keV 1.84 cm 1.84 cm Tracker eIoni + 2 -1.76 m -1.25 m -1.23 m 54.6 keV 16.7 keV 1.56 cm 3.4 cm Tracker eIoni + 3 -1.77 m -1.25 m -1.23 m 47.4 keV 7.18 keV 9.81 mm 4.38 cm Tracker eIoni + 4 -1.77 m -1.24 m -1.23 m 42.8 keV 4.66 keV 7.7 mm 5.15 cm Tracker eIoni + 5 -1.78 m -1.24 m -1.23 m 39.7 keV 3.03 keV 6.42 mm 5.8 cm Tracker eIoni + 6 -1.78 m -1.23 m -1.22 m 36.7 keV 3.06 keV 5.68 mm 6.36 cm Tracker eIoni + 7 -1.78 m -1.23 m -1.22 m 32.5 keV 4.2 keV 4.94 mm 6.86 cm Tracker eIoni + 8 -1.78 m -1.23 m -1.22 m 27.5 keV 4.98 keV 4.05 mm 7.26 cm Tracker eIoni + 9 -1.78 m -1.22 m -1.22 m 25.2 keV 2.33 keV 3.08 mm 7.57 cm Tracker eIoni + 10 -1.79 m -1.22 m -1.22 m 20.3 keV 4.9 keV 2.66 mm 7.84 cm Tracker eIoni + 11 -1.79 m -1.22 m -1.22 m 18.2 keV 2.09 keV 1.91 mm 8.03 cm Tracker eIoni + 12 -1.79 m -1.22 m -1.22 m 16.9 keV 1.25 keV 1.63 mm 8.19 cm Tracker eIoni + 13 -1.79 m -1.22 m -1.22 m 15.3 keV 1.59 keV 1.47 mm 8.34 cm Tracker eIoni + 14 -1.79 m -1.22 m -1.22 m 13.1 keV 2.21 keV 1.29 mm 8.47 cm Tracker eIoni + 15 -1.79 m -1.22 m -1.22 m 12.3 keV 813 eV 1.05 mm 8.57 cm Tracker eIoni + 16 -1.79 m -1.22 m -1.22 m 10.9 keV 1.37 keV 973 mum 8.67 cm Tracker eIoni + 17 -1.79 m -1.22 m -1.22 m 9.75 keV 1.18 keV 849 mum 8.75 cm Tracker eIoni + 18 -1.79 m -1.22 m -1.22 m 7.56 keV 2.19 keV 748 mum 8.83 cm Tracker eIoni + 19 -1.79 m -1.22 m -1.22 m 5.42 keV 2.15 keV 584 mum 8.89 cm Tracker eIoni + 20 -1.79 m -1.22 m -1.22 m 3.59 keV 1.82 keV 443 mum 8.93 cm Tracker eIoni + 21 -1.79 m -1.22 m -1.22 m 2.2 keV 1.39 keV 324 mum 8.96 cm Tracker eIoni + 22 -1.79 m -1.22 m -1.22 m 0 eV 2.2 keV 188 mum 8.98 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.72 m -1.26 m -1.25 m 43.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.73 m -1.26 m -1.25 m 38.3 keV 5.17 keV 6.58 mm 6.58 mm Tracker eIoni + 2 -1.73 m -1.26 m -1.26 m 32.1 keV 6.15 keV 5.33 mm 1.19 cm Tracker eIoni + 3 -1.73 m -1.26 m -1.26 m 27.6 keV 4.5 keV 3.97 mm 1.59 cm Tracker eIoni + 4 -1.73 m -1.26 m -1.26 m 24.2 keV 3.37 keV 3.1 mm 1.9 cm Tracker eIoni + 5 -1.73 m -1.25 m -1.26 m 21 keV 3.26 keV 2.51 mm 2.15 cm Tracker eIoni + 6 -1.73 m -1.25 m -1.26 m 18.9 keV 2.04 keV 2.01 mm 2.35 cm Tracker eIoni + 7 -1.73 m -1.25 m -1.26 m 15.8 keV 3.14 keV 1.73 mm 2.52 cm Tracker eIoni + 8 -1.74 m -1.25 m -1.26 m 10.3 keV 5.52 keV 1.34 mm 2.66 cm Tracker eIoni + 9 -1.74 m -1.25 m -1.26 m 9.2 keV 1.08 keV 792 mum 2.74 cm Tracker eIoni + 10 -1.74 m -1.25 m -1.26 m 1.68 keV 7.52 keV 705 mum 2.81 cm Tracker eIoni + 11 -1.74 m -1.25 m -1.26 m 0 eV 1.68 keV 125 mum 2.82 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 433, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.44 m -1.05 m -1.46 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.44 m -1.05 m -1.46 m 9.08 keV 1.02 keV 777 mum 777 mum Tracker eIoni + 2 -1.44 m -1.05 m -1.46 m 8.14 keV 947 eV 696 mum 1.47 mm Tracker eIoni + 3 -1.44 m -1.05 m -1.46 m 7.03 keV 1.1 keV 624 mum 2.1 mm Tracker eIoni + 4 -1.44 m -1.05 m -1.46 m 5.8 keV 1.24 keV 547 mum 2.64 mm Tracker eIoni + 5 -1.44 m -1.05 m -1.46 m 2.98 keV 2.82 keV 466 mum 3.11 mm Tracker eIoni + 6 -1.44 m -1.05 m -1.46 m 0 eV 2.98 keV 275 mum 3.39 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 432, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.5 cm -61.3 cm -1.88 m 13.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -87.5 cm -61.4 cm -1.88 m 11.4 keV 1.85 keV 1.06 mm 1.06 mm Tracker eIoni + 2 -87.4 cm -61.4 cm -1.89 m 9.44 keV 1.91 keV 886 mum 1.95 mm Tracker eIoni + 3 -87.3 cm -61.5 cm -1.89 m 8.09 keV 1.35 keV 724 mum 2.67 mm Tracker eIoni + 4 -87.3 cm -61.4 cm -1.89 m 6.56 keV 1.54 keV 621 mum 3.29 mm Tracker eIoni + 5 -87.3 cm -61.4 cm -1.89 m 5.44 keV 1.11 keV 516 mum 3.81 mm Tracker eIoni + 6 -87.3 cm -61.4 cm -1.89 m 511 eV 4.93 keV 445 mum 4.25 mm Tracker eIoni + 7 -87.3 cm -61.4 cm -1.89 m 0 eV 511 eV 28.4 mum 4.28 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 431, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.4 cm -17.8 cm -2.29 m 8.21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -18.4 cm -17.8 cm -2.29 m 6.71 keV 1.5 keV 629 mum 629 mum Tracker eIoni + 2 -18.4 cm -17.9 cm -2.29 m 5.14 keV 1.57 keV 526 mum 1.15 mm Tracker eIoni + 3 -18.4 cm -17.9 cm -2.29 m 3.31 keV 1.83 keV 426 mum 1.58 mm Tracker eIoni + 4 -18.4 cm -17.9 cm -2.29 m 2.06 keV 1.25 keV 302 mum 1.88 mm Tracker eIoni + 5 -18.4 cm -17.9 cm -2.29 m 0 eV 2.06 keV 170 mum 2.05 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 430, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.7 mum -2.54 mm -2.4 m 1.21 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -903 mum -4.64 mm -2.4 m 1.21 MeV 0 eV 2.83 mm 2.83 mm TrackerTransportation + 2 -1.01 m -2.4 m -48 cm 1.21 MeV 0 eV 3.23 m 3.24 m WorldPVTransportation + 3 -1.23 m -2.91 m -7.09 cm 1.21 MeV 0 eV 68.8 cm 3.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 429, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 mum -2.54 mm -2.4 m 316 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -126 mum -2.83 mm -2.4 m 247 keV 69.2 keV 393 mum 393 mum TargetPV compt + 2 257 mum -3.69 mm -2.4 m 0 eV 247 keV 939 mum 1.33 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 428, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.17 mum -2.44 mm -2.4 m 11.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -618 mum -4.42 mm -2.4 m 11.5 MeV 0 eV 2.71 mm 2.71 mm TrackerTransportation + 2 -75.9 cm -2.4 m -27.1 cm 11.5 MeV 0 eV 3.29 m 3.3 m WorldPVTransportation + 3 -92 cm -2.91 m 18.2 cm 11.5 MeV 0 eV 70.1 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 427, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 113 mum -1.9 mm -2.4 m 293 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -259 mum -3.22 mm -2.4 m 224 keV 69.7 keV 2.13 mm 2.13 mm TargetPV compt + 2 -1.37 mm -3.24 mm -2.4 m 0 eV 224 keV 1.19 mm 3.33 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 426, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum -1.68 mm -2.4 m 3.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -573 mum -3.68 mm -2.4 m 3.38 MeV 0 eV 3.27 mm 3.27 mm TrackerTransportation + 2 -88.3 cm -2.4 m 57.1 cm 3.38 MeV 0 eV 3.92 m 3.92 m WorldPVTransportation + 3 -1.07 m -2.91 m 1.2 m 3.38 MeV 0 eV 83.4 cm 4.75 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 425, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 182 mum -1.63 mm -2.4 m 885 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -410 mum -3.64 mm -2.4 m 885 keV 0 eV 3.3 mm 3.3 mm TrackerTransportation + 2 -70.8 cm -2.4 m 64.3 cm 885 keV 0 eV 3.94 m 3.94 m WorldPVTransportation + 3 -85.8 cm -2.91 m 1.29 m 885 keV 0 eV 83.8 cm 4.78 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 424, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 191 mum -1.47 mm -2.4 m 9.95 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -268 mum -4.33 mm -2.4 m 9.95 MeV 0 eV 3.95 mm 3.95 mm TrackerTransportation + 2 -38.5 cm -2.4 m -13.7 cm 9.95 MeV 0 eV 3.32 m 3.32 m WorldPVTransportation + 3 -46.7 cm -2.91 m 34.5 cm 9.95 MeV 0 eV 70.6 cm 4.03 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 423, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 195 mum -1.44 mm -2.4 m 2.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -256 mum -4.37 mm -2.4 m 2.04 MeV 0 eV 4.02 mm 4.02 mm TrackerTransportation + 2 -37 cm -2.4 m -16.4 cm 2.04 MeV 0 eV 3.3 m 3.3 m WorldPVTransportation + 3 -44.8 cm -2.91 m 31.1 cm 2.04 MeV 0 eV 70.2 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 422, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 528 mum -1.08 mm -2.41 m 4.75 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 616 mum -2.44 mm -2.4 m 4.75 MeV 0 eV 5.48 mm 5.48 mm TrackerTransportation + 2 1.39 cm -20.8 cm -1.6 m 4.75 MeV 0 eV 82.6 cm 83.1 cm ChamberTransportation + 3 1.6 cm -24 cm -1.47 m 4.75 MeV 0 eV 13 cm 96.2 cm TrackerTransportation + 4 2.72 cm -41.3 cm -80 cm 4.75 MeV 0 eV 69.6 cm 1.66 m ChamberTransportation + 5 3.05 cm -46.4 cm -60 cm 4.75 MeV 0 eV 20.6 cm 1.86 m TrackerTransportation + 6 4.05 cm -61.8 cm 0 fm 4.75 MeV 0 eV 61.9 cm 2.48 m ChamberTransportation + 7 4.38 cm -66.9 cm 20 cm 4.75 MeV 0 eV 20.6 cm 2.69 m TrackerTransportation + 8 5.37 cm -82.3 cm 80 cm 4.75 MeV 0 eV 61.9 cm 3.31 m ChamberTransportation + 9 5.71 cm -87.4 cm 1 m 4.75 MeV 0 eV 20.6 cm 3.52 m TrackerTransportation + 10 6.7 cm -1.03 m 1.6 m 4.75 MeV 0 eV 61.9 cm 4.14 m ChamberTransportation + 11 7.03 cm -1.08 m 1.8 m 4.75 MeV 0 eV 20.6 cm 4.34 m TrackerTransportation + 12 8.03 cm -1.23 m 2.4 m 4.75 MeV 0 eV 61.9 cm 4.96 m WorldPVTransportation + 13 8.88 cm -1.36 m 2.91 m 4.75 MeV 0 eV 52.7 cm 5.49 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 421, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 218 mum -118 mum -2.41 m 13.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 646 mum -1.64 mm -2.4 m 13.4 MeV 0 eV 8.19 mm 8.19 mm TrackerTransportation + 2 4.33 cm -15.3 cm -1.6 m 13.4 MeV 0 eV 81.5 cm 82.4 cm ChamberTransportation + 3 5.39 cm -19.1 cm -1.4 m 13.4 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 8.59 cm -30.5 cm -80 cm 13.4 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 9.65 cm -34.3 cm -60 cm 13.4 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 12.8 cm -45.6 cm 0 fm 13.4 MeV 0 eV 61.2 cm 2.45 m ChamberTransportation + 7 13.9 cm -49.4 cm 20 cm 13.4 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 17.1 cm -60.8 cm 80 cm 13.4 MeV 0 eV 61.2 cm 3.27 m ChamberTransportation + 9 18.2 cm -64.6 cm 1 m 13.4 MeV 0 eV 20.4 cm 3.47 m TrackerTransportation + 10 21.4 cm -75.9 cm 1.6 m 13.4 MeV 0 eV 61.2 cm 4.08 m ChamberTransportation + 11 22.4 cm -79.7 cm 1.8 m 13.4 MeV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 25.6 cm -91.1 cm 2.4 m 13.4 MeV 0 eV 61.2 cm 4.9 m WorldPVTransportation + 13 28.3 cm -1.01 m 2.91 m 13.4 MeV 0 eV 52 cm 5.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 420, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 183 mum 144 mum -2.41 m 2.34 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 73.8 mum -1.6 mm -2.4 m 2.34 MeV 0 eV 9.23 mm 9.23 mm TrackerTransportation + 2 -9.58 mm -15.5 cm -1.6 m 2.34 MeV 0 eV 81.5 cm 82.4 cm ChamberTransportation + 3 -1.2 cm -19.4 cm -1.4 m 2.34 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 -1.92 cm -30.9 cm -80 cm 2.34 MeV 0 eV 61.1 cm 1.64 m ChamberTransportation + 5 -2.16 cm -34.8 cm -60 cm 2.34 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 -2.89 cm -46.3 cm 0.114 fm 2.34 MeV 0 eV 61.1 cm 2.45 m ChamberTransportation + 7 -2.99 cm -47.8 cm 8.12 cm 1.6 MeV 0 eV 8.27 cm 2.54 m Chamber compt + 8 2.35 cm -48.5 cm 20 cm 1.6 MeV 0 eV 13 cm 2.67 m TrackerTransportation + 9 29.3 cm -52 cm 80 cm 1.6 MeV 0 eV 65.9 cm 3.33 m ChamberTransportation + 10 38.3 cm -53.1 cm 1 m 1.6 MeV 0 eV 22 cm 3.54 m TrackerTransportation + 11 65.2 cm -56.6 cm 1.6 m 1.6 MeV 0 eV 65.9 cm 4.2 m ChamberTransportation + 12 74.2 cm -57.8 cm 1.8 m 1.6 MeV 0 eV 22 cm 4.42 m TrackerTransportation + 13 1.01 m -61.2 cm 2.4 m 1.6 MeV 0 eV 65.9 cm 5.08 m WorldPVTransportation + 14 1.24 m -64.2 cm 2.91 m 1.6 MeV 0 eV 56 cm 5.64 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 420 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.99 cm -47.8 cm 8.12 cm 737 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -12.6 cm -51 cm 14 cm 632 keV 106 keV 21.7 cm 21.7 cm Chamber eIoni + 2 -8.78 cm -50.2 cm 20 cm 581 keV 50.9 keV 11.5 cm 33.2 cm TrackerTransportation + 3 12.3 cm -19.2 cm 38.9 cm 498 keV 82.9 keV 46 cm 79.2 cm Tracker eIoni + 4 10.6 cm -10.1 cm 56.3 cm 434 keV 33.2 keV 20.2 cm 99.4 cm Tracker eIoni + 5 10.8 cm -4.87 cm 60.8 cm 374 keV 10.3 keV 6.94 cm 1.06 m Tracker eIoni + 6 21.4 cm 5.4 cm 77.2 cm 326 keV 47.3 keV 24.3 cm 1.31 m Tracker eIoni + 7 24.6 cm 6.77 cm 80 cm 319 keV 7.85 keV 4.56 cm 1.35 m ChamberTransportation + 8 27.5 cm 5.96 cm 82.3 cm 297 keV 21.6 keV 6.62 cm 1.42 m Chamber eIoni + 9 26.4 cm 5.68 cm 81.2 cm 248 keV 7.2 keV 1.66 cm 1.44 m Chamber eIoni + 10 25.1 cm 5.24 cm 80 cm 181 keV 66.6 keV 3.06 cm 1.47 m TrackerTransportation + 11 18.3 cm 3.08 cm 79.8 cm 160 keV 21.2 keV 7.72 cm 1.54 m Tracker eIoni + 12 17.4 cm 2.82 cm 79.3 cm 141 keV 1.63 keV 1.05 cm 1.55 m Tracker eIoni + 13 12.6 cm 3.47 cm 78.8 cm 130 keV 11.3 keV 5.06 cm 1.6 m Tracker eIoni + 14 8.85 cm 2.12 cm 79.6 cm 115 keV 14.6 keV 4.38 cm 1.65 m Tracker eIoni + 15 8.03 cm 2.45 cm 80 cm 111 keV 3.71 keV 1.01 cm 1.66 m ChamberTransportation + 16 7.44 cm 2.76 cm 80 cm 101 keV 10 keV 1.26 cm 1.67 m Chamber eIoni + 17 7.28 cm 2.21 cm 80 cm 93.4 keV 7.91 keV 1.08 cm 1.68 m Chamber eIoni + 18 7.25 cm 1.73 cm 80 cm 80.6 keV 12.7 keV 9.49 mm 1.69 m Chamber eIoni + 19 7.53 cm 1.75 cm 80.2 cm 66.8 keV 3.38 keV 5.11 mm 1.7 m Chamber eBrem + 20 7.64 cm 1.72 cm 80 cm 59.7 keV 7.11 keV 3.12 mm 1.7 m TrackerTransportation + 21 7.99 cm 1.23 cm 79.1 cm 52.4 keV 7.29 keV 1.15 cm 1.71 m Tracker eIoni + 22 7.94 cm 1.08 cm 78.3 cm 45.8 keV 6.63 keV 9.1 mm 1.72 m Tracker eIoni + 23 7.59 cm 6.18 mm 77.9 cm 41 keV 4.76 keV 7.23 mm 1.73 m Tracker eIoni + 24 7.25 cm 2.32 mm 77.6 cm 34.9 keV 6.11 keV 6 mm 1.73 m Tracker eIoni + 25 7.14 cm -1.9 mm 77.6 cm 32.2 keV 2.71 keV 4.55 mm 1.74 m Tracker eIoni + 26 7.36 cm -4.51 mm 77.8 cm 29.5 keV 2.7 keV 3.99 mm 1.74 m Tracker eIoni + 27 7.56 cm -2.96 mm 78 cm 26.2 keV 3.29 keV 3.44 mm 1.75 m Tracker eIoni + 28 7.62 cm -294 mum 78 cm 23.4 keV 2.77 keV 2.85 mm 1.75 m Tracker eIoni + 29 7.65 cm -2.45 mm 78.1 cm 21.8 keV 1.67 keV 2.39 mm 1.75 m Tracker eIoni + 30 7.5 cm -2.93 mm 77.9 cm 19.1 keV 2.62 keV 2.13 mm 1.75 m Tracker eIoni + 31 7.34 cm -3.22 mm 77.9 cm 15.3 keV 3.85 keV 1.76 mm 1.75 m Tracker eIoni + 32 7.27 cm -3.05 mm 77.8 cm 14.4 keV 924 eV 1.28 mm 1.76 m Tracker eIoni + 33 7.21 cm -3.53 mm 77.7 cm 13.5 keV 843 eV 1.18 mm 1.76 m Tracker eIoni + 34 7.15 cm -3.79 mm 77.6 cm 11.9 keV 1.62 keV 1.09 mm 1.76 m Tracker eIoni + 35 7.12 cm -4.32 mm 77.5 cm 7.68 keV 4.21 keV 933 mum 1.76 m Tracker eIoni + 36 7.11 cm -4.45 mm 77.5 cm 5.26 keV 2.42 keV 592 mum 1.76 m Tracker eIoni + 37 7.09 cm -4.56 mm 77.4 cm 3.32 keV 1.94 keV 433 mum 1.76 m Tracker eIoni + 38 7.08 cm -4.61 mm 77.4 cm 1.24 keV 2.08 keV 303 mum 1.76 m Tracker eIoni + 39 7.08 cm -4.63 mm 77.4 cm 0 eV 1.24 keV 81.4 mum 1.76 m Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 442, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.53 cm 1.75 cm 80.2 cm 10.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.41 cm 1.56 cm 80.3 cm 0 eV 10.5 keV 2.76 mm 2.76 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.4 cm 2.82 cm 79.3 cm 17.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 17.5 cm 2.71 cm 79.2 cm 16.2 keV 1.42 keV 1.56 mm 1.56 mm Tracker eIoni + 2 17.5 cm 2.58 cm 79.2 cm 15.3 keV 984 eV 1.39 mm 2.96 mm Tracker eIoni + 3 17.4 cm 2.46 cm 79.2 cm 13.8 keV 1.5 keV 1.28 mm 4.24 mm Tracker eIoni + 4 17.4 cm 2.37 cm 79.2 cm 12.6 keV 1.14 keV 1.12 mm 5.36 mm Tracker eIoni + 5 17.4 cm 2.29 cm 79.2 cm 10.5 keV 2.11 keV 1 mm 6.36 mm Tracker eIoni + 6 17.4 cm 2.23 cm 79.1 cm 6.92 keV 3.59 keV 812 mum 7.18 mm Tracker eIoni + 7 17.4 cm 2.22 cm 79.1 cm 5.36 keV 1.56 keV 539 mum 7.71 mm Tracker eIoni + 8 17.4 cm 2.2 cm 79 cm 3.05 keV 2.31 keV 439 mum 8.15 mm Tracker eIoni + 9 17.4 cm 2.19 cm 79 cm 1.42 keV 1.63 keV 282 mum 8.44 mm Tracker eIoni + 10 17.4 cm 2.18 cm 79 cm 0 eV 1.42 keV 98.7 mum 8.53 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.4 cm 5.68 cm 81.2 cm 41.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 26.5 cm 5.49 cm 81.2 cm 38.3 keV 3.65 keV 2.75 mm 2.75 mm Chamber eIoni + 2 26.6 cm 5.46 cm 81.2 cm 32.3 keV 5.94 keV 2.41 mm 5.16 mm Chamber eIoni + 3 26.7 cm 5.49 cm 81.1 cm 29.9 keV 2.41 keV 1.9 mm 7.06 mm Chamber eIoni + 4 26.8 cm 5.37 cm 81.1 cm 24.4 keV 5.5 keV 1.7 mm 8.77 mm Chamber eIoni + 5 26.8 cm 5.31 cm 81.1 cm 20.1 keV 4.36 keV 1.31 mm 1.01 cm Chamber eIoni + 6 26.8 cm 5.32 cm 81.1 cm 14.3 keV 5.8 keV 1.03 mm 1.11 cm Chamber eIoni + 7 26.8 cm 5.34 cm 81.1 cm 10.4 keV 3.82 keV 720 mum 1.18 cm Chamber eIoni + 8 26.8 cm 5.37 cm 81.1 cm 7.69 keV 2.75 keV 550 mum 1.24 cm Chamber eIoni + 9 26.9 cm 5.36 cm 81.1 cm 4.99 keV 2.7 keV 439 mum 1.28 cm Chamber eIoni + 10 26.9 cm 5.35 cm 81.1 cm 1.45 keV 3.54 keV 328 mum 1.31 cm Chamber eIoni + 11 26.9 cm 5.35 cm 81.1 cm 0 eV 1.45 keV 75.8 mum 1.32 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.8 cm -4.87 cm 60.8 cm 50.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 10.1 cm -4.52 cm 60.8 cm 46.8 keV 3.42 keV 8.49 mm 8.49 mm Tracker eIoni + 2 10.1 cm -3.85 cm 61.1 cm 43 keV 3.83 keV 7.53 mm 1.6 cm Tracker eIoni + 3 9.98 cm -3.84 cm 61.7 cm 37.8 keV 5.21 keV 6.48 mm 2.25 cm Tracker eIoni + 4 9.79 cm -3.59 cm 62.1 cm 33.5 keV 4.28 keV 5.21 mm 2.77 cm Tracker eIoni + 5 9.44 cm -3.46 cm 62.3 cm 30.3 keV 3.24 keV 4.26 mm 3.2 cm Tracker eIoni + 6 9.41 cm -3.15 cm 62.1 cm 27.2 keV 3.09 keV 3.58 mm 3.56 cm Tracker eIoni + 7 9.32 cm -2.88 cm 62.1 cm 23.8 keV 3.35 keV 3.02 mm 3.86 cm Tracker eIoni + 8 9.1 cm -2.8 cm 62.1 cm 19.1 keV 4.76 keV 2.45 mm 4.1 cm Tracker eIoni + 9 8.94 cm -2.77 cm 62.1 cm 15.4 keV 3.62 keV 1.75 mm 4.28 cm Tracker eIoni + 10 8.89 cm -2.82 cm 62 cm 9.76 keV 5.68 keV 1.3 mm 4.41 cm Tracker eIoni + 11 8.81 cm -2.82 cm 62 cm 7.49 keV 2.27 keV 748 mum 4.48 cm Tracker eIoni + 12 8.77 cm -2.84 cm 62 cm 6.11 keV 1.37 keV 579 mum 4.54 cm Tracker eIoni + 13 8.73 cm -2.86 cm 62 cm 5.06 keV 1.05 keV 487 mum 4.59 cm Tracker eIoni + 14 8.74 cm -2.83 cm 62 cm 3.74 keV 1.32 keV 421 mum 4.63 cm Tracker eIoni + 15 8.73 cm -2.8 cm 62 cm 2.22 keV 1.52 keV 335 mum 4.66 cm Tracker eIoni + 16 8.73 cm -2.81 cm 62 cm 0 eV 2.22 keV 191 mum 4.68 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.6 cm -10.1 cm 56.3 cm 30.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 10.4 cm -10.2 cm 56.7 cm 27.7 keV 2.53 keV 3.59 mm 3.59 mm Tracker eIoni + 2 10.5 cm -10.2 cm 57 cm 23.8 keV 3.95 keV 3.13 mm 6.71 mm Tracker eIoni + 3 10.5 cm -10.3 cm 57.2 cm 21.7 keV 2.09 keV 2.45 mm 9.16 mm Tracker eIoni + 4 10.4 cm -10.4 cm 57.3 cm 20.3 keV 1.37 keV 2.12 mm 1.13 cm Tracker eIoni + 5 10.2 cm -10.4 cm 57.4 cm 16.6 keV 3.7 keV 1.92 mm 1.32 cm Tracker eIoni + 6 10.2 cm -10.3 cm 57.5 cm 15.1 keV 1.56 keV 1.44 mm 1.46 cm Tracker eIoni + 7 10.1 cm -10.4 cm 57.5 cm 13.3 keV 1.77 keV 1.26 mm 1.59 cm Tracker eIoni + 8 10.1 cm -10.5 cm 57.4 cm 11.5 keV 1.76 keV 1.07 mm 1.7 cm Tracker eIoni + 9 10 cm -10.6 cm 57.4 cm 10.1 keV 1.39 keV 903 mum 1.79 cm Tracker eIoni + 10 10 cm -10.6 cm 57.3 cm 7.67 keV 2.48 keV 780 mum 1.87 cm Tracker eIoni + 11 10 cm -10.6 cm 57.3 cm 5.92 keV 1.75 keV 591 mum 1.92 cm Tracker eIoni + 12 9.97 cm -10.7 cm 57.3 cm 4.57 keV 1.35 keV 474 mum 1.97 cm Tracker eIoni + 13 9.96 cm -10.6 cm 57.3 cm 3.17 keV 1.4 keV 389 mum 2.01 cm Tracker eIoni + 14 9.94 cm -10.6 cm 57.3 cm 710 eV 2.46 keV 291 mum 2.04 cm Tracker eIoni + 15 9.94 cm -10.6 cm 57.3 cm 0 eV 710 eV 40.4 mum 2.04 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 419, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 183 mum 152 mum -2.41 m 2.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 284 mum -1.68 mm -2.4 m 2.97 MeV 0 eV 9.29 mm 9.29 mm TrackerTransportation + 2 9.18 mm -16.2 cm -1.6 m 2.97 MeV 0 eV 81.6 cm 82.5 cm ChamberTransportation + 3 1.14 cm -20.3 cm -1.4 m 2.97 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 1.81 cm -32.3 cm -80 cm 2.97 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 2.03 cm -36.3 cm -60 cm 2.97 MeV 0 eV 20.4 cm 1.85 m TrackerTransportation + 6 2.7 cm -48.4 cm -0.114 fm 2.97 MeV 0 eV 61.2 cm 2.46 m ChamberTransportation + 7 2.92 cm -52.4 cm 20 cm 2.97 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 3.59 cm -64.5 cm 80 cm 2.97 MeV 0 eV 61.2 cm 3.27 m ChamberTransportation + 9 3.81 cm -68.5 cm 1 m 2.97 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 4.47 cm -80.6 cm 1.6 m 2.97 MeV 0 eV 61.2 cm 4.09 m ChamberTransportation + 11 4.7 cm -84.6 cm 1.8 m 2.97 MeV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 5.36 cm -96.6 cm 2.4 m 2.97 MeV 0 eV 61.2 cm 4.91 m WorldPVTransportation + 13 5.68 cm -1.02 m 2.69 m 743 keV 0 eV 29.5 cm 5.2 m WorldPV compt + 14 48.4 cm -1.1 m 2.91 m 743 keV 0 eV 48.6 cm 5.69 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 419 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.68 cm -1.02 m 2.69 m 2.22 MeV 0 eV 0 fm 0 fm WorldPV initStep + 1 3.52 mm -1.07 m 2.91 m 2.18 MeV 42.6 keV 23.3 cm 23.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 418, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 184 mum 164 mum -2.41 m 3.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 189 mum -1.72 mm -2.4 m 3.09 MeV 0 eV 9.35 mm 9.35 mm TrackerTransportation + 2 609 mum -16.6 cm -1.6 m 3.09 MeV 0 eV 81.7 cm 82.6 cm ChamberTransportation + 3 714 mum -20.7 cm -1.4 m 3.09 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 1.03 mm -33 cm -80 cm 3.09 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 1.13 mm -37.1 cm -60 cm 3.09 MeV 0 eV 20.4 cm 1.85 m TrackerTransportation + 6 1.45 mm -49.4 cm 0 fm 3.09 MeV 0 eV 61.2 cm 2.46 m ChamberTransportation + 7 1.55 mm -53.5 cm 20 cm 3.09 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 1.87 mm -65.8 cm 80 cm 3.09 MeV 0 eV 61.2 cm 3.28 m ChamberTransportation + 9 1.97 mm -69.9 cm 1 m 3.09 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 2.29 mm -82.2 cm 1.6 m 3.09 MeV 0 eV 61.2 cm 4.09 m ChamberTransportation + 11 2.39 mm -86.3 cm 1.8 m 3.09 MeV 0 eV 20.4 cm 4.3 m TrackerTransportation + 12 2.71 mm -98.6 cm 2.4 m 3.09 MeV 0 eV 61.2 cm 4.91 m WorldPVTransportation + 13 2.98 mm -1.09 m 2.91 m 3.09 MeV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 417, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum 199 mum -2.41 m 390 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 380 mum -825 mum -2.4 m 0 eV 390 keV 6.12 mm 6.12 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 416, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 160 mum 212 mum -2.41 m 334 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 386 mum -454 mum -2.4 m 0 eV 334 keV 5.59 mm 5.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 415, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 159 mum 215 mum -2.41 m 13.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 608 mum -1.09 mm -2.4 m 13.9 MeV 0 eV 9.63 mm 9.63 mm TrackerTransportation + 2 3.83 cm -11.1 cm -1.6 m 13.9 MeV 0 eV 80.8 cm 81.8 cm ChamberTransportation + 3 4.78 cm -13.9 cm -1.4 m 13.9 MeV 0 eV 20.2 cm 1.02 m TrackerTransportation + 4 7.61 cm -22.1 cm -80 cm 13.9 MeV 0 eV 60.6 cm 1.63 m ChamberTransportation + 5 8.55 cm -24.8 cm -60 cm 13.9 MeV 0 eV 20.2 cm 1.83 m TrackerTransportation + 6 11.4 cm -33.1 cm 0 fm 13.9 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 12.3 cm -35.8 cm 20 cm 13.9 MeV 0 eV 20.2 cm 2.64 m TrackerTransportation + 8 15.2 cm -44.1 cm 80 cm 13.9 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 16.1 cm -46.8 cm 1 m 13.9 MeV 0 eV 20.2 cm 3.45 m TrackerTransportation + 10 18.9 cm -55.1 cm 1.6 m 13.9 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 19.9 cm -57.8 cm 1.8 m 13.9 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 22.7 cm -66.1 cm 2.4 m 13.9 MeV 0 eV 60.6 cm 4.86 m WorldPVTransportation + 13 25.1 cm -73.1 cm 2.91 m 13.9 MeV 0 eV 51.5 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 414, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 140 mum 240 mum -2.41 m 9.65 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 142 mum 232 mum -2.41 m 0 eV 8.63 MeV 155 mum 155 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 444, Parent ID = 414 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 142 mum 232 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 446, Parent ID = 444 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -586 mum -6.22 mm -2.42 m 0 eV 511 keV 1.42 cm 1.42 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 445, Parent ID = 444 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 706 mum 5.23 mm -2.4 m 511 keV 0 eV 1.1 cm 1.1 cm TrackerTransportation + 2 27.1 cm 2.4 m 2.29 m 511 keV 0 eV 5.28 m 5.29 m WorldPVTransportation + 3 30.6 cm 2.71 m 2.91 m 511 keV 0 eV 69.3 cm 5.98 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 413, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.04 mum 269 mum -2.41 m 319 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 193 mum 201 mum -2.41 m 0 eV 319 keV 3.59 mm 3.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 412, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.9 mum 248 mum -2.41 m 2.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 391 mum -93.8 mum -2.4 m 2.08 MeV 0 eV 1.23 cm 1.23 cm TrackerTransportation + 2 2.84 cm -2.24 cm -1.6 m 2.08 MeV 0 eV 80.1 cm 81.3 cm ChamberTransportation + 3 3.54 cm -2.8 cm -1.4 m 2.08 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 5.65 cm -4.47 cm -80 cm 2.08 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 6.35 cm -5.03 cm -60 cm 2.08 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 8.45 cm -6.7 cm 0 fm 2.08 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 9.15 cm -7.26 cm 20 cm 2.08 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 11.3 cm -8.93 cm 80 cm 2.08 MeV 0 eV 60.1 cm 3.22 m ChamberTransportation + 9 12 cm -9.49 cm 1 m 2.08 MeV 0 eV 20 cm 3.42 m TrackerTransportation + 10 14.1 cm -11.2 cm 1.6 m 2.08 MeV 0 eV 60.1 cm 4.02 m ChamberTransportation + 11 14.8 cm -11.7 cm 1.8 m 2.08 MeV 0 eV 20 cm 4.22 m TrackerTransportation + 12 16.9 cm -13.4 cm 2.4 m 2.08 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 18.6 cm -14.8 cm 2.91 m 2.08 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 411, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -48 mum 242 mum -2.41 m 431 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 31.6 mum 309 mum -2.41 m 421 keV 9.96 keV 2.74 mm 2.74 mm TargetPV compt + 2 64.8 mum 288 mum -2.41 m 0 eV 421 keV 161 mum 2.9 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 386, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.71 mum 19.8 mum -2.42 m 15.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -74.2 mum 645 mum -2.4 m 0 eV 4.5 MeV 1.45 cm 1.45 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 447, Parent ID = 386 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -74.2 mum 645 mum -2.4 m 10.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -298 mum 1.59 mm -2.4 m 7.62 MeV 2.53 MeV 1.82 mm 1.82 mm TargetPV eIoni + 2 291 mum 2.05 mm -2.4 m 6.08 MeV 1.1 MeV 807 mum 2.62 mm TargetPV eBrem + 3 330 mum 1.95 mm -2.4 m 3.29 MeV 1.41 MeV 1.04 mm 3.66 mm TargetPV eBrem + 4 383 mum 1.47 mm -2.4 m 2.32 MeV 969 keV 825 mum 4.49 mm TargetPV eIoni + 5 284 mum 1.39 mm -2.4 m 1.75 MeV 173 keV 151 mum 4.64 mm TargetPV eBrem + 6 38.8 mum 1.5 mm -2.4 m 1.06 MeV 684 keV 566 mum 5.21 mm TargetPV eIoni + 7 238 mum 1.48 mm -2.4 m 690 keV 373 keV 433 mum 5.64 mm TargetPV eIoni + 8 230 mum 1.44 mm -2.4 m 0 eV 690 keV 340 mum 5.98 mm TargetPV eIoni + 9 230 mum 1.44 mm -2.4 m 0 eV 0 eV 0 fm 5.98 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 452, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum 1.44 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.29 mm -565 mum -2.4 m 435 keV 75.9 keV 3.66 mm 3.66 mm TargetPV compt + 2 4.51 mm -665 mum -2.4 m 357 keV 78.5 keV 1.29 mm 4.95 mm TargetPV compt + 3 5.08 mm -369 mum -2.4 m 0 eV 357 keV 1.02 mm 5.97 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 451, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum 1.44 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.8 cm 1.34 cm -2.4 m 0 eV 511 keV 2.18 cm 2.18 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 450, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 284 mum 1.39 mm -2.4 m 400 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.61 mm 1.8 mm -2.4 m 0 eV 400 keV 1.98 mm 1.98 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 449, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 330 mum 1.95 mm -2.4 m 1.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 308 mum 1.98 mm -2.4 m 1.38 MeV 0 eV 1.37 mm 1.37 mm TrackerTransportation + 2 -1.25 cm 2.16 cm -1.6 m 1.38 MeV 0 eV 80 cm 80.2 cm ChamberTransportation + 3 -1.57 cm 2.65 cm -1.4 m 1.38 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.54 cm 4.12 cm -80 cm 1.38 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -2.86 cm 4.61 cm -60 cm 1.38 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -3.82 cm 6.08 cm 0 fm 1.38 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -4.14 cm 6.57 cm 20 cm 1.38 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -5.11 cm 8.05 cm 80 cm 1.38 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -5.43 cm 8.54 cm 1 m 1.38 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -6.39 cm 10 cm 1.6 m 1.38 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -6.71 cm 10.5 cm 1.8 m 1.38 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -7.67 cm 12 cm 2.4 m 1.38 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -8.49 cm 13.2 cm 2.91 m 1.38 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 448, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 291 mum 2.05 mm -2.4 m 447 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.58 mm 795 mum -2.4 m 447 keV 0 eV 2.93 mm 2.93 mm TrackerTransportation + 2 2.4 m -2.34 m 1.89 m 447 keV 0 eV 5.44 m 5.45 m WorldPVTransportation + 3 2.91 m -2.84 m 2.8 m 447 keV 0 eV 1.16 m 6.6 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 385, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.83 mum 13.8 mum -2.42 m 203 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.3 mum 502 mum -2.41 m 0 eV 0 eV 1.15 cm 1.15 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 454, Parent ID = 385 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 502 mum -2.41 m 52.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.3 mum 513 mum -2.41 m 28.8 MeV 405 keV 398 mum 398 mum TargetPV eBrem + 2 198 mum 427 mum -2.4 m 25.2 MeV 2.93 MeV 2.2 mm 2.6 mm TargetPV eBrem + 3 161 mum 414 mum -2.4 m 23.1 MeV 1.82 MeV 987 mum 3.59 mm TargetPV eBrem + 4 164 mum 415 mum -2.4 m 8.44 MeV 12.9 keV 15.3 mum 3.6 mm TargetPV eBrem + 5 690 mum 864 mum -2.4 m 5.49 MeV 1.37 MeV 1.2 mm 4.8 mm TargetPV eBrem + 6 973 mum 1.17 mm -2.4 m 612 keV 4.88 MeV 1.16 mm 5.96 mm TargetPV eIoni + 7 1.01 mm 1.21 mm -2.4 m 228 keV 384 keV 316 mum 6.28 mm TargetPV eIoni + 8 1.03 mm 1.21 mm -2.4 m 0 eV 228 keV 95.5 mum 6.37 mm TargetPV eIoni + 9 1.03 mm 1.21 mm -2.4 m 0 eV 0 eV 0 fm 6.37 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 461, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.03 mm 1.21 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.59 mm 3.91 mm -2.41 m 251 keV 260 keV 7.02 mm 7.02 mm TargetPV compt + 2 -1.93 mm 4.01 mm -2.41 m 0 eV 251 keV 410 mum 7.43 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 460, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.03 mm 1.21 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.68 mm 537 mum -2.4 m 511 keV 0 eV 1.76 mm 1.76 mm TrackerTransportation + 2 1.06 m -1.09 m 0 fm 511 keV 0 eV 2.84 m 2.84 m ChamberTransportation + 3 1.07 m -1.1 m 2.39 cm 511 keV 0 eV 2.84 cm 2.87 m TrackerTransportation + 4 1.42 m -1.46 m 80 cm 511 keV 0 eV 91.9 cm 3.79 m ChamberTransportation + 5 1.49 m -1.54 m 97.2 cm 511 keV 0 eV 20.4 cm 4 m TrackerTransportation + 6 1.77 m -1.82 m 1.6 m 511 keV 0 eV 74.4 cm 4.74 m ChamberTransportation + 7 1.86 m -1.91 m 1.8 m 511 keV 0 eV 23.7 cm 4.98 m TrackerTransportation + 8 2.12 m -2.19 m 2.4 m 511 keV 0 eV 71.1 cm 5.69 m WorldPVTransportation + 9 2.35 m -2.42 m 2.91 m 511 keV 0 eV 60.4 cm 6.29 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 459, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 690 mum 864 mum -2.4 m 1.57 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 952 mum 1.27 mm -2.4 m 0 eV 88 keV 2.28 mm 2.28 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 462, Parent ID = 459 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 952 mum 1.27 mm -2.4 m 1.48 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 960 mum 1.28 mm -2.4 m 1.21 MeV 274 keV 98.9 mum 98.9 mum TrackerTransportation + 2 1.03 m 14.6 cm -2.02 m 1.01 MeV 198 keV 1.2 m 1.2 m Tracker eIoni + 3 1.78 m -18.8 cm -1.6 m 843 keV 164 keV 95.9 cm 2.16 m Tracker eIoni + 4 2.37 m 8.63 cm -1.37 m 698 keV 135 keV 75.4 cm 2.91 m Tracker eIoni + 5 2.4 m 7.96 cm -1.36 m 693 keV 5.12 keV 3.05 cm 2.94 m WorldPVTransportation + 6 2.72 m 3 cm -1.28 m 533 keV 52.5 keV 33.6 cm 3.28 m WorldPV eIoni + 7 2.85 m -3.49 cm -1.17 m 492 keV 31.2 keV 19.7 cm 3.47 m WorldPV eIoni + 8 2.86 m -3.79 cm -1.16 m 477 keV 4.06 keV 1.32 cm 3.49 m WorldPV eIoni + 9 2.91 m -3.55 cm -1.1 m 457 keV 19.3 keV 8.37 cm 3.57 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 466, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.86 m -3.79 cm -1.16 m 11 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.86 m -3.84 cm -1.16 m 7.51 keV 3.45 keV 852 mum 852 mum WorldPV eIoni + 2 2.86 m -3.85 cm -1.16 m 6.54 keV 971 eV 580 mum 1.43 mm WorldPV eIoni + 3 2.86 m -3.83 cm -1.16 m 5.62 keV 919 eV 514 mum 1.95 mm WorldPV eIoni + 4 2.86 m -3.83 cm -1.16 m 0 eV 5.62 keV 455 mum 2.4 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 465, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.85 m -3.49 cm -1.17 m 10.1 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.85 m -3.54 cm -1.17 m 8.09 keV 2 keV 776 mum 776 mum WorldPV eIoni + 2 2.85 m -3.58 cm -1.17 m 6.96 keV 1.13 keV 621 mum 1.4 mm WorldPV eIoni + 3 2.85 m -3.53 cm -1.17 m 5.96 keV 999 eV 542 mum 1.94 mm WorldPV eIoni + 4 2.85 m -3.49 cm -1.17 m 4.08 keV 1.89 keV 477 mum 2.42 mm WorldPV eIoni + 5 2.85 m -3.46 cm -1.17 m 1.38 keV 2.7 keV 357 mum 2.77 mm WorldPV eIoni + 6 2.85 m -3.46 cm -1.17 m 0 eV 1.38 keV 94.7 mum 2.87 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 464, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.72 m 3 cm -1.28 m 107 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.72 m 2.8 cm -1.29 m 94.4 keV 1.29 keV 4.88 mm 4.88 mm WorldPV eIoni + 2 2.72 m 4.2 mm -1.29 m 82.2 keV 12.1 keV 2.54 cm 3.03 cm WorldPV eIoni + 3 2.72 m -6.8 mm -1.31 m 73.3 keV 8.94 keV 2 cm 5.04 cm WorldPV eIoni + 4 2.72 m -1.12 cm -1.32 m 66.3 keV 6.96 keV 1.64 cm 6.67 cm WorldPV eIoni + 5 2.72 m -9.17 mm -1.34 m 55.3 keV 11 keV 1.38 cm 8.05 cm WorldPV eIoni + 6 2.71 m -6.68 mm -1.34 m 48.3 keV 7.01 keV 1 cm 9.06 cm WorldPV eIoni + 7 2.7 m -7.6 mm -1.34 m 39 keV 9.3 keV 7.95 mm 9.85 cm WorldPV eIoni + 8 2.7 m -5.06 mm -1.35 m 32.1 keV 6.92 keV 5.51 mm 10.4 cm WorldPV eIoni + 9 2.7 m -3.97 mm -1.35 m 29.6 keV 2.47 keV 3.97 mm 10.8 cm WorldPV eIoni + 10 2.69 m -3.4 mm -1.34 m 24.4 keV 5.25 keV 3.47 mm 11.1 cm WorldPV eIoni + 11 2.69 m -3.37 mm -1.35 m 21.7 keV 2.69 keV 2.54 mm 11.4 cm WorldPV eIoni + 12 2.69 m -3.87 mm -1.34 m 20.5 keV 1.14 keV 2.12 mm 11.6 cm WorldPV eIoni + 13 2.69 m -4.75 mm -1.34 m 17.1 keV 3.42 keV 1.95 mm 11.8 cm WorldPV eIoni + 14 2.69 m -5.62 mm -1.34 m 14.8 keV 2.36 keV 1.5 mm 12 cm WorldPV eIoni + 15 2.69 m -6.6 mm -1.34 m 12.5 keV 2.28 keV 1.22 mm 12.1 cm WorldPV eIoni + 16 2.69 m -7.18 mm -1.34 m 11.3 keV 1.23 keV 991 mum 12.2 cm WorldPV eIoni + 17 2.69 m -7.66 mm -1.34 m 8.55 keV 2.7 keV 878 mum 12.3 cm WorldPV eIoni + 18 2.69 m -7.63 mm -1.34 m 6.68 keV 1.87 keV 655 mum 12.3 cm WorldPV eIoni + 19 2.69 m -7.81 mm -1.34 m 4.58 keV 2.11 keV 524 mum 12.4 cm WorldPV eIoni + 20 2.69 m -7.68 mm -1.34 m 3 keV 1.57 keV 390 mum 12.4 cm WorldPV eIoni + 21 2.69 m -7.48 mm -1.34 m 892 eV 2.11 keV 277 mum 12.4 cm WorldPV eIoni + 22 2.69 m -7.5 mm -1.34 m 0 eV 892 eV 52.9 mum 12.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 467, Parent ID = 464 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.72 m 2.8 cm -1.29 m 11.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.72 m 2.81 cm -1.29 m 10.1 keV 1.36 keV 897 mum 897 mum WorldPV eIoni + 2 2.72 m 2.86 cm -1.29 m 6.31 keV 3.8 keV 777 mum 1.67 mm WorldPV eIoni + 3 2.72 m 2.84 cm -1.29 m 4.01 keV 2.29 keV 500 mum 2.17 mm WorldPV eIoni + 4 2.72 m 2.83 cm -1.29 m 0 eV 4.01 keV 353 mum 2.53 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 463, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 m 8.63 cm -1.37 m 9.81 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.37 m 8.65 cm -1.37 m 6.58 keV 3.23 keV 753 mum 753 mum Tracker eIoni + 2 2.37 m 8.67 cm -1.37 m 6.01 keV 568 eV 517 mum 1.27 mm Tracker eIoni + 3 2.37 m 8.66 cm -1.37 m 4.87 keV 1.14 keV 480 mum 1.75 mm Tracker eIoni + 4 2.37 m 8.69 cm -1.37 m 3.23 keV 1.64 keV 408 mum 2.16 mm Tracker eIoni + 5 2.37 m 8.68 cm -1.37 m 2.28 keV 944 eV 296 mum 2.45 mm Tracker eIoni + 6 2.37 m 8.68 cm -1.37 m 0 eV 2.28 keV 199 mum 2.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 458, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum 415 mum -2.4 m 14.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 778 mum 676 mum -2.4 m 14.6 MeV 0 eV 3.24 mm 3.24 mm TrackerTransportation + 2 15.6 cm 6.64 cm -1.6 m 14.6 MeV 0 eV 81.7 cm 82.1 cm ChamberTransportation + 3 19.4 cm 8.29 cm -1.4 m 14.6 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 31 cm 13.2 cm -80 cm 14.6 MeV 0 eV 61.3 cm 1.64 m ChamberTransportation + 5 34.9 cm 14.9 cm -60 cm 14.6 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 46.5 cm 19.8 cm 0 fm 14.6 MeV 0 eV 61.3 cm 2.46 m ChamberTransportation + 7 50.4 cm 21.4 cm 20 cm 14.6 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 62 cm 26.4 cm 80 cm 14.6 MeV 0 eV 61.3 cm 3.27 m ChamberTransportation + 9 65.9 cm 28 cm 1 m 14.6 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 77.5 cm 32.9 cm 1.6 m 14.6 MeV 0 eV 61.3 cm 4.09 m ChamberTransportation + 11 81.3 cm 34.6 cm 1.8 m 14.6 MeV 0 eV 20.4 cm 4.3 m TrackerTransportation + 12 92.9 cm 39.5 cm 2.4 m 14.6 MeV 0 eV 61.3 cm 4.91 m WorldPVTransportation + 13 1.03 m 43.7 cm 2.91 m 14.6 MeV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 457, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 161 mum 414 mum -2.4 m 303 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 831 mum 774 mum -2.4 m 303 keV 0 eV 3.28 mm 3.28 mm TrackerTransportation + 2 16.9 cm 9.1 cm -1.6 m 303 keV 0 eV 82.2 cm 82.6 cm ChamberTransportation + 3 21.1 cm 11.4 cm -1.4 m 303 keV 0 eV 20.6 cm 1.03 m TrackerTransportation + 4 33.7 cm 18.1 cm -80 cm 303 keV 0 eV 61.7 cm 1.65 m ChamberTransportation + 5 38 cm 20.4 cm -60 cm 303 keV 0 eV 20.6 cm 1.85 m TrackerTransportation + 6 50.6 cm 27.2 cm 0 fm 303 keV 0 eV 61.7 cm 2.47 m ChamberTransportation + 7 54.8 cm 29.4 cm 20 cm 303 keV 0 eV 20.6 cm 2.68 m TrackerTransportation + 8 67.4 cm 36.2 cm 80 cm 303 keV 0 eV 61.7 cm 3.29 m ChamberTransportation + 9 71.6 cm 38.4 cm 1 m 303 keV 0 eV 20.6 cm 3.5 m TrackerTransportation + 10 84.2 cm 45.2 cm 1.6 m 303 keV 0 eV 61.7 cm 4.12 m ChamberTransportation + 11 88.4 cm 47.5 cm 1.8 m 303 keV 0 eV 20.6 cm 4.32 m TrackerTransportation + 12 1.01 m 54.2 cm 2.4 m 303 keV 0 eV 61.7 cm 4.94 m WorldPVTransportation + 13 1.12 m 60 cm 2.91 m 303 keV 0 eV 52.4 cm 5.46 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 456, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 198 mum 427 mum -2.4 m 724 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 718 mum 175 mum -2.4 m 724 keV 0 eV 4.2 mm 4.2 mm TrackerTransportation + 2 10.1 cm -4.82 cm -1.6 m 724 keV 0 eV 80.8 cm 81.2 cm ChamberTransportation + 3 12.6 cm -6.04 cm -1.4 m 724 keV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 20 cm -9.67 cm -80 cm 724 keV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 22.5 cm -10.9 cm -60 cm 724 keV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 30 cm -14.5 cm 0 fm 724 keV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 32.5 cm -15.7 cm 20 cm 724 keV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 40 cm -19.4 cm 80 cm 724 keV 0 eV 60.6 cm 3.23 m ChamberTransportation + 9 42.5 cm -20.6 cm 1 m 724 keV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 50 cm -24.2 cm 1.6 m 724 keV 0 eV 60.6 cm 4.04 m ChamberTransportation + 11 52.5 cm -25.4 cm 1.8 m 724 keV 0 eV 20.2 cm 4.24 m TrackerTransportation + 12 60 cm -29 cm 2.4 m 724 keV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 66.3 cm -32.1 cm 2.91 m 724 keV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 455, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.3 mum 513 mum -2.41 m 23.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 269 mum 1.5 mm -2.4 m 0 eV 0 eV 4.84 mm 4.84 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 469, Parent ID = 455 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum 1.5 mm -2.4 m 9.77 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 514 mum 1.7 mm -2.4 m 7.58 MeV 2.2 MeV 1.76 mm 1.76 mm TargetPV eIoni + 2 557 mum 1.72 mm -2.4 m 5.44 MeV 48.1 keV 48.5 mum 1.81 mm TargetPV eBrem + 3 681 mum 1.78 mm -2.4 m 4.8 MeV 195 keV 207 mum 2.02 mm TargetPV eBrem + 4 741 mum 1.77 mm -2.4 m 4.72 MeV 81.4 keV 73.7 mum 2.09 mm TrackerTransportation + 5 13.9 cm 878 mum -2.34 m 4.66 MeV 28.8 keV 15.1 cm 15.3 cm Tracker eIoni + 6 1.9 m -11.7 cm -1.23 m 4.28 MeV 369 keV 2.11 m 2.26 m Tracker eIoni + 7 2.15 m -10.7 cm -1.01 m 4.21 MeV 64.5 keV 33.2 cm 2.59 m Tracker eIoni + 8 2.4 m -9.05 cm -80.9 cm 4.16 MeV 47.3 keV 32.1 cm 2.91 m WorldPVTransportation + 9 2.91 m -6.52 cm -27.5 cm 4.03 MeV 127 keV 74.4 cm 3.66 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.15 m -10.7 cm -1.01 m 8.45 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.15 m -10.6 cm -1.01 m 7.15 keV 1.3 keV 647 mum 647 mum Tracker eIoni + 2 2.15 m -10.7 cm -1.01 m 5.49 keV 1.66 keV 555 mum 1.2 mm Tracker eIoni + 3 2.15 m -10.7 cm -1.01 m 4.42 keV 1.07 keV 447 mum 1.65 mm Tracker eIoni + 4 2.15 m -10.7 cm -1.01 m 3.08 keV 1.34 keV 380 mum 2.03 mm Tracker eIoni + 5 2.15 m -10.6 cm -1.01 m 834 eV 2.25 keV 284 mum 2.31 mm Tracker eIoni + 6 2.15 m -10.6 cm -1.01 m 0 eV 834 eV 48.9 mum 2.36 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 473, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.9 m -11.7 cm -1.23 m 11.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.9 m -11.8 cm -1.23 m 10.6 keV 1.1 keV 917 mum 917 mum Tracker eIoni + 2 1.9 m -11.9 cm -1.23 m 9.26 keV 1.34 keV 821 mum 1.74 mm Tracker eIoni + 3 1.9 m -11.9 cm -1.23 m 4.53 keV 4.73 keV 710 mum 2.45 mm Tracker eIoni + 4 1.9 m -11.9 cm -1.23 m 1.85 keV 2.68 keV 387 mum 2.84 mm Tracker eIoni + 5 1.9 m -11.9 cm -1.23 m 0 eV 1.85 keV 144 mum 2.98 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 472, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.9 cm 878 mum -2.34 m 24.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 14 cm 2.9 mm -2.34 m 22.6 keV 2.33 keV 2.62 mm 2.62 mm Tracker eIoni + 2 14 cm 5.07 mm -2.34 m 20.8 keV 1.72 keV 2.26 mm 4.87 mm Tracker eIoni + 3 14.1 cm 6.22 mm -2.34 m 16.6 keV 4.29 keV 1.99 mm 6.86 mm Tracker eIoni + 4 14.2 cm 7.58 mm -2.34 m 12.7 keV 3.88 keV 1.43 mm 8.29 mm Tracker eIoni + 5 14.1 cm 7.68 mm -2.34 m 11.3 keV 1.36 keV 1.01 mm 9.3 mm Tracker eIoni + 6 14.1 cm 8.38 mm -2.34 m 10.3 keV 1.04 keV 884 mum 1.02 cm Tracker eIoni + 7 14.1 cm 8.89 mm -2.34 m 7.71 keV 2.57 keV 792 mum 1.1 cm Tracker eIoni + 8 14.2 cm 8.69 mm -2.34 m 6.54 keV 1.16 keV 594 mum 1.16 cm Tracker eIoni + 9 14.2 cm 8.24 mm -2.34 m 5.4 keV 1.15 keV 515 mum 1.21 cm Tracker eIoni + 10 14.2 cm 7.91 mm -2.34 m 3.95 keV 1.44 keV 442 mum 1.25 cm Tracker eIoni + 11 14.2 cm 7.72 mm -2.34 m 1.95 keV 2 keV 349 mum 1.29 cm Tracker eIoni + 12 14.2 cm 7.69 mm -2.34 m 0 eV 1.95 keV 157 mum 1.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 471, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 681 mum 1.78 mm -2.4 m 449 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 764 mum 1.79 mm -2.4 m 449 keV 0 eV 91.7 mum 91.7 mum TrackerTransportation + 2 2.4 m 23.8 cm -1.3 m 449 keV 0 eV 2.65 m 2.65 m WorldPVTransportation + 3 2.91 m 28.8 cm -1.07 m 449 keV 0 eV 56.3 cm 3.21 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 470, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 557 mum 1.72 mm -2.4 m 2.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 824 mum 1.8 mm -2.4 m 2.09 MeV 0 eV 336 mum 336 mum TrackerTransportation + 2 2.4 m 77.9 cm -76 cm 2.09 MeV 0 eV 3.01 m 3.01 m WorldPVTransportation + 3 2.91 m 94.4 cm -41.1 cm 2.09 MeV 0 eV 64 cm 3.65 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 468, Parent ID = 455 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum 1.5 mm -2.4 m 12.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 330 mum 1.58 mm -2.4 m 11.9 MeV 411 keV 261 mum 261 mum TargetPV eBrem + 2 338 mum 1.39 mm -2.4 m 9.19 MeV 640 keV 580 mum 840 mum TargetPV eBrem + 3 7.39 mum 637 mum -2.4 m 6.48 MeV 2.71 MeV 1.56 mm 2.4 mm TrackerTransportation + 4 66.6 cm -43.7 cm -2.19 m 6.33 MeV 141 keV 82.5 cm 82.7 cm Tracker eIoni + 5 70.8 cm -46.2 cm -2.16 m 6.3 MeV 7.11 keV 6.2 cm 88.9 cm Tracker eIoni + 6 1.28 m -82.7 cm -1.58 m 6.14 MeV 158 keV 89.4 cm 1.78 m Tracker eIoni + 7 1.65 m -1.03 m -1.21 m 6.03 MeV 99.7 keV 55.8 cm 2.34 m Tracker eIoni + 8 2.37 m -1.45 m -56.3 cm 5.82 MeV 187 keV 1.06 m 3.4 m Tracker eIoni + 9 2.4 m -1.47 m -53 cm 5.81 MeV 7.33 keV 5.37 cm 3.45 m WorldPVTransportation + 10 2.91 m -1.86 m -1.33 cm 5.66 MeV 148 keV 82.4 cm 4.28 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 481, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 m -1.45 m -56.3 cm 23.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.36 m -1.45 m -56.2 cm 20.8 keV 2.65 keV 2.39 mm 2.39 mm Tracker eIoni + 2 2.36 m -1.45 m -56 cm 19 keV 1.8 keV 1.98 mm 4.37 mm Tracker eIoni + 3 2.36 m -1.45 m -55.9 cm 17 keV 2 keV 1.74 mm 6.11 mm Tracker eIoni + 4 2.36 m -1.45 m -55.8 cm 15 keV 1.98 keV 1.48 mm 7.59 mm Tracker eIoni + 5 2.36 m -1.45 m -55.7 cm 12 keV 2.99 keV 1.25 mm 8.84 mm Tracker eIoni + 6 2.36 m -1.45 m -55.6 cm 9.38 keV 2.62 keV 943 mum 9.78 mm Tracker eIoni + 7 2.36 m -1.45 m -55.6 cm 7.84 keV 1.54 keV 720 mum 1.05 cm Tracker eIoni + 8 2.36 m -1.45 m -55.5 cm 7.17 keV 673 eV 604 mum 1.11 cm Tracker eIoni + 9 2.36 m -1.45 m -55.5 cm 5.7 keV 1.47 keV 557 mum 1.17 cm Tracker eIoni + 10 2.36 m -1.45 m -55.5 cm 4.92 keV 781 eV 460 mum 1.21 cm Tracker eIoni + 11 2.36 m -1.45 m -55.5 cm 3.16 keV 1.76 keV 412 mum 1.25 cm Tracker eIoni + 12 2.36 m -1.45 m -55.5 cm 2.08 keV 1.08 keV 291 mum 1.28 cm Tracker eIoni + 13 2.36 m -1.45 m -55.5 cm 0 eV 2.08 keV 174 mum 1.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 480, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.65 m -1.03 m -1.21 m 8.16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.65 m -1.03 m -1.21 m 5.94 keV 2.22 keV 625 mum 625 mum Tracker eIoni + 2 1.65 m -1.03 m -1.21 m 4.43 keV 1.51 keV 475 mum 1.1 mm Tracker eIoni + 3 1.65 m -1.03 m -1.21 m 2.64 keV 1.79 keV 381 mum 1.48 mm Tracker eIoni + 4 1.65 m -1.03 m -1.21 m 1.28 keV 1.35 keV 242 mum 1.72 mm Tracker eIoni + 5 1.65 m -1.03 m -1.21 m 0 eV 1.28 keV 85.4 mum 1.81 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 479, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.28 m -82.7 cm -1.58 m 8.67 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.28 m -82.7 cm -1.58 m 6.28 keV 2.38 keV 664 mum 664 mum Tracker eIoni + 2 1.28 m -82.6 cm -1.58 m 4.49 keV 1.79 keV 498 mum 1.16 mm Tracker eIoni + 3 1.28 m -82.6 cm -1.58 m 2.28 keV 2.21 keV 384 mum 1.55 mm Tracker eIoni + 4 1.28 m -82.6 cm -1.58 m 0 eV 2.28 keV 198 mum 1.74 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 478, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 70.8 cm -46.2 cm -2.16 m 15.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 70.9 cm -46.2 cm -2.16 m 14.2 keV 1.48 keV 1.33 mm 1.33 mm Tracker eIoni + 2 71 cm -46.2 cm -2.16 m 12.9 keV 1.3 keV 1.17 mm 2.5 mm Tracker eIoni + 3 71.1 cm -46.2 cm -2.16 m 10.3 keV 2.59 keV 1.04 mm 3.53 mm Tracker eIoni + 4 71.1 cm -46.2 cm -2.16 m 8.41 keV 1.92 keV 797 mum 4.33 mm Tracker eIoni + 5 71.2 cm -46.2 cm -2.16 m 6.78 keV 1.64 keV 644 mum 4.97 mm Tracker eIoni + 6 71.2 cm -46.2 cm -2.16 m 5.93 keV 842 eV 530 mum 5.5 mm Tracker eIoni + 7 71.2 cm -46.1 cm -2.16 m 4.62 keV 1.31 keV 475 mum 5.98 mm Tracker eIoni + 8 71.2 cm -46.1 cm -2.16 m 3.14 keV 1.48 keV 393 mum 6.37 mm Tracker eIoni + 9 71.2 cm -46.1 cm -2.16 m 2.27 keV 870 eV 289 mum 6.66 mm Tracker eIoni + 10 71.2 cm -46.1 cm -2.16 m 0 eV 2.27 keV 197 mum 6.86 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 477, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.6 cm -43.7 cm -2.19 m 8.75 keV 0 eV 0 fm 0 fm Tracker initStep + 1 66.6 cm -43.7 cm -2.19 m 6.29 keV 2.45 keV 670 mum 670 mum Tracker eIoni + 2 66.6 cm -43.6 cm -2.19 m 5 keV 1.29 keV 499 mum 1.17 mm Tracker eIoni + 3 66.6 cm -43.6 cm -2.19 m 3.68 keV 1.33 keV 417 mum 1.59 mm Tracker eIoni + 4 66.6 cm -43.6 cm -2.19 m 1.92 keV 1.75 keV 330 mum 1.92 mm Tracker eIoni + 5 66.6 cm -43.6 cm -2.19 m 0 eV 1.92 keV 153 mum 2.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 476, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 338 mum 1.39 mm -2.4 m 2.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 22.2 mum 634 mum -2.4 m 2.04 MeV 0 eV 1.16 mm 1.16 mm TrackerTransportation + 2 -99.9 cm -2.4 m 21.2 cm 2.04 MeV 0 eV 3.69 m 3.69 m WorldPVTransportation + 3 -1.21 m -2.91 m 76.7 cm 2.04 MeV 0 eV 78.3 cm 4.47 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 475, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 330 mum 1.58 mm -2.4 m 396 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 579 mum 1.45 mm -2.4 m 396 keV 0 eV 1.39 mm 1.39 mm TrackerTransportation + 2 14.7 cm -7.76 cm -1.6 m 396 keV 0 eV 81.7 cm 81.9 cm ChamberTransportation + 3 18.4 cm -9.73 cm -1.4 m 396 keV 0 eV 20.4 cm 1.02 m TrackerTransportation + 4 29.4 cm -15.7 cm -80 cm 396 keV 0 eV 61.3 cm 1.64 m ChamberTransportation + 5 33.1 cm -17.6 cm -60 cm 396 keV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 44.1 cm -23.6 cm 0 fm 396 keV 0 eV 61.3 cm 2.45 m ChamberTransportation + 7 47.8 cm -25.5 cm 20 cm 396 keV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 58.8 cm -31.5 cm 80 cm 396 keV 0 eV 61.3 cm 3.27 m ChamberTransportation + 9 62.5 cm -33.4 cm 1 m 396 keV 0 eV 20.4 cm 3.47 m TrackerTransportation + 10 73.5 cm -39.4 cm 1.6 m 396 keV 0 eV 61.3 cm 4.09 m ChamberTransportation + 11 77.1 cm -41.3 cm 1.8 m 396 keV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 88.1 cm -47.3 cm 2.4 m 396 keV 0 eV 61.3 cm 4.9 m WorldPVTransportation + 13 97.5 cm -52.3 cm 2.91 m 396 keV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 453, Parent ID = 385 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 502 mum -2.41 m 149 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.3 mum 503 mum -2.41 m 147 MeV 31.8 keV 27.9 mum 27.9 mum TargetPV eBrem + 2 -73.2 mum 565 mum -2.41 m 130 MeV 16 MeV 887 mum 915 mum TargetPV eBrem + 3 -107 mum 543 mum -2.4 m 119 MeV 1.06 MeV 829 mum 1.74 mm TargetPV eBrem + 4 -95 mum 534 mum -2.4 m 78.3 MeV 1.84 MeV 1.12 mm 2.86 mm TargetPV eBrem + 5 -94.6 mum 535 mum -2.4 m 76.3 MeV 6.29 keV 4.9 mum 2.86 mm TargetPV eBrem + 6 -5.08 mum 604 mum -2.4 m 67.5 MeV 1.22 MeV 721 mum 3.59 mm TargetPV eBrem + 7 -26.8 mum 566 mum -2.4 m 61.8 MeV 2.12 MeV 1.43 mm 5.01 mm TargetPV eBrem + 8 -86 mum 585 mum -2.4 m 49.9 MeV 6.74 MeV 1.3 mm 6.31 mm TargetPV eBrem + 9 -30.4 mum 724 mum -2.4 m 49.3 MeV 572 keV 457 mum 6.77 mm TrackerTransportation + 10 15.4 cm 36.5 cm -1.46 m 49.1 MeV 226 keV 1.02 m 1.02 m Tracker eIoni + 11 15.5 cm 36.7 cm -1.46 m 49.1 MeV 601 eV 5.57 mm 1.03 m Tracker eIoni + 12 25.4 cm 58 cm -90 cm 48.9 MeV 130 keV 60.6 cm 1.63 m Tracker eIoni + 13 26.3 cm 60 cm -84.6 cm 48.9 MeV 10.6 keV 5.85 cm 1.69 m Tracker eIoni + 14 27 cm 61.7 cm -80 cm 48.9 MeV 13.9 keV 4.94 cm 1.74 m ChamberTransportation + 15 29.4 cm 67.2 cm -65.1 cm 48.8 MeV 119 keV 16.1 cm 1.9 m TrackerTransportation + 16 37.7 cm 86.8 cm 0 fm 48.6 MeV 146 keV 68.5 cm 2.59 m ChamberTransportation + 17 40.2 cm 92.9 cm 20 cm 48.4 MeV 146 keV 21.1 cm 2.8 m TrackerTransportation + 18 42.1 cm 98.1 cm 35.9 cm 48.4 MeV 39.5 keV 16.8 cm 2.97 m Tracker eIoni + 19 47.4 cm 1.13 m 80 cm 48.3 MeV 99.7 keV 46.9 cm 3.44 m ChamberTransportation + 20 50 cm 1.2 m 1 m 48.1 MeV 143 keV 21.4 cm 3.65 m TrackerTransportation + 21 56.9 cm 1.41 m 1.6 m 48 MeV 140 keV 64 cm 4.29 m ChamberTransportation + 22 59 cm 1.48 m 1.8 m 47.8 MeV 130 keV 21.2 cm 4.5 m TrackerTransportation + 23 61.1 cm 1.72 m 2.4 m 47.7 MeV 141 keV 64.7 cm 5.15 m WorldPVTransportation + 24 61.9 cm 1.82 m 2.65 m 47.6 MeV 57 keV 27.2 cm 5.42 m WorldPV eIoni + 25 62.9 cm 1.93 m 2.91 m 47.5 MeV 68.3 keV 27.9 cm 5.7 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 499, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.9 cm 1.82 m 2.65 m 25.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 62.1 cm 1.82 m 2.65 m 22.4 keV 3.18 keV 2.74 mm 2.74 mm WorldPV eIoni + 2 62.3 cm 1.82 m 2.65 m 20.1 keV 2.29 keV 2.23 mm 4.97 mm WorldPV eIoni + 3 62.5 cm 1.82 m 2.66 m 18.8 keV 1.35 keV 1.89 mm 6.86 mm WorldPV eIoni + 4 62.6 cm 1.82 m 2.65 m 17.5 keV 1.24 keV 1.71 mm 8.57 mm WorldPV eIoni + 5 62.8 cm 1.82 m 2.66 m 16.1 keV 1.45 keV 1.55 mm 1.01 cm WorldPV eIoni + 6 62.8 cm 1.82 m 2.66 m 14.4 keV 1.68 keV 1.38 mm 1.15 cm WorldPV eIoni + 7 62.8 cm 1.82 m 2.66 m 11.8 keV 2.55 keV 1.18 mm 1.27 cm WorldPV eIoni + 8 62.7 cm 1.82 m 2.65 m 8.98 keV 2.87 keV 929 mum 1.36 cm WorldPV eIoni + 9 62.7 cm 1.82 m 2.65 m 7.59 keV 1.38 keV 688 mum 1.43 cm WorldPV eIoni + 10 62.7 cm 1.82 m 2.65 m 5.48 keV 2.11 keV 586 mum 1.49 cm WorldPV eIoni + 11 62.7 cm 1.82 m 2.65 m 1.72 keV 3.76 keV 447 mum 1.53 cm WorldPV eIoni + 12 62.7 cm 1.82 m 2.65 m 0 eV 1.72 keV 130 mum 1.55 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 498, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.7 cm 1.47 m 1.77 m 22.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 58.7 cm 1.47 m 1.77 m 17.6 keV 4.56 keV 1.17 mm 1.17 mm Chamber eIoni + 2 58.6 cm 1.47 m 1.77 m 13.8 keV 3.89 keV 894 mum 2.06 mm Chamber eIoni + 3 58.6 cm 1.47 m 1.77 m 12 keV 1.79 keV 697 mum 2.76 mm Chamber eIoni + 4 58.6 cm 1.47 m 1.77 m 8.58 keV 3.39 keV 614 mum 3.37 mm Chamber eIoni + 5 58.6 cm 1.47 m 1.77 m 6.22 keV 2.37 keV 474 mum 3.85 mm Chamber eIoni + 6 58.6 cm 1.47 m 1.77 m 4.98 keV 1.24 keV 381 mum 4.23 mm Chamber eIoni + 7 58.6 cm 1.47 m 1.77 m 2.09 keV 2.89 keV 327 mum 4.55 mm Chamber eIoni + 8 58.6 cm 1.47 m 1.77 m 0 eV 2.09 keV 125 mum 4.68 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 497, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.5 cm 1.13 m 81.4 cm 14.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 47.5 cm 1.13 m 81.4 cm 12.6 keV 1.71 keV 723 mum 723 mum Chamber eIoni + 2 47.5 cm 1.13 m 81.4 cm 10.1 keV 2.56 keV 644 mum 1.37 mm Chamber eIoni + 3 47.5 cm 1.13 m 81.4 cm 6.93 keV 3.13 keV 533 mum 1.9 mm Chamber eIoni + 4 47.5 cm 1.13 m 81.4 cm 4.43 keV 2.5 keV 409 mum 2.31 mm Chamber eIoni + 5 47.5 cm 1.13 m 81.4 cm 1.87 keV 2.56 keV 301 mum 2.61 mm Chamber eIoni + 6 47.5 cm 1.13 m 81.4 cm 0 eV 1.87 keV 107 mum 2.72 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 496, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 42.1 cm 98.1 cm 35.9 cm 12.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 42.2 cm 98 cm 35.9 cm 9.86 keV 2.32 keV 961 mum 961 mum Tracker eIoni + 2 42.2 cm 98 cm 35.9 cm 8.38 keV 1.48 keV 757 mum 1.72 mm Tracker eIoni + 3 42.3 cm 98 cm 36 cm 6.44 keV 1.94 keV 641 mum 2.36 mm Tracker eIoni + 4 42.3 cm 98.1 cm 36 cm 4.87 keV 1.57 keV 508 mum 2.87 mm Tracker eIoni + 5 42.3 cm 98.1 cm 36 cm 3.81 keV 1.06 keV 408 mum 3.28 mm Tracker eIoni + 6 42.3 cm 98.1 cm 36 cm 2.12 keV 1.69 keV 339 mum 3.61 mm Tracker eIoni + 7 42.3 cm 98.1 cm 36 cm 0 eV 2.12 keV 178 mum 3.79 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 495, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.8 cm 91.9 cm 16.7 cm 37.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 39.9 cm 91.8 cm 16.7 cm 28.7 keV 8.88 keV 2.35 mm 2.35 mm Chamber eIoni + 2 39.9 cm 91.8 cm 16.8 cm 23.8 keV 4.96 keV 1.62 mm 3.97 mm Chamber eIoni + 3 39.8 cm 91.8 cm 16.7 cm 19.1 keV 4.74 keV 1.27 mm 5.24 mm Chamber eIoni + 4 39.8 cm 91.8 cm 16.8 cm 14.2 keV 4.83 keV 975 mum 6.21 mm Chamber eIoni + 5 39.8 cm 91.7 cm 16.8 cm 9.85 keV 4.37 keV 718 mum 6.93 mm Chamber eIoni + 6 39.8 cm 91.7 cm 16.8 cm 8.75 keV 1.09 keV 525 mum 7.45 mm Chamber eIoni + 7 39.8 cm 91.7 cm 16.7 cm 7.62 keV 1.14 keV 481 mum 7.94 mm Chamber eIoni + 8 39.8 cm 91.7 cm 16.8 cm 5.66 keV 1.95 keV 436 mum 8.37 mm Chamber eIoni + 9 39.8 cm 91.7 cm 16.8 cm 2.73 keV 2.93 keV 357 mum 8.73 mm Chamber eIoni + 10 39.8 cm 91.7 cm 16.8 cm 0 eV 2.73 keV 180 mum 8.91 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 494, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.2 cm 66.8 cm -66.2 cm 11.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 29.2 cm 66.8 cm -66.1 cm 8.07 keV 3.01 keV 577 mum 577 mum Chamber eIoni + 2 29.2 cm 66.8 cm -66.1 cm 5.45 keV 2.62 keV 454 mum 1.03 mm Chamber eIoni + 3 29.2 cm 66.8 cm -66.2 cm 3.19 keV 2.26 keV 349 mum 1.38 mm Chamber eIoni + 4 29.2 cm 66.8 cm -66.2 cm 0 eV 3.19 keV 222 mum 1.6 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 493, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.3 cm 60 cm -84.6 cm 29.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 26.4 cm 60.3 cm -84.7 cm 27.5 keV 2.38 keV 3.51 mm 3.51 mm Tracker eIoni + 2 26.7 cm 60.4 cm -84.8 cm 23.9 keV 3.54 keV 3.08 mm 6.58 mm Tracker eIoni + 3 26.9 cm 60.5 cm -84.8 cm 21.8 keV 2.08 keV 2.47 mm 9.05 mm Tracker eIoni + 4 27 cm 60.7 cm -84.9 cm 19.2 keV 2.66 keV 2.14 mm 1.12 cm Tracker eIoni + 5 27.1 cm 60.8 cm -84.9 cm 17.9 keV 1.27 keV 1.77 mm 1.3 cm Tracker eIoni + 6 27.1 cm 60.9 cm -85 cm 12.9 keV 5.02 keV 1.6 mm 1.46 cm Tracker eIoni + 7 27.1 cm 60.9 cm -85.1 cm 9.9 keV 3 keV 1.03 mm 1.56 cm Tracker eIoni + 8 27 cm 60.9 cm -85.1 cm 7.15 keV 2.74 keV 759 mum 1.63 cm Tracker eIoni + 9 27 cm 60.9 cm -85.2 cm 6.04 keV 1.11 keV 555 mum 1.69 cm Tracker eIoni + 10 27 cm 60.9 cm -85.2 cm 4.14 keV 1.9 keV 482 mum 1.74 cm Tracker eIoni + 11 27 cm 60.9 cm -85.2 cm 1.32 keV 2.83 keV 362 mum 1.77 cm Tracker eIoni + 12 27 cm 60.9 cm -85.2 cm 0 eV 1.32 keV 88.3 mum 1.78 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 492, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.4 cm 58 cm -90 cm 9.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 25.4 cm 58 cm -90 cm 6.8 keV 2.6 keV 721 mum 721 mum Tracker eIoni + 2 25.4 cm 57.9 cm -89.9 cm 4.86 keV 1.94 keV 531 mum 1.25 mm Tracker eIoni + 3 25.4 cm 58 cm -90 cm 3.92 keV 949 eV 408 mum 1.66 mm Tracker eIoni + 4 25.4 cm 58 cm -90 cm 2.2 keV 1.71 keV 346 mum 2.01 mm Tracker eIoni + 5 25.4 cm 58 cm -90 cm 0 eV 2.2 keV 188 mum 2.19 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 491, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.5 cm 36.7 cm -1.46 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 15.4 cm 36.8 cm -1.46 m 6.57 keV 3.52 keV 775 mum 775 mum Tracker eIoni + 2 15.4 cm 36.8 cm -1.46 m 1.69 keV 4.88 keV 517 mum 1.29 mm Tracker eIoni + 3 15.4 cm 36.8 cm -1.46 m 0 eV 1.69 keV 127 mum 1.42 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 490, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.4 cm 36.5 cm -1.46 m 12.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 15.4 cm 36.4 cm -1.46 m 10.9 keV 1.64 keV 999 mum 999 mum Tracker eIoni + 2 15.4 cm 36.4 cm -1.46 m 8.9 keV 2.02 keV 848 mum 1.85 mm Tracker eIoni + 3 15.4 cm 36.4 cm -1.46 m 7.85 keV 1.05 keV 682 mum 2.53 mm Tracker eIoni + 4 15.3 cm 36.4 cm -1.46 m 5.79 keV 2.06 keV 604 mum 3.13 mm Tracker eIoni + 5 15.3 cm 36.3 cm -1.46 m 4.04 keV 1.75 keV 466 mum 3.6 mm Tracker eIoni + 6 15.3 cm 36.4 cm -1.46 m 1.48 keV 2.56 keV 355 mum 3.95 mm Tracker eIoni + 7 15.3 cm 36.3 cm -1.46 m 0 eV 1.48 keV 105 mum 4.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 489, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -86 mum 585 mum -2.4 m 5.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -78.5 mum 601 mum -2.4 m 0 eV 0 eV 54.3 mum 54.3 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 501, Parent ID = 489 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.5 mum 601 mum -2.4 m 1.24 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.73 mum 652 mum -2.4 m 0 eV 1.24 MeV 470 mum 470 mum TargetPV eIoni + 2 3.73 mum 652 mum -2.4 m 0 eV 0 eV 0 fm 470 mum TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 503, Parent ID = 501 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.73 mum 652 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.69 mm -119 mum -2.41 m 510 keV 1.19 keV 5.72 mm 5.72 mm TargetPV compt + 2 3.01 mm -204 mum -2.41 m 403 keV 107 keV 606 mum 6.33 mm TargetPV compt + 3 2.99 mm -158 mum -2.41 m 0 eV 403 keV 200 mum 6.53 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 502, Parent ID = 501 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.73 mum 652 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -145 mum 695 mum -2.4 m 511 keV 0 eV 318 mum 318 mum TrackerTransportation + 2 -2.4 m 69 cm 2.06 m 511 keV 0 eV 5.11 m 5.11 m WorldPVTransportation + 3 -2.86 m 82.1 cm 2.91 m 511 keV 0 eV 97.2 cm 6.09 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 500, Parent ID = 489 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.5 mum 601 mum -2.4 m 2.87 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -142 mum 555 mum -2.4 m 888 keV 770 keV 574 mum 574 mum TargetPV eBrem + 2 -116 mum 585 mum -2.4 m 474 keV 415 keV 388 mum 962 mum TargetPV eIoni + 3 -117 mum 599 mum -2.4 m 0 eV 474 keV 257 mum 1.22 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 504, Parent ID = 500 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -142 mum 555 mum -2.4 m 1.22 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -586 mum 1.59 mm -2.4 m 237 keV 979 keV 2.6 mm 2.6 mm TargetPV compt + 2 -757 mum 1.36 mm -2.4 m 127 keV 110 keV 372 mum 2.97 mm TargetPV compt + 3 -697 mum 1.38 mm -2.4 m 0 eV 127 keV 70.7 mum 3.04 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 488, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.8 mum 566 mum -2.4 m 3.55 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 10.8 mum 721 mum -2.4 m 3.55 MeV 0 eV 1.73 mm 1.73 mm TrackerTransportation + 2 1.74 cm 7.25 cm -1.6 m 3.55 MeV 0 eV 80.3 cm 80.5 cm ChamberTransportation + 3 2.18 cm 9.05 cm -1.4 m 3.55 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 3.49 cm 14.4 cm -80 cm 3.55 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 3.92 cm 16.2 cm -60 cm 3.55 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 5.23 cm 21.6 cm 0 fm 3.55 MeV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 5.67 cm 23.4 cm 20 cm 3.55 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 6.97 cm 28.8 cm 80 cm 3.55 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 7.41 cm 30.6 cm 1 m 3.55 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 8.72 cm 36 cm 1.6 m 3.55 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 9.15 cm 37.8 cm 1.8 m 3.55 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 10.5 cm 43.2 cm 2.4 m 3.55 MeV 0 eV 60.3 cm 4.82 m WorldPVTransportation + 13 11.6 cm 47.7 cm 2.91 m 3.55 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 487, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.08 mum 604 mum -2.4 m 7.65 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 64.2 mum 797 mum -2.4 m 7.65 MeV 0 eV 3.15 mm 3.15 mm TrackerTransportation + 2 1.77 cm 4.99 cm -1.6 m 7.65 MeV 0 eV 80.2 cm 80.5 cm ChamberTransportation + 3 2.21 cm 6.21 cm -1.4 m 7.65 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 3.53 cm 9.89 cm -80 cm 7.65 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 3.97 cm 11.1 cm -60 cm 7.65 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 5.29 cm 14.8 cm 0 fm 7.65 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 5.74 cm 16 cm 20 cm 7.65 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 7.06 cm 19.7 cm 80 cm 7.65 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 7.5 cm 20.9 cm 1 m 7.65 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 8.82 cm 24.6 cm 1.6 m 7.65 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 9.26 cm 25.8 cm 1.8 m 7.65 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 10.6 cm 29.5 cm 2.4 m 7.65 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 11.7 cm 32.7 cm 2.91 m 7.65 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 486, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.6 mum 535 mum -2.4 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 173 mum 694 mum -2.4 m 1.93 MeV 0 eV 3.87 mm 3.87 mm TrackerTransportation + 2 5.56 cm 3.37 cm -1.6 m 1.93 MeV 0 eV 80.3 cm 80.6 cm ChamberTransportation + 3 6.95 cm 4.19 cm -1.4 m 1.93 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 11.1 cm 6.66 cm -80 cm 1.93 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 12.5 cm 7.49 cm -60 cm 1.93 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 16.6 cm 9.96 cm 0.114 fm 1.93 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 18 cm 10.8 cm 20 cm 1.93 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 22.2 cm 13.3 cm 80 cm 1.93 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 23.6 cm 14.1 cm 1 m 1.93 MeV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 27.7 cm 16.6 cm 1.6 m 1.93 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 29.1 cm 17.4 cm 1.8 m 1.93 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 33.3 cm 19.9 cm 2.4 m 1.93 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 36.8 cm 22 cm 2.91 m 1.93 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 485, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -95 mum 534 mum -2.4 m 39.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 122 mum 707 mum -2.4 m 0 eV 0 eV 2.76 mm 2.76 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 506, Parent ID = 485 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 122 mum 707 mum -2.4 m 20.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 206 mum 775 mum -2.4 m 18.7 MeV 2.25 MeV 1.16 mm 1.16 mm TrackerTransportation + 2 -3.59 mm -204 mum -2.28 m 18.6 MeV 21 keV 12 cm 12.1 cm Tracker eIoni + 3 -2.44 cm -7.99 mm -1.6 m 18.5 MeV 131 keV 68.1 cm 80.2 cm ChamberTransportation + 4 -2.23 cm -1.38 cm -1.4 m 18.3 MeV 166 keV 20.1 cm 1 m TrackerTransportation + 5 4.06 cm -4.64 cm -80 cm 18.2 MeV 120 keV 60.4 cm 1.61 m ChamberTransportation + 6 6.35 cm -5.47 cm -60 cm 18.1 MeV 95 keV 20.2 cm 1.81 m TrackerTransportation + 7 8.79 cm -2.63 cm 0 fm 17.9 MeV 123 keV 60.1 cm 2.41 m ChamberTransportation + 8 9.41 cm -1.8 cm 20 cm 17.8 MeV 130 keV 20.1 cm 2.61 m TrackerTransportation + 9 11.2 cm -1.53 cm 44.6 cm 17.7 MeV 52.6 keV 24.7 cm 2.86 m Tracker eIoni + 10 13.9 cm -2.64 cm 80 cm 17.6 MeV 60.3 keV 35.5 cm 3.21 m ChamberTransportation + 11 14.3 cm -2.74 cm 91.1 cm 17.5 MeV 83.2 keV 11.2 cm 3.33 m Chamber eIoni + 12 15.1 cm -2.9 cm 97.2 cm 17.3 MeV 39.5 keV 6.14 cm 3.39 m Chamber eIoni + 13 15.5 cm -2.89 cm 1 m 17.3 MeV 10.3 keV 2.8 cm 3.41 m TrackerTransportation + 14 22.1 cm -1.49 cm 1.6 m 17.2 MeV 118 keV 60.4 cm 4.02 m ChamberTransportation + 15 24.3 cm -7.13 mm 1.8 m 17.1 MeV 88.5 keV 20.2 cm 4.22 m TrackerTransportation + 16 25.4 cm -6.41 mm 1.95 m 17 MeV 27.1 keV 15.2 cm 4.37 m Tracker eIoni + 17 28 cm 4.1 mm 2.4 m 16.9 MeV 88.3 keV 44.9 cm 4.82 m WorldPVTransportation + 18 30.9 cm 2.32 cm 2.91 m 16.8 MeV 99.9 keV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 515, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.4 cm -6.41 mm 1.95 m 22.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 25.3 cm -7.44 mm 1.95 m 17.8 keV 4.42 keV 2.2 mm 2.2 mm Tracker eIoni + 2 25.1 cm -7.58 mm 1.95 m 15.7 keV 2.08 keV 1.58 mm 3.79 mm Tracker eIoni + 3 25.1 cm -8.79 mm 1.95 m 10.6 keV 5.13 keV 1.34 mm 5.12 mm Tracker eIoni + 4 25.1 cm -9.61 mm 1.95 m 5.11 keV 5.49 keV 820 mum 5.94 mm Tracker eIoni + 5 25.1 cm -9.53 mm 1.95 m 841 eV 4.27 keV 424 mum 6.37 mm Tracker eIoni + 6 25.1 cm -9.53 mm 1.95 m 0 eV 841 eV 49.3 mum 6.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 514, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.3 cm -1.08 cm 1.7 m 14.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23.3 cm -1.11 cm 1.71 m 5.34 keV 5.78 keV 708 mum 708 mum Chamber eBrem + 2 23.3 cm -1.12 cm 1.7 m 3.27 keV 2.07 keV 344 mum 1.05 mm Chamber eIoni + 3 23.3 cm -1.12 cm 1.7 m 190 eV 3.08 keV 228 mum 1.28 mm Chamber eIoni + 4 23.3 cm -1.12 cm 1.7 m 0 eV 190 eV 10.6 mum 1.29 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 516, Parent ID = 514 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.3 cm -1.11 cm 1.71 m 3.56 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23.3 cm -8.02 mm 1.7 m 0 eV 3.56 keV 3.72 mm 3.72 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 513, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.1 cm -2.9 cm 97.2 cm 109 keV 0 eV 0 fm 0 fm Chamber initStep + 1 15.4 cm -3.7 cm 97.4 cm 99.8 keV 9.71 keV 1.22 cm 1.22 cm Chamber eIoni + 2 16 cm -3.33 cm 97 cm 84.4 keV 15.3 keV 1.06 cm 2.28 cm Chamber eIoni + 3 16 cm -3.84 cm 96.7 cm 75.1 keV 9.35 keV 8.1 mm 3.09 cm Chamber eIoni + 4 16 cm -4.28 cm 96.9 cm 66.4 keV 8.65 keV 6.7 mm 3.76 cm Chamber eIoni + 5 16 cm -4.65 cm 96.7 cm 59.1 keV 7.35 keV 5.55 mm 4.32 cm Chamber eIoni + 6 16.1 cm -4.9 cm 96.5 cm 55 keV 4.1 keV 4.63 mm 4.78 cm Chamber eIoni + 7 16.2 cm -5.15 cm 96.6 cm 48.9 keV 6.05 keV 4.14 mm 5.19 cm Chamber eIoni + 8 16.3 cm -5.08 cm 96.8 cm 41.7 keV 7.17 keV 3.47 mm 5.54 cm Chamber eIoni + 9 16.4 cm -5 cm 96.7 cm 37 keV 4.77 keV 2.73 mm 5.81 cm Chamber eIoni + 10 16.5 cm -4.85 cm 96.6 cm 34 keV 2.96 keV 2.29 mm 6.04 cm Chamber eIoni + 11 16.4 cm -4.97 cm 96.5 cm 29.6 keV 4.37 keV 2.04 mm 6.25 cm Chamber eIoni + 12 16.5 cm -5.07 cm 96.5 cm 26.5 keV 3.12 keV 1.68 mm 6.41 cm Chamber eIoni + 13 16.5 cm -5.14 cm 96.5 cm 23.2 keV 3.29 keV 1.46 mm 6.56 cm Chamber eIoni + 14 16.5 cm -5.14 cm 96.6 cm 16.7 keV 6.51 keV 1.23 mm 6.68 cm Chamber eIoni + 15 16.5 cm -5.1 cm 96.5 cm 13.3 keV 3.38 keV 846 mum 6.77 cm Chamber eIoni + 16 16.5 cm -5.09 cm 96.5 cm 9.56 keV 3.78 keV 678 mum 6.83 cm Chamber eIoni + 17 16.5 cm -5.06 cm 96.5 cm 7.72 keV 1.84 keV 513 mum 6.89 cm Chamber eIoni + 18 16.5 cm -5.06 cm 96.5 cm 4.12 keV 3.61 keV 441 mum 6.93 cm Chamber eIoni + 19 16.5 cm -5.06 cm 96.5 cm 256 eV 3.86 keV 284 mum 6.96 cm Chamber eIoni + 20 16.5 cm -5.06 cm 96.5 cm 0 eV 256 eV 12.5 mum 6.96 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 512, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.3 cm -2.74 cm 91.1 cm 95.8 keV 0 eV 0 fm 0 fm Chamber initStep + 1 13.9 cm -3.16 cm 91.5 cm 63.4 keV 32.4 keV 9.91 mm 9.91 mm Chamber eIoni + 2 13.9 cm -2.97 cm 91.9 cm 55.3 keV 8.1 keV 5.15 mm 1.51 cm Chamber eIoni + 3 13.9 cm -2.7 cm 91.7 cm 50 keV 5.35 keV 4.18 mm 1.92 cm Chamber eIoni + 4 13.9 cm -2.56 cm 91.5 cm 35.3 keV 14.6 keV 3.58 mm 2.28 cm Chamber eIoni + 5 13.9 cm -2.43 cm 91.6 cm 30.1 keV 5.24 keV 2.15 mm 2.5 cm Chamber eIoni + 6 13.9 cm -2.51 cm 91.5 cm 9.74 keV 20.3 keV 1.72 mm 2.67 cm Chamber eIoni + 7 13.9 cm -2.49 cm 91.6 cm 8.33 keV 1.42 keV 521 mum 2.72 cm Chamber eIoni + 8 13.9 cm -2.46 cm 91.6 cm 6.91 keV 1.42 keV 463 mum 2.77 cm Chamber eIoni + 9 13.9 cm -2.45 cm 91.6 cm 5.46 keV 1.44 keV 408 mum 2.81 cm Chamber eIoni + 10 13.9 cm -2.45 cm 91.6 cm 832 eV 4.63 keV 349 mum 2.84 cm Chamber eIoni + 11 13.9 cm -2.45 cm 91.6 cm 0 eV 832 eV 37.1 mum 2.85 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 511, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.2 cm -1.53 cm 44.6 cm 51.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 11.8 cm -9.11 mm 44.6 cm 40.5 keV 10.8 keV 8.79 mm 8.79 mm Tracker eIoni + 2 12.2 cm -7.62 mm 45.1 cm 37.4 keV 3.19 keV 5.88 mm 1.47 cm Tracker eIoni + 3 12.3 cm -3.35 mm 45.2 cm 33.1 keV 4.21 keV 5.11 mm 1.98 cm Tracker eIoni + 4 12.4 cm -1.17 mm 45.6 cm 30.9 keV 2.26 keV 4.19 mm 2.4 cm Tracker eIoni + 5 12.3 cm 1.83 mm 45.7 cm 27.9 keV 3.03 keV 3.71 mm 2.77 cm Tracker eIoni + 6 12.2 cm 4.41 mm 45.8 cm 24.7 keV 3.16 keV 3.15 mm 3.08 cm Tracker eIoni + 7 12.2 cm 6.72 mm 45.9 cm 22.2 keV 2.47 keV 2.59 mm 3.34 cm Tracker eIoni + 8 12.2 cm 8.26 mm 46 cm 18.7 keV 3.49 keV 2.2 mm 3.56 cm Tracker eIoni + 9 12.1 cm 9.41 mm 46 cm 12.8 keV 5.99 keV 1.71 mm 3.73 cm Tracker eIoni + 10 12.1 cm 1.01 cm 45.9 cm 11.4 keV 1.32 keV 1.02 mm 3.83 cm Tracker eIoni + 11 12 cm 9.7 mm 45.9 cm 8.85 keV 2.58 keV 893 mum 3.92 cm Tracker eIoni + 12 12 cm 1.03 cm 46 cm 6.66 keV 2.19 keV 678 mum 3.99 cm Tracker eIoni + 13 12.1 cm 1.07 cm 46 cm 4.26 keV 2.4 keV 522 mum 4.04 cm Tracker eIoni + 14 12 cm 1.07 cm 45.9 cm 2.08 keV 2.18 keV 370 mum 4.08 cm Tracker eIoni + 15 12 cm 1.08 cm 45.9 cm 0 eV 2.08 keV 173 mum 4.1 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 510, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.84 cm -2.57 cm 1.42 cm 12.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 8.8 cm -2.58 cm 1.4 cm 9.92 keV 2.33 keV 627 mum 627 mum Chamber eIoni + 2 8.8 cm -2.6 cm 1.4 cm 0 eV 9.92 keV 528 mum 1.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 509, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.12 cm -5.39 cm -61.9 cm 18 keV 0 eV 0 fm 0 fm Chamber initStep + 1 6.08 cm -5.43 cm -61.9 cm 17.3 keV 648 eV 913 mum 913 mum Chamber eIoni + 2 6.05 cm -5.44 cm -62 cm 16.4 keV 953 eV 876 mum 1.79 mm Chamber eIoni + 3 6.04 cm -5.42 cm -62 cm 12.7 keV 3.63 keV 827 mum 2.62 mm Chamber eIoni + 4 6.03 cm -5.41 cm -62.1 cm 11 keV 1.73 keV 650 mum 3.27 mm Chamber eIoni + 5 6.04 cm -5.42 cm -62 cm 7.98 keV 3.02 keV 574 mum 3.84 mm Chamber eIoni + 6 6.06 cm -5.43 cm -62 cm 3.56 keV 4.43 keV 451 mum 4.29 mm Chamber eIoni + 7 6.06 cm -5.42 cm -62 cm 786 eV 2.77 keV 249 mum 4.54 mm Chamber eIoni + 8 6.06 cm -5.42 cm -62 cm 0 eV 786 eV 34.7 mum 4.57 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 508, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.27 cm -1.26 cm -1.44 m 9.83 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -2.27 cm -1.28 cm -1.44 m 0 eV 9.83 keV 524 mum 524 mum Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 507, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.59 mm -204 mum -2.28 m 22.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -5.2 mm 1.18 mm -2.28 m 17.3 keV 5.01 keV 2.22 mm 2.22 mm Tracker eIoni + 2 -5.61 mm 2.54 mm -2.28 m 14.3 keV 3.04 keV 1.52 mm 3.74 mm Tracker eIoni + 3 -6.53 mm 2.63 mm -2.28 m 12.3 keV 1.93 keV 1.17 mm 4.91 mm Tracker eIoni + 4 -7.2 mm 2.37 mm -2.28 m 10.8 keV 1.56 keV 977 mum 5.88 mm Tracker eIoni + 5 -7.91 mm 2.4 mm -2.28 m 9.77 keV 1.01 keV 836 mum 6.72 mm Tracker eIoni + 6 -8.28 mm 1.81 mm -2.28 m 7.43 keV 2.34 keV 749 mum 7.47 mm Tracker eIoni + 7 -8.53 mm 1.43 mm -2.28 m 4.57 keV 2.86 keV 575 mum 8.04 mm Tracker eIoni + 8 -8.38 mm 1.48 mm -2.28 m 2.84 keV 1.73 keV 389 mum 8.43 mm Tracker eIoni + 9 -8.33 mm 1.67 mm -2.28 m 902 eV 1.94 keV 262 mum 8.7 mm Tracker eIoni + 10 -8.34 mm 1.68 mm -2.28 m 0 eV 902 eV 53.6 mum 8.75 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 505, Parent ID = 485 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 122 mum 707 mum -2.4 m 17.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 115 mum 657 mum -2.4 m 10.9 MeV 563 keV 505 mum 505 mum TargetPV eBrem + 2 114 mum 657 mum -2.4 m 9.83 MeV 151 eV 4.49 mum 509 mum TargetPV eBrem + 3 220 mum 663 mum -2.4 m 8.84 MeV 629 keV 550 mum 1.06 mm TargetPV eBrem + 4 250 mum 721 mum -2.4 m 8.69 MeV 146 keV 133 mum 1.19 mm TrackerTransportation + 5 9.67 mm 5.96 cm -2.29 m 8.65 MeV 24.4 keV 12.3 cm 12.5 cm Tracker eIoni + 6 7.2 cm 48.5 cm -1.34 m 8.44 MeV 200 keV 1.05 m 1.17 m Tracker eIoni + 7 20.7 cm 84 cm -57.7 cm 8.27 MeV 159 keV 85 cm 2.02 m Tracker eIoni + 8 24.7 cm 93.3 cm -40.3 cm 8.21 MeV 45.9 keV 20.2 cm 2.23 m Tracker eIoni + 9 26.2 cm 96.5 cm -34.5 cm 8.19 MeV 10.9 keV 6.8 cm 2.29 m Tracker eIoni + 10 48.2 cm 1.39 m 44.2 cm 7.99 MeV 165 keV 92.3 cm 3.22 m Tracker eIoni + 11 59.5 cm 1.56 m 74.2 cm 7.91 MeV 76.9 keV 36.2 cm 3.58 m Tracker eIoni + 12 70.7 cm 1.79 m 1.09 m 7.82 MeV 76.5 keV 43.1 cm 4.01 m Tracker eIoni + 13 97 cm 2.4 m 1.9 m 7.63 MeV 188 keV 1.06 m 5.07 m WorldPVTransportation + 14 1.21 m 2.8 m 2.73 m 7.44 MeV 174 keV 94.9 cm 6.01 m WorldPV eIoni + 15 1.27 m 2.88 m 2.88 m 7.4 MeV 28.4 keV 17.6 cm 6.19 m WorldPV eIoni + 16 1.28 m 2.89 m 2.91 m 7.39 MeV 7.77 keV 3.96 cm 6.23 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 529, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.27 m 2.88 m 2.88 m 8.38 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 1.27 m 2.88 m 2.88 m 6.9 keV 1.48 keV 641 mum 641 mum WorldPV eIoni + 2 1.27 m 2.88 m 2.88 m 5.16 keV 1.74 keV 537 mum 1.18 mm WorldPV eIoni + 3 1.27 m 2.88 m 2.88 m 2.97 keV 2.19 keV 427 mum 1.61 mm WorldPV eIoni + 4 1.27 m 2.88 m 2.88 m 357 eV 2.61 keV 274 mum 1.88 mm WorldPV eIoni + 5 1.27 m 2.88 m 2.88 m 0 eV 357 eV 20.6 mum 1.9 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 528, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.21 m 2.8 m 2.73 m 24 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 1.21 m 2.81 m 2.72 m 21.5 keV 2.49 keV 2.48 mm 2.48 mm WorldPV eIoni + 2 1.21 m 2.81 m 2.72 m 17.6 keV 3.9 keV 2.1 mm 4.58 mm WorldPV eIoni + 3 1.21 m 2.81 m 2.72 m 13.8 keV 3.81 keV 1.56 mm 6.14 mm WorldPV eIoni + 4 1.21 m 2.81 m 2.72 m 12.2 keV 1.66 keV 1.13 mm 7.26 mm WorldPV eIoni + 5 1.21 m 2.81 m 2.72 m 7.83 keV 4.33 keV 960 mum 8.22 mm WorldPV eIoni + 6 1.21 m 2.81 m 2.72 m 0 eV 7.83 keV 603 mum 8.83 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 527, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 70.7 cm 1.79 m 1.09 m 10.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 70.8 cm 1.79 m 1.09 m 7.09 keV 3.07 keV 781 mum 781 mum Tracker eIoni + 2 70.8 cm 1.79 m 1.09 m 5.1 keV 1.99 keV 551 mum 1.33 mm Tracker eIoni + 3 70.8 cm 1.79 m 1.09 m 4.01 keV 1.09 keV 423 mum 1.75 mm Tracker eIoni + 4 70.8 cm 1.79 m 1.09 m 1.82 keV 2.19 keV 353 mum 2.11 mm Tracker eIoni + 5 70.8 cm 1.79 m 1.09 m 0 eV 1.82 keV 141 mum 2.25 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 526, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 59.5 cm 1.56 m 74.2 cm 8.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 59.5 cm 1.56 m 74.2 cm 6.09 keV 2.2 keV 635 mum 635 mum Tracker eIoni + 2 59.5 cm 1.56 m 74.2 cm 3.84 keV 2.25 keV 486 mum 1.12 mm Tracker eIoni + 3 59.5 cm 1.56 m 74.3 cm 1.22 keV 2.62 keV 341 mum 1.46 mm Tracker eIoni + 4 59.5 cm 1.56 m 74.3 cm 0 eV 1.22 keV 79.6 mum 1.54 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 525, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.2 cm 1.39 m 44.2 cm 26.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 48.3 cm 1.39 m 44.3 cm 22.8 keV 4.04 keV 2.96 mm 2.96 mm Tracker eIoni + 2 48.4 cm 1.39 m 44.4 cm 19.5 keV 3.31 keV 2.29 mm 5.25 mm Tracker eIoni + 3 48.5 cm 1.38 m 44.4 cm 16.9 keV 2.54 keV 1.8 mm 7.05 mm Tracker eIoni + 4 48.4 cm 1.38 m 44.3 cm 11.3 keV 5.62 keV 1.47 mm 8.52 mm Tracker eIoni + 5 48.5 cm 1.38 m 44.3 cm 9.68 keV 1.63 keV 882 mum 9.4 mm Tracker eIoni + 6 48.5 cm 1.38 m 44.3 cm 6.87 keV 2.81 keV 742 mum 1.01 cm Tracker eIoni + 7 48.4 cm 1.38 m 44.4 cm 3.91 keV 2.96 keV 535 mum 1.07 cm Tracker eIoni + 8 48.4 cm 1.38 m 44.4 cm 2.12 keV 1.79 keV 346 mum 1.1 cm Tracker eIoni + 9 48.4 cm 1.38 m 44.4 cm 0 eV 2.12 keV 178 mum 1.12 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 524, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.2 cm 96.5 cm -34.5 cm 13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 26.2 cm 96.4 cm -34.4 cm 9.85 keV 3.18 keV 1.05 mm 1.05 mm Tracker eIoni + 2 26.2 cm 96.4 cm -34.4 cm 7.83 keV 2.03 keV 756 mum 1.8 mm Tracker eIoni + 3 26.1 cm 96.3 cm -34.4 cm 5.81 keV 2.01 keV 603 mum 2.41 mm Tracker eIoni + 4 26.1 cm 96.3 cm -34.3 cm 4.53 keV 1.29 keV 467 mum 2.87 mm Tracker eIoni + 5 26.1 cm 96.3 cm -34.3 cm 3.12 keV 1.41 keV 387 mum 3.26 mm Tracker eIoni + 6 26.1 cm 96.3 cm -34.3 cm 1.53 keV 1.59 keV 287 mum 3.55 mm Tracker eIoni + 7 26.1 cm 96.3 cm -34.3 cm 0 eV 1.53 keV 109 mum 3.66 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 523, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 cm 93.3 cm -40.3 cm 16.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 24.8 cm 93.2 cm -40.3 cm 15.6 keV 968 eV 1.43 mm 1.43 mm Tracker eIoni + 2 24.9 cm 93.1 cm -40.2 cm 12.1 keV 3.5 keV 1.32 mm 2.74 mm Tracker eIoni + 3 24.9 cm 93.1 cm -40.2 cm 10.4 keV 1.68 keV 949 mum 3.69 mm Tracker eIoni + 4 24.9 cm 93 cm -40.2 cm 7.48 keV 2.9 keV 801 mum 4.5 mm Tracker eIoni + 5 24.9 cm 92.9 cm -40.1 cm 6.28 keV 1.2 keV 578 mum 5.07 mm Tracker eIoni + 6 24.9 cm 92.9 cm -40.1 cm 4.96 keV 1.32 keV 498 mum 5.57 mm Tracker eIoni + 7 24.9 cm 92.9 cm -40.2 cm 0 eV 4.96 keV 414 mum 5.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 522, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.7 cm 84 cm -57.7 cm 8.93 keV 0 eV 0 fm 0 fm Tracker initStep + 1 20.7 cm 84.1 cm -57.7 cm 6.84 keV 2.09 keV 684 mum 684 mum Tracker eIoni + 2 20.7 cm 84.1 cm -57.7 cm 5.84 keV 996 eV 533 mum 1.22 mm Tracker eIoni + 3 20.6 cm 84.1 cm -57.7 cm 4.65 keV 1.19 keV 469 mum 1.69 mm Tracker eIoni + 4 20.6 cm 84.1 cm -57.8 cm 3.46 keV 1.19 keV 394 mum 2.08 mm Tracker eIoni + 5 20.6 cm 84.1 cm -57.8 cm 2.42 keV 1.05 keV 314 mum 2.4 mm Tracker eIoni + 6 20.6 cm 84.1 cm -57.8 cm 0 eV 2.42 keV 217 mum 2.61 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 521, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.2 cm 48.5 cm -1.34 m 8.37 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.25 cm 48.5 cm -1.34 m 6.11 keV 2.26 keV 641 mum 641 mum Tracker eIoni + 2 7.26 cm 48.5 cm -1.34 m 4.11 keV 2 keV 487 mum 1.13 mm Tracker eIoni + 3 7.23 cm 48.5 cm -1.34 m 168 eV 3.94 keV 360 mum 1.49 mm Tracker eIoni + 4 7.23 cm 48.5 cm -1.34 m 0 eV 168 eV 13 mum 1.5 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 520, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.67 mm 5.96 cm -2.29 m 20.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.09 cm 5.85 cm -2.29 m 18.1 keV 2.59 keV 1.97 mm 1.97 mm Tracker eIoni + 2 1.18 cm 5.79 cm -2.29 m 15.6 keV 2.53 keV 1.62 mm 3.59 mm Tracker eIoni + 3 1.29 cm 5.84 cm -2.29 m 14.1 keV 1.51 keV 1.32 mm 4.91 mm Tracker eIoni + 4 1.33 cm 5.86 cm -2.29 m 11.5 keV 2.53 keV 1.15 mm 6.06 mm Tracker eIoni + 5 1.38 cm 5.83 cm -2.29 m 9.45 keV 2.08 keV 902 mum 6.96 mm Tracker eIoni + 6 1.43 cm 5.87 cm -2.29 m 6.28 keV 3.17 keV 725 mum 7.68 mm Tracker eIoni + 7 1.47 cm 5.87 cm -2.29 m 1.73 keV 4.55 keV 498 mum 8.18 mm Tracker eIoni + 8 1.47 cm 5.87 cm -2.29 m 0 eV 1.73 keV 131 mum 8.31 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 519, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 220 mum 663 mum -2.4 m 362 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 257 mum 725 mum -2.4 m 362 keV 0 eV 133 mum 133 mum TrackerTransportation + 2 1.42 m 2.4 m 1.93 m 362 keV 0 eV 5.15 m 5.15 m WorldPVTransportation + 3 1.73 m 2.91 m 2.85 m 362 keV 0 eV 1.1 m 6.25 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 518, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 114 mum 657 mum -2.4 m 1.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 104 mum 656 mum -2.4 m 1.09 MeV 0 eV 614 mum 614 mum TrackerTransportation + 2 -1.38 cm -1.12 mm -1.6 m 1.09 MeV 0 eV 80 cm 80.1 cm ChamberTransportation + 3 -1.72 cm -1.56 mm -1.4 m 1.09 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.76 cm -2.9 mm -80 cm 1.09 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -3.11 cm -3.34 mm -60 cm 1.09 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -4.15 cm -4.67 mm 0.114 fm 1.09 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -4.5 cm -5.11 mm 20 cm 1.09 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -5.54 cm -6.45 mm 80 cm 1.09 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -5.89 cm -6.89 mm 1 m 1.09 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -6.93 cm -8.22 mm 1.6 m 1.09 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -7.27 cm -8.66 mm 1.8 m 1.09 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -8.32 cm -10 mm 2.4 m 1.09 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -9.2 cm -1.11 cm 2.91 m 1.09 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 517, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 115 mum 657 mum -2.4 m 5.86 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 120 mum 648 mum -2.4 m 5.86 MeV 0 eV 618 mum 618 mum TrackerTransportation + 2 7.46 mm -1.14 cm -1.6 m 5.86 MeV 0 eV 80 cm 80.1 cm ChamberTransportation + 3 9.3 mm -1.45 cm -1.4 m 5.86 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 1.48 cm -2.35 cm -80 cm 5.86 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 1.66 cm -2.66 cm -60 cm 5.86 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 2.21 cm -3.56 cm 0 fm 5.86 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 2.4 cm -3.87 cm 20 cm 5.86 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 2.95 cm -4.77 cm 80 cm 5.86 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 3.13 cm -5.08 cm 1 m 5.86 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 3.68 cm -5.98 cm 1.6 m 5.86 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 3.87 cm -6.28 cm 1.8 m 5.86 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 4.42 cm -7.19 cm 2.4 m 5.86 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 4.88 cm -7.96 cm 2.91 m 5.86 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 484, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -107 mum 543 mum -2.4 m 9.78 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -120 mum 607 mum -2.4 m 3.68 MeV 0 eV 1.14 mm 1.14 mm TargetPV compt + 2 408 mum 2.48 mm -2.4 m 3.68 MeV 0 eV 4.3 mm 5.44 mm TrackerTransportation + 3 55.1 cm 1.95 m 1.6 m 3.68 MeV 0 eV 4.48 m 4.49 m ChamberTransportation + 4 55.5 cm 1.97 m 1.63 m 3.68 MeV 0 eV 3.42 cm 4.52 m TrackerTransportation + 5 66.1 cm 2.34 m 2.4 m 3.68 MeV 0 eV 86.3 cm 5.39 m WorldPVTransportation + 6 73.1 cm 2.59 m 2.91 m 3.68 MeV 0 eV 57.2 cm 5.96 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 530, Parent ID = 484 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -120 mum 607 mum -2.4 m 6.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -503 mum -61.8 mum -2.4 m 4.73 MeV 1.36 MeV 1.22 mm 1.22 mm TargetPV eIoni + 2 -207 mum 623 mum -2.4 m 3.01 MeV 1.06 MeV 949 mum 2.17 mm TargetPV eBrem + 3 -153 mum 312 mum -2.4 m 1.56 MeV 414 keV 388 mum 2.56 mm TargetPV eBrem + 4 -22.9 mum 324 mum -2.4 m 330 keV 145 keV 178 mum 2.73 mm TargetPV eBrem + 5 -16.6 mum 328 mum -2.4 m 0 eV 330 keV 166 mum 2.9 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 533, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.9 mum 324 mum -2.4 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.61 mm 1.41 mm -2.4 m 0 eV 88 keV 3.48 mm 3.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 534, Parent ID = 533 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.61 mm 1.41 mm -2.4 m 995 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.74 mm 1.46 mm -2.4 m 538 keV 457 keV 412 mum 412 mum TargetPV eIoni + 2 -1.75 mm 1.48 mm -2.4 m 0 eV 538 keV 285 mum 697 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 532, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -153 mum 312 mum -2.4 m 1.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 8.42 mm 1.11 cm -2.4 m 889 keV 150 keV 1.39 cm 1.39 cm TargetPV compt + 2 9.73 mm 1.45 cm -2.4 m 889 keV 0 eV 3.99 mm 1.79 cm TrackerTransportation + 3 92 cm 2.4 m -1.31 m 889 keV 0 eV 2.78 m 2.8 m WorldPVTransportation + 4 1.11 m 2.91 m -1.07 m 889 keV 0 eV 59.4 cm 3.39 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 531, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -207 mum 623 mum -2.4 m 660 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.52 mm -3.26 mm -2.4 m 660 keV 0 eV 5.33 mm 5.33 mm TrackerTransportation + 2 1.07 m -2.4 m -41 cm 660 keV 0 eV 3.29 m 3.3 m WorldPVTransportation + 3 1.29 m -2.91 m 1.3 cm 660 keV 0 eV 70.1 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 483, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -73.2 mum 565 mum -2.41 m 845 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -228 mum 614 mum -2.4 m 268 keV 577 keV 4.87 mm 4.87 mm TargetPV compt + 2 -653 mum 751 mum -2.4 m 0 eV 268 keV 474 mum 5.34 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 482, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 503 mum -2.41 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -139 mum 818 mum -2.4 m 1.93 MeV 0 eV 6.7 mm 6.7 mm TrackerTransportation + 2 -1.17 cm 3.86 cm -1.6 m 1.93 MeV 0 eV 80.1 cm 80.8 cm ChamberTransportation + 3 -1.46 cm 4.8 cm -1.4 m 1.93 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.33 cm 7.63 cm -80 cm 1.93 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -2.62 cm 8.58 cm -60 cm 1.93 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -3.49 cm 11.4 cm 0 fm 1.93 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -3.78 cm 12.4 cm 20 cm 1.93 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -4.65 cm 15.2 cm 80 cm 1.93 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -4.94 cm 16.1 cm 1 m 1.93 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -5.81 cm 19 cm 1.6 m 1.93 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -6.1 cm 19.9 cm 1.8 m 1.93 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -6.97 cm 22.7 cm 2.4 m 1.93 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -7.71 cm 25.1 cm 2.91 m 1.93 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 384, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.04 mum 8.08 mum -2.42 m 1.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -50.1 mum 147 mum -2.42 m 1.31 MeV 57 keV 3.04 mm 3.04 mm TargetPV compt + 2 2.16 mm 1.53 mm -2.4 m 214 keV 1.1 MeV 1.41 cm 1.71 cm TargetPV compt + 3 2.13 mm 1.49 mm -2.4 m 0 eV 214 keV 364 mum 1.75 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.88 Ang -8.52 Ang -2.9 m 9.39 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 148 mum -670 mum -2.9 m 7.47 keV 1.93 keV 720 mum 720 mum WorldPV eIoni + 2 637 mum -680 mum -2.9 m 6.39 keV 1.07 keV 577 mum 1.3 mm WorldPV eIoni + 3 861 mum -614 mum -2.9 m 5.08 keV 1.32 keV 505 mum 1.8 mm WorldPV eIoni + 4 658 mum -355 mum -2.9 m 3.21 keV 1.87 keV 422 mum 2.22 mm WorldPV eIoni + 5 624 mum -181 mum -2.9 m 299 eV 2.91 keV 294 mum 2.52 mm WorldPV eIoni + 6 620 mum -186 mum -2.9 m 0 eV 299 eV 18 mum 2.54 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 76d8804ae6..ec8546c5df 100644 --- a/examples/novice/N02/exampleN02.out +++ b/examples/novice/N02/exampleN02.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -19,23 +19,25 @@ The materials defined are : 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: Vacuum density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 6317232936888469291008.000 km - ---> Element: Vacuum Z = 1.0 N = 1.0 A = 1.01 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 Al +Target is 5 cm of Pb +There are 6 chambers in the tracker region. The chambers are 2e+02 mm of XenonGas + The distance between chamber is 80 cm -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. +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. -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. +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 @@ -46,16 +48,17 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 1e+02 TeV in 100 bins. - eIoni Minimum Delta cut in range=0.2 mm. + eIoni Minimum Delta cut in range=1 mm. material min.delta energy(keV) - Air 0.99 - Al 191.94 - Pb 370.43 - Vacuum 0.99 + Air 6.1428 + Al 572.84 + Pb 1370 + XenonGas 8.9393 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -64,14 +67,14 @@ 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.2 mm. + hIoni Minimum Delta cut in range=1 mm. material min.delta energy(keV) - Air 0.99 - Al 191.94 - Pb 370.43 - Vacuum 0.99 + Air 6.1428 + Al 572.84 + Pb 1370 + XenonGas 8.9393 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -100,6 +103,15 @@ 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 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. ********************************************************************************************************* @@ -107,1295 +119,867 @@ MuPairProd: theoretical cross sections ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 0 fm 0 fm 200 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.5 cm 0 fm 3.16 mm 195 MeV 1.4 MeV 3.16 mm 3.16 mm TargetPV eIoni - 2 -2.5 cm 0 fm 3.16 mm 195 MeV 0 eV 0 fm 3.16 mm WorldPVTransportation - 3 -2.53 cm -133 mum 2.5 cm 195 MeV 4.12 keV 2.18 cm 2.5 cm TrackerTransportation - 4 -2.61 cm -438 mum 7.41 cm 195 MeV 11.9 keV 4.91 cm 7.41 cm Tracker eIoni - 5 -2.93 cm -1.52 mm 25 cm 195 MeV 34.8 keV 17.6 cm 25.1 cm Tracker eIoni - 6 -3.04 cm -2.01 mm 32.9 cm 195 MeV 16.5 keV 7.9 cm 32.9 cm Tracker eIoni - 7 -3.08 cm -2.16 mm 35.7 cm 195 MeV 9.96 keV 2.72 cm 35.7 cm Tracker eIoni - 8 -3.15 cm -2.42 mm 40.3 cm 195 MeV 9.96 keV 4.66 cm 40.3 cm Tracker eIoni - 9 -3.65 cm -4.47 mm 71.7 cm 195 MeV 62.5 keV 31.4 cm 71.7 cm Tracker eIoni - 10 -3.67 cm -4.54 mm 73.1 cm 195 MeV 2.3 keV 1.37 cm 73.1 cm Tracker eIoni - 11 -3.81 cm -4.92 mm 82.5 cm 195 MeV 17.4 keV 9.43 cm 82.5 cm trkChamberTransportation - 12 -3.81 cm -4.92 mm 82.5 cm 194 MeV 35.1 keV 109 mum 82.5 cm trkChamber eBrem - 13 -3.82 cm -4.91 mm 82.8 cm 173 MeV 1.1 MeV 2.82 mm 82.8 cm trkChamber eBrem - 14 -3.83 cm -4.92 mm 83.2 cm 171 MeV 1.55 MeV 3.74 mm 83.2 cm trkChamber eBrem - 15 -3.82 cm -5.06 mm 83.6 cm 170 MeV 1.45 MeV 4.03 mm 83.6 cm trkChamber eBrem - 16 -3.82 cm -5.08 mm 83.7 cm 169 MeV 827 keV 1.28 mm 83.7 cm trkChamber eBrem - 17 -3.82 cm -5.14 mm 83.9 cm 156 MeV 693 keV 1.96 mm 83.9 cm trkChamber eBrem - 18 -3.81 cm -5.41 mm 85 cm 126 MeV 4.21 MeV 1.07 cm 85 cm trkChamber eBrem - 19 -3.79 cm -5.68 mm 85.7 cm 123 MeV 2.84 MeV 7.39 mm 85.7 cm trkChamber eBrem - 20 -3.76 cm -6.63 mm 86.5 cm 118 MeV 3.66 MeV 8.2 mm 86.5 cm trkChamber eBrem - 21 -3.76 cm -7.58 mm 88.4 cm 110 MeV 7.6 MeV 1.91 cm 88.4 cm trkChamber eBrem - 22 -3.79 cm -8.52 mm 89.5 cm 106 MeV 4.46 MeV 1.1 cm 89.5 cm trkChamber eBrem - 23 -3.83 cm -9.22 mm 90.1 cm 103 MeV 2.78 MeV 5.83 mm 90.1 cm trkChamber eBrem - 24 -3.9 cm -1.06 cm 91.3 cm 93 MeV 5.27 MeV 1.26 cm 91.4 cm trkChamber eBrem - 25 -3.96 cm -1.17 cm 92 cm 89.3 MeV 3.37 MeV 6.39 mm 92 cm trkChamber eBrem - 26 -4.24 cm -1.59 cm 93.9 cm 80 MeV 8.6 MeV 2.04 cm 94.1 cm trkChamber eBrem - 27 -4.26 cm -1.61 cm 94.1 cm 48.7 MeV 947 keV 1.51 mm 94.2 cm trkChamber eBrem - 28 -4.5 cm -1.75 cm 95.2 cm 43.2 MeV 5.31 MeV 1.19 cm 95.4 cm trkChamber eBrem - 29 -4.57 cm -1.76 cm 95.5 cm 41.3 MeV 1.18 MeV 3.05 mm 95.7 cm trkChamber eBrem - 30 -4.61 cm -1.77 cm 95.7 cm 40.2 MeV 521 keV 1.61 mm 95.9 cm trkChamber eBrem - 31 -4.69 cm -1.72 cm 96.1 cm 27.7 MeV 1.96 MeV 4.64 mm 96.3 cm trkChamber eBrem - 32 -4.79 cm -1.72 cm 96.4 cm 24.2 MeV 1.3 MeV 3.14 mm 96.6 cm trkChamber eBrem - 33 -5.01 cm -1.89 cm 97.1 cm 20.6 MeV 3.17 MeV 6.87 mm 97.3 cm trkChamber eBrem - 34 -5.08 cm -1.92 cm 97.4 cm 19.2 MeV 1.39 MeV 3.37 mm 97.7 cm trkChamber eBrem - 35 -5.2 cm -1.98 cm 97.7 cm 15.7 MeV 1.12 MeV 3.15 mm 98 cm trkChamber eBrem - 36 -5.48 cm -2.32 cm 98.4 cm 12.4 MeV 3.37 MeV 8.05 mm 98.8 cm trkChamber eIoni - 37 -5.6 cm -1.96 cm 98.9 cm 9.74 MeV 2.62 MeV 6.4 mm 99.4 cm trkChamber eIoni - 38 -5.68 cm -1.7 cm 99.2 cm 2.66 MeV 1.47 MeV 4.31 mm 99.9 cm trkChamber eBrem - 39 -5.69 cm -1.69 cm 99.3 cm 1.97 MeV 287 keV 536 mum 99.9 cm trkChamber eBrem - 40 -5.69 cm -1.66 cm 99.4 cm 1.33 MeV 643 keV 1.22 mm 1 m trkChamber eIoni - 41 -5.61 cm -1.63 cm 99.4 cm 1.02 MeV 316 keV 889 mum 1 m trkChamber eIoni - 42 -5.59 cm -1.58 cm 99.4 cm 663 keV 354 keV 723 mum 1 m trkChamber eIoni - 43 -5.56 cm -1.61 cm 99.3 cm 384 keV 279 keV 536 mum 1 m trkChamber eIoni - 44 -5.55 cm -1.62 cm 99.3 cm 210 keV 174 keV 376 mum 1 m trkChamber eIoni - 45 -5.55 cm -1.63 cm 99.3 cm 0 eV 210 keV 221 mum 1 m trkChamber eIoni - 46 -5.55 cm -1.63 cm 99.3 cm 0 eV 0 eV 0 fm 1 m trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.55 cm -1.63 cm 99.3 cm 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.32 cm 1.91 cm 97.8 cm 189 keV 322 keV 3.9 cm 3.9 cm trkChamber compt - 2 -6.99 cm -4.17 mm 1.02 m 189 keV 0 eV 5.25 cm 9.15 cm TrackerTransportation - 3 -15.7 cm -30.5 cm 1.62 m 189 keV 0 eV 67.7 cm 76.8 cm trkChamberTransportation - 4 -15.7 cm -30.5 cm 1.63 m 125 keV 64 keV 149 mum 76.8 cm trkChamber compt - 5 -15.6 cm -30.5 cm 1.62 m 125 keV 0 eV 899 mum 76.9 cm TrackerTransportation - 6 2.5 m 57.7 cm 1.21 m 125 keV 0 eV 2.83 m 3.6 m WorldPVTransportation - 7 4 m 1.07 m 97.6 cm 120 keV 0 eV 1.6 m 5.19 m WorldPV compt - 8 7.5 m 92.6 cm -1.58 m 120 keV 0 eV 4.34 m 9.53 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4 m 1.07 m 97.6 cm 4.86 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 4 m 1.07 m 97.6 cm 2.69 keV 707 eV 168 mum 168 mum WorldPV eIoni - 2 4 m 1.07 m 97.6 cm 0 eV 2.69 keV 249 mum 417 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4 m 1.07 m 97.6 cm 1.46 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 4 m 1.07 m 97.6 cm 0 eV 1.46 keV 102 mum 102 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.55 cm -1.63 cm 99.3 cm 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.36 cm -2.49 cm 99.7 cm 467 keV 43.7 keV 9.54 mm 9.54 mm trkChamber compt - 2 -3.63 cm -6.28 cm 99.7 cm 294 keV 173 keV 4.17 cm 5.12 cm trkChamber compt - 3 -3.58 cm -6.29 cm 99.7 cm 189 keV 105 keV 796 mum 5.2 cm trkChamber compt - 4 -2.97 cm -4.2 cm 99.7 cm 145 keV 44.4 keV 2.18 cm 7.38 cm trkChamber compt - 5 -3.6 cm -3.89 cm 99.6 cm 119 keV 25.6 keV 7.09 mm 8.09 cm trkChamber compt - 6 -4.06 cm -4.1 cm 1 m 102 keV 17.1 keV 7.94 mm 8.88 cm trkChamber compt - 7 -2.56 cm -3.72 cm 1.02 m 102 keV 0 eV 2.79 cm 11.7 cm TrackerTransportation - 8 36.3 cm 6.18 cm 1.62 m 102 keV 0 eV 72.1 cm 83.8 cm trkChamberTransportation - 9 37 cm 6.38 cm 1.64 m 77.2 keV 24.6 keV 1.42 cm 85.2 cm trkChamber compt - 10 36.9 cm 5.63 cm 1.63 m 77.2 keV 77.2 keV 8.68 mm 86.1 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.69 cm -1.69 cm 99.3 cm 396 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -7.62 cm -1.89 cm 1.02 m 396 keV 0 eV 3.78 cm 3.78 cm TrackerTransportation - 2 -43.2 cm -5.59 cm 1.62 m 396 keV 0 eV 69.9 cm 73.6 cm trkChamberTransportation - 3 -43.7 cm -5.64 cm 1.63 m 164 keV 232 keV 9.8 mm 74.6 cm trkChamber compt - 4 -43.4 cm -6.15 cm 1.62 m 164 keV 0 eV 1.03 cm 75.7 cm TrackerTransportation - 5 17.5 cm -1.03 m 2.5 cm 164 keV 0 eV 1.97 m 2.72 m WorldPVTransportation - 6 3.04 m -5.58 m -7.5 m 164 keV 0 eV 9.25 m 12 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.68 cm -1.7 cm 99.2 cm 5.6 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.11 cm -1.23 cm 1.01 m 0 eV 980 keV 2.15 cm 2.15 cm trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 40, Parent ID = 34 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.11 cm -1.23 cm 1.01 m 3.6 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.08 cm -1.2 cm 1.01 m 2.88 MeV 717 keV 2.06 mm 2.06 mm trkChamber eIoni - 2 -5.97 cm -1.07 cm 1.01 m 2.18 MeV 706 keV 1.69 mm 3.75 mm trkChamber eIoni - 3 -5.85 cm -1.04 cm 1.01 m 0 eV 451 keV 1.31 mm 5.06 mm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.85 cm -1.04 cm 1.01 m 612 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -10.8 cm 3.24 cm 97.3 cm 372 keV 240 keV 7.73 cm 7.73 cm trkChamber compt - 2 -10.5 cm 6.48 cm 97.4 cm 227 keV 145 keV 3.26 cm 11 cm trkChamber compt - 3 -10.5 cm 6.48 cm 97.5 cm 121 keV 106 keV 400 mum 11 cm trkChamber compt - 4 -14.9 cm 7.08 cm 93.9 cm 96.5 keV 24.6 keV 5.73 cm 16.8 cm trkChamber compt - 5 -16.5 cm 7.44 cm 96.2 cm 72 keV 24.5 keV 2.85 cm 19.6 cm trkChamber compt - 6 -16.5 cm 7.29 cm 95.7 cm 62.5 keV 9.51 keV 5.78 mm 20.2 cm trkChamber compt - 7 -15.9 cm 7.49 cm 95.7 cm 57.9 keV 4.59 keV 6.07 mm 20.8 cm trkChamber compt - 8 -15.3 cm 6.74 cm 95.3 cm 57.9 keV 57.9 keV 1.05 cm 21.8 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.85 cm -1.04 cm 1.01 m 2.14 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.93 cm -6.1 mm 1.01 m 1.27 MeV 869 keV 1.14 cm 1.14 cm trkChamber compt - 2 -3.08 cm 3 cm 98.3 cm 269 keV 998 keV 4.82 cm 5.96 cm trkChamber compt - 3 -4.43 cm -2.57 cm 95.4 cm 166 keV 104 keV 6.4 cm 12.4 cm trkChamber compt - 4 -3.57 cm -1.97 cm 94.5 cm 126 keV 40.1 keV 1.44 cm 13.8 cm trkChamber compt - 5 -5.01 cm -2.35 cm 92.9 cm 89.3 keV 36.3 keV 2.14 cm 15.9 cm trkChamber compt - 6 -1.83 cm -3.05 cm 93.1 cm 89.1 keV 257 eV 3.27 cm 19.2 cm trkChamber compt - 7 3.22 cm -4.58 cm 94.2 cm 87.9 keV 1.18 keV 5.4 cm 24.6 cm trkChamber compt - 8 4.69 cm -5.35 cm 94 cm 87.9 keV 87.9 keV 1.68 cm 26.3 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.2 cm -1.98 cm 97.7 cm 2.39 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -7.19 cm -3.11 cm 1.02 m 801 keV 0 eV 5.25 cm 5.25 cm trkChamber compt - 2 -7.24 cm -3.02 cm 1.02 m 801 keV 0 eV 1.34 mm 5.38 cm TrackerTransportation - 3 -41.7 cm 59.4 cm 1.62 m 801 keV 0 eV 93.2 cm 98.6 cm trkChamberTransportation - 4 -42.2 cm 60.2 cm 1.63 m 288 keV 513 keV 1.14 cm 99.7 cm trkChamber compt - 5 -42.7 cm 59.7 cm 1.63 m 181 keV 107 keV 7.47 mm 1 m trkChamber compt - 6 -45.9 cm 64 cm 1.64 m 173 keV 8.75 keV 5.41 cm 1.06 m trkChamber compt - 7 -46.1 cm 64.1 cm 1.64 m 116 keV 56.4 keV 2.59 mm 1.06 m trkChamber compt - 8 -46.4 cm 63.3 cm 1.62 m 116 keV 0 eV 1.79 cm 1.08 m TrackerTransportation - 9 -67.9 cm -15.7 cm 2.5 cm 116 keV 0 eV 1.8 m 2.88 m WorldPVTransportation - 10 -1.69 m -3.87 m -7.5 m 116 keV 0 eV 8.45 m 11.3 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 33 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.19 cm -3.11 cm 1.02 m 1.59 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -7.22 cm -3.17 cm 1.02 m 1.26 MeV 334 keV 1.01 mm 1.01 mm trkChamber eIoni - 2 -7.19 cm -3.2 cm 1.02 m 968 keV 288 keV 605 mum 1.62 mm TrackerTransportation - 3 8.9 mm -7.49 cm 1.2 m 939 keV 25.9 keV 19.6 cm 19.7 cm Tracker eIoni - 4 5.39 cm -10.8 cm 1.27 m 923 keV 11.9 keV 8.89 cm 28.6 cm Tracker eIoni - 5 17.3 cm -15.7 cm 1.37 m 890 keV 18.2 keV 16.8 cm 45.4 cm Tracker eIoni - 6 19.6 cm -16.8 cm 1.39 m 884 keV 2.96 keV 3.09 cm 48.5 cm Tracker eIoni - 7 20 cm -17.1 cm 1.39 m 882 keV 1.2 keV 5.8 mm 49.1 cm Tracker eIoni - 8 23.2 cm -19.5 cm 1.42 m 869 keV 5.97 keV 4.86 cm 53.9 cm Tracker eIoni - 9 25.9 cm -23 cm 1.45 m 854 keV 8.11 keV 5.59 cm 59.5 cm Tracker eIoni - 10 29.9 cm -26 cm 1.5 m 841 keV 11.4 keV 7.18 cm 66.7 cm Tracker eIoni - 11 31.1 cm -27 cm 1.52 m 834 keV 2.26 keV 2.29 cm 69 cm Tracker eIoni - 12 38.4 cm -30 cm 1.61 m 815 keV 15 keV 11.8 cm 80.8 cm Tracker eIoni - 13 40.5 cm -31.9 cm 1.62 m 811 keV 3.71 keV 3.37 cm 84.2 cm trkChamberTransportation - 14 40.5 cm -32 cm 1.63 m 455 keV 356 keV 615 mum 84.2 cm trkChamber eIoni - 15 40.5 cm -31.9 cm 1.63 m 301 keV 154 keV 422 mum 84.3 cm trkChamber eIoni - 16 40.5 cm -31.9 cm 1.63 m 128 keV 173 keV 320 mum 84.3 cm trkChamber eIoni - 17 40.5 cm -31.9 cm 1.63 m 0 eV 128 keV 104 mum 84.3 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 38.4 cm -30 cm 1.61 m 3.88 keV 0 eV 0 fm 0 fm Tracker initStep - 1 38.4 cm -30 cm 1.61 m 2.16 keV 1.71 keV 349 mum 349 mum Tracker eIoni - 2 38.4 cm -30 cm 1.61 m 0 eV 2.16 keV 184 mum 533 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.1 cm -27 cm 1.52 m 4.41 keV 0 eV 0 fm 0 fm Tracker initStep - 1 31.1 cm -27 cm 1.52 m 2.13 keV 2.28 keV 386 mum 386 mum Tracker eIoni - 2 31.1 cm -27 cm 1.52 m 0 eV 2.13 keV 180 mum 566 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.9 cm -26 cm 1.5 m 1.98 keV 0 eV 0 fm 0 fm Tracker initStep - 1 29.9 cm -26.1 cm 1.5 m 0 eV 1.98 keV 161 mum 161 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 25.9 cm -23 cm 1.45 m 7.24 keV 0 eV 0 fm 0 fm Tracker initStep - 1 26 cm -23 cm 1.45 m 6.25 keV 994 eV 585 mum 585 mum Tracker eIoni - 2 26 cm -22.9 cm 1.45 m 4.66 keV 1.59 keV 512 mum 1.1 mm Tracker eIoni - 3 26 cm -22.9 cm 1.45 m 2.7 keV 1.96 keV 403 mum 1.5 mm Tracker eIoni - 4 26 cm -22.9 cm 1.45 m 0 eV 2.7 keV 250 mum 1.75 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.2 cm -19.5 cm 1.42 m 6.41 keV 0 eV 0 fm 0 fm Tracker initStep - 1 23.2 cm -19.5 cm 1.42 m 4.02 keV 727 eV 32.2 mum 32.2 mum Tracker eIoni - 2 23.2 cm -19.5 cm 1.42 m 2.39 keV 1.64 keV 359 mum 391 mum Tracker eIoni - 3 23.2 cm -19.5 cm 1.42 m 0 eV 2.39 keV 214 mum 605 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 49 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.2 cm -19.5 cm 1.42 m 1.66 keV 0 eV 0 fm 0 fm Tracker initStep - 1 23.2 cm -19.5 cm 1.42 m 0 eV 1.66 keV 123 mum 123 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20 cm -17.1 cm 1.39 m 1.17 keV 0 eV 0 fm 0 fm Tracker initStep - 1 20 cm -17.1 cm 1.39 m 0 eV 1.17 keV 75.6 mum 75.6 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 19.6 cm -16.8 cm 1.39 m 2.79 keV 0 eV 0 fm 0 fm Tracker initStep - 1 19.6 cm -16.8 cm 1.39 m 1.79 keV 1 keV 119 mum 119 mum Tracker eIoni - 2 19.6 cm -16.8 cm 1.39 m 0 eV 1.79 keV 137 mum 256 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.3 cm -15.7 cm 1.37 m 14.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 17.2 cm -15.6 cm 1.37 m 13.3 keV 1.26 keV 1.32 mm 1.32 mm Tracker eIoni - 2 17.3 cm -15.7 cm 1.37 m 11 keV 2.25 keV 1.17 mm 2.5 mm Tracker eIoni - 3 17.4 cm -15.6 cm 1.37 m 9.07 keV 1.95 keV 923 mum 3.42 mm Tracker eIoni - 4 17.4 cm -15.6 cm 1.37 m 7.15 keV 475 eV 149 mum 3.57 mm Tracker eIoni - 5 17.4 cm -15.6 cm 1.37 m 4.65 keV 2.51 keV 578 mum 4.15 mm Tracker eIoni - 6 17.4 cm -15.6 cm 1.37 m 2.88 keV 606 eV 109 mum 4.26 mm Tracker eIoni - 7 17.4 cm -15.6 cm 1.37 m 935 eV 1.94 keV 268 mum 4.52 mm Tracker eIoni - 8 17.4 cm -15.6 cm 1.37 m 0 eV 935 eV 56.2 mum 4.58 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.4 cm -15.6 cm 1.37 m 1.16 keV 0 eV 0 fm 0 fm Tracker initStep - 1 17.4 cm -15.6 cm 1.37 m 0 eV 1.16 keV 74.6 mum 74.6 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.4 cm -15.6 cm 1.37 m 1.44 keV 0 eV 0 fm 0 fm Tracker initStep - 1 17.4 cm -15.6 cm 1.37 m 0 eV 1.44 keV 100 mum 100 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.39 cm -10.8 cm 1.27 m 4.68 keV 0 eV 0 fm 0 fm Tracker initStep - 1 5.36 cm -10.8 cm 1.27 m 1.95 keV 2.73 keV 404 mum 404 mum Tracker eIoni - 2 5.36 cm -10.8 cm 1.27 m 0 eV 1.95 keV 157 mum 560 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.9 mm -7.49 cm 1.2 m 2.36 keV 0 eV 0 fm 0 fm Tracker initStep - 1 8.84 mm -7.5 cm 1.2 m 0 eV 2.36 keV 210 mum 210 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.08 cm -1.92 cm 97.4 cm 11.3 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.09 cm -1.92 cm 97.4 cm 11.3 keV 11.3 keV 148 mum 148 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.01 cm -1.89 cm 97.1 cm 345 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.83 cm -2.1 cm 1 m 240 keV 105 keV 3.11 cm 3.11 cm trkChamber compt - 2 -2.85 cm -5.46 mm 1.02 m 240 keV 0 eV 4.15 cm 7.26 cm TrackerTransportation - 3 2.5 m 1.31 m 3.09 m 240 keV 0 eV 3.52 m 3.59 m WorldPVTransportation - 4 7.5 m 3.91 m 7.16 m 240 keV 0 eV 6.95 m 10.5 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.79 cm -1.72 cm 96.4 cm 2.23 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.34 cm -2.98 cm 1.02 m 527 keV 0 eV 6.14 cm 6.14 cm trkChamber compt - 2 -6.37 cm -2.5 cm 1.02 m 527 keV 0 eV 5.45 mm 6.68 cm TrackerTransportation - 3 -20.7 cm 2.5 m 2.32 m 527 keV 0 eV 2.84 m 2.91 m WorldPVTransportation - 4 -49.2 cm 7.5 m 4.87 m 527 keV 0 eV 5.62 m 8.53 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 30 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.34 cm -2.98 cm 1.02 m 1.71 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.33 cm -3.03 cm 1.02 m 1.32 MeV 389 keV 1.07 mm 1.07 mm trkChamber eIoni - 2 -6.27 cm -3.07 cm 1.02 m 956 keV 361 keV 873 mum 1.94 mm trkChamber eIoni - 3 -6.23 cm -3.09 cm 1.02 m 751 keV 205 keV 689 mum 2.63 mm trkChamber eIoni - 4 -6.24 cm -3.14 cm 1.02 m 376 keV 375 keV 583 mum 3.21 mm trkChamber eIoni - 5 -6.23 cm -3.12 cm 1.02 m 167 keV 209 keV 374 mum 3.59 mm trkChamber eIoni - 6 -6.22 cm -3.13 cm 1.02 m 0 eV 167 keV 161 mum 3.75 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.69 cm -1.72 cm 96.1 cm 10.6 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6.75 cm -1.41 cm 1.02 m 10.6 MeV 0 eV 6.68 cm 6.68 cm TrackerTransportation - 2 -26.2 cm 1.5 cm 1.62 m 10.6 MeV 0 eV 63.1 cm 69.8 cm trkChamberTransportation - 3 -29.3 cm 1.96 cm 1.72 m 0 eV 0 eV 10 cm 79.8 cm trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 59, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.3 cm 1.96 cm 1.72 m 5.07 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -29.3 cm 2.03 cm 1.72 m 4.05 MeV 1.01 MeV 2.8 mm 2.8 mm trkChamber eIoni - 2 -29.4 cm 1.96 cm 1.72 m 3.03 MeV 1.02 MeV 2.29 mm 5.08 mm trkChamber eIoni - 3 -29.5 cm 1.89 cm 1.73 m 2.47 MeV 565 keV 1.77 mm 6.85 mm trkChamber eIoni - 4 -29.5 cm 1.83 cm 1.73 m 1.93 MeV 540 keV 1.48 mm 8.33 mm trkChamber eIoni - 5 -29.5 cm 1.94 cm 1.73 m 1.53 MeV 394 keV 1.2 mm 9.53 mm trkChamber eIoni - 6 -29.5 cm 2.03 cm 1.73 m 1.2 MeV 334 keV 994 mum 1.05 cm trkChamber eIoni - 7 -29.5 cm 2.1 cm 1.73 m 863 keV 336 keV 819 mum 1.13 cm trkChamber eIoni - 8 -29.5 cm 2.11 cm 1.73 m 651 keV 212 keV 643 mum 1.2 cm trkChamber eIoni - 9 -29.5 cm 2.1 cm 1.73 m 463 keV 188 keV 530 mum 1.25 cm trkChamber eIoni - 10 -29.5 cm 2.1 cm 1.73 m 249 keV 215 keV 425 mum 1.29 cm trkChamber eIoni - 11 -29.5 cm 2.09 cm 1.73 m 60.1 keV 189 keV 269 mum 1.32 cm trkChamber eIoni - 12 -29.5 cm 2.09 cm 1.73 m 0 eV 60.1 keV 26.9 mum 1.32 cm trkChamber eIoni - 13 -29.5 cm 2.09 cm 1.73 m 0 eV 0 eV 0 fm 1.32 cm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.5 cm 2.09 cm 1.73 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -29.9 cm 2.31 cm 1.72 m 423 keV 87.6 keV 5.49 mm 5.49 mm trkChamber compt - 2 -31 cm 2.5 cm 1.72 m 415 keV 8.08 keV 1.23 cm 1.78 cm trkChamber compt - 3 -40.7 cm 3.01 cm 1.72 m 388 keV 27.7 keV 9.62 cm 11.4 cm trkChamber compt - 4 -40.9 cm 3.04 cm 1.72 m 186 keV 202 keV 2.97 mm 11.7 cm trkChamber compt - 5 -40.4 cm 1.53 cm 1.72 m 153 keV 32.7 keV 1.61 cm 13.3 cm trkChamber compt - 6 -41.1 cm 3.11 mm 1.73 m 146 keV 6.63 keV 1.98 cm 15.3 cm trkChamber compt - 7 -40.7 cm -3.06 cm 1.76 m 142 keV 3.81 keV 4 cm 19.3 cm trkChamber compt - 8 -39.9 cm -4.5 cm 1.76 m 94.1 keV 48.3 keV 1.71 cm 21 cm trkChamber compt - 9 -39.9 cm -3.91 cm 1.76 m 75.9 keV 18.2 keV 5.86 mm 21.6 cm trkChamber compt - 10 -40.4 cm -4.42 cm 1.78 m 75.9 keV 75.9 keV 1.73 cm 23.3 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.5 cm 2.09 cm 1.73 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -21 cm -3.5 cm 1.82 m 511 keV 0 eV 14.1 cm 14.1 cm TrackerTransportation - 2 32.4 cm -38.3 cm 2.42 m 511 keV 0 eV 87.5 cm 1.02 m trkChamberTransportation - 3 32.5 cm -38.5 cm 2.43 m 307 keV 204 keV 3.03 mm 1.02 m trkChamber compt - 4 38.2 cm -34.8 cm 2.43 m 145 keV 162 keV 6.74 cm 1.09 m trkChamber compt - 5 36.7 cm -37.2 cm 2.44 m 134 keV 10.9 keV 2.94 cm 1.12 m trkChamber compt - 6 36.3 cm -37.3 cm 2.44 m 91.4 keV 42.7 keV 4.31 mm 1.12 m trkChamber compt - 7 36.9 cm -37.2 cm 2.42 m 91.4 keV 0 eV 1.71 cm 1.14 m TrackerTransportation - 8 59 cm -35.2 cm 1.82 m 91.4 keV 0 eV 64 cm 1.78 m trkChamberTransportation - 9 59.8 cm -35.1 cm 1.8 m 91.4 keV 91.4 keV 2.36 cm 1.8 m trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.3 cm 1.96 cm 1.72 m 4.49 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -29.3 cm 2.02 cm 1.72 m 3.23 MeV 1.2 MeV 2.24 mm 2.24 mm trkChamber eBrem - 2 -29.4 cm 1.99 cm 1.72 m 2.55 MeV 686 keV 1.83 mm 4.07 mm trkChamber eIoni - 3 -29.4 cm 1.9 cm 1.72 m 2.08 MeV 469 keV 1.49 mm 5.55 mm trkChamber eIoni - 4 -29.4 cm 1.87 cm 1.73 m 1.66 MeV 419 keV 1.25 mm 6.81 mm trkChamber eIoni - 5 -29.4 cm 1.87 cm 1.73 m 1.61 MeV 30.4 keV 99.8 mum 6.91 mm trkChamber eBrem - 6 -29.4 cm 1.8 cm 1.73 m 1.26 MeV 349 keV 1.02 mm 7.93 mm trkChamber eIoni - 7 -29.4 cm 1.75 cm 1.73 m 903 keV 360 keV 846 mum 8.77 mm trkChamber eIoni - 8 -29.5 cm 1.79 cm 1.73 m 647 keV 255 keV 662 mum 9.44 mm trkChamber eIoni - 9 -29.5 cm 1.75 cm 1.73 m 461 keV 186 keV 528 mum 9.96 mm trkChamber eIoni - 10 -29.4 cm 1.76 cm 1.73 m 252 keV 210 keV 426 mum 1.04 cm trkChamber eIoni - 11 -29.4 cm 1.75 cm 1.73 m 93.2 keV 159 keV 277 mum 1.07 cm trkChamber eIoni - 12 -29.4 cm 1.75 cm 1.73 m 0 eV 93.2 keV 61.2 mum 1.07 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 58 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.4 cm 1.87 cm 1.73 m 15.4 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -29.5 cm 1.81 cm 1.73 m 15.4 keV 15.4 keV 940 mum 940 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 58 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.3 cm 2.02 cm 1.72 m 56.3 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -29.4 cm 2.01 cm 1.73 m 56.3 keV 56.3 keV 4.39 mm 4.39 mm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.61 cm -1.77 cm 95.7 cm 554 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.68 cm -1.76 cm 96 cm 184 keV 370 keV 3.24 mm 3.24 mm trkChamber compt - 2 -4.89 cm -2.93 cm 93.8 cm 114 keV 69.5 keV 2.49 cm 2.81 cm trkChamber compt - 3 -5.13 cm -638 mum 94.7 cm 113 keV 1.68 keV 3 cm 5.81 cm trkChamber compt - 4 -5.15 cm 173 mum 94.7 cm 108 keV 4.93 keV 834 mum 5.89 cm trkChamber compt - 5 -5.13 cm 550 mum 94.6 cm 87.9 keV 19.9 keV 427 mum 5.94 cm trkChamber compt - 6 -7.28 cm 1.13 cm 95.9 cm 65.8 keV 22.1 keV 2.69 cm 8.62 cm trkChamber compt - 7 -5.79 cm 8.97 mm 95.4 cm 65.8 keV 65.8 keV 1.58 cm 10.2 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.57 cm -1.76 cm 95.5 cm 691 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.07 cm -1.87 cm 98 cm 620 keV 70.9 keV 2.49 cm 2.49 cm trkChamber compt - 2 -5.59 cm -4.06 cm 1.02 m 620 keV 0 eV 5.05 cm 7.54 cm TrackerTransportation - 3 -12.4 cm -33.1 cm 1.62 m 620 keV 0 eV 67 cm 74.6 cm trkChamberTransportation - 4 -12.4 cm -33.3 cm 1.63 m 391 keV 230 keV 2.93 mm 74.9 cm trkChamber compt - 5 -15.7 cm -32.6 cm 1.65 m 220 keV 171 keV 4.06 cm 78.9 cm trkChamber compt - 6 -16 cm -30.1 cm 1.64 m 165 keV 54.3 keV 2.73 cm 81.6 cm trkChamber compt - 7 -16.2 cm -30.5 cm 1.62 m 165 keV 0 eV 1.43 cm 83.1 cm TrackerTransportation - 8 -43.1 cm -66.5 cm 2.5 cm 165 keV 0 eV 1.66 m 2.49 m WorldPVTransportation - 9 -1.7 m -2.36 m -7.5 m 165 keV 0 eV 7.82 m 10.3 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.5 cm -1.75 cm 95.2 cm 261 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -6 cm -2.14 cm 1.02 m 261 keV 0 eV 7.42 cm 7.42 cm TrackerTransportation - 2 -18.4 cm -5.35 cm 1.62 m 261 keV 0 eV 61.4 cm 68.8 cm trkChamberTransportation - 3 -18.5 cm -5.36 cm 1.63 m 185 keV 76.3 keV 1.92 mm 69 cm trkChamber compt - 4 -20 cm -5.43 cm 1.63 m 109 keV 75.7 keV 1.55 cm 70.5 cm trkChamber compt - 5 -19.3 cm -5.37 cm 1.63 m 109 keV 109 keV 8.18 mm 71.3 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.26 cm -1.61 cm 94.1 cm 30.3 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.97 cm -2.17 cm 99.5 cm 10.3 MeV 0 eV 5.45 cm 5.45 cm trkChamber compt - 2 -5.09 cm -2.29 cm 99.8 cm 0 eV 0 eV 4.14 mm 5.86 cm trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 66, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.09 cm -2.29 cm 99.8 cm 7.34 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.22 cm -2.31 cm 1 m 6.09 MeV 1.26 MeV 3.93 mm 3.93 mm trkChamber eIoni - 2 -5.01 cm -2.42 cm 1 m 4.93 MeV 1.16 MeV 3.31 mm 7.24 mm trkChamber eIoni - 3 -4.95 cm -2.46 cm 1.01 m 3.83 MeV 1.1 MeV 2.73 mm 9.97 mm trkChamber eIoni - 4 -4.76 cm -2.38 cm 1.01 m 2.92 MeV 909 keV 2.17 mm 1.21 cm trkChamber eIoni - 5 -4.68 cm -2.45 cm 1.01 m 1.83 MeV 1.09 MeV 1.71 mm 1.38 cm trkChamber eIoni - 6 -4.6 cm -2.52 cm 1.01 m 1.4 MeV 433 keV 1.15 mm 1.5 cm trkChamber eIoni - 7 -4.58 cm -2.52 cm 1.01 m 932 keV 468 keV 924 mum 1.59 cm trkChamber eIoni - 8 -4.56 cm -2.49 cm 1.01 m 129 keV 803 keV 679 mum 1.66 cm trkChamber eIoni - 9 -4.55 cm -2.5 cm 1.01 m 0 eV 129 keV 99.6 mum 1.67 cm trkChamber eIoni - 10 -4.55 cm -2.5 cm 1.01 m 0 eV 0 eV 0 fm 1.67 cm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.55 cm -2.5 cm 1.01 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.3 cm -2.46 cm 1.01 m 181 keV 330 keV 2.67 mm 2.67 mm trkChamber compt - 2 -4.48 cm -2.63 cm 1.01 m 176 keV 4.84 keV 2.78 mm 5.45 mm trkChamber compt - 3 -5.22 cm -4.07 cm 99.2 cm 146 keV 30.6 keV 2.38 cm 2.93 cm trkChamber compt - 4 -8.12 cm -4.27 cm 99.1 cm 102 keV 43.6 keV 2.91 cm 5.84 cm trkChamber compt - 5 -8.05 cm -4.27 cm 99 cm 79.5 keV 22.7 keV 1.16 mm 5.95 cm trkChamber compt - 6 -8.36 cm -4.89 cm 99.2 cm 79.5 keV 79.5 keV 7.16 mm 6.67 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.55 cm -2.5 cm 1.01 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.6 cm -2.65 cm 1.01 m 260 keV 251 keV 1.11 cm 1.11 cm trkChamber compt - 2 -5.46 cm -3.61 cm 1.01 m 204 keV 55.8 keV 9.76 mm 2.09 cm trkChamber compt - 3 -5.39 cm -3.67 cm 1 m 143 keV 61.2 keV 1.9 mm 2.28 cm trkChamber compt - 4 -7.89 cm -4.62 cm 99.8 cm 97.5 keV 45.8 keV 2.74 cm 5.02 cm trkChamber compt - 5 -5.47 cm -5.32 cm 99 cm 77.5 keV 20 keV 2.65 cm 7.67 cm trkChamber compt - 6 -5.79 cm -5.51 cm 98.7 cm 60.1 keV 17.5 keV 4.55 mm 8.12 cm trkChamber compt - 7 -4.83 cm -4.84 cm 1.01 m 58.1 keV 1.97 keV 2.21 cm 10.3 cm trkChamber compt - 8 -4.33 cm -4.23 cm 1.01 m 58.1 keV 58.1 keV 8.18 mm 11.1 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.09 cm -2.29 cm 99.8 cm 1.91 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.1 cm -2.28 cm 100 cm 1.46 MeV 444 keV 1.17 mm 1.17 mm trkChamber eIoni - 2 -5.09 cm -2.31 cm 1 m 1.16 MeV 298 keV 946 mum 2.11 mm trkChamber eIoni - 3 -5.13 cm -2.33 cm 100 cm 928 keV 235 keV 795 mum 2.91 mm trkChamber eIoni - 4 -5.18 cm -2.29 cm 100 cm 714 keV 214 keV 675 mum 3.59 mm trkChamber eIoni - 5 -5.15 cm -2.25 cm 99.9 cm 524 keV 190 keV 563 mum 4.15 mm trkChamber eIoni - 6 -5.14 cm -2.22 cm 99.9 cm 352 keV 172 keV 461 mum 4.61 mm trkChamber eIoni - 7 -5.14 cm -2.23 cm 100 cm 194 keV 158 keV 358 mum 4.97 mm trkChamber eIoni - 8 -5.13 cm -2.22 cm 100 cm 0 eV 194 keV 203 mum 5.17 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.97 cm -2.17 cm 99.5 cm 20 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.14 cm -2.33 cm 1 m 15 MeV 5 MeV 1 cm 1 cm trkChamber eIoni - 2 -4.95 cm -2.34 cm 1.01 m 12.9 MeV 2.06 MeV 5.98 mm 1.6 cm trkChamber eBrem - 3 -5.04 cm -2.45 cm 1.02 m 10.6 MeV 2.28 MeV 6.56 mm 2.26 cm trkChamber eIoni - 4 -5.02 cm -2.4 cm 1.02 m 8.67 MeV 1.97 MeV 5.45 mm 2.8 cm trkChamber eIoni - 5 -4.9 cm -2.31 cm 1.02 m 7.34 MeV 1.33 MeV 3.7 mm 3.17 cm TrackerTransportation - 6 -2.2 cm -4.69 cm 1.08 m 7.33 MeV 7.39 keV 6.89 cm 10.1 cm Tracker eIoni - 7 -1.78 cm -5.07 cm 1.09 m 7.32 MeV 3.82 keV 1.17 cm 11.2 cm Tracker eIoni - 8 3.92 cm -8.96 cm 1.22 m 7.29 MeV 25.1 keV 14.6 cm 25.8 cm Tracker eIoni - 9 4.05 cm -9.04 cm 1.23 m 7.28 MeV 923 eV 3.51 mm 26.1 cm Tracker eIoni - 10 20.8 cm -20.4 cm 1.62 m 7.21 MeV 73.3 keV 44.9 cm 71 cm trkChamberTransportation - 11 20.9 cm -20.4 cm 1.63 m 5.68 MeV 1.53 MeV 3.78 mm 71.4 cm trkChamber eIoni - 12 21 cm -20.5 cm 1.63 m 4.69 MeV 986 keV 3.03 mm 71.7 cm trkChamber eIoni - 13 21.1 cm -20.6 cm 1.63 m 3.58 MeV 1.11 MeV 2.55 mm 72 cm trkChamber eIoni - 14 21.1 cm -20.6 cm 1.64 m 2.71 MeV 876 keV 2 mm 72.2 cm trkChamber eIoni - 15 21.1 cm -20.7 cm 1.64 m 1.96 MeV 750 keV 1.57 mm 72.3 cm trkChamber eIoni - 16 21.2 cm -20.8 cm 1.64 m 1.38 MeV 578 keV 1.19 mm 72.4 cm trkChamber eIoni - 17 21.2 cm -20.9 cm 1.64 m 1.03 MeV 346 keV 904 mum 72.5 cm trkChamber eIoni - 18 21.2 cm -20.9 cm 1.64 m 784 keV 248 keV 728 mum 72.6 cm trkChamber eIoni - 19 21.2 cm -20.9 cm 1.64 m 589 keV 195 keV 600 mum 72.7 cm trkChamber eIoni - 20 21.3 cm -20.8 cm 1.64 m 426 keV 163 keV 497 mum 72.7 cm trkChamber eIoni - 21 21.3 cm -20.9 cm 1.64 m 241 keV 185 keV 405 mum 72.7 cm trkChamber eIoni - 22 21.3 cm -20.9 cm 1.64 m 14.7 keV 226 keV 265 mum 72.8 cm trkChamber eIoni - 23 21.3 cm -20.9 cm 1.64 m 0 eV 14.7 keV 2.54 mum 72.8 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.05 cm -9.04 cm 1.23 m 6.1 keV 0 eV 0 fm 0 fm Tracker initStep - 1 4.06 cm -9 cm 1.23 m 4.12 keV 1.97 keV 501 mum 501 mum Tracker eIoni - 2 4.04 cm -8.97 cm 1.23 m 2.16 keV 1.96 keV 366 mum 868 mum Tracker eIoni - 3 4.03 cm -8.97 cm 1.23 m 0 eV 2.16 keV 183 mum 1.05 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.92 cm -8.96 cm 1.22 m 1.95 keV 0 eV 0 fm 0 fm Tracker initStep - 1 3.91 cm -8.96 cm 1.22 m 0 eV 1.95 keV 157 mum 157 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.78 cm -5.07 cm 1.09 m 3.96 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.79 cm -5.09 cm 1.09 m 2.29 keV 1.66 keV 354 mum 354 mum Tracker eIoni - 2 -1.79 cm -5.1 cm 1.09 m 0 eV 2.29 keV 201 mum 555 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.2 cm -4.69 cm 1.08 m 5.11 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.17 cm -4.72 cm 1.08 m 3.56 keV 1.55 keV 433 mum 433 mum Tracker eIoni - 2 -2.2 cm -4.72 cm 1.08 m 836 eV 2.72 keV 326 mum 759 mum Tracker eIoni - 3 -2.19 cm -4.72 cm 1.08 m 0 eV 836 eV 49 mum 808 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.95 cm -2.34 cm 1.01 m 67 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.87 cm -2.45 cm 1.02 m 67 keV 0 eV 1.5 cm 1.5 cm TrackerTransportation - 2 -1.49 cm -6.78 cm 1.62 m 67 keV 0 eV 60.3 cm 61.8 cm trkChamberTransportation - 3 -1.24 cm -7.09 cm 1.67 m 61.8 keV 5.24 keV 4.31 cm 66.1 cm trkChamber compt - 4 -1.71 cm -7.82 cm 1.67 m 61.8 keV 61.8 keV 9.16 mm 67 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.24 cm -1.59 cm 93.9 cm 675 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.29 cm -1.95 cm 1 m 491 keV 184 keV 6.41 cm 6.41 cm trkChamber compt - 2 -5.26 cm -1.97 cm 1 m 360 keV 131 keV 622 mum 6.47 cm trkChamber compt - 3 -4.54 cm -1.18 cm 1.01 m 350 keV 10.2 keV 1.33 cm 7.8 cm trkChamber compt - 4 -4.48 cm -1.15 cm 1.01 m 261 keV 88.7 keV 855 mum 7.89 cm trkChamber compt - 5 -4.92 cm 1.42 cm 1.02 m 261 keV 0 eV 2.93 cm 10.8 cm TrackerTransportation - 6 -46.7 cm 2.5 m 2.33 m 261 keV 0 eV 2.84 m 2.95 m WorldPVTransportation - 7 -1.31 m 7.5 m 4.95 m 261 keV 0 eV 5.71 m 8.65 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.96 cm -1.17 cm 92 cm 319 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.83 cm -2.02 cm 97.5 cm 171 keV 149 keV 5.63 cm 5.63 cm trkChamber compt - 2 -4.32 cm -1.94 cm 97.3 cm 121 keV 50.1 keV 5.27 mm 6.16 cm trkChamber compt - 3 -5.03 cm -1.65 cm 96.1 cm 96.6 keV 23.9 keV 1.46 cm 7.61 cm trkChamber compt - 4 -4.68 cm -1.6 cm 95.9 cm 95.7 keV 967 eV 3.93 mm 8.01 cm trkChamber compt - 5 -4 cm -1.74 cm 95.7 cm 95 keV 606 eV 7.37 mm 8.74 cm trkChamber compt - 6 -2.17 cm -2.54 cm 94.6 cm 80.9 keV 14.1 keV 2.29 cm 11 cm trkChamber compt - 7 -4.43 cm -5.13 cm 92.2 cm 80.9 keV 80.9 keV 4.16 cm 15.2 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.9 cm -1.06 cm 91.3 cm 4.75 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.07 cm -2.64 cm 1.02 m 4.75 MeV 0 eV 11.3 cm 11.3 cm TrackerTransportation - 2 -11.4 cm -11.2 cm 1.62 m 4.75 MeV 0 eV 60.9 cm 72.3 cm trkChamberTransportation - 3 -13.1 cm -13.5 cm 1.79 m 2.95 MeV 0 eV 16.4 cm 88.6 cm trkChamber compt - 4 -13.1 cm -15 cm 1.82 m 1.82 MeV 0 eV 3.31 cm 92 cm trkChamber compt - 5 -13.3 cm -15.1 cm 1.82 m 1.82 MeV 0 eV 9.81 mm 92.9 cm TrackerTransportation - 6 -27.6 cm -19.6 cm 2.42 m 1.82 MeV 0 eV 61.8 cm 1.55 m trkChamberTransportation - 7 -29.1 cm -20.1 cm 2.49 m 1.44 MeV 375 keV 6.35 cm 1.61 m trkChamber compt - 8 -33 cm -19.2 cm 2.55 m 1.4 MeV 43.8 keV 7.26 cm 1.68 m trkChamber compt - 9 -37.8 cm -19.4 cm 2.62 m 1.4 MeV 0 eV 9.17 cm 1.78 m TrackerTransportation - 10 -75.6 cm -21.4 cm 3.23 m 1.4 MeV 0 eV 70.9 cm 2.48 m trkChamberTransportation - 11 -77 cm -21.5 cm 3.25 m 479 keV 921 keV 2.71 cm 2.51 m trkChamber compt - 12 -76.4 cm -19.7 cm 3.26 m 396 keV 83.1 keV 2.22 cm 2.53 m trkChamber compt - 13 -75.8 cm -13 cm 3.26 m 366 keV 30.1 keV 6.78 cm 2.6 m trkChamber compt - 14 -75.7 cm -12.7 cm 3.26 m 291 keV 75.1 keV 3.36 mm 2.61 m trkChamber compt - 15 -76 cm -11.7 cm 3.25 m 138 keV 153 keV 1.12 cm 2.62 m trkChamber compt - 16 -74.8 cm -13.3 cm 3.26 m 101 keV 37.2 keV 2.08 cm 2.64 m trkChamber compt - 17 -75.2 cm -13.3 cm 3.26 m 72.3 keV 28.2 keV 4.79 mm 2.64 m trkChamber compt - 18 -75.1 cm -13.3 cm 3.26 m 72.3 keV 72.3 keV 589 mum 2.64 m trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 22 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13.1 cm -15 cm 1.82 m 1.14 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -13.1 cm -15.1 cm 1.82 m 864 keV 272 keV 781 mum 781 mumtrkChamber eIoni - 2 -13 cm -15.1 cm 1.82 m 635 keV 229 keV 642 mum 1.42 mm trkChamber eIoni - 3 -13 cm -15.1 cm 1.82 m 452 keV 183 keV 522 mum 1.94 mm trkChamber eIoni - 4 -13.1 cm -15.1 cm 1.82 m 259 keV 193 keV 421 mum 2.37 mm trkChamber eIoni - 5 -13.1 cm -15.1 cm 1.82 m 96.7 keV 162 keV 284 mum 2.65 mm trkChamber eIoni - 6 -13.1 cm -15.1 cm 1.82 m 0 eV 96.7 keV 65.3 mum 2.71 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 22 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13.1 cm -13.5 cm 1.79 m 1.79 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -13.1 cm -13.4 cm 1.79 m 1.46 MeV 338 keV 1.11 mm 1.11 mm trkChamber eIoni - 2 -13.1 cm -13.4 cm 1.79 m 1.11 MeV 347 keV 944 mum 2.06 mm trkChamber eIoni - 3 -13.1 cm -13.3 cm 1.79 m 833 keV 277 keV 768 mum 2.82 mm trkChamber eIoni - 4 -13.1 cm -13.2 cm 1.79 m 615 keV 217 keV 625 mum 3.45 mm trkChamber eIoni - 5 -13.1 cm -13.2 cm 1.79 m 300 keV 315 keV 511 mum 3.96 mm trkChamber eIoni - 6 -13.1 cm -13.2 cm 1.79 m 146 keV 154 keV 320 mum 4.28 mm trkChamber eIoni - 7 -13.1 cm -13.2 cm 1.79 m 0 eV 146 keV 129 mum 4.41 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.83 cm -9.22 mm 90.1 cm 153 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.84 cm -1.05 cm 91.1 cm 131 keV 22 keV 9.92 mm 9.92 mm trkChamber compt - 2 -3.78 cm -1.35 mm 91.7 cm 88.3 keV 42.5 keV 1.09 cm 2.08 cm trkChamber compt - 3 -3.76 cm -3.24 mm 91.7 cm 74.6 keV 13.7 keV 1.91 mm 2.27 cm trkChamber compt - 4 -4.38 cm -3.82 mm 92.3 cm 58.5 keV 16.1 keV 9.07 mm 3.18 cm trkChamber compt - 5 -4.18 cm -1.64 mm 91.8 cm 57 keV 1.52 keV 5.98 mm 3.78 cm trkChamber compt - 6 -4.44 cm -1.32 mm 90.8 cm 48.1 keV 8.9 keV 1.06 cm 4.84 cm trkChamber compt - 7 -4.14 cm -1.55 mm 90.9 cm 43.8 keV 4.31 keV 3.34 mm 5.17 cm trkChamber compt - 8 -3.9 cm 1.56 cm 90.5 cm 43.2 keV 572 eV 1.77 cm 6.95 cm trkChamber compt - 9 -3.84 cm 1.69 cm 90.6 cm 41.1 keV 2.13 keV 1.54 mm 7.1 cm trkChamber compt - 10 -4.07 cm 2.01 cm 90.5 cm 41.1 keV 41.1 keV 3.99 mm 7.5 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.79 cm -8.52 mm 89.5 cm 53.7 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.86 cm -1.03 cm 91 cm 53.7 keV 53.7 keV 1.51 cm 1.51 cm trkChamber phot + 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm WorldPV initStep + 1 -31.4 mum 1.22 mum -2.86 m 200 MeV 7.66 keV 4.79 cm 4.79 cm WorldPV eIoni + 2 -278 mum -212 mum -2.45 m 200 MeV 93.3 keV 41.2 cm 46 cm TargetPVTransportation + 3 -285 mum -201 mum -2.45 m 128 MeV 930 keV 682 mum 46.1 cm TargetPV eBrem + 4 -289 mum -209 mum -2.45 m 121 MeV 2.05 MeV 876 mum 46.2 cm TargetPV eBrem + 5 -270 mum -197 mum -2.45 m 117 MeV 706 keV 506 mum 46.2 cm TargetPV eBrem + 6 -282 mum -181 mum -2.45 m 115 MeV 1.45 MeV 985 mum 46.3 cm TargetPV eBrem + 7 -281 mum -182 mum -2.45 m 110 MeV 31.1 keV 24.6 mum 46.3 cm TargetPV eBrem + 8 -301 mum -345 mum -2.45 m 105 MeV 1.99 MeV 1.58 mm 46.5 cm TargetPV eBrem + 9 -324 mum -362 mum -2.44 m 102 MeV 3.24 MeV 2.23 mm 46.7 cm TargetPV eBrem + 10 -318 mum -364 mum -2.44 m 30 MeV 148 keV 129 mum 46.7 cm TargetPV eBrem + 11 -300 mum -371 mum -2.44 m 23.7 MeV 222 keV 183 mum 46.7 cm TargetPV eBrem + 12 -265 mum -378 mum -2.44 m 23.2 MeV 243 keV 207 mum 46.7 cm TargetPV eBrem + 13 -199 mum -282 mum -2.44 m 21.6 MeV 710 keV 537 mum 46.8 cm TargetPV eBrem + 14 22 mum -186 mum -2.44 m 18.6 MeV 1.63 MeV 1.37 mm 46.9 cm TargetPV eBrem + 15 -452 mum 786 mum -2.44 m 12.7 MeV 4.79 MeV 2.9 mm 47.2 cm TargetPV eBrem + 16 -394 mum 139 mum -2.44 m 8.42 MeV 790 keV 781 mum 47.3 cm TargetPV eBrem + 17 -393 mum 136 mum -2.44 m 6.4 MeV 3.84 keV 4.48 mum 47.3 cm TargetPV eBrem + 18 220 mum -777 mum -2.44 m 5.04 MeV 1.36 MeV 1.29 mm 47.4 cm TargetPV eIoni + 19 -449 mum -1.1 mm -2.44 m 3.9 MeV 1.14 MeV 1.09 mm 47.5 cm TargetPV eIoni + 20 -132 mum -1.17 mm -2.44 m 2.92 MeV 984 keV 921 mum 47.6 cm TargetPV eIoni + 21 -498 mum -771 mum -2.44 m 1.89 MeV 1.03 MeV 765 mum 47.7 cm TargetPV eIoni + 22 -772 mum -702 mum -2.44 m 820 keV 1.07 MeV 590 mum 47.8 cm TargetPV eIoni + 23 -855 mum -784 mum -2.44 m 296 keV 524 keV 376 mum 47.8 cm TargetPV eIoni + 24 -872 mum -791 mum -2.44 m 0 eV 296 keV 142 mum 47.8 cm TargetPV eIoni + 25 -872 mum -791 mum -2.44 m 0 eV 0 eV 0 fm 47.8 cm TargetPV annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.76 cm -7.58 mm 88.4 cm 20.7 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.76 cm -7.65 mm 88.5 cm 20.1 keV 687 eV 986 mum 986 mumtrkChamber compt - 2 -3.76 cm -7.7 mm 88.5 cm 20.1 keV 20.1 keV 47.9 mum 1.03 mm trkChamber phot + 0 -872 mum -791 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.23 mm -1.2 cm -2.44 m 0 eV 511 keV 1.28 cm 1.28 cm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.76 cm -6.63 mm 86.5 cm 1.17 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.57 cm -1.1 cm 90.6 cm 1.11 MeV 59.1 keV 4.08 cm 4.08 cm trkChamber compt - 2 -3.38 cm -1.43 cm 91.6 cm 300 keV 808 keV 1.15 cm 5.22 cm trkChamber compt - 3 -2.27 cm 7.13 mm 91.5 cm 192 keV 107 keV 2.42 cm 7.64 cm trkChamber compt - 4 1.49 cm -9.11 mm 92.7 cm 160 keV 32.7 keV 4.27 cm 11.9 cm trkChamber compt - 5 3.03 cm -6.39 mm 91.4 cm 160 keV 160 keV 2 cm 13.9 cm trkChamber phot + 0 -872 mum -791 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.5 mm 2.21 mm -2.44 m 205 keV 306 keV 3.41 mm 3.41 mm TargetPV compt + 2 -2.52 mm 1.73 mm -2.44 m 0 eV 205 keV 816 mum 4.23 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.79 cm -5.68 mm 85.7 cm 237 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.73 cm -8.22 mm 87.9 cm 225 keV 11.8 keV 2.26 cm 2.26 cm trkChamber compt - 2 -3.23 cm -3.76 mm 89.5 cm 213 keV 12.2 keV 1.67 cm 3.93 cm trkChamber compt - 3 -6.08 mm 2.74 cm 92.6 cm 198 keV 14.4 keV 5.11 cm 9.04 cm trkChamber compt - 4 -7.88 mm 4.81 cm 94.7 cm 176 keV 21.9 keV 3.01 cm 12.1 cm trkChamber compt - 5 5.2 mm 9.29 cm 95 cm 107 keV 69.5 keV 4.68 cm 16.7 cm trkChamber compt - 6 -6.9 cm 1.27 cm 92.6 cm 96.8 keV 10 keV 11.2 cm 27.9 cm trkChamber compt - 7 -8.98 cm 6.06 mm 87 cm 89.2 keV 7.6 keV 6.03 cm 33.9 cm trkChamber compt - 8 -9.03 cm 5.42 mm 87 cm 73.2 keV 16.1 keV 834 mum 34 cm trkChamber compt - 9 -5.95 cm 1.04 cm 83.7 cm 73.2 keV 73.2 keV 4.51 cm 38.5 cm trkChamber phot + 0 -393 mum 136 mum -2.44 m 2.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.1 cm -1.42 cm -2.42 m 586 keV 1.43 MeV 2.82 cm 2.82 cm TargetPV compt + 2 1.1 cm -1.43 cm -2.42 m 423 keV 163 keV 25.4 mum 2.83 cm TargetPV compt + 3 1.13 cm -1.52 cm -2.42 m 0 eV 423 keV 994 mum 2.93 cm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.81 cm -5.41 mm 85 cm 26.3 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.71 cm -1.12 cm 1.02 m 26.3 MeV 0 eV 17.5 cm 17.5 cm TrackerTransportation - 2 -3.39 cm -3.11 cm 1.62 m 26.3 MeV 0 eV 60 cm 77.6 cm trkChamberTransportation - 3 -3.28 cm -3.78 cm 1.82 m 26.3 MeV 0 eV 20 cm 97.6 cm TrackerTransportation - 4 -2.95 cm -5.77 cm 2.42 m 26.3 MeV 0 eV 60 cm 1.58 m trkChamberTransportation - 5 -2.84 cm -6.43 cm 2.62 m 26.3 MeV 0 eV 20 cm 1.78 m TrackerTransportation - 6 -2.52 cm -8.42 cm 3.23 m 26.3 MeV 0 eV 60 cm 2.38 m trkChamberTransportation - 7 -2.51 cm -8.45 cm 3.24 m 0 eV 0 eV 1.02 cm 2.39 m trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 77, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.51 cm -8.45 cm 3.24 m 7.39 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm -8.4 cm 3.24 m 6.35 MeV 1.03 MeV 3.24 mm 3.24 mm trkChamber eBrem - 2 -2.55 cm -8.58 cm 3.24 m 5.04 MeV 1.3 MeV 3.44 mm 6.68 mm trkChamber eIoni - 3 -2.52 cm -8.59 cm 3.24 m 4.08 MeV 970 keV 2.79 mm 9.46 mm trkChamber eIoni - 4 -2.55 cm -8.79 cm 3.25 m 2.76 MeV 1.31 MeV 2.3 mm 1.18 cm trkChamber eIoni - 5 -2.49 cm -8.83 cm 3.24 m 0 eV 330 keV 713 mum 1.25 cm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.49 cm -8.83 cm 3.24 m 1.18 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -8.53 mm -11.7 cm 3.23 m 1.18 MeV 0 eV 3.85 cm 3.85 cm TrackerTransportation - 2 48.7 cm -98 cm 2.62 m 1.18 MeV 0 eV 1.16 m 1.2 m trkChamberTransportation - 3 51.5 cm -1.03 m 2.59 m 374 keV 803 keV 6.58 cm 1.27 m trkChamber compt - 4 49.9 cm -1.07 m 2.62 m 374 keV 0 eV 5.33 cm 1.32 m TrackerTransportation - 5 -11.9 cm -2.5 m 3.91 m 374 keV 0 eV 2.02 m 3.34 m WorldPVTransportation - 6 -1.84 m -6.49 m 7.5 m 374 keV 0 eV 5.63 m 8.98 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.49 cm -8.83 cm 3.24 m 2.28 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 5.9 cm -20.3 cm 3.36 m 1.63 MeV 646 keV 18.3 cm 18.3 cm trkChamber compt - 2 6.23 cm -23.3 cm 3.4 m 460 keV 0 eV 4.73 cm 23 cm trkChamber compt - 3 5.72 cm -22.2 cm 3.41 m 187 keV 273 keV 1.81 cm 24.8 cm trkChamber compt - 4 5.45 cm -22.4 cm 3.41 m 176 keV 10.4 keV 5.17 mm 25.3 cm trkChamber compt - 5 3.38 cm -21.7 cm 3.39 m 119 keV 57.2 keV 2.87 cm 28.2 cm trkChamber compt - 6 4.77 cm -20.4 cm 3.39 m 101 keV 18 keV 1.86 cm 30 cm trkChamber compt - 7 4.41 cm -19.3 cm 3.37 m 74.3 keV 26.7 keV 1.96 cm 32 cm trkChamber compt - 8 8.41 cm -24.6 cm 3.4 m 65.9 keV 8.45 keV 7.05 cm 39 cm trkChamber compt - 9 12.5 cm -22.7 cm 3.39 m 65.7 keV 152 eV 4.59 cm 43.6 cm trkChamber compt - 10 14.7 cm -21.7 cm 3.39 m 55.2 keV 10.5 keV 2.45 cm 46.1 cm trkChamber compt - 11 14.5 cm -23.3 cm 3.38 m 51.3 keV 3.9 keV 1.72 cm 47.8 cm trkChamber compt - 12 13.1 cm -23.4 cm 3.37 m 51.3 keV 51.3 keV 1.72 cm 49.5 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 79 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 6.23 cm -23.3 cm 3.4 m 1.17 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 6.25 cm -23.4 cm 3.4 m 622 keV 552 keV 801 mum 801 mumtrkChamber eIoni - 2 6.22 cm -23.4 cm 3.4 m 432 keV 190 keV 515 mum 1.32 mm trkChamber eIoni - 3 6.25 cm -23.4 cm 3.4 m 239 keV 193 keV 409 mum 1.72 mm trkChamber eIoni - 4 6.26 cm -23.3 cm 3.4 m 54.1 keV 185 keV 264 mum 1.99 mm trkChamber eIoni - 5 6.26 cm -23.3 cm 3.4 m 0 eV 54.1 keV 24.2 mum 2.01 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.49 cm -8.4 cm 3.24 m 11.7 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm -8.41 cm 3.24 m 11.7 keV 11.7 keV 74.1 mum 74.1 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.51 cm -8.45 cm 3.24 m 17.9 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.52 cm -8.39 cm 3.24 m 15.7 MeV 2.2 MeV 5.24 mm 5.24 mm trkChamber eBrem - 2 -2.65 cm -8.53 cm 3.25 m 12.6 MeV 3.1 MeV 7.89 mm 1.31 cm trkChamber eIoni - 3 -2.7 cm -8.53 cm 3.25 m 11.8 MeV 711 keV 1.98 mm 1.51 cm trkChamber eBrem - 4 -2.77 cm -8.52 cm 3.25 m 10.2 MeV 1.58 MeV 3.31 mm 1.84 cm trkChamber eBrem - 5 -2.85 cm -8.49 cm 3.25 m 7.76 MeV 675 keV 1.62 mm 2.01 cm trkChamber eBrem - 6 -2.98 cm -8.31 cm 3.26 m 5.99 MeV 1.77 MeV 4.05 mm 2.41 cm trkChamber eIoni - 7 -3.09 cm -8.25 cm 3.26 m 3.94 MeV 2.05 MeV 3.19 mm 2.73 cm trkChamber eIoni - 8 -3.24 cm -8.26 cm 3.26 m 1.6 MeV 2.34 MeV 2.17 mm 2.95 cm trkChamber eIoni - 9 -3.28 cm -8.29 cm 3.26 m 1.28 MeV 323 keV 1.02 mm 3.05 cm trkChamber eIoni - 10 -3.32 cm -8.33 cm 3.26 m 989 keV 290 keV 854 mum 3.13 cm trkChamber eIoni - 11 -3.31 cm -8.34 cm 3.26 m 724 keV 264 keV 706 mum 3.2 cm trkChamber eIoni - 12 -3.27 cm -8.33 cm 3.26 m 527 keV 198 keV 569 mum 3.26 cm trkChamber eIoni - 13 -3.23 cm -8.32 cm 3.26 m 357 keV 169 keV 463 mum 3.31 cm trkChamber eIoni - 14 -3.23 cm -8.29 cm 3.26 m 138 keV 219 keV 361 mum 3.34 cm trkChamber eIoni - 15 -3.24 cm -8.28 cm 3.26 m 0 eV 138 keV 117 mum 3.36 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 cm -8.49 cm 3.25 m 1.8 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.95 cm -8.42 cm 3.26 m 756 keV 0 eV 2.69 mm 2.69 mm trkChamber compt - 2 -6.38 cm -1.63 cm 3.27 m 694 keV 62.4 keV 7.8 cm 8.07 cm trkChamber compt - 3 -6.57 cm -1.93 mm 3.28 m 213 keV 481 keV 1.56 cm 9.63 cm trkChamber compt - 4 -7.93 cm -2.7 cm 3.29 m 118 keV 94.2 keV 2.9 cm 12.5 cm trkChamber compt - 5 -6.59 cm 3.49 mm 3.29 m 94.1 keV 24.2 keV 3.41 cm 15.9 cm trkChamber compt - 6 -4.66 cm -5.64 mm 3.28 m 94.1 keV 94.1 keV 2.36 cm 18.3 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 85 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.95 cm -8.42 cm 3.26 m 1.04 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.97 cm -8.39 cm 3.26 m 807 keV 237 keV 735 mum 735 mumtrkChamber eIoni - 2 -3.01 cm -8.39 cm 3.26 m 579 keV 228 keV 612 mum 1.35 mm trkChamber eIoni - 3 -3.02 cm -8.43 cm 3.26 m 406 keV 173 keV 491 mum 1.84 mm trkChamber eIoni - 4 -3.02 cm -8.43 cm 3.26 m 247 keV 160 keV 393 mum 2.23 mm trkChamber eIoni - 5 -3.04 cm -8.44 cm 3.26 m 49.9 keV 197 keV 272 mum 2.5 mm trkChamber eIoni - 6 -3.04 cm -8.44 cm 3.26 m 0 eV 49.9 keV 21.1 mum 2.52 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.77 cm -8.52 cm 3.25 m 19 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.78 cm -8.52 cm 3.25 m 19 keV 19 keV 278 mum 278 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.7 cm -8.53 cm 3.25 m 12.1 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.7 cm -8.53 cm 3.25 m 12.1 keV 12.1 keV 3.62 mum 3.62 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.52 cm -8.39 cm 3.24 m 82.4 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.91 cm -8.27 cm 3.27 m 82.4 keV 82.4 keV 3.04 cm 3.04 cm trkChamber phot + 0 -394 mum 139 mum -2.44 m 3.51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.91 mm -1.56 cm -2.42 m 3.22 MeV 287 keV 2.36 cm 2.36 cm TargetPV compt + 2 7.52 mm -2.5 cm -2.41 m 3.22 MeV 0 eV 1.2 cm 3.56 cm WorldPVTransportation + 3 1.27 cm -4.34 cm -2.4 m 3.22 MeV 0 eV 2.37 cm 5.93 cm TrackerTransportation + 4 67 cm -2.4 m -61.3 cm 3.22 MeV 0 eV 3.03 m 3.09 m WorldPVTransportation + 5 81.2 cm -2.91 m -22.6 cm 3.22 MeV 0 eV 65.6 cm 3.74 m OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.82 cm -5.14 mm 83.9 cm 11.8 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.93 cm -1.2 cm 1.02 m 11.8 MeV 0 eV 18.6 cm 18.6 cm TrackerTransportation - 2 -4.29 cm -3.41 cm 1.62 m 11.8 MeV 0 eV 60 cm 78.7 cm trkChamberTransportation - 3 -4.35 cm -3.84 cm 1.74 m 0 eV 0 eV 11.6 cm 90.3 cm trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 88, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.35 cm -3.84 cm 1.74 m 3.45 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.28 cm -3.82 cm 1.74 m 2.78 MeV 673 keV 1.98 mm 1.98 mm trkChamber eIoni - 2 -4.3 cm -3.91 cm 1.74 m 1.83 MeV 950 keV 1.64 mm 3.62 mm trkChamber eIoni - 3 -4.3 cm -3.94 cm 1.75 m 1.46 MeV 370 keV 1.15 mm 4.77 mm trkChamber eIoni - 4 -4.31 cm -3.92 cm 1.75 m 1.18 MeV 284 keV 956 mum 5.73 mm trkChamber eIoni - 5 -4.32 cm -3.95 cm 1.75 m 875 keV 302 keV 808 mum 6.53 mm trkChamber eIoni - 6 -4.36 cm -3.94 cm 1.75 m 472 keV 403 keV 649 mum 7.18 mm trkChamber eIoni - 7 -4.34 cm -3.93 cm 1.75 m 306 keV 166 keV 430 mum 7.61 mm trkChamber eIoni - 8 -4.35 cm -3.94 cm 1.75 m 156 keV 150 keV 321 mum 7.93 mm trkChamber eIoni - 9 -4.35 cm -3.93 cm 1.75 m 0 eV 156 keV 137 mum 8.07 mm trkChamber eIoni - 10 -4.35 cm -3.93 cm 1.75 m 0 eV 0 eV 0 fm 8.07 mm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.35 cm -3.93 cm 1.75 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -7.3 mm -2.48 cm 1.69 m 455 keV 55.5 keV 6.85 cm 6.85 cm trkChamber compt - 2 9.62 mm 1.88 cm 1.64 m 171 keV 284 keV 7.24 cm 14.1 cm trkChamber compt - 3 4.1 mm 1.05 cm 1.64 m 139 keV 31.7 keV 1.07 cm 15.2 cm trkChamber compt - 4 -3.45 mm 1.4 cm 1.65 m 132 keV 7.56 keV 1 cm 16.2 cm trkChamber compt - 5 -1.21 cm 2 cm 1.65 m 125 keV 6.75 keV 1.06 cm 17.2 cm trkChamber compt - 6 -8.79 cm 1.84 cm 1.62 m 125 keV 0 eV 7.86 cm 25.1 cm TrackerTransportation - 7 -2.5 m -3.4 cm 96.8 cm 125 keV 0 eV 2.5 m 2.75 m WorldPVTransportation - 8 -7.5 m -14.3 cm -39.4 cm 125 keV 0 eV 5.18 m 7.93 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.35 cm -3.93 cm 1.75 m 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.61 cm -4.04 cm 1.75 m 346 keV 165 keV 4.76 mm 4.76 mm trkChamber compt - 2 -5.19 cm -3.76 cm 1.75 m 187 keV 159 keV 6.56 mm 1.13 cm trkChamber compt - 3 -3.9 cm -2.08 cm 1.75 m 167 keV 20.3 keV 2.23 cm 3.36 cm trkChamber compt - 4 -4.29 cm 1.95 cm 1.75 m 114 keV 53 keV 4.06 cm 7.42 cm trkChamber compt - 5 -3.35 cm 4.18 mm 1.78 m 82.7 keV 31.5 keV 3.43 cm 10.8 cm trkChamber compt - 6 -3.95 cm 4.12 mm 1.77 m 70.2 keV 12.4 keV 7.32 mm 11.6 cm trkChamber compt - 7 -3.99 cm 8.43 mm 1.77 m 57.8 keV 12.4 keV 4.51 mm 12 cm trkChamber compt - 8 -3.56 cm -1.8 mm 1.78 m 54.6 keV 3.22 keV 1.38 cm 13.4 cm trkChamber compt - 9 -3.13 cm -1.4 mm 1.78 m 54.6 keV 54.6 keV 4.86 mm 13.9 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.35 cm -3.84 cm 1.74 m 7.28 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.33 cm -3.98 cm 1.74 m 5.88 MeV 1.39 MeV 3.81 mm 3.81 mm trkChamber eIoni - 2 -4.51 cm -4.01 cm 1.75 m 4.84 MeV 1.04 MeV 3.13 mm 6.94 mm trkChamber eIoni - 3 -4.56 cm -4.08 cm 1.75 m 3.71 MeV 1.13 MeV 2.62 mm 9.57 mm trkChamber eIoni - 4 -4.62 cm -3.91 cm 1.75 m 2.81 MeV 902 keV 2.06 mm 1.16 cm trkChamber eIoni - 5 -4.76 cm -3.84 cm 1.75 m 2.23 MeV 579 keV 1.61 mm 1.32 cm trkChamber eIoni - 6 -4.8 cm -3.82 cm 1.75 m 1.72 MeV 510 keV 1.33 mm 1.46 cm trkChamber eIoni - 7 -4.86 cm -3.8 cm 1.75 m 1.27 MeV 445 keV 1.07 mm 1.56 cm trkChamber eIoni - 8 -4.86 cm -3.88 cm 1.75 m 964 keV 308 keV 851 mum 1.65 cm trkChamber eIoni - 9 -4.84 cm -3.92 cm 1.75 m 748 keV 216 keV 693 mum 1.72 cm trkChamber eIoni - 10 -4.84 cm -3.97 cm 1.75 m 572 keV 176 keV 581 mum 1.78 cm trkChamber eIoni - 11 -4.84 cm -4 cm 1.75 m 397 keV 175 keV 487 mum 1.83 cm trkChamber eIoni - 12 -4.82 cm -4 cm 1.75 m 206 keV 191 keV 387 mum 1.86 cm trkChamber eIoni - 13 -4.82 cm -4.01 cm 1.75 m 0 eV 206 keV 222 mum 1.89 cm trkChamber eIoni + 0 -452 mum 786 mum -2.44 m 1.05 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -891 mum -921 mum -2.44 m 383 keV 669 keV 2.13 mm 2.13 mm TargetPV compt + 2 -2.73 mm 2.29 mm -2.43 m 0 eV 383 keV 6.83 mm 8.96 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.82 cm -5.08 mm 83.7 cm 19.4 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.82 cm -5.13 mm 83.8 cm 19.4 keV 19.4 keV 1.09 mm 1.09 mm trkChamber phot + 0 22 mum -186 mum -2.44 m 1.44 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 560 mum 463 mum -2.44 m 831 keV 611 keV 3.57 mm 3.57 mm TargetPV compt + 2 1.06 mm 757 mum -2.44 m 0 eV 831 keV 707 mum 4.28 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.82 cm -5.06 mm 83.6 cm 165 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.89 cm -6.45 mm 89.7 cm 102 keV 62.7 keV 6.15 cm 6.15 cm trkChamber compt - 2 -3.61 cm -2.8 cm 85.2 cm 102 keV 231 eV 5.03 cm 11.2 cm trkChamber compt - 3 -3.61 cm -3.5 cm 84.1 cm 79.8 keV 22.5 keV 1.28 cm 12.5 cm trkChamber compt - 4 -2.25 cm -2.76 cm 84.4 cm 79.4 keV 347 eV 1.57 cm 14 cm trkChamber compt - 5 -2.02 cm -2.6 cm 84.5 cm 71.7 keV 7.74 keV 2.96 mm 14.3 cm trkChamber compt - 6 -1.1 cm -3.79 cm 85.9 cm 58.6 keV 13.1 keV 2.05 cm 16.4 cm trkChamber compt - 7 -1.22 cm -3.61 cm 85.9 cm 54 keV 4.6 keV 2.21 mm 16.6 cm trkChamber compt - 8 -3.74 mm -2.68 cm 86.5 cm 45.6 keV 8.34 keV 1.39 cm 18 cm trkChamber compt - 9 -3.77 mm -2.89 cm 86.2 cm 45.6 keV 45.6 keV 3.62 mm 18.4 cm trkChamber phot + 0 -199 mum -282 mum -2.44 m 866 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.84 mm 2.09 mm -2.43 m 0 eV 866 keV 8.27 mm 8.27 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.83 cm -4.92 mm 83.2 cm 90 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.81 cm -6.92 mm 90.8 cm 84.7 keV 5.24 keV 7.66 cm 7.66 cm trkChamber compt - 2 -3.22 cm 605 mum 91.7 cm 84.7 keV 84.7 keV 1.28 cm 8.94 cm trkChamber phot + 0 -265 mum -378 mum -2.44 m 286 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -207 mum -336 mum -2.44 m 188 keV 98.2 keV 545 mum 545 mum TargetPV compt + 2 -74.3 mum -79.7 mum -2.44 m 0 eV 188 keV 289 mum 834 mum TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.82 cm -4.91 mm 82.8 cm 20.3 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.97 cm -4.84 mm 88.6 cm 0 eV 0 eV 5.83 cm 5.83 cm trkChamber conv + 0 -300 mum -371 mum -2.44 m 6.01 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.39 mm -1.09 mm -2.42 m 0 eV 4.99 MeV 1.91 cm 1.91 cm TargetPV conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 92, Parent ID = 11 +* G4Track Information: Particle = e+, Track ID = 20, Parent ID = 11 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.97 cm -4.84 mm 88.6 cm 17.9 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.03 cm -4.7 mm 88.9 cm 15.6 MeV 1.17 MeV 3.31 mm 3.31 mm trkChamber eIoni - 2 -4.02 cm -4.79 mm 89 cm 14.1 MeV 302 keV 1.02 mm 4.33 mm trkChamber eIoni - 3 -4.12 cm -4.5 mm 89.8 cm 11.3 MeV 2.74 MeV 7.24 mm 1.16 cm trkChamber eIoni - 4 -4.13 cm -3.45 mm 90 cm 10.1 MeV 810 keV 2.35 mm 1.39 cm trkChamber eBrem - 5 -4 cm -1.3 mm 90.4 cm 7.91 MeV 2.24 MeV 5.31 mm 1.92 cm trkChamber eIoni - 6 -3.96 cm 961 mum 90.8 cm 6.41 MeV 1.5 MeV 4.21 mm 2.34 cm trkChamber eIoni - 7 -4.04 cm 1.76 mm 91.1 cm 4.95 MeV 1.45 MeV 3.47 mm 2.69 cm trkChamber eIoni - 8 -3.93 cm 2.71 mm 91.3 cm 3.91 MeV 1.04 MeV 2.74 mm 2.96 cm trkChamber eIoni - 9 -3.98 cm 3.12 mm 91.5 cm 3.17 MeV 745 keV 2.22 mm 3.19 cm trkChamber eIoni - 10 -3.88 cm 4.47 mm 91.6 cm 2.62 MeV 552 keV 1.84 mm 3.37 cm trkChamber eIoni - 11 -3.87 cm 4.12 mm 91.7 cm 2.11 MeV 506 keV 1.56 mm 3.53 cm trkChamber eIoni - 12 -3.89 cm 3.48 mm 91.9 cm 1.65 MeV 458 keV 1.29 mm 3.66 cm trkChamber eIoni - 13 -3.94 cm 3.13 mm 91.9 cm 1.23 MeV 421 keV 1.06 mm 3.76 cm trkChamber eIoni - 14 -3.92 cm 3.52 mm 92 cm 839 keV 394 keV 837 mum 3.84 cm trkChamber eIoni - 15 -3.98 cm 3.67 mm 92 cm 633 keV 206 keV 630 mum 3.91 cm trkChamber eIoni - 16 -4.01 cm 3.99 mm 92 cm 211 keV 422 keV 520 mum 3.96 cm trkChamber eIoni - 17 -4.01 cm 3.89 mm 92 cm 39.9 keV 171 keV 223 mum 3.98 cm trkChamber eIoni - 18 -4.01 cm 3.88 mm 92 cm 0 eV 39.9 keV 13.1 mum 3.98 cm trkChamber eIoni - 19 -4.01 cm 3.88 mm 92 cm 0 eV 0 eV 0 fm 3.98 cm trkChamber annihil + 0 1.39 mm -1.09 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.39 mm -1.09 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 92 +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.01 cm 3.88 mm 92 cm 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.68 cm 1.15 cm 91 cm 192 keV 319 keV 1.27 cm 1.27 cm trkChamber compt - 2 -6.36 cm 6.32 mm 92.4 cm 192 keV 192 keV 3.04 cm 4.32 cm trkChamber phot + 0 1.39 mm -1.09 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.05 mm -2.57 mm -2.42 m 0 eV 511 keV 2.72 mm 2.72 mm TargetPV phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 92 +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.01 cm 3.88 mm 92 cm 511 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.56 cm -8.7 mm 93.6 cm 491 keV 19.7 keV 2.1 cm 2.1 cm trkChamber compt - 2 -9.29 cm -8.23 cm 99.6 cm 259 keV 233 keV 10.6 cm 12.7 cm trkChamber compt - 3 -9.36 cm -8.58 cm 99.1 cm 195 keV 63.4 keV 5.56 mm 13.2 cm trkChamber compt - 4 -9.19 cm -8.82 cm 99.2 cm 182 keV 13.7 keV 2.86 mm 13.5 cm trkChamber compt - 5 -8.79 cm -17.2 cm 97.7 cm 138 keV 44 keV 8.48 cm 22 cm trkChamber compt - 6 -7.95 cm -17.6 cm 99.2 cm 114 keV 23.5 keV 1.79 cm 23.8 cm trkChamber compt - 7 -11.2 cm -17.2 cm 1.02 m 89.7 keV 24.6 keV 4.5 cm 28.3 cm trkChamber compt - 8 -11.2 cm -17.4 cm 1.02 m 74.9 keV 14.8 keV 1.29 mm 28.4 cm trkChamber compt - 9 -11.6 cm -17.3 cm 1.02 m 74.9 keV 74.9 keV 9.37 mm 29.4 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 92 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.13 cm -3.45 mm 90 cm 381 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.16 cm -1.72 mm 90.2 cm 193 keV 188 keV 3 mm 3 mm trkChamber compt - 2 -1.67 cm 4.02 mm 89 cm 185 keV 8.6 keV 2.81 cm 3.11 cm trkChamber compt - 3 2.33 cm -9.54 mm 86.4 cm 116 keV 68.4 keV 4.96 cm 8.07 cm trkChamber compt - 4 -2.57 cm -4.9 cm 89.2 cm 109 keV 6.88 keV 6.85 cm 14.9 cm trkChamber compt - 5 -3.75 cm -4.7 cm 89.8 cm 88.6 keV 20.9 keV 1.37 cm 16.3 cm trkChamber compt - 6 -3.84 cm -4.66 cm 89.6 cm 65.8 keV 22.8 keV 2.35 mm 16.5 cm trkChamber compt - 7 -2.81 cm -5.18 cm 91.6 cm 57.7 keV 8.14 keV 2.32 cm 18.8 cm trkChamber compt - 8 -4.32 cm 2.02 cm 93.4 cm 57.7 keV 57.7 keV 7.58 cm 26.4 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 92 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.02 cm -4.79 mm 89 cm 1.21 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.05 cm -5.31 mm 89.1 cm 903 keV 306 keV 819 mum 819 mumtrkChamber eIoni - 2 -4.08 cm -5.84 mm 89.1 cm 692 keV 211 keV 662 mum 1.48 mm trkChamber eIoni - 3 -4.1 cm -6.27 mm 89.1 cm 479 keV 212 keV 552 mum 2.03 mm trkChamber eIoni - 4 -4.1 cm -6.4 mm 89.2 cm 323 keV 156 keV 436 mum 2.47 mm trkChamber eIoni - 5 -4.11 cm -6.33 mm 89.1 cm 165 keV 157 keV 337 mum 2.8 mm trkChamber eIoni - 6 -4.11 cm -6.37 mm 89.1 cm 0 eV 165 keV 158 mum 2.96 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 92 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.03 cm -4.7 mm 88.9 cm 1.16 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -4.04 cm -5.28 mm 89 cm 518 keV 639 keV 792 mum 792 mumtrkChamber eIoni - 2 -4.05 cm -5.67 mm 89 cm 349 keV 169 keV 458 mum 1.25 mm trkChamber eIoni - 3 -4.02 cm -5.71 mm 89 cm 104 keV 245 keV 356 mum 1.61 mm trkChamber eIoni - 4 -4.02 cm -5.75 mm 89 cm 0 eV 104 keV 73.5 mum 1.68 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.97 cm -4.84 mm 88.6 cm 1.4 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.98 cm -5.24 mm 88.7 cm 212 keV 1.19 MeV 914 mum 914 mumtrkChamber eIoni - 2 -3.98 cm -5.34 mm 88.7 cm 18.5 keV 193 keV 230 mum 1.14 mm trkChamber eIoni - 3 -3.98 cm -5.34 mm 88.7 cm 0 eV 18.5 keV 3.79 mum 1.15 mm trkChamber eIoni + 0 1.39 mm -1.09 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 125 mum 1.7 mm -2.43 m 416 keV 94.7 keV 5.15 mm 5.15 mm TargetPV compt + 2 457 mum 2.97 mm -2.43 m 243 keV 174 keV 1.47 mm 6.62 mm TargetPV compt + 3 1.83 mm 2.05 mm -2.43 m 0 eV 243 keV 2.4 mm 9.02 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.81 cm -4.92 mm 82.5 cm 83.8 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.83 cm -4.95 mm 83.4 cm 74.9 keV 8.89 keV 9.19 mm 9.19 mm trkChamber compt - 2 -3.47 cm 9.39 mm 83.9 cm 58 keV 16.9 keV 1.54 cm 2.46 cm trkChamber compt - 3 -3.61 cm 4.18 mm 83.6 cm 57.7 keV 347 eV 6.07 mm 3.07 cm trkChamber compt - 4 -4.07 cm -6.48 mm 83.4 cm 57.7 keV 57.7 keV 1.18 cm 4.24 cm trkChamber phot + 0 -318 mum -364 mum -2.44 m 71.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -59.9 mum -353 mum -2.44 m 0 eV 1.03 MeV 4.54 mm 4.54 mm TargetPV conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 24, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.67 cm -4.54 mm 73.1 cm 1.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.68 cm -4.59 mm 73.1 cm 0 eV 1.3 keV 86.7 mum 86.7 mum Tracker eIoni + 0 -59.9 mum -353 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -59.9 mum -353 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 24 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.65 cm -4.47 mm 71.7 cm 1.74 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.64 cm -4.47 mm 71.7 cm 0 eV 1.74 keV 133 mum 133 mum Tracker eIoni + 0 -59.9 mum -353 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.78 mm -3.87 mm -2.43 m 0 eV 511 keV 7.17 mm 7.17 mm TargetPV phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 24 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.15 cm -2.42 mm 40.3 cm 19.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.95 cm -2.51 mm 40.3 cm 17.8 keV 1.9 keV 2.08 mm 2.08 mm Tracker eIoni - 2 -2.82 cm -3.33 mm 40.4 cm 16.2 keV 1.56 keV 1.78 mm 3.86 mm Tracker eIoni - 3 -2.67 cm -3.33 mm 40.4 cm 14.1 keV 2.16 keV 1.56 mm 5.42 mm Tracker eIoni - 4 -2.63 cm -4.43 mm 40.5 cm 10.9 keV 3.2 keV 1.27 mm 6.69 mm Tracker eIoni - 5 -2.6 cm -5.05 mm 40.4 cm 8.52 keV 2.34 keV 907 mum 7.59 mm Tracker eIoni - 6 -2.59 cm -5.12 mm 40.4 cm 7.38 keV 142 eV 121 mum 7.71 mm Tracker eIoni - 7 -2.55 cm -5.45 mm 40.4 cm 6.5 keV 876 eV 596 mum 8.31 mm Tracker eIoni - 8 -2.51 cm -5.71 mm 40.4 cm 5.73 keV 775 eV 530 mum 8.84 mm Tracker eIoni - 9 -2.48 cm -6.04 mm 40.4 cm 2.68 keV 3.05 keV 474 mum 9.31 mm Tracker eIoni - 10 -2.46 cm -5.98 mm 40.4 cm 716 eV 1.97 keV 248 mum 9.56 mm Tracker eIoni - 11 -2.46 cm -5.98 mm 40.4 cm 0 eV 716 eV 40.7 mum 9.6 mm Tracker eIoni + 0 -59.9 mum -353 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.68 mm 5.37 mm -2.45 m 176 keV 335 keV 1.17 cm 1.17 cm TargetPV compt + 2 -3.99 mm 420 mum -2.44 m 0 eV 176 keV 6.25 mm 1.79 cm TargetPV phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.59 cm -5.12 mm 40.4 cm 996 eV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.59 cm -5.1 mm 40.4 cm 0 eV 996 eV 61 mum 61 mum Tracker eIoni + 0 -59.9 mum -353 mum -2.44 m 69.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -30.3 mum -362 mum -2.44 m 67.4 MeV 476 keV 354 mum 354 mum TargetPV eBrem + 2 -11.7 mum -359 mum -2.44 m 65.6 MeV 1.14 MeV 485 mum 839 mum TargetPV eBrem + 3 17.2 mum -567 mum -2.44 m 62 MeV 3.15 MeV 2.51 mm 3.35 mm TargetPV eBrem + 4 269 mum -604 mum -2.43 m 35.7 MeV 1.38 MeV 917 mum 4.27 mm TargetPV eBrem + 5 316 mum -558 mum -2.43 m 32.8 MeV 397 keV 313 mum 4.58 mm TargetPV eBrem + 6 783 mum -546 mum -2.43 m 28.8 MeV 1.42 MeV 1.08 mm 5.66 mm TargetPV eBrem + 7 977 mum -849 mum -2.43 m 27.3 MeV 644 keV 515 mum 6.17 mm TargetPV eBrem + 8 1.47 mm -1.19 mm -2.43 m 14.4 MeV 1.06 MeV 653 mum 6.83 mm TargetPV eBrem + 9 1.76 mm -1.36 mm -2.43 m 13 MeV 511 keV 418 mum 7.24 mm TargetPV eBrem + 10 1.86 mm -1.39 mm -2.43 m 9.67 MeV 113 keV 113 mum 7.36 mm TargetPV eBrem + 11 1.88 mm -1.39 mm -2.43 m 8.29 MeV 15.7 keV 17.2 mum 7.37 mm TargetPV eBrem + 12 2.33 mm -2.09 mm -2.43 m 6.27 MeV 2.02 MeV 1.52 mm 8.89 mm TargetPV eIoni + 13 2.37 mm -2.07 mm -2.43 m 5.92 MeV 37.3 keV 45.6 mum 8.94 mm TargetPV eBrem + 14 2.64 mm -1.77 mm -2.43 m 3.27 MeV 617 keV 523 mum 9.46 mm TargetPV eBrem + 15 2.53 mm -1.24 mm -2.43 m 2.32 MeV 949 keV 805 mum 1.03 cm TargetPV eIoni + 16 2.19 mm -1.18 mm -2.43 m 1.37 MeV 950 keV 654 mum 1.09 cm TargetPV eIoni + 17 2.1 mm -988 mum -2.43 m 908 keV 464 keV 488 mum 1.14 cm TargetPV eIoni + 18 2.15 mm -975 mum -2.43 m 231 keV 677 keV 393 mum 1.18 cm TargetPV eIoni + 19 2.15 mm -978 mum -2.43 m 0 eV 231 keV 99.2 mum 1.19 cm TargetPV eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 23 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 cm -2.16 mm 35.7 cm 2.46 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.08 cm -2.32 mm 35.7 cm 425 eV 2.03 keV 223 mum 223 mum Tracker eIoni - 2 -3.08 cm -2.31 mm 35.7 cm 0 eV 425 eV 23.9 mum 247 mum Tracker eIoni + 0 2.64 mm -1.77 mm -2.43 m 2.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.53 mm -940 mum -2.43 m 0 eV 1.01 MeV 1.26 mm 1.26 mm TargetPV conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 40, Parent ID = 39 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.04 cm -2.01 mm 32.9 cm 3.11 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.03 cm -1.8 mm 33 cm 1.65 keV 1.46 keV 289 mum 289 mum Tracker eIoni - 2 -3.02 cm -1.77 mm 33 cm 0 eV 1.65 keV 122 mum 411 mum Tracker eIoni + 0 3.53 mm -940 mum -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.53 mm -940 mum -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 40 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.93 cm -1.52 mm 25 cm 1.43 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.92 cm -1.45 mm 25 cm 0 eV 1.43 keV 99.9 mum 99.9 mum Tracker eIoni + 0 3.53 mm -940 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.91 mm -426 mum -2.43 m 0 eV 511 keV 863 mum 863 mum TargetPV phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 40 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.61 cm -438 mum 7.41 cm 1.76 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.62 cm -395 mum 7.41 cm 0 eV 1.76 keV 135 mum 135 mum Tracker eIoni + 0 3.53 mm -940 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.55 mm -3.68 mm -2.43 m 455 keV 55.5 keV 4.6 mm 4.6 mm TargetPV compt + 2 -446 mum -5.97 mm -2.43 m 0 eV 455 keV 3.13 mm 7.73 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 mm -2.07 mm -2.43 m 312 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.43 mm -2.03 mm -2.43 m 0 eV 312 keV 72.7 mum 72.7 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.88 mm -1.39 mm -2.43 m 1.36 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.08 cm -1.05 cm -2.42 m 449 keV 914 keV 2.33 cm 2.33 cm TargetPV compt + 2 1.98 cm -1.15 cm -2.42 m 0 eV 449 keV 2.68 mm 2.6 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.86 mm -1.39 mm -2.43 m 3.24 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.5 cm -1.09 cm -2.42 m 3.24 MeV 0 eV 2.72 cm 2.72 cm WorldPVTransportation + 2 7.07 cm -2.96 cm -2.4 m 3.24 MeV 0 eV 5.38 cm 8.1 cm TrackerTransportation + 3 2.4 m -98.6 cm -1.31 m 3.24 MeV 0 eV 2.74 m 2.82 m WorldPVTransportation + 4 2.91 m -1.2 m -1.07 m 3.24 MeV 0 eV 60.1 cm 3.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.76 mm -1.36 mm -2.43 m 849 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.28 cm -6.1 mm -2.43 m 0 eV 849 keV 1.27 cm 1.27 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.47 mm -1.19 mm -2.43 m 11.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.46 mm -1.78 mm -2.43 m 0 eV 10.8 MeV 1.26 mm 1.26 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 43, Parent ID = 34 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.46 mm -1.78 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.27 mm -5.18 mm -2.43 m 293 keV 218 keV 6.02 mm 6.02 mm TargetPV compt + 2 -1.32 mm -5.32 mm -2.43 m 153 keV 140 keV 190 mum 6.21 mm TargetPV compt + 3 -1.59 mm -5.1 mm -2.43 m 0 eV 153 keV 458 mum 6.67 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.46 mm -1.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.96 mm -411 mum -2.43 m 0 eV 511 keV 2.42 mm 2.42 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 977 mum -849 mum -2.43 m 838 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.34 cm -1.58 cm -2.42 m 0 eV 838 keV 3.15 cm 3.15 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 783 mum -546 mum -2.43 m 2.57 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.04 mm -6.41 mm -2.43 m 948 keV 1.62 MeV 1.1 cm 1.1 cm TargetPV compt + 2 6.29 mm -6.13 mm -2.42 m 472 keV 476 keV 1.65 mm 1.26 cm TargetPV compt + 3 4.48 mm -6.87 mm -2.42 m 0 eV 472 keV 2.54 mm 1.52 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 316 mum -558 mum -2.43 m 2.55 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.69 mm 335 mum -2.42 m 0 eV 1.53 MeV 1.09 cm 1.09 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 46, Parent ID = 31 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.69 mm 335 mum -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.91 mm 3.12 mm -2.42 m 0 eV 511 keV 3.09 mm 3.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.69 mm 335 mum -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.72 mm -1.88 mm -2.42 m 0 eV 511 keV 2.46 mm 2.46 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum -604 mum -2.43 m 24.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 429 mum -521 mum -2.43 m 0 eV 9.25 MeV 755 mum 755 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 49, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 429 mum -521 mum -2.43 m 14.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 404 mum -354 mum -2.43 m 11.5 MeV 788 keV 609 mum 609 mum TargetPV eBrem + 2 252 mum -380 mum -2.43 m 8.28 MeV 1.6 MeV 1.12 mm 1.72 mm TargetPV eBrem + 3 -34.1 mum -166 mum -2.43 m 6.68 MeV 1.3 MeV 918 mum 2.64 mm TargetPV eBrem + 4 -972 mum -773 mum -2.43 m 5.26 MeV 1.42 MeV 1.33 mm 3.97 mm TargetPV eIoni + 5 -1.17 mm -830 mum -2.43 m 4.46 MeV 215 keV 214 mum 4.19 mm TargetPV eBrem + 6 -1.57 mm -859 mum -2.43 m 3.31 MeV 1.16 MeV 1.01 mm 5.2 mm TargetPV eIoni + 7 -1.56 mm -854 mum -2.43 m 895 keV 4.42 keV 5.93 mum 5.2 mm TargetPV eBrem + 8 -1.5 mm -749 mum -2.43 m 406 keV 489 keV 395 mum 5.6 mm TargetPV eIoni + 9 -1.49 mm -711 mum -2.43 m 86.2 keV 320 keV 222 mum 5.82 mm TargetPV eIoni + 10 -1.49 mm -708 mum -2.43 m 0 eV 86.2 keV 19.9 mum 5.84 mm TargetPV eIoni + 11 -1.49 mm -708 mum -2.43 m 0 eV 0 eV 0 fm 5.84 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mm -708 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 924 mum 1.58 mm -2.42 m 0 eV 511 keV 6.07 mm 6.07 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mm -708 mum -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.42 mm -4.43 mm -2.44 m 329 keV 182 keV 9.9 mm 9.9 mm TargetPV compt + 2 -5.17 mm -5.19 mm -2.44 m 317 keV 12.3 keV 831 mum 1.07 cm TargetPV compt + 3 -3.45 mm -1.12 cm -2.44 m 0 eV 317 keV 7.65 mm 1.84 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.56 mm -854 mum -2.43 m 2.41 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.17 cm 2.5 cm -2.42 m 2.41 MeV 0 eV 3.03 cm 3.03 cm WorldPVTransportation + 2 4.44 cm 8.87 cm -2.4 m 2.41 MeV 0 eV 7.47 cm 10.5 cm TrackerTransportation + 3 1.23 m 2.4 m -1.63 m 2.41 MeV 0 eV 2.71 m 2.82 m WorldPVTransportation + 4 1.49 m 2.91 m -1.46 m 2.41 MeV 0 eV 59.8 cm 3.41 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.17 mm -830 mum -2.43 m 580 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.91 mm -746 mum -2.43 m 0 eV 580 keV 905 mum 905 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.1 mum -166 mum -2.43 m 302 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -109 mum -263 mum -2.43 m 235 keV 66.8 keV 188 mum 188 mum TargetPV compt + 2 1.83 mm -937 mum -2.43 m 205 keV 30 keV 3.75 mm 3.93 mm TargetPV compt + 3 1.55 mm -930 mum -2.43 m 0 eV 205 keV 1.14 mm 5.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 252 mum -380 mum -2.43 m 1.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 674 mum -1.47 mm -2.41 m 0 eV 1.6 MeV 2.46 cm 2.46 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 50, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 404 mum -354 mum -2.43 m 2.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.82 cm -1.12 mm -2.4 m 2.37 MeV 0 eV 3.79 cm 3.79 cm TrackerTransportation + 2 -2.4 m -9.89 cm 1.82 m 2.37 MeV 0 eV 4.84 m 4.88 m WorldPVTransportation + 3 -2.91 m -12 cm 2.72 m 2.37 MeV 0 eV 1.04 m 5.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.2 mum -567 mum -2.44 m 411 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 793 mum -658 mum -2.43 m 376 keV 34.9 keV 3.82 mm 3.82 mm TargetPV compt + 2 763 mum -272 mum -2.43 m 202 keV 174 keV 988 mum 4.81 mm TargetPV compt + 3 345 mum 248 mum -2.43 m 0 eV 202 keV 765 mum 5.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.7 mum -359 mum -2.44 m 737 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 839 mum 69.3 mum -2.43 m 0 eV 737 keV 1.09 cm 1.09 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.3 mum -362 mum -2.44 m 1.54 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 161 mum -246 mum -2.44 m 0 eV 1.54 MeV 3.09 mm 3.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -324 mum -362 mum -2.44 m 480 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -11.1 mum -429 mum -2.44 m 444 keV 36.1 keV 6.8 mm 6.8 mm TargetPV compt + 2 4.58 mm 5.61 mm -2.42 m 332 keV 112 keV 1.79 cm 2.47 cm TargetPV compt + 3 4.21 mm 6.79 mm -2.42 m 0 eV 332 keV 1.37 mm 2.61 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -301 mum -345 mum -2.45 m 2.62 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -724 mum -900 mum -2.44 m 759 keV 1.86 MeV 8.92 mm 8.92 mm TargetPV compt + 2 -358 mum 4.42 mm -2.43 m 0 eV 759 keV 6.54 mm 1.55 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -281 mum -182 mum -2.45 m 4.58 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.21 mm -2.52 mm -2.4 m 4.58 MeV 0 eV 4.7 cm 4.7 cm TrackerTransportation + 2 -1.71 cm -4.24 cm -1.6 m 4.58 MeV 0 eV 80.1 cm 84.8 cm ChamberTransportation + 3 -2.11 cm -5.24 cm -1.4 m 4.58 MeV 0 eV 20 cm 1.05 m TrackerTransportation + 4 -3.3 cm -8.23 cm -80 cm 4.58 MeV 0 eV 60.1 cm 1.65 m ChamberTransportation + 5 -3.7 cm -9.23 cm -60 cm 4.58 MeV 0 eV 20 cm 1.85 m TrackerTransportation + 6 -4.89 cm -12.2 cm 0 fm 4.58 MeV 0 eV 60.1 cm 2.45 m ChamberTransportation + 7 -5.29 cm -13.2 cm 20 cm 4.58 MeV 0 eV 20 cm 2.65 m TrackerTransportation + 8 -6.48 cm -16.2 cm 80 cm 4.58 MeV 0 eV 60.1 cm 3.25 m ChamberTransportation + 9 -6.88 cm -17.2 cm 1 m 4.58 MeV 0 eV 20 cm 3.45 m TrackerTransportation + 10 -8.07 cm -20.2 cm 1.6 m 4.58 MeV 0 eV 60.1 cm 4.05 m ChamberTransportation + 11 -8.47 cm -21.2 cm 1.8 m 4.58 MeV 0 eV 20 cm 4.25 m TrackerTransportation + 12 -9.66 cm -24.2 cm 2.4 m 4.58 MeV 0 eV 60.1 cm 4.85 m WorldPVTransportation + 13 -10.7 cm -26.7 cm 2.91 m 4.58 MeV 0 eV 51.1 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -282 mum -181 mum -2.45 m 608 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -278 mum -191 mum -2.45 m 0 eV 608 keV 183 mum 183 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -270 mum -197 mum -2.45 m 3.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.62 mm 446 mum -2.42 m 323 keV 2.91 MeV 2.65 cm 2.65 cm TargetPV compt + 2 -1.46 mm 445 mum -2.42 m 160 keV 162 keV 168 mum 2.66 cm TargetPV compt + 3 -1.76 mm 350 mum -2.42 m 0 eV 160 keV 355 mum 2.7 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -289 mum -209 mum -2.45 m 5.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -240 mum -107 mum -2.44 m 677 keV 4.61 MeV 4.75 mm 4.75 mm TargetPV compt + 2 -7.37 mm -7.12 mm -2.44 m 294 keV 383 keV 1.07 cm 1.55 cm TargetPV compt + 3 -4.19 mm -8.02 mm -2.44 m 0 eV 294 keV 5.53 mm 2.1 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -285 mum -201 mum -2.45 m 71.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -375 mum -103 mum -2.45 m 0 eV 0 eV 4.26 mm 4.26 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 58, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -375 mum -103 mum -2.45 m 19 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -371 mum -110 mum -2.44 m 12.2 MeV 660 keV 149 mum 149 mum TargetPV eBrem + 2 -766 mum -171 mum -2.44 m 8.42 MeV 1.4 MeV 1.1 mm 1.25 mm TargetPV eBrem + 3 125 mum 222 mum -2.44 m 6.6 MeV 1.52 MeV 1.35 mm 2.6 mm TargetPV eBrem + 4 912 mum 575 mum -2.44 m 5.12 MeV 1.48 MeV 1.32 mm 3.93 mm TargetPV eIoni + 5 294 mum 1.15 mm -2.44 m 4 MeV 1.13 MeV 1.11 mm 5.03 mm TargetPV eIoni + 6 -63.7 mum 1.49 mm -2.44 m 3.14 MeV 562 keV 563 mum 5.6 mm TargetPV eBrem + 7 340 mum 1.15 mm -2.44 m 2.33 MeV 809 keV 800 mum 6.4 mm TargetPV eIoni + 8 1.66 mum 1.38 mm -2.44 m 1.6 MeV 728 keV 667 mum 7.06 mm TargetPV eIoni + 9 -38.8 mum 1.58 mm -2.44 m 1.13 MeV 469 keV 538 mum 7.6 mm TargetPV eIoni + 10 -176 mum 1.58 mm -2.44 m 499 keV 630 keV 447 mum 8.05 mm TargetPV eIoni + 11 -206 mum 1.59 mm -2.44 m 207 keV 292 keV 272 mum 8.32 mm TargetPV eIoni + 12 -205 mum 1.59 mm -2.44 m 0 eV 207 keV 82.8 mum 8.4 mm TargetPV eIoni + 13 -205 mum 1.59 mm -2.44 m 0 eV 0 eV 0 fm 8.4 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -205 mum 1.59 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -683 mum 3.9 mm -2.45 m 440 keV 71.5 keV 2.69 mm 2.69 mm TargetPV compt + 2 -652 mum 3.98 mm -2.45 m 167 keV 273 keV 89 mum 2.78 mm TargetPV compt + 3 -650 mum 3.83 mm -2.45 m 0 eV 167 keV 174 mum 2.96 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -205 mum 1.59 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -188 mum 1.52 mm -2.44 m 257 keV 254 keV 92.1 mum 92.1 mum TargetPV compt + 2 -2.89 mm 2.24 mm -2.44 m 0 eV 257 keV 3.68 mm 3.77 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.7 mum 1.49 mm -2.44 m 299 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.5 mm 1.19 mm -2.44 m 192 keV 107 keV 4.63 mm 4.63 mm TargetPV compt + 2 768 mum 441 mum -2.44 m 0 eV 192 keV 2.25 mm 6.88 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 125 mum 222 mum -2.44 m 297 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 807 mum -92.7 mum -2.44 m 0 eV 297 keV 1.8 mm 1.8 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -766 mum -171 mum -2.44 m 2.39 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 8.46 mm -1.9 mm -2.43 m 2.09 MeV 306 keV 1.88 cm 1.88 cm TargetPV compt + 2 8.99 mm -1.72 mm -2.43 m 2.06 MeV 26.5 keV 1.41 mm 2.02 cm TargetPV compt + 3 2.22 cm 3.2 mm -2.4 m 2.06 MeV 0 eV 2.98 cm 5.01 cm TrackerTransportation + 4 2.4 m 89.2 cm 2.35 m 2.06 MeV 0 eV 5.38 m 5.43 m WorldPVTransportation + 5 2.68 m 99.8 cm 2.91 m 2.06 MeV 0 eV 64 cm 6.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 58 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -371 mum -110 mum -2.44 m 6.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -450 mum -274 nm -2.44 m 3.53 MeV 2.65 MeV 2.05 mm 2.05 mm TargetPV compt + 2 -2.7 mm 1.77 mm -2.44 m 1.43 MeV 0 eV 7.08 mm 9.13 mm TargetPV compt + 3 -8.17 mm -2.3 mm -2.43 m 423 keV 1.01 MeV 1.11 cm 2.03 cm TargetPV compt + 4 -6.55 mm 1.79 mm -2.42 m 0 eV 423 keV 5.97 mm 2.62 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 59 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 mm 1.77 mm -2.44 m 2.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.86 mm 2.07 mm -2.44 m 1.47 MeV 633 keV 618 mum 618 mum TargetPV eIoni + 2 -2.78 mm 2.28 mm -2.44 m 911 keV 559 keV 507 mum 1.12 mm TargetPV eIoni + 3 -2.66 mm 2.24 mm -2.44 m 535 keV 377 keV 393 mum 1.52 mm TargetPV eIoni + 4 -2.63 mm 2.28 mm -2.44 m 190 keV 344 keV 284 mum 1.8 mm TargetPV eIoni + 5 -2.63 mm 2.29 mm -2.44 m 0 eV 190 keV 74.6 mum 1.88 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -375 mum -103 mum -2.45 m 51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -722 mum -47.6 mum -2.44 m 40.5 MeV 3.3 MeV 2.07 mm 2.07 mm TargetPV eBrem + 2 -611 mum -391 mum -2.44 m 28.5 MeV 1.1 MeV 934 mum 3 mm TargetPV eBrem + 3 -614 mum -427 mum -2.44 m 10.6 MeV 96.8 keV 83.8 mum 3.08 mm TargetPV eBrem + 4 -610 mum -631 mum -2.44 m 6.62 MeV 404 keV 331 mum 3.41 mm TargetPV eBrem + 5 -82.2 mum -1.24 mm -2.44 m 3.93 MeV 2.7 MeV 1.29 mm 4.71 mm TargetPV eIoni + 6 -672 mum -1.33 mm -2.44 m 2.89 MeV 1.04 MeV 905 mum 5.61 mm TargetPV eIoni + 7 -399 mum -1.62 mm -2.44 m 2.03 MeV 858 keV 746 mum 6.36 mm TargetPV eIoni + 8 -268 mum -1.38 mm -2.44 m 1.21 MeV 492 keV 512 mum 6.87 mm TargetPV eBrem + 9 -353 mum -1.3 mm -2.44 m 546 keV 668 keV 458 mum 7.33 mm TargetPV eIoni + 10 -375 mum -1.32 mm -2.44 m 0 eV 546 keV 288 mum 7.61 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -268 mum -1.38 mm -2.44 m 327 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.12 mm 272 mum -2.44 m 152 keV 175 keV 1.86 mm 1.86 mm TargetPV compt + 2 -1.15 mm 55.4 mum -2.44 m 0 eV 152 keV 222 mum 2.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -610 mum -631 mum -2.44 m 3.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.33 mm -1.4 mm -2.43 m 3.33 MeV 234 keV 9.4 mm 9.4 mm TargetPV compt + 2 3.29 mm -2.72 mm -2.43 m 0 eV 2.31 MeV 6.82 mm 1.62 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 71, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.29 mm -2.72 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 71 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.72 mm -4.84 mm -2.43 m 375 keV 136 keV 6.23 mm 6.23 mm TargetPV compt + 2 4.72 mm -7.97 mm -2.43 m 314 keV 61 keV 4.16 mm 1.04 cm TargetPV compt + 3 4.71 mm -8.5 mm -2.44 m 0 eV 314 keV 1.21 mm 1.16 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 71 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.29 mm -2.72 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.31 mm -2.65 mm -2.43 m 0 eV 511 keV 203 mum 203 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -614 mum -427 mum -2.44 m 17.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -861 mum -3.61 mm -2.44 m 0 eV 0 eV 7.43 mm 7.43 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 75, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -861 mum -3.61 mm -2.44 m 14.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.37 mm -5.13 mm -2.43 m 10.5 MeV 2.96 MeV 2.22 mm 2.22 mm TargetPV eBrem + 2 -1.59 mm -5.4 mm -2.43 m 2.83 MeV 1.3 MeV 949 mum 3.17 mm TargetPV eBrem + 3 -2.08 mm -5.14 mm -2.43 m 2.07 MeV 760 keV 751 mum 3.92 mm TargetPV eIoni + 4 -2.03 mm -4.76 mm -2.43 m 1.43 MeV 641 keV 623 mum 4.54 mm TargetPV eIoni + 5 -1.87 mm -4.82 mm -2.43 m 701 keV 729 keV 507 mum 5.05 mm TargetPV eIoni + 6 -1.79 mm -4.84 mm -2.43 m 132 keV 569 keV 344 mum 5.39 mm TargetPV eIoni + 7 -1.8 mm -4.84 mm -2.43 m 0 eV 132 keV 40.1 mum 5.43 mm TargetPV eIoni + 8 -1.8 mm -4.84 mm -2.43 m 0 eV 0 eV 0 fm 5.43 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 mm -4.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.78 mm -4.2 mm -2.43 m 423 keV 87.6 keV 1.61 mm 1.61 mm TargetPV compt + 2 -6.27 mm -3.64 mm -2.43 m 415 keV 8.08 keV 3.62 mm 5.23 mm TargetPV compt + 3 -8.93 mm -3.5 mm -2.43 m 0 eV 415 keV 2.66 mm 7.89 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 mm -4.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.3 mm -1.01 cm -2.42 m 0 eV 511 keV 1.33 cm 1.33 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 mm -5.4 mm -2.43 m 6.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.4 mm -3.55 mm -2.43 m 558 keV 5.84 MeV 3.94 mm 3.94 mm TargetPV compt + 2 -6.02 mm -4.4 mm -2.43 m 221 keV 337 keV 2.01 mm 5.94 mm TargetPV compt + 3 -5.53 mm -4.86 mm -2.43 m 0 eV 221 keV 695 mum 6.64 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.37 mm -5.13 mm -2.43 m 1.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -690 mum -7.17 mm -2.43 m 862 keV 321 keV 9.03 mm 9.03 mm TargetPV compt + 2 -4.78 mm -5.99 mm -2.42 m 750 keV 112 keV 1.08 cm 1.99 cm TargetPV compt + 3 -1.08 cm -9.1 mm -2.41 m 0 eV 750 keV 1.15 cm 3.13 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -861 mum -3.61 mm -2.44 m 2.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -808 mum -3.6 mm -2.44 m 876 keV 191 keV 194 mum 194 mum TargetPV eBrem + 2 -805 mum -3.72 mm -2.44 m 517 keV 359 keV 385 mum 579 mum TargetPV eIoni + 3 -827 mum -3.71 mm -2.44 m 0 eV 517 keV 276 mum 856 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -808 mum -3.6 mm -2.44 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.72 mm -1.41 cm -2.44 m 280 keV 798 keV 1.23 cm 1.23 cm TargetPV compt + 2 5.33 mm -1.29 cm -2.44 m 0 eV 280 keV 1.51 mm 1.38 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -611 mum -391 mum -2.44 m 10.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.3 mm -1.09 cm -2.42 m 0 eV 9.86 MeV 2.58 cm 2.58 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 81, Parent ID = 67 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.3 mm -1.09 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 81 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.53 mm -9.22 mm -2.42 m 300 keV 211 keV 2.98 mm 2.98 mm TargetPV compt + 2 -1.12 mm -9.95 mm -2.42 m 0 eV 300 keV 1.18 mm 4.17 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 81 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.3 mm -1.09 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.81 mm -1.2 cm -2.42 m 344 keV 167 keV 1.96 mm 1.96 mm TargetPV compt + 2 -4.49 mm -1.05 cm -2.42 m 0 eV 344 keV 3.92 mm 5.88 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -722 mum -47.6 mum -2.44 m 7.19 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -306 mum -912 mum -2.44 m 1.19 MeV 0 eV 3.5 mm 3.5 mm TargetPV compt + 2 -4.96 mm -2.19 mm -2.43 m 842 keV 344 keV 6.77 mm 1.03 cm TargetPV compt + 3 -1.97 cm 7.55 mm -2.42 m 711 keV 131 keV 2.44 cm 3.47 cm TargetPV compt + 4 -2.01 cm 8.83 mm -2.42 m 0 eV 711 keV 1.88 mm 3.66 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -306 mum -912 mum -2.44 m 6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -499 mum -1.06 mm -2.44 m 3.98 MeV 1.47 MeV 678 mum 678 mum TargetPV eBrem + 2 -156 mum -1.62 mm -2.44 m 3.04 MeV 943 keV 913 mum 1.59 mm TargetPV eIoni + 3 -96.4 mum -1.74 mm -2.44 m 2.44 MeV 222 keV 211 mum 1.8 mm TargetPV eBrem + 4 -249 mum -1.94 mm -2.44 m 1.42 MeV 1.02 MeV 674 mum 2.48 mm TargetPV eIoni + 5 -305 mum -2.11 mm -2.44 m 852 keV 571 keV 498 mum 2.97 mm TargetPV eIoni + 6 -247 mum -2.17 mm -2.44 m 348 keV 504 keV 379 mum 3.35 mm TargetPV eIoni + 7 -236 mum -2.17 mm -2.44 m 0 eV 348 keV 178 mum 3.53 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -96.4 mum -1.74 mm -2.44 m 373 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 378 mum -2.55 mm -2.44 m 0 eV 373 keV 1.51 mm 1.51 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -499 mum -1.06 mm -2.44 m 551 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -436 mum -2.36 mm -2.44 m 0 eV 551 keV 1.52 mm 1.52 mm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 0 fm 3.16 mm 3.81 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.44 cm 1.2 mm 4.69 mm 2.99 MeV 820 keV 2.11 mm 2.11 mm TargetPV eIoni - 2 -2.41 cm 1.47 mm 5.23 mm 1.69 MeV 222 keV 701 mum 2.81 mm TargetPV eIoni - 3 -2.32 cm 1.49 mm 5.63 mm 1.29 MeV 404 keV 1.06 mm 3.87 mm TargetPV eIoni - 4 -2.28 cm 966 mum 6.09 mm 1 MeV 286 keV 860 mum 4.73 mm TargetPV eIoni - 5 -2.22 cm 1.3 mm 6.02 mm 738 keV 266 keV 714 mum 5.45 mm TargetPV eIoni - 6 -2.18 cm 1.09 mm 5.98 mm 538 keV 200 keV 576 mum 6.02 mm TargetPV eIoni - 7 -2.14 cm 1.32 mm 6.07 mm 362 keV 175 keV 469 mum 6.49 mm TargetPV eIoni - 8 -2.11 cm 1.41 mm 6.14 mm 213 keV 150 keV 365 mum 6.86 mm TargetPV eIoni - 9 -2.12 cm 1.52 mm 6.09 mm 45.6 keV 167 keV 232 mum 7.09 mm TargetPV eIoni - 10 -2.12 cm 1.52 mm 6.09 mm 0 eV 45.6 keV 18.1 mum 7.11 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.41 cm 1.47 mm 5.23 mm 1.07 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.37 cm 1.89 mm 5.5 mm 792 keV 279 keV 748 mum 748 mum TargetPV eIoni - 2 -2.36 cm 1.88 mm 5.56 mm 644 keV 52.9 keV 93.2 mum 841 mum TargetPV eBrem - 3 -2.33 cm 1.66 mm 5.9 mm 479 keV 164 keV 526 mum 1.37 mm TargetPV eIoni - 4 -2.31 cm 1.65 mm 6.11 mm 0 eV 479 keV 436 mum 1.8 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 99 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.36 cm 1.88 mm 5.56 mm 95.1 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 1.75 cm -1.42 cm -7.19 mm 90.4 keV 4.74 keV 4.59 cm 4.59 cm TargetPV compt - 2 2.43 cm -1.27 cm -5.58 mm 87.3 keV 3.02 keV 7.15 mm 5.3 cm TargetPV compt - 3 2.5 cm -1.27 cm -4.75 mm 87.3 keV 0 eV 1.11 mm 5.41 cm WorldPVTransportation - 4 5.13 cm -1.17 cm 2.5 cm 87.3 keV 0 eV 3.97 cm 9.39 cm TrackerTransportation - 5 2.5 m 8.29 cm 2.79 m 87.3 keV 0 eV 3.7 m 3.79 m WorldPVTransportation - 6 6.67 m 24.4 cm 7.5 m 87.3 keV 0 eV 6.29 m 10.1 m OutOfWorldTransportation + 0 -31.4 mum 1.22 mum -2.86 m 16.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -275 mum 1.3 mm -2.86 m 13.8 keV 2.5 keV 1.41 mm 1.41 mm WorldPV eIoni + 2 355 mum 1.4 mm -2.86 m 11.8 keV 2.06 keV 1.13 mm 2.53 mm WorldPV eIoni + 3 834 mum 2 mm -2.86 m 10.4 keV 1.35 keV 925 mum 3.46 mm WorldPV eIoni + 4 621 mum 1.71 mm -2.86 m 8.72 keV 1.73 keV 806 mum 4.27 mm WorldPV eIoni + 5 454 mum 1.37 mm -2.86 m 7.47 keV 1.24 keV 668 mum 4.93 mm WorldPV eIoni + 6 460 mum 954 mum -2.86 m 1.27 keV 6.2 keV 578 mum 5.51 mm WorldPV eIoni + 7 438 mum 957 mum -2.86 m 0 eV 1.27 keV 84.4 mum 5.59 mm WorldPV eIoni >>> Event 0 - 100 trajectories stored in this event. + 0 trajectories stored in this event. ### Run 1 start. ********************************************************************************************************* @@ -1403,5519 +987,8264 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 0 fm 0 fm 1 TeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.5 cm 0 fm 2.5 cm 1e+03 GeV 9.99 MeV 2.5 cm 2.5 cm TrackerTransportation - 2 -2.5 cm -17 nm 3.09 cm 1e+03 GeV 1.26 keV 5.89 mm 3.09 cm Tracker MuIoni - 3 -2.5 cm -48.1 nm 4.14 cm 1e+03 GeV 1.21 keV 1.05 cm 4.14 cm Tracker MuIoni - 4 -2.5 cm -952 nm 34.2 cm 1e+03 GeV 72.7 keV 30.1 cm 34.2 cm Tracker MuIoni - 5 -2.5 cm -978 nm 35.1 cm 1e+03 GeV 1.88 keV 8.77 mm 35.1 cm Tracker MuIoni - 6 -2.5 cm -1.29 mum 44.7 cm 1e+03 GeV 24.5 keV 9.62 cm 44.7 cm Tracker MuIoni - 7 -2.5 cm -1.31 mum 45.4 cm 1e+03 GeV 4.4 keV 6.79 mm 45.4 cm Tracker MuIoni - 8 -2.5 cm -1.33 mum 45.9 cm 1e+03 GeV 904 eV 4.89 mm 45.9 cm Tracker MuIoni - 9 -2.5 cm -1.69 mum 56.7 cm 1e+03 GeV 23.6 keV 10.8 cm 56.7 cm Tracker MuIoni - 10 -2.5 cm -1.7 mum 57 cm 1e+03 GeV 574 eV 3.29 mm 57 cm Tracker MuIoni - 11 -2.5 cm -1.75 mum 58.5 cm 1e+03 GeV 3.27 keV 1.49 cm 58.5 cm Tracker MuIoni - 12 -2.5 cm -2.08 mum 69.1 cm 1e+03 GeV 22 keV 10.6 cm 69.1 cm Tracker MuIoni - 13 -2.5 cm -2.5 mum 82.5 cm 1e+03 GeV 38.3 keV 13.4 cm 82.5 cm trkChamberTransportation - 14 -2.5 cm -2.52 mum 83.3 cm 1e+03 GeV 3.45 MeV 7.92 mm 83.3 cm trkChamber MuIoni - 15 -2.5 cm -2.73 mum 85.8 cm 1e+03 GeV 10.2 MeV 2.53 cm 85.8 cm trkChamber MuIoni - 16 -2.5 cm -3.55 mum 95.2 cm 1e+03 GeV 39.8 MeV 9.35 cm 95.2 cm trkChamber MuIoni - 17 -2.5 cm -3.8 mum 1.02 m 1e+03 GeV 28.4 MeV 7.33 cm 1.03 m TrackerTransportation - 18 -2.5 cm -3.15 mum 1.08 m 1e+03 GeV 11.9 keV 5.39 cm 1.08 m Tracker MuIoni - 19 -2.5 cm -1.67 mum 1.2 m 1e+03 GeV 25.4 keV 12.1 cm 1.2 m Tracker MuIoni - 20 -2.5 cm -578 nm 1.29 m 1e+03 GeV 19.8 keV 9.28 cm 1.29 m Tracker MuIoni - 21 -2.5 cm 847 nm 1.42 m 1e+03 GeV 27.5 keV 12.5 cm 1.42 m Tracker MuIoni - 22 -2.5 cm 1.14 mum 1.44 m 1e+03 GeV 5.62 keV 2.63 cm 1.44 m Tracker MuIoni - 23 -2.5 cm 2.22 mum 1.54 m 1e+03 GeV 25.1 keV 9.68 cm 1.54 m Tracker MuIoni - 24 -2.5 cm 3.19 mum 1.62 m 1e+03 GeV 17.6 keV 8.51 cm 1.63 m trkChamberTransportation - 25 -2.5 cm 3.37 mum 1.64 m 1e+03 GeV 5.72 MeV 1.21 cm 1.64 m trkChamber MuIoni - 26 -2.5 cm 5.1 mum 1.73 m 1e+03 GeV 44.5 MeV 9.33 cm 1.73 m trkChamberMuPairProd - 27 -2.5 cm 5.21 mum 1.74 m 1e+03 GeV 2.85 MeV 5.04 mm 1.74 m trkChamber MuIoni - 28 -2.5 cm 5.47 mum 1.75 m 1e+03 GeV 5.37 MeV 1.05 cm 1.75 m trkChamber MuIoni - 29 -2.5 cm 6.23 mum 1.79 m 1e+03 GeV 16.2 MeV 4.28 cm 1.79 m trkChamber MuIoni - 30 -2.5 cm 6.28 mum 1.79 m 1e+03 GeV 1.11 MeV 2.51 mm 1.79 m trkChamber MuIoni - 31 -2.5 cm 7.08 mum 1.82 m 1e+03 GeV 17.1 MeV 3.37 cm 1.83 m TrackerTransportation - 32 -2.5 cm 9.98 mum 1.94 m 1e+03 GeV 20.4 keV 12 cm 1.94 m Tracker MuIoni - 33 -2.5 cm 12.7 mum 2.06 m 1e+03 GeV 29.5 keV 11.4 cm 2.06 m Tracker MuIoni - 34 -2.5 cm 12.7 mum 2.06 m 1e+03 GeV 727 eV 2.36 mm 2.06 m Tracker MuIoni - 35 -2.5 cm 16.7 mum 2.23 m 1e+03 GeV 39.6 keV 17.1 cm 2.23 m Tracker MuIoni - 36 -2.5 cm 19.1 mum 2.33 m 1e+03 GeV 26.8 keV 9.98 cm 2.33 m Tracker MuIoni - 37 -2.5 cm 21.3 mum 2.42 m 1e+03 GeV 14.8 keV 9.3 cm 2.43 m trkChamberTransportation - 38 -2.5 cm 21.6 mum 2.44 m 1e+03 GeV 7.97 MeV 1.64 cm 2.44 m trkChamber MuIoni - 39 -2.5 cm 24 mum 2.58 m 1e+03 GeV 64.7 MeV 13.7 cm 2.58 m trkChamber MuIoni - 40 -2.5 cm 24.3 mum 2.58 m 1e+03 GeV 2.72 MeV 6.93 mm 2.58 m trkChamber MuIoni - 41 -2.5 cm 25.6 mum 2.62 m 1e+03 GeV 20.2 MeV 3.79 cm 2.62 m trkChamber MuIoni - 42 -2.5 cm 25.6 mum 2.62 m 1e+03 GeV 784 keV 2.08 mm 2.63 m TrackerTransportation - 43 -2.5 cm 25.7 mum 2.63 m 1e+03 GeV 40.5 eV 566 mum 2.63 m Tracker MuIoni - 44 -2.5 cm 26.5 mum 2.65 m 1e+03 GeV 3.8 keV 2.58 cm 2.65 m Tracker MuIoni - 45 -2.5 cm 28.1 mum 2.7 m 1e+03 GeV 14.5 keV 5.02 cm 2.7 m Tracker MuIoni - 46 -2.5 cm 29.6 mum 2.75 m 1e+03 GeV 10.2 keV 4.79 cm 2.75 m Tracker MuIoni - 47 -2.5 cm 34.4 mum 2.9 m 1e+03 GeV 28.1 keV 15.4 cm 2.9 m Tracker MuIoni - 48 -2.5 cm 35.9 mum 2.95 m 1e+03 GeV 5.93 keV 5.04 cm 2.95 m Tracker MuIoni - 49 -2.5 cm 37.5 mum 3 m 1e+03 GeV 12.6 keV 4.84 cm 3 m Tracker MuIoni - 50 -2.5 cm 40 mum 3.08 m 1e+03 GeV 22.3 keV 8.15 cm 3.08 m Tracker MuIoni - 51 -2.5 cm 41.5 mum 3.13 m 1e+03 GeV 13.3 keV 4.77 cm 3.13 m Tracker MuIoni - 52 -2.5 cm 44.4 mum 3.23 m 1e+03 GeV 26.1 keV 9.36 cm 3.23 m trkChamberTransportation - 53 -2.5 cm 44.7 mum 3.23 m 1e+03 GeV 4.4 MeV 8.5 mm 3.23 m trkChamber MuIoni - 54 -2.5 cm 45 mum 3.24 m 1e+03 GeV 3.51 MeV 8.83 mm 3.24 m trkChamber MuIoni - 55 -2.5 cm 47.7 mum 3.3 m 1e+03 GeV 35.7 MeV 6.24 cm 3.3 m trkChamber MuIoni - 56 -2.5 cm 48.2 mum 3.32 m 1e+03 GeV 6.98 MeV 1.53 cm 3.32 m trkChamber MuIoni - 57 -2.5 cm 49.5 mum 3.37 m 1e+03 GeV 13.4 MeV 5.08 cm 3.37 m trkChamber MuIoni - 58 -2.5 cm 49.9 mum 3.38 m 1e+03 GeV 4.57 MeV 1.01 cm 3.38 m trkChamber MuIoni - 59 -2.5 cm 50 mum 3.38 m 1e+03 GeV 1 MeV 2.56 mm 3.38 m trkChamber MuIoni - 60 -2.5 cm 50.1 mum 3.39 m 999 GeV 1.6 MeV 4.08 mm 3.39 m trkChamber MuIoni - 61 -2.5 cm 50.4 mum 3.4 m 999 GeV 4.1 MeV 1.08 cm 3.4 m trkChamber MuIoni - 62 -2.5 cm 51.5 mum 3.42 m 999 GeV 11.5 MeV 2.66 cm 3.43 m TrackerTransportation - 63 -2.5 cm 54.8 mum 3.53 m 999 GeV 24.6 keV 10.1 cm 3.53 m Tracker MuIoni - 64 -2.5 cm 54.9 mum 3.53 m 999 GeV 213 eV 1.83 mm 3.53 m Tracker MuIoni - 65 -2.5 cm 59 mum 3.65 m 999 GeV 29.7 keV 12.6 cm 3.65 m Tracker MuIoni - 66 -2.5 cm 59.1 mum 3.66 m 999 GeV 239 eV 2.84 mm 3.66 m Tracker MuIoni - 67 -2.5 cm 66.6 mum 3.89 m 999 GeV 55.8 keV 23.1 cm 3.89 m Tracker MuIoni - 68 -2.5 cm 67.9 mum 3.93 m 999 GeV 9.73 keV 4.03 cm 3.93 m Tracker MuIoni - 69 -2.5 cm 69 mum 3.96 m 999 GeV 7.44 keV 3.3 cm 3.96 m Tracker MuIoni - 70 -2.5 cm 69.1 mum 3.96 m 999 GeV 237 eV 2.82 mm 3.96 m Tracker MuIoni - 71 -2.5 cm 71.1 mum 4.03 m 999 GeV 12.1 keV 6.15 cm 4.03 m trkChamberTransportation - 72 -2.5 cm 72.2 mum 4.06 m 999 GeV 17.6 MeV 3.02 cm 4.06 m trkChamber MuIoni - 73 -2.5 cm 72.9 mum 4.08 m 999 GeV 8.48 MeV 2.08 cm 4.08 m trkChamber MuIoni - 74 -2.5 cm 77.3 mum 4.17 m 999 GeV 42.3 MeV 9.6 cm 4.17 m trkChamber MuIoni - 75 -2.5 cm 77.8 mum 4.19 m 999 GeV 8.13 MeV 1.67 cm 4.19 m trkChamber MuIoni - 76 -2.5 cm 78.9 mum 4.22 m 999 GeV 17.2 MeV 3.07 cm 4.22 m trkChamber MuIoni - 77 -2.5 cm 79.1 mum 4.22 m 999 GeV 2.14 MeV 5.57 mm 4.23 m TrackerTransportation - 78 -2.5 cm 79.5 mum 4.24 m 999 GeV 4.41 keV 1.63 cm 4.24 m Tracker MuIoni - 79 -2.5 cm 79.7 mum 4.25 m 999 GeV 1.89 keV 9.14 mm 4.25 m Tracker MuIoni - 80 -2.5 cm 82.4 mum 4.35 m 999 GeV 16.7 keV 10 cm 4.35 m Tracker MuIoni - 81 -2.5 cm 84.1 mum 4.41 m 999 GeV 12.1 keV 6.22 cm 4.41 m Tracker MuIoni - 82 -2.5 cm 84.7 mum 4.44 m 999 GeV 5.6 keV 2.29 cm 4.44 m Tracker MuIoni - 83 -2.5 cm 88.1 mum 4.56 m 999 GeV 33.1 keV 12.8 cm 4.56 m Tracker MuIoni - 84 -2.5 cm 90.4 mum 4.65 m 999 GeV 16.5 keV 8.55 cm 4.65 m Tracker MuIoni - 85 -2.5 cm 92.1 mum 4.71 m 999 GeV 16.1 keV 6.39 cm 4.71 m Tracker MuIoni - 86 -2.5 cm 94.2 mum 4.8 m 999 GeV 15.9 keV 8.23 cm 4.8 m Tracker MuIoni - 87 -2.5 cm 96.9 mum 4.9 m 999 GeV 18.8 keV 10.2 cm 4.9 m Tracker MuIoni - 88 -2.5 cm 98.6 mum 4.96 m 999 GeV 14.7 keV 6.11 cm 4.96 m Tracker MuIoni - 89 -2.5 cm 100 mum 5.03 m 999 GeV 16.5 keV 6.66 cm 5.03 m WorldPVTransportation - 90 -2.5 cm 102 mum 5.09 m 999 GeV 13.4 keV 6.6 cm 5.09 m WorldPV MuIoni - 91 -2.5 cm 103 mum 5.13 m 999 GeV 10.7 keV 3.86 cm 5.13 m WorldPV MuIoni - 92 -2.5 cm 107 mum 5.26 m 999 GeV 24.8 keV 13.1 cm 5.26 m WorldPV MuIoni - 93 -2.5 cm 109 mum 5.34 m 999 GeV 16.7 keV 8.08 cm 5.34 m WorldPV MuIoni - 94 -2.5 cm 109 mum 5.37 m 999 GeV 4.77 keV 2.45 cm 5.37 m WorldPV MuIoni - 95 -2.5 cm 112 mum 5.46 m 999 GeV 19.3 keV 9.1 cm 5.46 m WorldPV MuIoni - 96 -2.5 cm 112 mum 5.47 m 999 GeV 3.35 keV 1.62 cm 5.47 m WorldPV MuIoni - 97 -2.5 cm 114 mum 5.54 m 999 GeV 12.3 keV 6.49 cm 5.54 m WorldPV MuIoni - 98 -2.5 cm 115 mum 5.57 m 999 GeV 7.91 keV 2.75 cm 5.57 m WorldPV MuIoni - 99 -2.5 cm 116 mum 5.6 m 999 GeV 8.18 keV 3.78 cm 5.6 m WorldPV MuIoni - 100 -2.5 cm 118 mum 5.68 m 999 GeV 20.9 keV 7.75 cm 5.68 m WorldPV MuIoni - 101 -2.5 cm 120 mum 5.75 m 999 GeV 14.1 keV 6.91 cm 5.75 m WorldPV MuIoni - 102 -2.5 cm 120 mum 5.77 m 999 GeV 4.33 keV 1.57 cm 5.77 m WorldPV MuIoni - 103 -2.5 cm 124 mum 5.92 m 999 GeV 38 keV 15.3 cm 5.92 m WorldPV MuIoni - 104 -2.5 cm 125 mum 5.95 m 999 GeV 6.07 keV 3.58 cm 5.95 m WorldPV MuIoni - 105 -2.5 cm 126 mum 6.01 m 999 GeV 13.7 keV 5.44 cm 6.01 m WorldPV MuIoni - 106 -2.5 cm 128 mum 6.08 m 999 GeV 16.2 keV 7.08 cm 6.08 m WorldPV MuIoni - 107 -2.5 cm 129 mum 6.1 m 999 GeV 6.52 keV 2.11 cm 6.1 m WorldPV MuIoni - 108 -2.5 cm 130 mum 6.14 m 999 GeV 9.36 keV 3.9 cm 6.14 m WorldPV MuIoni - 109 -2.5 cm 131 mum 6.18 m 999 GeV 10.3 keV 4.02 cm 6.18 m WorldPV MuIoni - 110 -2.5 cm 132 mum 6.22 m 999 GeV 7.39 keV 3.8 cm 6.22 m WorldPV MuIoni - 111 -2.5 cm 133 mum 6.24 m 999 GeV 4.15 keV 2.39 cm 6.24 m WorldPV MuIoni - 112 -2.5 cm 133 mum 6.27 m 999 GeV 4.32 keV 2.44 cm 6.27 m WorldPV MuIoni - 113 -2.5 cm 135 mum 6.32 m 999 GeV 8.09 keV 4.95 cm 6.32 m WorldPV MuIoni - 114 -2.5 cm 135 mum 6.32 m 999 GeV 2.16 keV 8.23 mm 6.32 m WorldPV MuIoni - 115 -2.5 cm 136 mum 6.39 m 999 GeV 16.9 keV 6.61 cm 6.39 m WorldPV MuIoni - 116 -2.5 cm 138 mum 6.43 m 999 GeV 9.8 keV 4.27 cm 6.43 m WorldPV MuIoni - 117 -2.5 cm 139 mum 6.48 m 999 GeV 7.23 keV 5.09 cm 6.48 m WorldPV MuIoni - 118 -2.5 cm 143 mum 6.64 m 999 GeV 37.6 keV 15.8 cm 6.64 m WorldPV MuIoni - 119 -2.5 cm 147 mum 6.79 m 999 GeV 35.5 keV 14.9 cm 6.79 m WorldPV MuIoni - 120 -2.5 cm 147 mum 6.79 m 999 GeV 0 eV 259 mum 6.79 m WorldPV MuIoni - 121 -2.5 cm 148 mum 6.84 m 999 GeV 11.1 keV 4.88 cm 6.84 m WorldPV MuIoni - 122 -2.5 cm 149 mum 6.88 m 999 GeV 7.39 keV 3.99 cm 6.88 m WorldPV MuIoni - 123 -2.5 cm 151 mum 6.97 m 999 GeV 20 keV 8.63 cm 6.97 m WorldPV MuIoni - 124 -2.5 cm 155 mum 7.14 m 999 GeV 36.5 keV 17 cm 7.14 m WorldPV MuIoni - 125 -2.5 cm 155 mum 7.16 m 999 GeV 4.02 keV 2.08 cm 7.16 m WorldPV MuIoni - 126 -2.5 cm 158 mum 7.26 m 999 GeV 22 keV 10.7 cm 7.26 m WorldPV MuIoni - 127 -2.5 cm 159 mum 7.3 m 999 GeV 7.18 keV 3.46 cm 7.3 m WorldPV MuIoni - 128 -2.5 cm 162 mum 7.45 m 999 GeV 23.2 keV 14.7 cm 7.45 m WorldPV MuIoni - 129 -2.5 cm 164 mum 7.5 m 999 GeV 8.45 keV 5.4 cm 7.5 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 162 mum 7.45 m 7.27 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.54 cm 472 mum 7.45 m 4.26 keV 3.01 keV 587 mum 587 mum WorldPV eIoni - 2 -2.56 cm 658 mum 7.45 m 1.64 keV 1.56 keV 254 mum 841 mum WorldPV eIoni - 3 -2.56 cm 629 mum 7.45 m 0 eV 1.64 keV 122 mum 963 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 118 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.56 cm 658 mum 7.45 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.56 cm 668 mum 7.45 m 0 eV 1.06 keV 65.7 mum 65.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 159 mum 7.3 m 2.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 168 mum 7.3 m 1.23 keV 118 eV 12.6 mum 12.6 mum WorldPV eIoni - 2 -2.49 cm 160 mum 7.3 m 0 eV 1.23 keV 80.4 mum 93.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 117 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 168 mum 7.3 m 1.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 211 mum 7.3 m 0 eV 1.02 keV 62.8 mum 62.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 158 mum 7.26 m 1.34 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm 180 mum 7.26 m 0 eV 1.34 keV 90.6 mum 90.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 155 mum 7.16 m 1.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 174 mum 7.16 m 0 eV 1.09 keV 68.4 mum 68.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 155 mum 7.14 m 1.1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 181 mum 7.14 m 0 eV 1.1 keV 69.3 mum 69.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 151 mum 6.97 m 67.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.92 cm 7.18 mm 6.97 m 61.9 keV 3.26 keV 9.55 mm 9.55 mm WorldPV eIoni - 2 -1.83 cm 9.12 mm 6.97 m 59.5 keV 1.01 keV 2.25 mm 1.18 cm WorldPV eIoni - 3 -1.84 cm 2.23 cm 6.97 m 53.4 keV 6.1 keV 1.36 cm 2.54 cm WorldPV eIoni - 4 -1.64 cm 2.4 cm 6.97 m 49.1 keV 1.08 keV 3.32 mm 2.87 cm WorldPV eIoni - 5 -1.27 cm 3.26 cm 6.97 m 42.4 keV 6.7 keV 9.67 mm 3.84 cm WorldPV eIoni - 6 -7.8 mm 3.43 cm 6.97 m 25.6 keV 4.32 keV 5.33 mm 4.37 cm WorldPV eIoni - 7 -6.37 mm 3.58 cm 6.96 m 23.4 keV 2.2 keV 3.18 mm 4.69 cm WorldPV eIoni - 8 -7.56 mm 3.41 cm 6.96 m 21 keV 2.42 keV 2.76 mm 4.96 cm WorldPV eIoni - 9 -7.95 mm 3.25 cm 6.96 m 18.5 keV 2.53 keV 2.3 mm 5.19 cm WorldPV eIoni - 10 -9.42 mm 3.15 cm 6.96 m 17.2 keV 1.29 keV 1.9 mm 5.38 cm WorldPV eIoni - 11 -9.5 mm 2.99 cm 6.96 m 15.5 keV 1.75 keV 1.69 mm 5.55 cm WorldPV eIoni - 12 -1.01 cm 2.87 cm 6.96 m 12.3 keV 3.16 keV 1.45 mm 5.7 cm WorldPV eIoni - 13 -1.04 cm 2.79 cm 6.96 m 9.92 keV 2.39 keV 1.06 mm 5.8 cm WorldPV eIoni - 14 -1.05 cm 2.72 cm 6.96 m 8.69 keV 1.23 keV 811 mum 5.88 cm WorldPV eIoni - 15 -1.09 cm 2.68 cm 6.96 m 7.81 keV 877 eV 702 mum 5.95 cm WorldPV eIoni - 16 -1.09 cm 2.62 cm 6.96 m 5.16 keV 2.65 keV 630 mum 6.02 cm WorldPV eIoni - 17 -1.12 cm 2.59 cm 6.96 m 2.24 keV 2.92 keV 437 mum 6.06 cm WorldPV eIoni - 18 -1.12 cm 2.59 cm 6.96 m 0 eV 2.24 keV 193 mum 6.08 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 113 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.8 mm 3.43 cm 6.97 m 12.4 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -7.24 mm 3.43 cm 6.97 m 9.58 keV 1.24 keV 604 mum 604 mum WorldPV eIoni - 2 -6.83 mm 3.44 cm 6.97 m 7.55 keV 904 eV 540 mum 1.14 mm WorldPV eIoni - 3 -6.28 mm 3.42 cm 6.97 m 5.7 keV 1.85 keV 610 mum 1.75 mm WorldPV eIoni - 4 -6.27 mm 3.42 cm 6.97 m 4.31 keV 58.4 eV 13.2 mum 1.77 mm WorldPV eIoni - 5 -6.25 mm 3.44 cm 6.97 m 2.41 keV 1.9 keV 380 mum 2.15 mm WorldPV eIoni - 6 -6.08 mm 3.44 cm 6.97 m 387 eV 2.02 keV 217 mum 2.36 mm WorldPV eIoni - 7 -6.06 mm 3.44 cm 6.97 m 0 eV 387 eV 22 mum 2.39 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 124 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.27 mm 3.42 cm 6.97 m 1.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -6.26 mm 3.41 cm 6.97 m 0 eV 1.33 keV 90.1 mum 90.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 124 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.83 mm 3.44 cm 6.97 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -6.82 mm 3.43 cm 6.97 m 0 eV 1.12 keV 70.8 mum 70.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 124 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.24 mm 3.43 cm 6.97 m 1.56 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -7.22 mm 3.44 cm 6.97 m 0 eV 1.56 keV 113 mum 113 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 113 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.64 cm 2.4 cm 6.97 m 3.27 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.62 cm 2.4 cm 6.97 m 1.41 keV 1.85 keV 302 mum 302 mum WorldPV eIoni - 2 -1.61 cm 2.4 cm 6.97 m 0 eV 1.41 keV 97.7 mum 400 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 113 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.83 cm 9.12 mm 6.97 m 1.35 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.83 cm 9.11 mm 6.97 m 0 eV 1.35 keV 91.5 mum 91.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 113 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.92 cm 7.18 mm 6.97 m 2.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.91 cm 7.2 mm 6.97 m 0 eV 2.19 keV 188 mum 188 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 149 mum 6.88 m 4.94 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.47 cm -72.8 mum 6.88 m 3.59 keV 1.35 keV 422 mum 422 mum WorldPV eIoni - 2 -2.44 cm -161 mum 6.88 m 1.83 keV 1.75 keV 328 mum 749 mum WorldPV eIoni - 3 -2.44 cm -106 mum 6.88 m 0 eV 1.83 keV 142 mum 892 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 148 mum 6.84 m 11.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.53 cm 242 mum 6.84 m 6.83 keV 160 eV 319 mum 319 mum WorldPV eIoni - 2 -2.55 cm -125 mum 6.84 m 6.21 keV 625 eV 553 mum 872 mum WorldPV eIoni - 3 -2.55 cm -265 mum 6.84 m 5.1 keV 1.11 keV 509 mum 1.38 mm WorldPV eIoni - 4 -2.53 cm -627 mum 6.84 m 3.7 keV 1.39 keV 433 mum 1.81 mm WorldPV eIoni - 5 -2.52 cm -921 mum 6.84 m 1.66 keV 2.05 keV 337 mum 2.15 mm WorldPV eIoni - 6 -2.51 cm -946 mum 6.84 m 0 eV 1.66 keV 123 mum 2.27 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 111 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.53 cm 242 mum 6.84 m 4.83 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.54 cm 290 mum 6.84 m 2.62 keV 288 eV 151 mum 151 mum WorldPV eIoni - 2 -2.54 cm 286 mum 6.84 m 0 eV 2.62 keV 241 mum 392 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 128 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.54 cm 290 mum 6.84 m 1.92 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.54 cm 395 mum 6.84 m 0 eV 1.92 keV 153 mum 153 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 147 mum 6.79 m 2.93 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm -71.7 mum 6.79 m 562 eV 2.37 keV 273 mum 273 mum WorldPV eIoni - 2 -2.49 cm -53.3 mum 6.79 m 0 eV 562 eV 31.3 mum 305 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 147 mum 6.79 m 1.95 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 33.4 mum 6.79 m 0 eV 1.95 keV 156 mum 156 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 143 mum 6.64 m 2.55 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm -9.64 mum 6.64 m 469 eV 2.08 keV 234 mum 234 mum WorldPV eIoni - 2 -2.49 cm -18.1 mum 6.64 m 0 eV 469 eV 26.2 mum 260 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 139 mum 6.48 m 1.11 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 97 mum 6.48 m 0 eV 1.11 keV 70.2 mum 70.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 138 mum 6.43 m 1.89 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 231 mum 6.43 m 0 eV 1.89 keV 149 mum 149 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 136 mum 6.39 m 1.72 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 186 mum 6.39 m 0 eV 1.72 keV 131 mum 131 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 135 mum 6.32 m 1.86 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 101 mum 6.32 m 0 eV 1.86 keV 146 mum 146 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 135 mum 6.32 m 2.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 19.3 mum 6.32 m 0 eV 2.02 keV 166 mum 166 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 133 mum 6.27 m 3.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.52 cm 270 mum 6.27 m 163 eV 3.01 keV 294 mum 294 mum WorldPV eIoni - 2 -2.52 cm 276 mum 6.27 m 0 eV 163 eV 12.8 mum 307 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 133 mum 6.24 m 1.14 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 183 mum 6.24 m 0 eV 1.14 keV 72.5 mum 72.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 132 mum 6.22 m 1.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 228 mum 6.22 m 0 eV 1.8 keV 139 mum 139 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 131 mum 6.18 m 1.07 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 100 mum 6.18 m 0 eV 1.07 keV 67 mum 67 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 130 mum 6.14 m 2.54 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.52 cm 140 mum 6.14 m 734 eV 1.8 keV 232 mum 232 mum WorldPV eIoni - 2 -2.52 cm 125 mum 6.14 m 0 eV 734 eV 41.9 mum 274 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 129 mum 6.1 m 1.28 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 68.3 mum 6.1 m 0 eV 1.28 keV 85.2 mum 85.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 128 mum 6.08 m 1.21 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 114 mum 6.08 m 0 eV 1.21 keV 79.1 mum 79.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 126 mum 6.01 m 1.28 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm 153 mum 6.01 m 0 eV 1.28 keV 84.7 mum 84.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 125 mum 5.95 m 2.43 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm -42.5 mum 5.95 m 898 eV 1.53 keV 219 mum 219 mum WorldPV eIoni - 2 -2.5 cm -73.8 mum 5.95 m 0 eV 898 eV 53.4 mum 272 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 124 mum 5.92 m 1.75 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 27.3 mum 5.92 m 0 eV 1.75 keV 134 mum 134 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 120 mum 5.77 m 9.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.55 cm 609 mum 5.77 m 8.01 keV 1.18 keV 747 mum 747 mum WorldPV eIoni - 2 -2.6 cm 917 mum 5.77 m 5.43 keV 2.58 keV 645 mum 1.39 mm WorldPV eIoni - 3 -2.61 cm 1.06 mm 5.77 m 1.67 keV 2.27 keV 283 mum 1.68 mm WorldPV eIoni - 4 -2.62 cm 1.08 mm 5.77 m 0 eV 1.67 keV 125 mum 1.8 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 92 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.61 cm 1.06 mm 5.77 m 1.49 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.61 cm 996 mum 5.77 m 0 eV 1.49 keV 106 mum 106 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 120 mum 5.75 m 4.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.47 cm 39.8 mum 5.75 m 2.29 keV 2.06 keV 383 mum 383 mum WorldPV eIoni - 2 -2.47 cm -105 mum 5.75 m 0 eV 2.29 keV 201 mum 583 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 118 mum 5.68 m 1.37 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 148 mum 5.68 m 0 eV 1.37 keV 93.3 mum 93.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 116 mum 5.6 m 1.13 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 145 mum 5.6 m 0 eV 1.13 keV 72 mum 72 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 115 mum 5.57 m 1.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm 100 mum 5.57 m 0 eV 1.3 keV 87.3 mum 87.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 114 mum 5.54 m 6.95 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.49 cm -381 mum 5.54 m 5.68 keV 1.27 keV 562 mum 562 mum WorldPV eIoni - 2 -2.46 cm -54.2 mum 5.54 m 4.27 keV 1.41 keV 471 mum 1.03 mm WorldPV eIoni - 3 -2.43 cm -228 mum 5.54 m 2.31 keV 1.96 keV 377 mum 1.41 mm WorldPV eIoni - 4 -2.44 cm -344 mum 5.54 m 0 eV 2.31 keV 203 mum 1.61 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 112 mum 5.47 m 1.24 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 82.5 mum 5.47 m 0 eV 1.24 keV 81.3 mum 81.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 112 mum 5.46 m 1.45 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 39.2 mum 5.46 m 0 eV 1.45 keV 102 mum 102 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 109 mum 5.37 m 1.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 102 mum 5.37 m 0 eV 1.17 keV 75.1 mum 75.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 109 mum 5.34 m 1.05 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 108 mum 5.34 m 0 eV 1.05 keV 65.4 mum 65.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 107 mum 5.26 m 1.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.5 cm 56.3 mum 5.26 m 0 eV 1.19 keV 77.5 mum 77.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 103 mum 5.13 m 1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.51 cm 90.1 mum 5.13 m 0 eV 1 keV 61.6 mum 61.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 102 mum 5.09 m 9.38 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.43 cm 76.1 mum 5.09 m 7.23 keV 2.15 keV 764 mum 764 mum WorldPV eIoni - 2 -2.4 cm 556 mum 5.09 m 6.19 keV 1.05 keV 584 mum 1.35 mm WorldPV eIoni - 3 -2.36 cm 780 mum 5.09 m 4.29 keV 1.9 keV 508 mum 1.86 mm WorldPV eIoni - 4 -2.33 cm 815 mum 5.09 m 2.18 keV 2.11 keV 378 mum 2.23 mm WorldPV eIoni - 5 -2.33 cm 722 mum 5.09 m 0 eV 2.18 keV 186 mum 2.42 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 98.6 mum 4.96 m 13.1 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.59 cm -565 mum 4.96 m 11.1 keV 1.99 keV 1.16 mm 1.16 mm Tracker eIoni - 2 -2.63 cm -1.29 mm 4.96 m 9.95 keV 1.18 keV 934 mum 2.09 mm Tracker eIoni - 3 -2.69 cm -1.78 mm 4.96 m 9.01 keV 943 eV 815 mum 2.9 mm Tracker eIoni - 4 -2.74 cm -2.28 mm 4.96 m 6.44 keV 2.57 keV 731 mum 3.64 mm Tracker eIoni - 5 -2.77 cm -2.69 mm 4.96 m 4.06 keV 2.38 keV 526 mum 4.16 mm Tracker eIoni - 6 -2.75 cm -2.94 mm 4.96 m 2.26 keV 1.8 keV 362 mum 4.52 mm Tracker eIoni - 7 -2.76 cm -2.85 mm 4.96 m 0 eV 2.26 keV 197 mum 4.72 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 96.9 mum 4.9 m 1.78 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 85.4 mum 4.9 m 0 eV 1.78 keV 137 mum 137 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 94.2 mum 4.8 m 3.08 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -90.8 mum 4.8 m 34.5 eV 3.05 keV 287 mum 287 mum Tracker eIoni - 2 -2.51 cm -89 mum 4.8 m 0 eV 34.5 eV 5.91 mum 293 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 92.1 mum 4.71 m 2.12 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 192 mum 4.71 m 0 eV 2.12 keV 179 mum 179 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 90.4 mum 4.65 m 1.01 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 52.9 mum 4.65 m 0 eV 1.01 keV 62.1 mum 62.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 88.1 mum 4.56 m 3.87 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.52 cm 385 mum 4.56 m 2.38 keV 1.49 keV 348 mum 348 mum Tracker eIoni - 2 -2.5 cm 366 mum 4.56 m 0 eV 2.38 keV 212 mum 561 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 84.7 mum 4.44 m 1.98 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 116 mum 4.44 m 0 eV 1.98 keV 161 mum 161 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 84.1 mum 4.41 m 11.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.55 cm 451 mum 4.41 m 10.1 keV 433 eV 643 mum 643 mum Tracker eIoni - 2 -2.63 cm 637 mum 4.41 m 7.85 keV 2.22 keV 826 mum 1.47 mm Tracker eIoni - 3 -2.66 cm 388 mum 4.41 m 6.32 keV 1.53 keV 633 mum 2.1 mm Tracker eIoni - 4 -2.7 cm 105 mum 4.41 m 5.34 keV 980 eV 517 mum 2.62 mm Tracker eIoni - 5 -2.74 cm 57 mum 4.41 m 3.52 keV 1.82 keV 449 mum 3.07 mm Tracker eIoni - 6 -2.76 cm -71.1 mum 4.41 m 1.12 keV 2.41 keV 323 mum 3.39 mm Tracker eIoni - 7 -2.76 cm -71.3 mum 4.41 m 0 eV 1.12 keV 70.8 mum 3.46 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 72 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.55 cm 451 mum 4.41 m 1.2 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.55 cm 475 mum 4.41 m 0 eV 1.2 keV 78 mum 78 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 82.4 mum 4.35 m 2.78 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 265 mum 4.35 m 1.38 keV 1.4 keV 258 mum 258 mum Tracker eIoni - 2 -2.51 cm 296 mum 4.35 m 0 eV 1.38 keV 95.1 mum 353 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 79.7 mum 4.25 m 1.2 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 108 mum 4.25 m 0 eV 1.2 keV 78.2 mum 78.2 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 79.5 mum 4.24 m 1.03 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 50.3 mum 4.24 m 0 eV 1.03 keV 63.9 mum 63.9 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 78.9 mum 4.22 m 9.55 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.67 cm -126 mum 4.22 m 7.96 MeV 1.57 MeV 3.62 mm 3.62 mm trkChamber eBrem - 2 -2.72 cm -659 mum 4.22 m 7.03 MeV 931 keV 2.57 mm 6.18 mm TrackerTransportation - 3 -3.64 cm 1.07 cm 4.25 m 7.02 MeV 6.44 keV 2.98 cm 3.6 cm Tracker eIoni - 4 -5.84 cm 3.37 cm 4.31 m 7.01 MeV 10.5 keV 6.31 cm 9.91 cm Tracker eIoni - 5 -9.6 cm 7.65 cm 4.41 m 6.99 MeV 13.8 keV 11.9 cm 21.8 cm Tracker eIoni - 6 -11.6 cm 10.1 cm 4.48 m 6.97 MeV 14.3 keV 7.51 cm 29.3 cm Tracker eIoni - 7 -20.7 cm 22.2 cm 4.77 m 6.9 MeV 59.8 keV 33.3 cm 62.6 cm Tracker eIoni - 8 -20.8 cm 22.4 cm 4.78 m 6.9 MeV 2.21 keV 5.54 mm 63.2 cm Tracker eIoni - 9 -21.2 cm 23.1 cm 4.79 m 6.89 MeV 2.22 keV 1.63 cm 64.8 cm Tracker eIoni - 10 -21.7 cm 24.1 cm 4.82 m 6.89 MeV 3.65 keV 2.52 cm 67.3 cm Tracker eIoni - 11 -22.4 cm 25.4 cm 4.85 m 6.88 MeV 6.04 keV 3.3 cm 70.6 cm Tracker eIoni - 12 -23 cm 26.3 cm 4.87 m 6.88 MeV 2.58 keV 2.41 cm 73 cm Tracker eIoni - 13 -26.6 cm 33.2 cm 5.03 m 6.85 MeV 25.5 keV 17.6 cm 90.6 cm WorldPVTransportation - 14 -27.1 cm 34.2 cm 5.05 m 6.84 MeV 3.24 keV 2.48 cm 93.1 cm WorldPV eIoni - 15 -27.2 cm 34.6 cm 5.06 m 6.84 MeV 573 eV 9.36 mm 94.1 cm WorldPV eIoni - 16 -28.5 cm 37.4 cm 5.13 m 6.82 MeV 14.7 keV 7.77 cm 1.02 m WorldPV eIoni - 17 -30.1 cm 40.3 cm 5.2 m 6.8 MeV 15.5 keV 8.11 cm 1.1 m WorldPV eIoni - 18 -34.6 cm 50 cm 5.42 m 6.76 MeV 39.2 keV 24.4 cm 1.34 m WorldPV eIoni - 19 -34.8 cm 50.1 cm 5.42 m 6.76 MeV 903 eV 4.72 mm 1.35 m WorldPV eIoni - 20 -36.2 cm 51.4 cm 5.47 m 6.75 MeV 7.24 keV 4.88 cm 1.4 m WorldPV eIoni - 21 -42.1 cm 56.5 cm 5.65 m 6.71 MeV 38.9 keV 19.9 cm 1.6 m WorldPV eIoni - 22 -45.7 cm 62.6 cm 5.84 m 6.66 MeV 27.4 keV 20 cm 1.8 m WorldPV eIoni - 23 -52.9 cm 74.1 cm 6.15 m 6.6 MeV 45.8 keV 34.3 cm 2.14 m WorldPV eIoni - 24 -55.6 cm 77.2 cm 6.23 m 6.58 MeV 14.9 keV 8.5 cm 2.22 m WorldPV eIoni - 25 -58.2 cm 80 cm 6.3 m 5.89 MeV 14 keV 7.68 cm 2.3 m WorldPV eIoni - 26 -60.9 cm 81.6 cm 6.36 m 5.87 MeV 15.9 keV 7.38 cm 2.37 m WorldPV eIoni - 27 -64.8 cm 83.8 cm 6.46 m 5.85 MeV 18.2 keV 11.2 cm 2.49 m WorldPV eIoni - 28 -74.2 cm 89.3 cm 6.77 m 5.79 MeV 51.3 keV 32.2 cm 2.81 m WorldPV eIoni - 29 -76.2 cm 90 cm 6.83 m 5.78 MeV 15.9 keV 6.62 cm 2.87 m WorldPV eIoni - 30 -83.7 cm 92.7 cm 7.04 m 5.74 MeV 27.2 keV 22.1 cm 3.1 m WorldPV eIoni - 31 -83.8 cm 92.7 cm 7.04 m 5.73 MeV 31.8 eV 1.33 mm 3.1 m WorldPV eIoni - 32 -84.6 cm 93 cm 7.06 m 5.72 MeV 4.62 keV 2.86 cm 3.13 m WorldPV eIoni - 33 -85.9 cm 93.4 cm 7.11 m 5.71 MeV 9.23 keV 4.46 cm 3.17 m WorldPV eIoni - 34 -95 cm 98.1 cm 7.45 m 5.65 MeV 59 keV 36.3 cm 3.53 m WorldPV eIoni - 35 -95.4 cm 97.8 cm 7.48 m 5.64 MeV 4.41 keV 2.15 cm 3.55 m WorldPV eIoni - 36 -96 cm 97.4 cm 7.5 m 5.64 MeV 5.82 keV 2.57 cm 3.58 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -95.4 cm 97.8 cm 7.48 m 5.49 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -95.5 cm 97.8 cm 7.48 m 3.44 keV 2.06 keV 459 mum 459 mum WorldPV eIoni - 2 -95.5 cm 97.8 cm 7.48 m 1.61 keV 1.83 keV 316 mum 775 mum WorldPV eIoni - 3 -95.5 cm 97.8 cm 7.48 m 0 eV 1.61 keV 117 mum 892 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -95 cm 98.1 cm 7.45 m 1.77 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -95 cm 98.1 cm 7.45 m 0 eV 1.77 keV 136 mum 136 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -85.9 cm 93.4 cm 7.11 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -85.9 cm 93.3 cm 7.11 m 0 eV 1.06 keV 66.2 mum 66.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -84.6 cm 93 cm 7.06 m 1.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -84.6 cm 93 cm 7.06 m 0 eV 1.3 keV 87.1 mum 87.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -83.8 cm 92.7 cm 7.04 m 13.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -83.8 cm 92.8 cm 7.04 m 11.5 keV 2.05 keV 1.21 mm 1.21 mm WorldPV eIoni - 2 -83.9 cm 92.9 cm 7.04 m 9.02 keV 1.36 keV 643 mum 1.85 mm WorldPV eIoni - 3 -83.8 cm 92.9 cm 7.04 m 6.79 keV 2.23 keV 732 mum 2.58 mm WorldPV eIoni - 4 -83.8 cm 92.9 cm 7.04 m 4.99 keV 1.8 keV 550 mum 3.13 mm WorldPV eIoni - 5 -83.8 cm 92.9 cm 7.04 m 2.69 keV 2.29 keV 425 mum 3.56 mm WorldPV eIoni - 6 -83.8 cm 92.9 cm 7.04 m 533 eV 2.16 keV 249 mum 3.81 mm WorldPV eIoni - 7 -83.8 cm 92.9 cm 7.04 m 0 eV 533 eV 29.6 mum 3.84 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -83.9 cm 92.9 cm 7.04 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -83.9 cm 92.9 cm 7.04 m 0 eV 1.12 keV 70.7 mum 70.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -83.7 cm 92.7 cm 7.04 m 3.97 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -83.7 cm 92.8 cm 7.04 m 2.33 keV 1.64 keV 355 mum 355 mum WorldPV eIoni - 2 -83.7 cm 92.8 cm 7.04 m 0 eV 2.33 keV 206 mum 561 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.2 cm 90 cm 6.83 m 1.47 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -76.2 cm 90 cm 6.83 m 0 eV 1.47 keV 104 mum 104 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -74.2 cm 89.3 cm 6.77 m 1.49 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -74.2 cm 89.2 cm 6.77 m 0 eV 1.49 keV 106 mum 106 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.8 cm 83.8 cm 6.46 m 5.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -64.8 cm 83.9 cm 6.46 m 3.52 keV 1.5 keV 427 mum 427 mum WorldPV eIoni - 2 -64.8 cm 83.9 cm 6.46 m 2.08 keV 1.43 keV 322 mum 749 mum WorldPV eIoni - 3 -64.8 cm 83.9 cm 6.46 m 0 eV 2.08 keV 174 mum 923 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -60.9 cm 81.6 cm 6.36 m 2.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -60.9 cm 81.6 cm 6.36 m 0 eV 2.19 keV 187 mum 187 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -58.2 cm 80 cm 6.3 m 681 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.7 cm 94.3 cm 6.35 m 645 keV 22.6 keV 17.8 cm 17.8 cm WorldPV eIoni - 2 -70.2 cm 100 cm 6.38 m 635 keV 7.99 keV 7.16 cm 25 cm WorldPV eIoni - 3 -71.7 cm 1.04 m 6.39 m 629 keV 4.69 keV 4.22 cm 29.2 cm WorldPV eIoni - 4 -72 cm 1.05 m 6.4 m 625 keV 2.88 keV 1.76 cm 31 cm WorldPV eIoni - 5 -72.2 cm 1.07 m 6.41 m 619 keV 2.27 keV 1.66 cm 32.7 cm WorldPV eIoni - 6 -73.9 cm 1.14 m 6.43 m 603 keV 14.3 keV 7.43 cm 40.1 cm WorldPV eIoni - 7 -74.2 cm 1.15 m 6.43 m 593 keV 3.34 keV 1.19 cm 41.3 cm WorldPV eIoni - 8 -74.3 cm 1.15 m 6.43 m 590 keV 383 eV 5.88 mm 41.9 cm WorldPV eIoni - 9 -74.7 cm 1.18 m 6.45 m 584 keV 5.19 keV 2.71 cm 44.6 cm WorldPV eIoni - 10 -77.3 cm 1.25 m 6.49 m 548 keV 11.8 keV 8.45 cm 53 cm WorldPV eIoni - 11 -81.6 cm 1.37 m 6.56 m 513 keV 31.5 keV 15.5 cm 68.5 cm WorldPV eIoni - 12 -81.6 cm 1.38 m 6.56 m 509 keV 1.34 keV 1.53 cm 70.1 cm WorldPV eIoni - 13 -81.7 cm 1.39 m 6.56 m 506 keV 680 eV 5.95 mm 70.7 cm WorldPV eIoni - 14 -84.8 cm 1.54 m 6.54 m 481 keV 23 keV 15.9 cm 86.6 cm WorldPV eIoni - 15 -84.6 cm 1.55 m 6.54 m 478 keV 189 eV 3.25 mm 86.9 cm WorldPV eIoni - 16 -79.6 cm 1.75 m 6.62 m 438 keV 38.4 keV 23 cm 1.1 m WorldPV eIoni - 17 -76.6 cm 1.8 m 6.66 m 428 keV 8.8 keV 6.87 cm 1.17 m WorldPV eIoni - 18 -76.5 cm 1.83 m 6.68 m 420 keV 6.77 keV 3.34 cm 1.2 m WorldPV eIoni - 19 -76.5 cm 1.83 m 6.68 m 418 keV 375 eV 877 mum 1.2 m WorldPV eIoni - 20 -75.3 cm 1.95 m 6.73 m 403 keV 13.6 keV 13.1 cm 1.33 m WorldPV eIoni - 21 -75.2 cm 1.95 m 6.73 m 402 keV 468 eV 5.16 mm 1.34 m WorldPV eIoni - 22 -63.3 cm 2.18 m 6.81 m 352 keV 48.2 keV 27.6 cm 1.61 m WorldPV eIoni - 23 -65.1 cm 2.22 m 6.82 m 332 keV 10.2 keV 4.94 cm 1.66 m WorldPV eIoni - 24 -66.3 cm 2.26 m 6.82 m 322 keV 7.87 keV 3.83 cm 1.7 m WorldPV eIoni - 25 -66.7 cm 2.27 m 6.82 m 296 keV 3.12 keV 1.59 cm 1.72 m WorldPV eIoni - 26 -64.4 cm 2.41 m 6.83 m 256 keV 32.3 keV 14.4 cm 1.86 m WorldPV eIoni - 27 -66.6 cm 2.48 m 6.82 m 244 keV 11 keV 7.6 cm 1.94 m WorldPV eIoni - 28 -66.5 cm 2.52 m 6.82 m 235 keV 8.4 keV 3.6 cm 1.97 m WorldPV eIoni - 29 -66.6 cm 2.53 m 6.82 m 231 keV 1.96 keV 1.18 cm 1.99 m WorldPV eIoni - 30 -68 cm 2.65 m 6.78 m 213 keV 18 keV 13.6 cm 2.12 m WorldPV eIoni - 31 -67.7 cm 2.68 m 6.78 m 207 keV 3.54 keV 3.1 cm 2.15 m WorldPV eIoni - 32 -67.6 cm 2.69 m 6.78 m 205 keV 302 eV 2.71 mm 2.16 m WorldPV eIoni - 33 -67.4 cm 2.69 m 6.79 m 202 keV 991 eV 5.66 mm 2.16 m WorldPV eIoni - 34 -67.6 cm 2.74 m 6.8 m 178 keV 14.8 keV 5.1 cm 2.21 m WorldPV eIoni - 35 -67.6 cm 2.75 m 6.79 m 172 keV 4.63 keV 1.63 cm 2.23 m WorldPV eIoni - 36 -65.7 cm 2.78 m 6.8 m 141 keV 10.5 keV 3.61 cm 2.26 m WorldPV eIoni - 37 -63.9 cm 2.8 m 6.83 m 131 keV 8.09 keV 3.34 cm 2.3 m WorldPV eIoni - 38 -63 cm 2.8 m 6.84 m 125 keV 3.92 keV 1.37 cm 2.31 m WorldPV eIoni - 39 -61.8 cm 2.81 m 6.85 m 117 keV 6.47 keV 2.34 cm 2.34 m WorldPV eIoni - 40 -59.3 cm 2.83 m 6.88 m 103 keV 14.2 keV 4.41 cm 2.38 m WorldPV eIoni - 41 -56.2 cm 2.83 m 6.9 m 94 keV 9.02 keV 3.53 cm 2.41 m WorldPV eIoni - 42 -55.3 cm 2.83 m 6.91 m 86.5 keV 3.48 keV 1.27 cm 2.43 m WorldPV eIoni - 43 -54 cm 2.83 m 6.92 m 77 keV 5.96 keV 2.04 cm 2.45 m WorldPV eIoni - 44 -52.8 cm 2.84 m 6.93 m 69.3 keV 7.69 keV 2.12 cm 2.47 m WorldPV eIoni - 45 -52.4 cm 2.84 m 6.94 m 48.5 keV 4.49 keV 8.6 mm 2.48 m WorldPV eIoni - 46 -51.6 cm 2.85 m 6.94 m 41.5 keV 7.03 keV 9.5 mm 2.49 m WorldPV eIoni - 47 -51 cm 2.85 m 6.95 m 37.2 keV 4.28 keV 7.22 mm 2.49 m WorldPV eIoni - 48 -50.6 cm 2.85 m 6.95 m 33.2 keV 4.06 keV 5.97 mm 2.5 m WorldPV eIoni - 49 -50.2 cm 2.85 m 6.95 m 30 keV 3.2 keV 4.92 mm 2.51 m WorldPV eIoni - 50 -50.1 cm 2.85 m 6.95 m 28.5 keV 367 eV 1.05 mm 2.51 m WorldPV eIoni - 51 -50.1 cm 2.86 m 6.95 m 24 keV 2.14 keV 3.04 mm 2.51 m WorldPV eIoni - 52 -50.1 cm 2.86 m 6.95 m 19.2 keV 4.77 keV 2.85 mm 2.51 m WorldPV eIoni - 53 -50 cm 2.86 m 6.95 m 17.3 keV 1.95 keV 2.01 mm 2.51 m WorldPV eIoni - 54 -50 cm 2.86 m 6.95 m 15.8 keV 432 eV 408 mum 2.51 m WorldPV eIoni - 55 -50 cm 2.86 m 6.95 m 14 keV 1.78 keV 1.49 mm 2.52 m WorldPV eIoni - 56 -50 cm 2.86 m 6.95 m 11 keV 3.01 keV 1.26 mm 2.52 m WorldPV eIoni - 57 -49.9 cm 2.86 m 6.95 m 9.77 keV 1.19 keV 917 mum 2.52 m WorldPV eIoni - 58 -49.8 cm 2.86 m 6.96 m 7.13 keV 2.64 keV 799 mum 2.52 m WorldPV eIoni - 59 -49.8 cm 2.86 m 6.96 m 3.45 keV 355 eV 351 mum 2.52 m WorldPV eIoni - 60 -49.8 cm 2.86 m 6.96 m 922 eV 2.52 keV 317 mum 2.52 m WorldPV eIoni - 61 -49.8 cm 2.86 m 6.96 m 0 eV 922 eV 55.2 mum 2.52 m WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -49.8 cm 2.86 m 6.96 m 3.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -49.8 cm 2.86 m 6.96 m 811 eV 2.52 keV 307 mum 307 mum WorldPV eIoni - 2 -49.8 cm 2.86 m 6.96 m 0 eV 811 eV 47.2 mum 354 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50 cm 2.86 m 6.95 m 1.08 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -50 cm 2.86 m 6.95 m 0 eV 1.08 keV 67.8 mum 67.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50.1 cm 2.86 m 6.95 m 2.42 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -50.1 cm 2.86 m 6.95 m 539 eV 1.88 keV 218 mum 218 mum WorldPV eIoni - 2 -50.1 cm 2.86 m 6.95 m 0 eV 539 eV 30 mum 248 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50.1 cm 2.85 m 6.95 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -50.1 cm 2.85 m 6.95 m 0 eV 1.06 keV 66 mum 66 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -52.4 cm 2.84 m 6.94 m 16.2 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -52.4 cm 2.84 m 6.94 m 14.8 keV 1.47 keV 1.56 mm 1.56 mm WorldPV eIoni - 2 -52.5 cm 2.85 m 6.94 m 11.4 keV 3.41 keV 1.36 mm 2.92 mm WorldPV eIoni - 3 -52.4 cm 2.84 m 6.94 m 9.57 keV 1.79 keV 958 mum 3.88 mm WorldPV eIoni - 4 -52.3 cm 2.85 m 6.94 m 7.3 keV 2.27 keV 780 mum 4.66 mm WorldPV eIoni - 5 -52.3 cm 2.85 m 6.94 m 5.8 keV 1.49 keV 589 mum 5.24 mm WorldPV eIoni - 6 -52.3 cm 2.85 m 6.94 m 2.92 keV 2.89 keV 480 mum 5.72 mm WorldPV eIoni - 7 -52.3 cm 2.84 m 6.94 m 1.05 keV 1.87 keV 272 mum 6 mm WorldPV eIoni - 8 -52.3 cm 2.85 m 6.94 m 0 eV 1.05 keV 64.9 mum 6.06 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -54 cm 2.83 m 6.92 m 3.58 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -54 cm 2.83 m 6.92 m 614 eV 2.96 keV 327 mum 327 mum WorldPV eIoni - 2 -54 cm 2.83 m 6.92 m 0 eV 614 eV 34.3 mum 361 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -55.3 cm 2.83 m 6.91 m 4.03 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -55.3 cm 2.83 m 6.91 m 1.24 keV 2.79 keV 359 mum 359 mum WorldPV eIoni - 2 -55.3 cm 2.83 m 6.91 m 0 eV 1.24 keV 81.7 mum 441 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.8 cm 2.81 m 6.85 m 1.72 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -61.8 cm 2.81 m 6.85 m 0 eV 1.72 keV 131 mum 131 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -63 cm 2.8 m 6.84 m 2.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -63 cm 2.8 m 6.84 m 0 eV 2.12 keV 178 mum 178 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -63.9 cm 2.8 m 6.83 m 1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -63.9 cm 2.8 m 6.83 m 0 eV 1 keV 61.4 mum 61.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -65.7 cm 2.78 m 6.8 m 20.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -65.7 cm 2.78 m 6.8 m 16.9 keV 1.96 keV 2.15 mm 2.15 mm WorldPV eIoni - 2 -65.7 cm 2.79 m 6.8 m 13.4 keV 3.44 keV 1.65 mm 3.79 mm WorldPV eIoni - 3 -65.7 cm 2.79 m 6.8 m 12.1 keV 1.38 keV 1.19 mm 4.99 mm WorldPV eIoni - 4 -65.6 cm 2.79 m 6.8 m 9.94 keV 2.11 keV 1.03 mm 6.02 mm WorldPV eIoni - 5 -65.6 cm 2.79 m 6.8 m 8.96 keV 983 eV 814 mum 6.83 mm WorldPV eIoni - 6 -65.5 cm 2.79 m 6.8 m 5.8 keV 3.16 keV 727 mum 7.56 mm WorldPV eIoni - 7 -65.5 cm 2.79 m 6.8 m 2.63 keV 3.17 keV 479 mum 8.04 mm WorldPV eIoni - 8 -65.5 cm 2.79 m 6.8 m 938 eV 1.69 keV 243 mum 8.28 mm WorldPV eIoni - 9 -65.5 cm 2.79 m 6.8 m 0 eV 938 eV 56.4 mum 8.34 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -65.7 cm 2.78 m 6.8 m 1.66 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -65.7 cm 2.78 m 6.8 m 0 eV 1.66 keV 124 mum 124 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 199, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.6 cm 2.75 m 6.79 m 1.69 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.6 cm 2.75 m 6.79 m 0 eV 1.69 keV 127 mum 127 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.6 cm 2.74 m 6.8 m 9.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.6 cm 2.74 m 6.8 m 8.05 keV 1.04 keV 738 mum 738 mum WorldPV eIoni - 2 -67.6 cm 2.74 m 6.8 m 6.42 keV 38.6 eV 52.2 mum 790 mum WorldPV eIoni - 3 -67.7 cm 2.74 m 6.8 m 4.21 keV 2.21 keV 524 mum 1.31 mm WorldPV eIoni - 4 -67.7 cm 2.74 m 6.8 m 2.44 keV 1.77 keV 372 mum 1.69 mm WorldPV eIoni - 5 -67.7 cm 2.74 m 6.8 m 0 eV 2.44 keV 221 mum 1.91 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 198 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.6 cm 2.74 m 6.8 m 1.59 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.6 cm 2.74 m 6.8 m 0 eV 1.59 keV 116 mum 116 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.4 cm 2.69 m 6.79 m 2.65 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.4 cm 2.69 m 6.79 m 207 eV 2.44 keV 245 mum 245 mum WorldPV eIoni - 2 -67.4 cm 2.69 m 6.79 m 0 eV 207 eV 14.5 mum 259 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.6 cm 2.69 m 6.78 m 1.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.6 cm 2.69 m 6.78 m 0 eV 1.19 keV 77.1 mum 77.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.7 cm 2.68 m 6.78 m 2.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.7 cm 2.68 m 6.78 m 0 eV 2.09 keV 175 mum 175 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.6 cm 2.53 m 6.82 m 2.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.6 cm 2.53 m 6.82 m 0 eV 2.12 keV 178 mum 178 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 193, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.5 cm 2.52 m 6.82 m 1.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.5 cm 2.52 m 6.82 m 0 eV 1.22 keV 79.7 mum 79.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 192, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.6 cm 2.48 m 6.82 m 1.05 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.6 cm 2.48 m 6.82 m 0 eV 1.05 keV 65.6 mum 65.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 191, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.4 cm 2.41 m 6.83 m 7.64 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -64.4 cm 2.41 m 6.83 m 6.74 keV 901 eV 616 mum 616 mum WorldPV eIoni - 2 -64.4 cm 2.41 m 6.83 m 3.69 keV 3.05 keV 547 mum 1.16 mm WorldPV eIoni - 3 -64.4 cm 2.41 m 6.83 m 2.27 keV 107 eV 72.6 mum 1.24 mm WorldPV eIoni - 4 -64.4 cm 2.41 m 6.83 m 0 eV 2.27 keV 198 mum 1.43 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.4 cm 2.41 m 6.83 m 1.31 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -64.4 cm 2.41 m 6.83 m 0 eV 1.31 keV 87.7 mum 87.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 190, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.7 cm 2.27 m 6.82 m 22.9 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.7 cm 2.27 m 6.82 m 18.8 keV 166 eV 569 mum 569 mum WorldPV eIoni - 2 -66.8 cm 2.27 m 6.82 m 16.5 keV 2.25 keV 1.94 mm 2.51 mm WorldPV eIoni - 3 -66.9 cm 2.27 m 6.82 m 14.3 keV 298 eV 151 mum 2.66 mm WorldPV eIoni - 4 -66.9 cm 2.27 m 6.82 m 11.8 keV 2.48 keV 1.29 mm 3.95 mm WorldPV eIoni - 5 -67 cm 2.27 m 6.82 m 8.7 keV 3.1 keV 1 mm 4.95 mm WorldPV eIoni - 6 -67 cm 2.27 m 6.82 m 7.8 keV 900 eV 703 mum 5.66 mm WorldPV eIoni - 7 -67.1 cm 2.27 m 6.82 m 5.94 keV 1.86 keV 629 mum 6.28 mm WorldPV eIoni - 8 -67.1 cm 2.28 m 6.82 m 4.19 keV 1.74 keV 489 mum 6.77 mm WorldPV eIoni - 9 -67.1 cm 2.28 m 6.82 m 3.07 keV 3.67 eV 176 mum 6.95 mm WorldPV eIoni - 10 -67.1 cm 2.28 m 6.82 m 0 eV 3.07 keV 286 mum 7.24 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.1 cm 2.28 m 6.82 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -67.1 cm 2.28 m 6.82 m 0 eV 1.12 keV 70.9 mum 70.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.9 cm 2.27 m 6.82 m 1.94 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.9 cm 2.27 m 6.82 m 0 eV 1.94 keV 155 mum 155 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.7 cm 2.27 m 6.82 m 3.99 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.7 cm 2.27 m 6.82 m 2.39 keV 1.59 keV 356 mum 356 mum WorldPV eIoni - 2 -66.8 cm 2.27 m 6.82 m 0 eV 2.39 keV 215 mum 571 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.3 cm 2.26 m 6.82 m 2.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.3 cm 2.26 m 6.82 m 0 eV 2.22 keV 191 mum 191 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -65.1 cm 2.22 m 6.82 m 9 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -65.2 cm 2.22 m 6.82 m 7.2 keV 1.8 keV 730 mum 730 mum WorldPV eIoni - 2 -65.2 cm 2.22 m 6.82 m 5.57 keV 1.63 keV 582 mum 1.31 mm WorldPV eIoni - 3 -65.2 cm 2.22 m 6.82 m 3.35 keV 2.22 keV 464 mum 1.78 mm WorldPV eIoni - 4 -65.2 cm 2.22 m 6.82 m 1.76 keV 1.6 keV 309 mum 2.09 mm WorldPV eIoni - 5 -65.3 cm 2.22 m 6.82 m 0 eV 1.76 keV 134 mum 2.22 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -63.3 cm 2.18 m 6.81 m 1.93 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -63.3 cm 2.18 m 6.81 m 0 eV 1.93 keV 154 mum 154 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -75.2 cm 1.95 m 6.73 m 1.18 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -75.2 cm 1.95 m 6.73 m 0 eV 1.18 keV 76.7 mum 76.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -75.3 cm 1.95 m 6.73 m 1.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -75.3 cm 1.95 m 6.73 m 0 eV 1.5 keV 107 mum 107 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.5 cm 1.83 m 6.68 m 1.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -76.5 cm 1.83 m 6.68 m 0 eV 1.17 keV 75.1 mum 75.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.5 cm 1.83 m 6.68 m 1.25 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -76.5 cm 1.83 m 6.68 m 0 eV 1.25 keV 82.6 mum 82.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.6 cm 1.8 m 6.66 m 1.13 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -76.6 cm 1.8 m 6.66 m 0 eV 1.13 keV 71.7 mum 71.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -79.6 cm 1.75 m 6.62 m 1.34 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -79.6 cm 1.75 m 6.62 m 0 eV 1.34 keV 90.9 mum 90.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -84.6 cm 1.55 m 6.54 m 3.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -84.7 cm 1.55 m 6.54 m 570 eV 2.52 keV 287 mum 287 mum WorldPV eIoni - 2 -84.7 cm 1.55 m 6.54 m 0 eV 570 eV 31.8 mum 319 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -84.8 cm 1.54 m 6.54 m 1.78 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -84.8 cm 1.54 m 6.54 m 0 eV 1.78 keV 137 mum 137 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -81.7 cm 1.39 m 6.56 m 2.98 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -81.7 cm 1.39 m 6.56 m 214 eV 2.77 keV 278 mum 278 mum WorldPV eIoni - 2 -81.7 cm 1.39 m 6.56 m 0 eV 214 eV 14.7 mum 293 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -81.6 cm 1.38 m 6.56 m 1.75 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -81.6 cm 1.38 m 6.56 m 0 eV 1.75 keV 134 mum 134 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -81.6 cm 1.37 m 6.56 m 3.56 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -81.6 cm 1.37 m 6.56 m 2.49 keV 1.07 keV 326 mum 326 mum WorldPV eIoni - 2 -81.6 cm 1.37 m 6.56 m 0 eV 2.49 keV 227 mum 552 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -77.3 cm 1.25 m 6.49 m 24.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -77.5 cm 1.24 m 6.49 m 21 keV 2.15 keV 2.43 mm 2.43 mm WorldPV eIoni - 2 -77.5 cm 1.24 m 6.49 m 17.1 keV 1.4 keV 767 mum 3.2 mm WorldPV eIoni - 3 -77.6 cm 1.25 m 6.49 m 15.1 keV 2 keV 1.68 mm 4.87 mm WorldPV eIoni - 4 -77.6 cm 1.25 m 6.49 m 13.4 keV 158 eV 178 mum 5.05 mm WorldPV eIoni - 5 -77.7 cm 1.25 m 6.49 m 10.9 keV 2.53 keV 1.19 mm 6.24 mm WorldPV eIoni - 6 -77.7 cm 1.25 m 6.49 m 9 keV 166 eV 129 mum 6.37 mm WorldPV eIoni - 7 -77.8 cm 1.25 m 6.49 m 6.79 keV 2.21 keV 730 mum 7.1 mm WorldPV eIoni - 8 -77.8 cm 1.25 m 6.49 m 4.4 keV 2.39 keV 550 mum 7.65 mm WorldPV eIoni - 9 -77.8 cm 1.25 m 6.49 m 1.97 keV 2.43 keV 385 mum 8.04 mm WorldPV eIoni - 10 -77.8 cm 1.25 m 6.49 m 0 eV 1.97 keV 159 mum 8.2 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -77.7 cm 1.25 m 6.49 m 1.75 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -77.7 cm 1.25 m 6.49 m 0 eV 1.75 keV 133 mum 133 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -77.6 cm 1.25 m 6.49 m 1.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -77.6 cm 1.25 m 6.49 m 0 eV 1.5 keV 106 mum 106 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -77.5 cm 1.24 m 6.49 m 2.46 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -77.5 cm 1.24 m 6.49 m 1.11 keV 1.35 keV 223 mum 223 mum WorldPV eIoni - 2 -77.5 cm 1.24 m 6.49 m 0 eV 1.11 keV 69.7 mum 293 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -77.5 cm 1.24 m 6.49 m 1.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -77.5 cm 1.24 m 6.49 m 0 eV 1.36 keV 92.7 mum 92.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -74.7 cm 1.18 m 6.45 m 1.04 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -74.7 cm 1.18 m 6.45 m 0 eV 1.04 keV 64.6 mum 64.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -74.3 cm 1.15 m 6.43 m 2.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -74.3 cm 1.15 m 6.43 m 0 eV 2.6 keV 240 mum 240 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -74.2 cm 1.15 m 6.43 m 6.62 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -74.1 cm 1.15 m 6.43 m 4.4 keV 2.22 keV 538 mum 538 mum WorldPV eIoni - 2 -74.2 cm 1.15 m 6.43 m 2.56 keV 1.84 keV 385 mum 924 mum WorldPV eIoni - 3 -74.2 cm 1.15 m 6.43 m 0 eV 2.56 keV 234 mum 1.16 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -73.9 cm 1.14 m 6.43 m 1.34 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -73.9 cm 1.14 m 6.43 m 0 eV 1.34 keV 91.1 mum 91.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -72.2 cm 1.07 m 6.41 m 3.89 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -72.2 cm 1.07 m 6.41 m 2.57 keV 1.32 keV 350 mum 350 mum WorldPV eIoni - 2 -72.2 cm 1.07 m 6.41 m 173 eV 2.39 keV 236 mum 585 mum WorldPV eIoni - 3 -72.2 cm 1.07 m 6.41 m 0 eV 173 eV 13.2 mum 599 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 169, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -72 cm 1.05 m 6.4 m 1.79 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -72.1 cm 1.05 m 6.4 m 0 eV 1.79 keV 138 mum 138 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -71.7 cm 1.04 m 6.39 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -71.7 cm 1.04 m 6.39 m 0 eV 1.06 keV 66.1 mum 66.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -70.2 cm 100 cm 6.38 m 1.39 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -70.2 cm 100 cm 6.38 m 0 eV 1.39 keV 96.1 mum 96.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -66.7 cm 94.3 cm 6.35 m 13.4 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -66.7 cm 94.4 cm 6.35 m 12.1 keV 1.28 keV 1.19 mm 1.19 mm WorldPV eIoni - 2 -66.6 cm 94.4 cm 6.35 m 10.9 keV 1.25 keV 1.04 mm 2.23 mm WorldPV eIoni - 3 -66.6 cm 94.4 cm 6.35 m 8.72 keV 2.17 keV 910 mum 3.14 mm WorldPV eIoni - 4 -66.5 cm 94.3 cm 6.35 m 7.64 keV 1.08 keV 705 mum 3.85 mm WorldPV eIoni - 5 -66.5 cm 94.3 cm 6.35 m 6.19 keV 1.45 keV 616 mum 4.46 mm WorldPV eIoni - 6 -66.6 cm 94.3 cm 6.35 m 5.25 keV 937 eV 508 mum 4.97 mm WorldPV eIoni - 7 -66.6 cm 94.4 cm 6.35 m 3.66 keV 1.58 keV 443 mum 5.41 mm WorldPV eIoni - 8 -66.6 cm 94.4 cm 6.35 m 85.2 eV 3.58 keV 334 mum 5.75 mm WorldPV eIoni - 9 -66.6 cm 94.4 cm 6.35 m 0 eV 85.2 eV 9.29 mum 5.76 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -55.6 cm 77.2 cm 6.23 m 5.73 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -55.6 cm 77.2 cm 6.23 m 3.31 keV 2.42 keV 474 mum 474 mum WorldPV eIoni - 2 -55.6 cm 77.2 cm 6.23 m 1.14 keV 2.17 keV 305 mum 780 mum WorldPV eIoni - 3 -55.6 cm 77.2 cm 6.23 m 0 eV 1.14 keV 72.9 mum 852 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -52.9 cm 74.1 cm 6.15 m 8.26 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -52.9 cm 74.1 cm 6.15 m 4.97 keV 3.29 keV 665 mum 665 mum WorldPV eIoni - 2 -52.9 cm 74 cm 6.15 m 2.97 keV 2 keV 424 mum 1.09 mm WorldPV eIoni - 3 -52.9 cm 74 cm 6.15 m 202 eV 2.77 keV 277 mum 1.37 mm WorldPV eIoni - 4 -52.9 cm 74 cm 6.15 m 0 eV 202 eV 14.3 mum 1.38 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.7 cm 62.6 cm 5.84 m 21.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -45.6 cm 62.4 cm 5.84 m 18.6 keV 3.23 keV 2.45 mm 2.45 mm WorldPV eIoni - 2 -45.5 cm 62.3 cm 5.84 m 15.6 keV 3 keV 1.91 mm 4.36 mm WorldPV eIoni - 3 -45.5 cm 62.5 cm 5.84 m 13.4 keV 2.14 keV 1.47 mm 5.82 mm WorldPV eIoni - 4 -45.6 cm 62.6 cm 5.84 m 10.6 keV 2.8 keV 1.19 mm 7.02 mm WorldPV eIoni - 5 -45.6 cm 62.6 cm 5.84 m 8.81 keV 1.82 keV 884 mum 7.9 mm WorldPV eIoni - 6 -45.6 cm 62.7 cm 5.84 m 5.82 keV 3 keV 713 mum 8.62 mm WorldPV eIoni - 7 -45.6 cm 62.7 cm 5.84 m 4.47 keV 288 eV 90.4 mum 8.71 mm WorldPV eIoni - 8 -45.6 cm 62.7 cm 5.84 m 3.46 keV 1.01 keV 390 mum 9.1 mm WorldPV eIoni - 9 -45.6 cm 62.7 cm 5.84 m 105 eV 3.36 keV 318 mum 9.41 mm WorldPV eIoni - 10 -45.6 cm 62.7 cm 5.84 m 0 eV 105 eV 10.3 mum 9.42 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 151 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -45.6 cm 62.7 cm 5.84 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -45.6 cm 62.7 cm 5.84 m 0 eV 1.06 keV 66 mum 66 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -42.1 cm 56.5 cm 5.65 m 2.29 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -42.1 cm 56.5 cm 5.65 m 0 eV 2.29 keV 200 mum 200 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -36.2 cm 51.4 cm 5.47 m 4.52 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -36.2 cm 51.4 cm 5.47 m 2.9 keV 1.62 keV 394 mum 394 mum WorldPV eIoni - 2 -36.2 cm 51.4 cm 5.47 m 517 eV 2.38 keV 270 mum 663 mum WorldPV eIoni - 3 -36.2 cm 51.4 cm 5.47 m 0 eV 517 eV 28.7 mum 692 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.8 cm 50.1 cm 5.42 m 1.67 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -34.8 cm 50.1 cm 5.42 m 0 eV 1.67 keV 124 mum 124 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.6 cm 50 cm 5.42 m 4.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -34.7 cm 50 cm 5.42 m 2.17 keV 418 eV 71.2 mum 71.2 mum WorldPV eIoni - 2 -34.7 cm 50 cm 5.42 m 0 eV 2.17 keV 185 mum 256 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 147 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.7 cm 50 cm 5.42 m 1.63 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -34.7 cm 50 cm 5.42 m 0 eV 1.63 keV 120 mum 120 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.1 cm 40.3 cm 5.2 m 1.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -30.1 cm 40.3 cm 5.2 m 0 eV 1.36 keV 92.9 mum 92.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -28.5 cm 37.4 cm 5.13 m 2.15 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -28.6 cm 37.4 cm 5.13 m 0 eV 2.15 keV 182 mum 182 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.2 cm 34.6 cm 5.06 m 4.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -27.2 cm 34.6 cm 5.06 m 2.61 keV 1.72 keV 381 mum 381 mum WorldPV eIoni - 2 -27.2 cm 34.6 cm 5.06 m 429 eV 2.19 keV 241 mum 622 mum WorldPV eIoni - 3 -27.2 cm 34.6 cm 5.06 m 0 eV 429 eV 24.1 mum 646 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.1 cm 34.2 cm 5.05 m 4.66 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -27 cm 34.2 cm 5.05 m 2.13 keV 2.54 keV 403 mum 403 mum WorldPV eIoni - 2 -27 cm 34.2 cm 5.05 m 0 eV 2.13 keV 179 mum 582 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23 cm 26.3 cm 4.87 m 1.19 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -23 cm 26.3 cm 4.87 m 0 eV 1.19 keV 77.1 mum 77.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.4 cm 25.4 cm 4.85 m 1.35 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -22.4 cm 25.4 cm 4.85 m 0 eV 1.35 keV 91.7 mum 91.7 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.7 cm 24.1 cm 4.82 m 1.28 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -21.7 cm 24.1 cm 4.82 m 0 eV 1.28 keV 84.8 mum 84.8 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -21.2 cm 23.1 cm 4.79 m 3.49 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -21.1 cm 23.1 cm 4.79 m 1.6 keV 1.89 keV 320 mum 320 mum Tracker eIoni - 2 -21.1 cm 23.1 cm 4.79 m 0 eV 1.6 keV 116 mum 436 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.8 cm 22.4 cm 4.78 m 1.01 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -20.8 cm 22.4 cm 4.78 m 0 eV 1.01 keV 61.9 mum 61.9 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.7 cm 22.2 cm 4.77 m 5.77 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -20.6 cm 22.2 cm 4.77 m 3.55 keV 2.22 keV 477 mum 477 mum Tracker eIoni - 2 -20.6 cm 22.2 cm 4.77 m 1.39 keV 2.16 keV 325 mum 802 mum Tracker eIoni - 3 -20.6 cm 22.2 cm 4.77 m 0 eV 1.39 keV 95.4 mum 897 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.6 cm 10.1 cm 4.48 m 4.63 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -11.6 cm 10.1 cm 4.48 m 3.4 keV 1.23 keV 401 mum 401 mum Tracker eIoni - 2 -11.6 cm 10.1 cm 4.48 m 1.48 keV 1.92 keV 313 mum 714 mum Tracker eIoni - 3 -11.6 cm 10.1 cm 4.48 m 0 eV 1.48 keV 105 mum 819 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.6 cm 7.65 cm 4.41 m 8.39 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -9.56 cm 7.7 cm 4.41 m 5.91 keV 2.49 keV 676 mum 676 mum Tracker eIoni - 2 -9.53 cm 7.67 cm 4.41 m 4.95 keV 954 eV 487 mum 1.16 mm Tracker eIoni - 3 -9.51 cm 7.69 cm 4.41 m 2.77 keV 2.18 keV 423 mum 1.59 mm Tracker eIoni - 4 -9.5 cm 7.69 cm 4.41 m 0 eV 2.77 keV 257 mum 1.84 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.84 cm 3.37 cm 4.31 m 5.43 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -5.85 cm 3.41 cm 4.31 m 4.44 keV 993 eV 455 mum 455 mum Tracker eIoni - 2 -5.86 cm 3.43 cm 4.31 m 1.94 keV 1.06 keV 240 mum 695 mum Tracker eIoni - 3 -5.87 cm 3.43 cm 4.31 m 0 eV 1.94 keV 155 mum 851 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 134 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.86 cm 3.43 cm 4.31 m 1.43 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -5.87 cm 3.43 cm 4.31 m 0 eV 1.43 keV 99.9 mum 99.9 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 cm 1.07 cm 4.25 m 1.52 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.64 cm 1.08 cm 4.25 m 0 eV 1.52 keV 109 mum 109 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 132, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.67 cm -126 mum 4.22 m 19.1 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.67 cm -158 mum 4.22 m 19.1 keV 19.1 keV 174 mum 174 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 77.8 mum 4.19 m 2.41 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.47 cm -491 mum 4.19 m 1.89 MeV 523 keV 1.42 mm 1.42 mm trkChamber eIoni - 2 -2.49 cm -1.07 mm 4.19 m 1.48 MeV 411 keV 1.16 mm 2.58 mm trkChamber eIoni - 3 -2.52 cm -1.56 mm 4.19 m 1.11 MeV 365 keV 954 mum 3.53 mm trkChamber eIoni - 4 -2.46 cm -1.35 mm 4.19 m 831 keV 280 keV 769 mum 4.3 mm trkChamber eIoni - 5 -2.44 cm -869 mum 4.19 m 592 keV 239 keV 625 mum 4.92 mm trkChamber eIoni - 6 -2.45 cm -763 mum 4.19 m 432 keV 160 keV 499 mum 5.42 mm trkChamber eIoni - 7 -2.48 cm -584 mum 4.19 m 227 keV 205 keV 409 mum 5.83 mm trkChamber eIoni - 8 -2.5 cm -594 mum 4.19 m 53.5 keV 174 keV 250 mum 6.08 mm trkChamber eIoni - 9 -2.5 cm -585 mum 4.19 m 0 eV 53.5 keV 23.7 mum 6.11 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 77.3 mum 4.17 m 20.2 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.34 cm 801 mum 4.18 m 15.8 MeV 4.41 MeV 10 mm 10 mm trkChamber eBrem - 2 -1.95 cm -372 mum 4.19 m 12.7 MeV 3.03 MeV 7.94 mm 1.79 cm trkChamber eIoni - 3 -2 cm 2.88 mm 4.19 m 10.4 MeV 2.3 MeV 6.47 mm 2.44 cm trkChamber eIoni - 4 -1.98 cm 3.17 mm 4.2 m 8.62 MeV 1.72 MeV 3.14 mm 2.75 cm trkChamber eBrem - 5 -1.97 cm 3.22 mm 4.2 m 7.11 MeV 1.51 MeV 4.47 mm 3.2 cm trkChamber eIoni - 6 -2.1 cm 4.96 mm 4.2 m 5.58 MeV 1.54 MeV 3.74 mm 3.58 cm trkChamber eIoni - 7 -2.01 cm 6.53 mm 4.21 m 4.55 MeV 1.03 MeV 2.98 mm 3.87 cm trkChamber eIoni - 8 -2.01 cm 6.68 mm 4.21 m 3.04 MeV 94 keV 290 mum 3.9 cm trkChamber eIoni - 9 -2.01 cm 7.71 mm 4.21 m 2.52 MeV 518 keV 1.73 mm 4.08 cm trkChamber eIoni - 10 -2.06 cm 8.39 mm 4.21 m 1.89 MeV 636 keV 1.47 mm 4.22 cm trkChamber eIoni - 11 -2.09 cm 9.44 mm 4.21 m 1.08 MeV 804 keV 1.16 mm 4.34 cm trkChamber eIoni - 12 -2.14 cm 9.74 mm 4.21 m 817 keV 266 keV 754 mum 4.41 cm trkChamber eIoni - 13 -2.15 cm 9.87 mm 4.21 m 597 keV 220 keV 617 mum 4.48 cm trkChamber eIoni - 14 -2.11 cm 1.01 cm 4.21 m 400 keV 197 keV 501 mum 4.53 cm trkChamber eIoni - 15 -2.12 cm 1.02 cm 4.21 m 196 keV 204 keV 389 mum 4.57 cm trkChamber eIoni - 16 -2.11 cm 1.02 cm 4.21 m 16.2 keV 180 keV 207 mum 4.59 cm trkChamber eIoni - 17 -2.11 cm 1.02 cm 4.21 m 0 eV 16.2 keV 3 mum 4.59 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 226, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.01 cm 6.68 mm 4.21 m 1.42 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.06 cm 7.25 mm 4.21 m 1.06 MeV 359 keV 924 mum 924 mumtrkChamber eIoni - 2 -2.06 cm 7.64 mm 4.21 m 739 keV 318 keV 741 mum 1.66 mm trkChamber eIoni - 3 -2.07 cm 7.13 mm 4.21 m 456 keV 283 keV 576 mum 2.24 mm trkChamber eIoni - 4 -2.08 cm 7.39 mm 4.21 m 302 keV 154 keV 423 mum 2.66 mm trkChamber eIoni - 5 -2.07 cm 7.31 mm 4.21 m 158 keV 143 keV 321 mum 2.98 mm trkChamber eIoni - 6 -2.08 cm 7.29 mm 4.21 m 0 eV 158 keV 147 mum 3.13 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 225, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.98 cm 3.17 mm 4.2 m 79.2 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.14 cm 3.96 mm 4.21 m 77.6 keV 1.64 keV 8.43 mm 8.43 mm trkChamber compt - 2 -2.13 cm 3.54 mm 4.21 m 69 keV 8.64 keV 1.16 mm 9.59 mm trkChamber compt - 3 -2.51 cm -7.69 mm 4.2 m 69 keV 69 keV 1.2 cm 2.16 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 224, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.34 cm 801 mum 4.18 m 36.3 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.1 cm 376 mum 4.19 m 36.3 keV 36.3 keV 6.86 mm 6.86 mm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 72.9 mum 4.08 m 3.55 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.42 cm -1.05 mm 4.08 m 2.7 MeV 859 keV 1.99 mm 1.99 mm trkChamber eIoni - 2 -2.3 cm -1.87 mm 4.08 m 2.16 MeV 538 keV 1.56 mm 3.55 mm trkChamber eIoni - 3 -2.2 cm -1.84 mm 4.08 m 1.75 MeV 407 keV 1.29 mm 4.84 mm trkChamber eIoni - 4 -2.2 cm -2.88 mm 4.08 m 1.4 MeV 354 keV 1.09 mm 5.93 mm trkChamber eIoni - 5 -2.16 cm -3.52 mm 4.08 m 1.1 MeV 301 keV 914 mum 6.84 mm trkChamber eIoni - 6 -2.11 cm -3.87 mm 4.08 m 840 keV 257 keV 761 mum 7.61 mm trkChamber eIoni - 7 -2.06 cm -4.12 mm 4.08 m 560 keV 280 keV 629 mum 8.24 mm trkChamber eIoni - 8 -2.03 cm -3.99 mm 4.08 m 384 keV 175 keV 481 mum 8.72 mm trkChamber eIoni - 9 -2 cm -3.91 mm 4.08 m 214 keV 170 keV 379 mum 9.1 mm trkChamber eIoni - 10 -2.01 cm -3.75 mm 4.08 m 68.9 keV 145 keV 233 mum 9.33 mm trkChamber eIoni - 11 -2.01 cm -3.76 mm 4.08 m 0 eV 68.9 keV 36.8 mum 9.37 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 72.2 mum 4.06 m 2.12 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.61 cm -33.6 mum 4.06 m 1.68 MeV 441 keV 1.28 mm 1.28 mm trkChamber eIoni - 2 -2.63 cm -372 mum 4.06 m 1.33 MeV 349 keV 1.06 mm 2.33 mm trkChamber eIoni - 3 -2.6 cm -998 mum 4.06 m 986 keV 346 keV 881 mum 3.21 mm trkChamber eIoni - 4 -2.61 cm -999 mum 4.06 m 647 keV 28.3 keV 73.6 mum 3.29 mm trkChamber eBrem - 5 -2.65 cm -787 mum 4.06 m 251 keV 396 keV 528 mum 3.82 mm trkChamber eIoni - 6 -2.66 cm -780 mum 4.06 m 35.6 keV 216 keV 276 mum 4.09 mm trkChamber eIoni - 7 -2.66 cm -784 mum 4.06 m 0 eV 35.6 keV 11.7 mum 4.1 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.61 cm -999 mum 4.06 m 311 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.58 cm 1.12 cm 4.07 m 197 keV 114 keV 1.54 cm 1.54 cm trkChamber compt - 2 1.82 cm 1.66 mm 4.08 m 133 keV 63.8 keV 4.74 cm 6.28 cm trkChamber compt - 3 1.09 cm -9.6 mm 4.09 m 91.6 keV 41.8 keV 1.39 cm 7.68 cm trkChamber compt - 4 9.85 mm 3.07 mm 4.09 m 90.2 keV 1.32 keV 1.27 cm 8.95 cm trkChamber compt - 5 1.39 cm 1.85 cm 4.09 m 81.7 keV 8.52 keV 1.65 cm 10.6 cm trkChamber compt - 6 9.35 mm 2.21 cm 4.09 m 81.7 keV 81.7 keV 5.82 mm 11.2 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 69.1 mum 3.96 m 2.38 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 107 mum 3.96 m 0 eV 2.38 keV 213 mum 213 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 69 mum 3.96 m 1.39 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 5.49 mum 3.96 m 0 eV 1.39 keV 96.1 mum 96.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 67.9 mum 3.93 m 2.11 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.52 cm 74.2 mum 3.93 m 0 eV 2.11 keV 177 mum 177 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 66.6 mum 3.89 m 2.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -112 mum 3.89 m 0 eV 2.7 keV 250 mum 250 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 59.1 mum 3.66 m 10.6 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.43 cm -399 mum 3.66 m 6.9 keV 3.67 keV 877 mum 877 mum Tracker eIoni - 2 -2.4 cm -810 mum 3.66 m 5.6 keV 1.29 keV 558 mum 1.43 mm Tracker eIoni - 3 -2.36 cm -996 mum 3.66 m 5.05 keV 551 eV 466 mum 1.9 mm Tracker eIoni - 4 -2.33 cm -1.11 mm 3.66 m 4.07 keV 977 eV 429 mum 2.33 mm Tracker eIoni - 5 -2.31 cm -1.38 mm 3.66 m 809 eV 3.27 keV 363 mum 2.69 mm Tracker eIoni - 6 -2.32 cm -1.37 mm 3.66 m 0 eV 809 eV 47 mum 2.74 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 59 mum 3.65 m 1.71 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -28.8 mum 3.65 m 0 eV 1.71 keV 129 mum 129 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 54.9 mum 3.53 m 4.93 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.52 cm 381 mum 3.53 m 3.55 keV 1.38 keV 421 mum 421 mum Tracker eIoni - 2 -2.51 cm 518 mum 3.53 m 852 eV 2.7 keV 325 mum 746 mum Tracker eIoni - 3 -2.51 cm 511 mum 3.53 m 0 eV 852 eV 50.1 mum 796 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 54.8 mum 3.53 m 2.94 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm -20.2 mum 3.53 m 1.26 keV 1.68 keV 274 mum 274 mum Tracker eIoni - 2 -2.49 cm 1.47 mum 3.53 m 0 eV 1.26 keV 83.3 mum 357 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 50.4 mum 3.4 m 1.75 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.47 cm 255 mum 3.4 m 1.56 MeV 161 keV 524 mum 524 mumtrkChamber eBrem - 2 -2.41 cm 814 mum 3.4 m 1.21 MeV 350 keV 994 mum 1.52 mm trkChamber eIoni - 3 -2.34 cm 499 mum 3.4 m 744 keV 462 keV 817 mum 2.34 mm trkChamber eIoni - 4 -2.29 cm 534 mum 3.4 m 542 keV 202 keV 579 mum 2.91 mm trkChamber eIoni - 5 -2.28 cm 115 mum 3.4 m 382 keV 160 keV 471 mum 3.39 mm trkChamber eIoni - 6 -2.26 cm 223 mum 3.4 m 156 keV 226 keV 378 mum 3.76 mm trkChamber eIoni - 7 -2.25 cm 142 mum 3.4 m 0 eV 156 keV 144 mum 3.91 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 228, Parent ID = 55 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.47 cm 255 mum 3.4 m 36.5 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.05 cm 1.17 cm 3.41 m 36.5 keV 36.5 keV 1.42 cm 1.42 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 50.1 mum 3.39 m 2.92 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm -354 mum 3.39 m 1.9 MeV 1.02 MeV 1.67 mm 1.67 mm trkChamber eIoni - 2 -2.46 cm -76.4 mum 3.39 m 1.46 MeV 447 keV 1.17 mm 2.84 mm trkChamber eIoni - 3 -2.46 cm 533 mum 3.39 m 1.13 MeV 327 keV 943 mum 3.78 mm trkChamber eIoni - 4 -2.5 cm -54.9 mum 3.39 m 842 keV 286 keV 778 mum 4.56 mm trkChamber eIoni - 5 -2.48 cm -353 mum 3.39 m 542 keV 300 keV 631 mum 5.19 mm trkChamber eIoni - 6 -2.47 cm -68.9 mum 3.39 m 0 eV 542 keV 472 mum 5.66 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 50 mum 3.38 m 1.22 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm 645 mum 3.38 m 931 keV 294 keV 827 mum 827 mumtrkChamber eIoni - 2 -2.55 cm 526 mum 3.38 m 713 keV 218 keV 677 mum 1.5 mm trkChamber eIoni - 3 -2.58 cm 242 mum 3.38 m 522 keV 191 keV 563 mum 2.07 mm trkChamber eIoni - 4 -2.57 cm 524 mum 3.38 m 373 keV 148 keV 460 mum 2.53 mm trkChamber eIoni - 5 -2.59 cm 358 mum 3.38 m 214 keV 160 keV 372 mum 2.9 mm trkChamber eIoni - 6 -2.6 cm 315 mum 3.38 m 51.2 keV 162 keV 233 mum 3.13 mm trkChamber eIoni - 7 -2.6 cm 326 mum 3.38 m 0 eV 51.2 keV 22 mum 3.15 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 49.9 mum 3.38 m 1.12 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm 720 mum 3.38 m 756 keV 362 keV 772 mum 772 mumtrkChamber eIoni - 2 -2.5 cm 642 mum 3.38 m 510 keV 246 keV 585 mum 1.36 mm trkChamber eIoni - 3 -2.48 cm 352 mum 3.38 m 279 keV 231 keV 453 mum 1.81 mm trkChamber eIoni - 4 -2.49 cm 506 mum 3.38 m 105 keV 174 keV 302 mum 2.11 mm trkChamber eIoni - 5 -2.49 cm 503 mum 3.38 m 0 eV 105 keV 75 mum 2.19 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 49.5 mum 3.37 m 2.4 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.51 cm 32.8 mum 3.37 m 2.35 MeV 9.67 keV 39.9 mum 39.9 mumtrkChamber eBrem - 2 -2.51 cm -170 mum 3.37 m 1.67 MeV 683 keV 1.39 mm 1.43 mm trkChamber eIoni - 3 -2.52 cm -812 mum 3.37 m 1.28 MeV 385 keV 1.05 mm 2.48 mm trkChamber eIoni - 4 -2.59 cm -981 mum 3.37 m 937 keV 348 keV 857 mum 3.34 mm trkChamber eIoni - 5 -2.62 cm -943 mum 3.37 m 615 keV 323 keV 680 mum 4.02 mm trkChamber eIoni - 6 -2.64 cm -1.21 mm 3.37 m 440 keV 175 keV 511 mum 4.53 mm trkChamber eIoni - 7 -2.67 cm -1.46 mm 3.37 m 259 keV 180 keV 413 mum 4.94 mm trkChamber eIoni - 8 -2.67 cm -1.49 mm 3.37 m 108 keV 152 keV 284 mum 5.23 mm trkChamber eIoni - 9 -2.67 cm -1.51 mm 3.37 m 0 eV 108 keV 77.9 mum 5.3 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 229, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.51 cm 32.8 mum 3.37 m 39.4 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.04 cm 1.98 mm 3.38 m 39.4 keV 39.4 keV 9.93 mm 9.93 mm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 48.2 mum 3.32 m 68.7 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.55 cm 452 mum 3.32 m 67.1 MeV 1.58 MeV 4.29 mm 4.29 mm trkChamber eBrem - 2 -2.56 cm 506 mum 3.33 m 66.5 MeV 354 keV 825 mum 5.11 mm trkChamber eBrem - 3 -2.59 cm 727 mum 3.33 m 65.7 MeV 847 keV 2.26 mm 7.37 mm trkChamber eBrem - 4 -2.62 cm 976 mum 3.33 m 63.6 MeV 1.06 MeV 2.86 mm 1.02 cm trkChamber eIoni - 5 -2.79 cm 455 mum 3.35 m 39.3 MeV 8.46 MeV 2.02 cm 3.04 cm trkChamber eBrem - 6 -2.8 cm 628 mum 3.35 m 30.7 MeV 382 keV 1.05 mm 3.15 cm trkChamber eIoni - 7 -2.85 cm 1.33 mm 3.36 m 21.5 MeV 2.3 MeV 5.51 mm 3.7 cm trkChamber eBrem - 8 -2.97 cm 1.58 mm 3.36 m 10.1 MeV 1.83 MeV 4.91 mm 4.19 cm trkChamber eBrem - 9 -2.94 cm 1.42 mm 3.37 m 8.23 MeV 1.83 MeV 5.17 mm 4.71 cm trkChamber eIoni - 10 -3.06 cm 3.02 mm 3.37 m 6.42 MeV 1.81 MeV 4.28 mm 5.14 cm trkChamber eIoni - 11 -3.33 cm 3.79 mm 3.37 m 5.1 MeV 1.32 MeV 3.39 mm 5.47 cm trkChamber eIoni - 12 -3.34 cm 4.94 mm 3.37 m 3.91 MeV 613 keV 1.71 mm 5.64 cm trkChamber eBrem - 13 -3.32 cm 6.77 mm 3.37 m 3 MeV 914 keV 2.16 mm 5.86 cm trkChamber eIoni - 14 -3.38 cm 5.88 mm 3.37 m 2.42 MeV 579 keV 1.71 mm 6.03 cm trkChamber eIoni - 15 -3.43 cm 6.21 mm 3.37 m 1.53 MeV 885 keV 1.42 mm 6.17 cm trkChamber eIoni - 16 -3.47 cm 5.58 mm 3.37 m 1.18 MeV 357 keV 982 mum 6.27 cm trkChamber eIoni - 17 -3.52 cm 5.38 mm 3.37 m 866 keV 310 keV 802 mum 6.35 cm trkChamber eIoni - 18 -3.58 cm 5.14 mm 3.37 m 609 keV 257 keV 643 mum 6.42 cm trkChamber eIoni - 19 -3.54 cm 5.24 mm 3.37 m 367 keV 242 keV 508 mum 6.47 cm trkChamber eIoni - 20 -3.54 cm 5.12 mm 3.37 m 94.4 keV 272 keV 368 mum 6.5 cm trkChamber eIoni - 21 -3.55 cm 5.09 mm 3.37 m 0 eV 94.4 keV 62.6 mum 6.51 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 238, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.34 cm 4.94 mm 3.37 m 573 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.85 cm 5.9 cm 3.42 m 353 keV 220 keV 7.37 cm 7.37 cm trkChamber compt - 2 4.62 cm 15.1 cm 3.41 m 271 keV 82.5 keV 12.5 cm 19.9 cm trkChamber compt - 3 5.79 cm 15.3 cm 3.42 m 271 keV 0 eV 1.56 cm 21.4 cm TrackerTransportation - 4 74.9 cm 27.2 cm 4.03 m 271 keV 0 eV 92.3 cm 1.14 m trkChamberTransportation - 5 76.9 cm 27.5 cm 4.04 m 176 keV 95 keV 2.68 cm 1.16 m trkChamber compt - 6 77.1 cm 27.6 cm 4.04 m 105 keV 70.9 keV 2.87 mm 1.17 m trkChamber compt - 7 76.9 cm 27.4 cm 4.04 m 82.4 keV 22.3 keV 4.43 mm 1.17 m trkChamber compt - 8 77.8 cm 26.2 cm 4.04 m 74.1 keV 8.29 keV 1.69 cm 1.19 m trkChamber compt - 9 77.3 cm 26 cm 4.03 m 74.1 keV 0 eV 1.24 cm 1.2 m TrackerTransportation - 10 49.5 cm 15.2 cm 3.42 m 74.1 keV 0 eV 67 cm 1.87 m trkChamberTransportation - 11 48 cm 14.6 cm 3.39 m 59.8 keV 14.3 keV 3.63 cm 1.91 m trkChamber compt - 12 48 cm 14.6 cm 3.39 m 59.8 keV 59.8 keV 94.3 mum 1.91 m trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 237, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.97 cm 1.58 mm 3.36 m 9.58 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.66 cm 9.08 mm 3.42 m 9.58 MeV 0 eV 6.43 cm 6.43 cm TrackerTransportation - 2 -10.1 cm 7.98 cm 4.03 m 9.58 MeV 0 eV 60.8 cm 67.2 cm trkChamberTransportation - 3 -10.2 cm 8.05 cm 4.03 m 2.89 MeV 0 eV 5.21 mm 67.7 cm trkChamber compt - 4 -9.67 cm 8.68 cm 4.05 m 2.14 MeV 748 keV 1.73 cm 69.5 cm trkChamber compt - 5 -5.32 cm 9.41 cm 4.12 m 637 keV 0 eV 8.27 cm 77.7 cm trkChamber compt - 6 -6.65 cm 8.79 cm 4.14 m 229 keV 409 keV 2.73 cm 80.4 cm trkChamber compt - 7 -6.56 cm 6.51 cm 4.12 m 221 keV 7.71 keV 3.15 cm 83.6 cm trkChamber compt - 8 -6.67 cm 6.12 cm 4.11 m 195 keV 25.7 keV 9.31 mm 84.5 cm trkChamber compt - 9 -4.6 cm 1.66 cm 4.08 m 159 keV 36.3 keV 5.47 cm 90 cm trkChamber compt - 10 -5.15 cm 1.16 cm 4.08 m 105 keV 54.4 keV 7.89 mm 90.8 cm trkChamber compt - 11 -5.34 cm 4.06 cm 4.09 m 91.1 keV 13.5 keV 3.19 cm 94 cm trkChamber compt - 12 -4.11 cm 4.83 cm 4.09 m 91.1 keV 91.1 keV 1.53 cm 95.5 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 237 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.32 cm 9.41 cm 4.12 m 1.5 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -5.28 cm 9.43 cm 4.12 m 1.21 MeV 291 keV 968 mum 968 mumtrkChamber eIoni - 2 -5.23 cm 9.45 cm 4.12 m 951 keV 262 keV 821 mum 1.79 mm trkChamber eIoni - 3 -5.18 cm 9.49 cm 4.12 m 710 keV 241 keV 687 mum 2.47 mm trkChamber eIoni - 4 -5.15 cm 9.52 cm 4.12 m 513 keV 197 keV 561 mum 3.04 mm trkChamber eIoni - 5 -5.14 cm 9.53 cm 4.12 m 337 keV 176 keV 455 mum 3.49 mm trkChamber eIoni - 6 -5.14 cm 9.54 cm 4.12 m 133 keV 204 keV 347 mum 3.84 mm trkChamber eIoni - 7 -5.14 cm 9.53 cm 4.12 m 0 eV 133 keV 111 mum 3.95 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 237 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.2 cm 8.05 cm 4.03 m 6.69 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -10.2 cm 8.08 cm 4.03 m 5.12 MeV 1.57 MeV 3.53 mm 3.53 mm trkChamber eIoni - 2 -10.3 cm 8.19 cm 4.04 m 4.1 MeV 1.01 MeV 2.76 mm 6.28 mm trkChamber eIoni - 3 -10.2 cm 8.29 cm 4.04 m 3.21 MeV 894 keV 2.26 mm 8.54 mm trkChamber eIoni - 4 -10.2 cm 8.22 cm 4.04 m 2.51 MeV 701 keV 1.81 mm 1.04 cm trkChamber eIoni - 5 -10.1 cm 8.21 cm 4.04 m 2.36 MeV 137 keV 404 mum 1.08 cm trkChamber eBrem - 6 -10 cm 8.21 cm 4.04 m 1.88 MeV 484 keV 1.39 mm 1.21 cm trkChamber eIoni - 7 -9.97 cm 8.27 cm 4.04 m 1.44 MeV 435 keV 1.15 mm 1.33 cm trkChamber eIoni - 8 -9.94 cm 8.24 cm 4.04 m 1.16 MeV 278 keV 936 mum 1.42 cm trkChamber eIoni - 9 -9.97 cm 8.29 cm 4.04 m 880 keV 282 keV 795 mum 1.5 cm trkChamber eIoni - 10 -9.92 cm 8.3 cm 4.04 m 642 keV 239 keV 650 mum 1.57 cm trkChamber eIoni - 11 -9.93 cm 8.35 cm 4.04 m 411 keV 230 keV 525 mum 1.62 cm trkChamber eIoni - 12 -9.92 cm 8.32 cm 4.04 m 254 keV 157 keV 396 mum 1.66 cm trkChamber eIoni - 13 -9.94 cm 8.32 cm 4.04 m 109 keV 145 keV 279 mum 1.69 cm trkChamber eIoni - 14 -9.94 cm 8.32 cm 4.04 m 0 eV 109 keV 79.8 mum 1.7 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 241, Parent ID = 239 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.1 cm 8.21 cm 4.04 m 11.4 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -10.1 cm 8.2 cm 4.04 m 11.4 keV 11.4 keV 247 mum 247 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 236, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 cm 1.33 mm 3.36 m 6.95 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.84 cm 7.98 mm 3.42 m 6.95 MeV 0 eV 6.93 cm 6.93 cm TrackerTransportation - 2 -12.5 cm 6.64 cm 4.03 m 6.95 MeV 0 eV 60.9 cm 67.8 cm trkChamberTransportation - 3 -13.1 cm 7.02 cm 4.06 m 3.97 MeV 0 eV 3.91 cm 71.7 cm trkChamber compt - 4 -11.4 cm 11 cm 4.19 m 3.9 MeV 66.5 keV 13.6 cm 85.4 cm trkChamber compt - 5 -10.9 cm 12.3 cm 4.22 m 3.9 MeV 0 eV 3.5 cm 88.9 cm TrackerTransportation - 6 7.54 mm 43 cm 5.03 m 3.9 MeV 0 eV 86.5 cm 1.75 m WorldPVTransportation - 7 36.9 cm 1.38 m 7.5 m 3.9 MeV 0 eV 2.68 m 4.43 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -13.1 cm 7.02 cm 4.06 m 2.98 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -13.1 cm 7.04 cm 4.07 m 2.33 MeV 657 keV 1.7 mm 1.7 mm trkChamber eIoni - 2 -13.1 cm 7.05 cm 4.07 m 1.83 MeV 496 keV 1.38 mm 3.08 mm trkChamber eIoni - 3 -13.1 cm 7.14 cm 4.07 m 1.41 MeV 424 keV 1.13 mm 4.21 mm trkChamber eIoni - 4 -13.2 cm 7.21 cm 4.07 m 1.13 MeV 271 keV 918 mum 5.13 mm trkChamber eIoni - 5 -13.3 cm 7.24 cm 4.07 m 882 keV 252 keV 781 mum 5.91 mm trkChamber eIoni - 6 -13.3 cm 7.26 cm 4.07 m 589 keV 293 keV 651 mum 6.56 mm trkChamber eIoni - 7 -13.3 cm 7.26 cm 4.07 m 370 keV 220 keV 497 mum 7.06 mm trkChamber eIoni - 8 -13.3 cm 7.26 cm 4.07 m 148 keV 222 keV 370 mum 7.43 mm trkChamber eIoni - 9 -13.3 cm 7.26 cm 4.07 m 0 eV 148 keV 132 mum 7.56 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 235, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.8 cm 628 mum 3.35 m 8.2 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.62 cm 1.09 mm 3.36 m 5.5 MeV 2.7 MeV 4.27 mm 4.27 mm trkChamber eIoni - 2 -2.6 cm 1.67 mm 3.36 m 4.8 MeV 322 keV 1.02 mm 5.29 mm trkChamber eBrem - 3 -2.61 cm 3.43 mm 3.36 m 3.73 MeV 1.07 MeV 2.6 mm 7.89 mm trkChamber eIoni - 4 -2.61 cm 2.98 mm 3.36 m 3.54 MeV 173 keV 457 mum 8.35 mm trkChamber eBrem - 5 -2.59 cm 1.26 mm 3.36 m 2.92 MeV 627 keV 1.98 mm 1.03 cm trkChamber eIoni - 6 -2.55 cm -187 mum 3.36 m 2.34 MeV 573 keV 1.67 mm 1.2 cm trkChamber eIoni - 7 -2.64 cm -789 mum 3.36 m 1.85 MeV 489 keV 1.39 mm 1.34 cm trkChamber eIoni - 8 -2.64 cm -1.75 mm 3.36 m 1.3 MeV 556 keV 1.14 mm 1.45 cm trkChamber eIoni - 9 -2.68 cm -2.32 mm 3.36 m 967 keV 331 keV 864 mum 1.54 cm trkChamber eIoni - 10 -2.74 cm -2.37 mm 3.36 m 734 keV 233 keV 695 mum 1.61 cm trkChamber eIoni - 11 -2.71 cm -2.8 mm 3.36 m 499 keV 235 keV 574 mum 1.67 cm trkChamber eIoni - 12 -2.69 cm -2.88 mm 3.36 m 312 keV 187 keV 447 mum 1.71 cm trkChamber eIoni - 13 -2.68 cm -2.83 mm 3.36 m 134 keV 178 keV 329 mum 1.74 cm trkChamber eIoni - 14 -2.68 cm -2.84 mm 3.36 m 0 eV 134 keV 112 mum 1.75 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 244, Parent ID = 235 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.61 cm 2.98 mm 3.36 m 16.5 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.61 cm 2.68 mm 3.36 m 15.5 keV 987 eV 314 mum 314 mumtrkChamber compt - 2 -2.62 cm 3.14 mm 3.36 m 15.5 keV 15.5 keV 487 mum 801 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 243, Parent ID = 235 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.6 cm 1.67 mm 3.36 m 381 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.4 cm 1.08 cm 3.37 m 204 keV 177 keV 1.98 cm 1.98 cm trkChamber compt - 2 -7.43 cm -9.72 mm 3.38 m 158 keV 46 keV 5.47 cm 7.45 cm trkChamber compt - 3 -10.9 cm 1.38 cm 3.33 m 104 keV 53.7 keV 6.44 cm 13.9 cm trkChamber compt - 4 -10.3 cm 9.16 mm 3.33 m 98.3 keV 6.15 keV 7.66 mm 14.7 cm trkChamber compt - 5 -9.69 cm 3.02 mm 3.34 m 97.3 keV 1.02 keV 1.27 cm 15.9 cm trkChamber compt - 6 -8.72 cm -1.63 cm 3.36 m 97.3 keV 97.3 keV 2.61 cm 18.5 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 cm 455 mum 3.35 m 15.8 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.82 cm 1.31 cm 3.42 m 15.8 MeV 0 eV 7.65 cm 7.65 cm TrackerTransportation - 2 -12.1 cm 11.5 cm 4.03 m 15.8 MeV 0 eV 61.4 cm 69.1 cm trkChamberTransportation - 3 -14.8 cm 14.7 cm 4.22 m 0 eV 0 eV 19.9 cm 89 cm trkChamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 246, Parent ID = 234 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.8 cm 14.7 cm 4.22 m 9.52 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -14.8 cm 14.8 cm 4.22 m 7.32 MeV 2.2 MeV 5.01 mm 5.01 mm trkChamber eIoni - 2 -14.8 cm 14.8 cm 4.22 m 7.13 MeV 194 keV 476 mum 5.49 mm TrackerTransportation - 3 -14.5 cm 15.2 cm 4.24 m 7.12 MeV 3.41 keV 1.2 cm 1.75 cm Tracker eIoni - 4 -11.5 cm 19 cm 4.35 m 7.1 MeV 16 keV 12.1 cm 13.8 cm Tracker eIoni - 5 -10.3 cm 20.6 cm 4.39 m 7.08 MeV 7.34 keV 4.73 cm 18.6 cm Tracker eIoni - 6 -8.51 cm 23.3 cm 4.45 m 7.07 MeV 9.66 keV 7.17 cm 25.7 cm Tracker eIoni - 7 -5.93 cm 27.7 cm 4.55 m 7.05 MeV 17.9 keV 11.3 cm 37.1 cm Tracker eIoni - 8 -5.31 cm 28.7 cm 4.58 m 7.04 MeV 5 keV 2.7 cm 39.8 cm Tracker eIoni - 9 -4.82 cm 29.5 cm 4.6 m 7.04 MeV 3.8 keV 1.99 cm 41.8 cm Tracker eIoni - 10 -4.79 cm 29.6 cm 4.6 m 7.03 MeV 249 eV 1.3 mm 41.9 cm Tracker eIoni - 11 -3.05 cm 32.4 cm 4.66 m 7.02 MeV 7.31 keV 6.89 cm 48.8 cm Tracker eIoni - 12 -2.25 cm 33.8 cm 4.69 m 7.01 MeV 5.54 keV 3.35 cm 52.2 cm Tracker eIoni - 13 -7.84 mm 36.4 cm 4.74 m 7 MeV 8.16 keV 5.82 cm 58 cm Tracker eIoni - 14 -3.23 mm 37.2 cm 4.75 m 7 MeV 3.41 keV 1.81 cm 59.8 cm Tracker eIoni - 15 2.25 cm 41.2 cm 4.83 m 6.98 MeV 15.1 keV 8.9 cm 68.7 cm Tracker eIoni - 16 2.26 cm 41.3 cm 4.83 m 6.95 MeV 117 eV 390 mum 68.7 cm Tracker eIoni - 17 5.34 cm 46.2 cm 4.92 m 6.93 MeV 16.1 keV 10.8 cm 79.5 cm Tracker eIoni - 18 5.71 cm 46.8 cm 4.93 m 6.93 MeV 1.72 keV 1.27 cm 80.7 cm Tracker eIoni - 19 7.81 cm 50.1 cm 4.99 m 6.91 MeV 9.28 keV 6.93 cm 87.7 cm Tracker eIoni - 20 9.07 cm 52.3 cm 5.03 m 6.91 MeV 8.14 keV 4.58 cm 92.3 cm WorldPVTransportation - 21 9.27 cm 52.6 cm 5.03 m 6.85 MeV 2.02 keV 8.22 mm 93.1 cm WorldPV eIoni - 22 18.5 cm 69.3 cm 5.33 m 6.76 MeV 46.9 keV 35.7 cm 1.29 m WorldPV eIoni - 23 28.1 cm 87.6 cm 5.67 m 6.7 MeV 57.7 keV 39.2 cm 1.68 m WorldPV eIoni - 24 28.4 cm 88.2 cm 5.68 m 6.7 MeV 1.16 keV 1.28 cm 1.69 m WorldPV eIoni - 25 29.1 cm 89.5 cm 5.7 m 6.69 MeV 2.1 keV 2.79 cm 1.72 m WorldPV eIoni - 26 29.4 cm 90.1 cm 5.71 m 6.69 MeV 2.17 keV 1.26 cm 1.73 m WorldPV eIoni - 27 30.5 cm 92.2 cm 5.75 m 6.68 MeV 7.56 keV 4.65 cm 1.78 m WorldPV eIoni - 28 31.5 cm 94.3 cm 5.79 m 6.68 MeV 4.81 keV 4.38 cm 1.82 m WorldPV eIoni - 29 33 cm 97.4 cm 5.84 m 6.64 MeV 13.2 keV 6.34 cm 1.89 m WorldPV eIoni - 30 33.9 cm 99.4 cm 5.88 m 6.64 MeV 5.51 keV 4.18 cm 1.93 m WorldPV eIoni - 31 35.4 cm 1.02 m 5.93 m 6.62 MeV 8.97 keV 6.12 cm 1.99 m WorldPV eIoni - 32 36.6 cm 1.05 m 5.97 m 6.6 MeV 7.41 keV 4.69 cm 2.04 m WorldPV eIoni - 33 43.8 cm 1.19 m 6.2 m 6.55 MeV 50.8 keV 28.7 cm 2.32 m WorldPV eIoni - 34 44.5 cm 1.21 m 6.23 m 6.54 MeV 5.86 keV 2.95 cm 2.35 m WorldPV eIoni - 35 49.7 cm 1.31 m 6.4 m 6.5 MeV 32.9 keV 21.2 cm 2.57 m WorldPV eIoni - 36 50.8 cm 1.34 m 6.45 m 6.49 MeV 8.72 keV 5.53 cm 2.62 m WorldPV eIoni - 37 51.2 cm 1.35 m 6.47 m 6.48 MeV 3.15 keV 2.15 cm 2.64 m WorldPV eIoni - 38 51.4 cm 1.35 m 6.48 m 6.48 MeV 1.77 keV 1.09 cm 2.65 m WorldPV eIoni - 39 52.7 cm 1.38 m 6.54 m 6.41 MeV 11.9 keV 6.27 cm 2.72 m WorldPV eIoni - 40 53.8 cm 1.4 m 6.58 m 6.4 MeV 7.53 keV 5.39 cm 2.77 m WorldPV eIoni - 41 57 cm 1.46 m 6.71 m 6.37 MeV 21 keV 14.4 cm 2.91 m WorldPV eIoni - 42 62.5 cm 1.6 m 6.95 m 6.33 MeV 40 keV 28.6 cm 3.2 m WorldPV eIoni - 43 62.7 cm 1.61 m 6.97 m 6.32 MeV 3.18 keV 1.44 cm 3.21 m WorldPV eIoni - 44 63.9 cm 1.71 m 7.12 m 6.29 MeV 27 keV 17.7 cm 3.39 m WorldPV eIoni - 45 65.7 cm 1.75 m 7.19 m 6.28 MeV 8.66 keV 8.69 cm 3.48 m WorldPV eIoni - 46 66.9 cm 1.79 m 7.25 m 6.27 MeV 13.8 keV 6.97 cm 3.55 m WorldPV eIoni - 47 67.1 cm 1.79 m 7.25 m 6.26 MeV 453 eV 9.5 mm 3.56 m WorldPV eIoni - 48 69.8 cm 1.88 m 7.42 m 6.24 MeV 27.3 keV 18.9 cm 3.75 m WorldPV eIoni - 49 71.4 cm 1.93 m 7.49 m 6.22 MeV 14 keV 8.5 cm 3.83 m WorldPV eIoni - 50 71.7 cm 1.93 m 7.5 m 6.22 MeV 1.77 keV 1.37 cm 3.85 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 292, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 71.4 cm 1.93 m 7.49 m 2.43 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 71.4 cm 1.93 m 7.49 m 0 eV 2.43 keV 219 mum 219 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 291, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 69.8 cm 1.88 m 7.42 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 69.8 cm 1.88 m 7.42 m 0 eV 1.12 keV 71.4 mum 71.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 290, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 67.1 cm 1.79 m 7.25 m 1.97 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 67.1 cm 1.79 m 7.25 m 0 eV 1.97 keV 160 mum 160 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 66.9 cm 1.79 m 7.25 m 1.78 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 66.9 cm 1.79 m 7.25 m 0 eV 1.78 keV 136 mum 136 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 65.7 cm 1.75 m 7.19 m 3.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 65.7 cm 1.75 m 7.19 m 459 eV 2.56 keV 281 mum 281 mum WorldPV eIoni - 2 65.7 cm 1.75 m 7.19 m 0 eV 459 eV 25.6 mum 307 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 287, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 63.9 cm 1.71 m 7.12 m 1.16 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 63.9 cm 1.71 m 7.12 m 0 eV 1.16 keV 74.7 mum 74.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 62.7 cm 1.61 m 6.97 m 6.55 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 62.7 cm 1.61 m 6.97 m 5.25 keV 293 eV 215 mum 215 mum WorldPV eIoni - 2 62.7 cm 1.61 m 6.97 m 3.64 keV 1.62 keV 443 mum 658 mum WorldPV eIoni - 3 62.7 cm 1.61 m 6.97 m 2.25 keV 1.38 keV 332 mum 990 mum WorldPV eIoni - 4 62.7 cm 1.61 m 6.97 m 0 eV 2.25 keV 195 mum 1.18 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 293, Parent ID = 286 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 62.7 cm 1.61 m 6.97 m 1.01 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 62.7 cm 1.61 m 6.97 m 0 eV 1.01 keV 61.8 mum 61.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 285, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 62.5 cm 1.6 m 6.95 m 1.67 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 62.5 cm 1.6 m 6.95 m 0 eV 1.67 keV 125 mum 125 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 284, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 57 cm 1.46 m 6.71 m 1.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 57 cm 1.46 m 6.71 m 0 eV 1.02 keV 62.6 mum 62.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 283, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 53.8 cm 1.4 m 6.58 m 3.67 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 53.8 cm 1.4 m 6.58 m 955 eV 2.71 keV 334 mum 334 mum WorldPV eIoni - 2 53.8 cm 1.4 m 6.58 m 0 eV 955 eV 57.7 mum 392 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 282, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 52.7 cm 1.38 m 6.54 m 61.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 52.9 cm 1.38 m 6.53 m 46.4 keV 1.12 keV 3.22 mm 3.22 mm WorldPV eIoni - 2 53.3 cm 1.39 m 6.53 m 39.3 keV 4.34 keV 7.12 mm 1.03 cm WorldPV eIoni - 3 53.8 cm 1.39 m 6.53 m 34.6 keV 4.69 keV 6.58 mm 1.69 cm WorldPV eIoni - 4 53.9 cm 1.4 m 6.53 m 31.5 keV 3.13 keV 5.28 mm 2.22 cm WorldPV eIoni - 5 54.2 cm 1.4 m 6.53 m 27.2 keV 4.23 keV 4.49 mm 2.67 cm WorldPV eIoni - 6 54.3 cm 1.4 m 6.53 m 23.9 keV 3.31 keV 3.53 mm 3.02 cm WorldPV eIoni - 7 54.4 cm 1.41 m 6.53 m 21.4 keV 2.56 keV 2.85 mm 3.31 cm WorldPV eIoni - 8 54.4 cm 1.41 m 6.53 m 19.2 keV 2.16 keV 2.37 mm 3.54 cm WorldPV eIoni - 9 54.3 cm 1.41 m 6.53 m 15.8 keV 3.42 keV 2.01 mm 3.74 cm WorldPV eIoni - 10 54.3 cm 1.41 m 6.53 m 13.3 keV 2.44 keV 1.5 mm 3.89 cm WorldPV eIoni - 11 54.3 cm 1.41 m 6.53 m 10.6 keV 2.76 keV 1.18 mm 4.01 cm WorldPV eIoni - 12 54.3 cm 1.41 m 6.53 m 8.2 keV 1.2 keV 699 mum 4.08 cm WorldPV eIoni - 13 54.2 cm 1.41 m 6.53 m 6.44 keV 1.77 keV 660 mum 4.15 cm WorldPV eIoni - 14 54.2 cm 1.41 m 6.53 m 4.63 keV 1.81 keV 525 mum 4.2 cm WorldPV eIoni - 15 54.2 cm 1.41 m 6.53 m 3.09 keV 1.53 keV 401 mum 4.24 cm WorldPV eIoni - 16 54.2 cm 1.41 m 6.53 m 14.4 eV 3.08 keV 288 mum 4.27 cm WorldPV eIoni - 17 54.2 cm 1.41 m 6.53 m 0 eV 14.4 eV 3.82 mum 4.27 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 296, Parent ID = 282 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 54.3 cm 1.41 m 6.53 m 1.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 54.3 cm 1.41 m 6.53 m 0 eV 1.19 keV 76.9 mum 76.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 295, Parent ID = 282 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 53.3 cm 1.39 m 6.53 m 2.75 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 53.3 cm 1.39 m 6.53 m 105 eV 2.64 keV 254 mum 254 mum WorldPV eIoni - 2 53.3 cm 1.39 m 6.53 m 0 eV 105 eV 10.3 mum 265 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 294, Parent ID = 282 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 52.9 cm 1.38 m 6.53 m 13.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 53 cm 1.38 m 6.53 m 10.9 keV 2.93 keV 1.24 mm 1.24 mm WorldPV eIoni - 2 53.1 cm 1.38 m 6.54 m 9.3 keV 1.58 keV 909 mum 2.15 mm WorldPV eIoni - 3 53.1 cm 1.38 m 6.54 m 5.65 keV 3.65 keV 757 mum 2.9 mm WorldPV eIoni - 4 53.2 cm 1.38 m 6.54 m 4.18 keV 1.47 keV 470 mum 3.37 mm WorldPV eIoni - 5 53.2 cm 1.38 m 6.54 m 3.34 keV 840 eV 370 mum 3.74 mm WorldPV eIoni - 6 53.2 cm 1.38 m 6.54 m 909 eV 2.43 keV 308 mum 4.05 mm WorldPV eIoni - 7 53.2 cm 1.38 m 6.54 m 0 eV 909 eV 54.2 mum 4.11 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 281, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 51.4 cm 1.35 m 6.48 m 2.44 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 51.3 cm 1.35 m 6.48 m 0 eV 2.44 keV 220 mum 220 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 280, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 51.2 cm 1.35 m 6.47 m 2.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 51.2 cm 1.35 m 6.47 m 0 eV 2.02 keV 165 mum 165 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 279, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 50.8 cm 1.34 m 6.45 m 1.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 50.8 cm 1.34 m 6.45 m 0 eV 1.6 keV 116 mum 116 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 278, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.7 cm 1.31 m 6.4 m 6.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 49.7 cm 1.31 m 6.4 m 4.69 keV 1.67 keV 520 mum 520 mum WorldPV eIoni - 2 49.7 cm 1.31 m 6.4 m 3.21 keV 1.48 keV 404 mum 924 mum WorldPV eIoni - 3 49.7 cm 1.31 m 6.4 m 1.58 keV 460 eV 125 mum 1.05 mm WorldPV eIoni - 4 49.7 cm 1.31 m 6.4 m 0 eV 1.58 keV 114 mum 1.16 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 297, Parent ID = 278 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.7 cm 1.31 m 6.4 m 1.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 49.7 cm 1.31 m 6.4 m 0 eV 1.17 keV 75.6 mum 75.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 277, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 44.5 cm 1.21 m 6.23 m 1.15 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 44.5 cm 1.21 m 6.23 m 0 eV 1.15 keV 73.4 mum 73.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 276, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 43.8 cm 1.19 m 6.2 m 1.89 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 43.8 cm 1.19 m 6.2 m 0 eV 1.89 keV 150 mum 150 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 275, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 36.6 cm 1.05 m 5.97 m 19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 36.5 cm 1.05 m 5.97 m 16.7 keV 2.21 keV 1.97 mm 1.97 mm WorldPV eIoni - 2 36.5 cm 1.05 m 5.97 m 14.4 keV 2.3 keV 1.63 mm 3.6 mm WorldPV eIoni - 3 36.5 cm 1.05 m 5.96 m 12.5 keV 1.93 keV 1.31 mm 4.91 mm WorldPV eIoni - 4 36.6 cm 1.05 m 5.97 m 11.2 keV 1.32 keV 1.08 mm 5.99 mm WorldPV eIoni - 5 36.5 cm 1.05 m 5.97 m 9.81 keV 1.39 keV 941 mum 6.94 mm WorldPV eIoni - 6 36.6 cm 1.05 m 5.97 m 7.92 keV 1.89 keV 802 mum 7.74 mm WorldPV eIoni - 7 36.6 cm 1.05 m 5.97 m 6.85 keV 1.07 keV 638 mum 8.38 mm WorldPV eIoni - 8 36.5 cm 1.05 m 5.97 m 4.98 keV 1.87 keV 554 mum 8.93 mm WorldPV eIoni - 9 36.5 cm 1.05 m 5.97 m 3.02 keV 1.96 keV 424 mum 9.35 mm WorldPV eIoni - 10 36.5 cm 1.05 m 5.97 m 954 eV 2.07 keV 281 mum 9.64 mm WorldPV eIoni - 11 36.5 cm 1.05 m 5.97 m 0 eV 954 eV 57.7 mum 9.69 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 274, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 35.4 cm 1.02 m 5.93 m 3.56 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 35.4 cm 1.02 m 5.93 m 872 eV 2.69 keV 326 mum 326 mum WorldPV eIoni - 2 35.4 cm 1.02 m 5.93 m 0 eV 872 eV 51.5 mum 378 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 273, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33.9 cm 99.4 cm 5.88 m 1.01 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 33.9 cm 99.4 cm 5.88 m 0 eV 1.01 keV 62 mum 62 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 272, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33 cm 97.4 cm 5.84 m 18.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 33.2 cm 97.4 cm 5.84 m 16.8 keV 1.79 keV 1.91 mm 1.91 mm WorldPV eIoni - 2 33.4 cm 97.4 cm 5.84 m 13.1 keV 3.67 keV 1.63 mm 3.54 mm WorldPV eIoni - 3 33.4 cm 97.5 cm 5.84 m 12.3 keV 765 eV 1.16 mm 4.7 mm WorldPV eIoni - 4 33.5 cm 97.5 cm 5.84 m 11.1 keV 1.2 keV 1.06 mm 5.76 mm WorldPV eIoni - 5 33.5 cm 97.6 cm 5.84 m 9.31 keV 1.84 keV 936 mum 6.7 mm WorldPV eIoni - 6 33.5 cm 97.5 cm 5.84 m 4.91 keV 1.12 keV 595 mum 7.29 mm WorldPV eIoni - 7 33.5 cm 97.6 cm 5.84 m 2.68 keV 523 eV 340 mum 7.63 mm WorldPV eIoni - 8 33.5 cm 97.5 cm 5.84 m 626 eV 2.05 keV 247 mum 7.88 mm WorldPV eIoni - 9 33.5 cm 97.5 cm 5.84 m 0 eV 626 eV 35 mum 7.91 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 299, Parent ID = 272 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33.5 cm 97.6 cm 5.84 m 1.71 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 33.5 cm 97.6 cm 5.84 m 0 eV 1.71 keV 129 mum 129 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 298, Parent ID = 272 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33.5 cm 97.5 cm 5.84 m 3.28 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 33.6 cm 97.5 cm 5.84 m 627 eV 2.65 keV 303 mum 303 mum WorldPV eIoni - 2 33.6 cm 97.5 cm 5.84 m 0 eV 627 eV 35.1 mum 338 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 271, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.5 cm 94.3 cm 5.79 m 1.48 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 31.5 cm 94.3 cm 5.79 m 0 eV 1.48 keV 105 mum 105 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 270, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 30.5 cm 92.2 cm 5.75 m 1.87 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 30.5 cm 92.2 cm 5.75 m 0 eV 1.87 keV 147 mum 147 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 269, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.4 cm 90.1 cm 5.71 m 1.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 29.4 cm 90.1 cm 5.71 m 0 eV 1.17 keV 75.7 mum 75.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 268, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 29.1 cm 89.5 cm 5.7 m 2.54 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 29.1 cm 89.5 cm 5.7 m 0 eV 2.54 keV 233 mum 233 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 267, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 28.4 cm 88.2 cm 5.68 m 2.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 28.4 cm 88.2 cm 5.68 m 0 eV 2.12 keV 179 mum 179 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 266, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 28.1 cm 87.6 cm 5.67 m 3.32 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 28.1 cm 87.7 cm 5.67 m 275 eV 3.04 keV 306 mum 306 mum WorldPV eIoni - 2 28.1 cm 87.7 cm 5.67 m 0 eV 275 eV 17.1 mum 323 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 265, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 18.5 cm 69.3 cm 5.33 m 35.1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 18.8 cm 69.7 cm 5.33 m 31 keV 4.17 keV 5.41 mm 5.41 mm WorldPV eIoni - 2 19.1 cm 69.8 cm 5.33 m 26.1 keV 4.84 keV 4.36 mm 9.77 mm WorldPV eIoni - 3 19.2 cm 69.9 cm 5.33 m 21.4 keV 3.65 keV 3.06 mm 1.28 cm WorldPV eIoni - 4 19.3 cm 70 cm 5.33 m 18.9 keV 2.51 keV 2.38 mm 1.52 cm WorldPV eIoni - 5 19.4 cm 69.9 cm 5.32 m 17.5 keV 1.47 keV 1.97 mm 1.72 cm WorldPV eIoni - 6 19.4 cm 69.7 cm 5.32 m 13.6 keV 3.91 keV 1.73 mm 1.89 cm WorldPV eIoni - 7 19.5 cm 69.7 cm 5.32 m 11.4 keV 2.2 keV 1.21 mm 2.01 cm WorldPV eIoni - 8 19.6 cm 69.7 cm 5.32 m 8.92 keV 2.43 keV 958 mum 2.11 cm WorldPV eIoni - 9 19.6 cm 69.7 cm 5.32 m 7.52 keV 1.4 keV 723 mum 2.18 cm WorldPV eIoni - 10 19.7 cm 69.7 cm 5.32 m 5.64 keV 1.88 keV 607 mum 2.24 cm WorldPV eIoni - 11 19.7 cm 69.7 cm 5.32 m 3.89 keV 1.75 keV 469 mum 2.29 cm WorldPV eIoni - 12 19.7 cm 69.7 cm 5.32 m 1.92 keV 1.97 keV 349 mum 2.32 cm WorldPV eIoni - 13 19.7 cm 69.7 cm 5.32 m 0 eV 1.92 keV 153 mum 2.34 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 300, Parent ID = 265 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 19.2 cm 69.9 cm 5.33 m 1.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 19.2 cm 69.9 cm 5.33 m 0 eV 1.02 keV 62.8 mum 62.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 264, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.27 cm 52.6 cm 5.03 m 57.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 8.46 cm 52 cm 5.04 m 49.7 keV 8.03 keV 1.29 cm 1.29 cm WorldPV eIoni - 2 8.45 cm 52 cm 5.04 m 44.7 keV 202 eV 378 mum 1.33 cm WorldPV eIoni - 3 8.08 cm 52.3 cm 5.04 m 37.6 keV 4.32 keV 7.55 mm 2.08 cm WorldPV eIoni - 4 7.83 cm 52.4 cm 5.05 m 32 keV 5.59 keV 6.09 mm 2.69 cm WorldPV eIoni - 5 7.84 cm 52.4 cm 5.05 m 30.1 keV 370 eV 717 mum 2.76 cm WorldPV eIoni - 6 8.07 cm 52.2 cm 5.05 m 26.5 keV 3.61 keV 4.14 mm 3.17 cm WorldPV eIoni - 7 8.28 cm 52.1 cm 5.06 m 19.6 keV 4.53 keV 3.14 mm 3.49 cm WorldPV eIoni - 8 8.44 cm 52 cm 5.06 m 16.1 keV 3.45 keV 2.07 mm 3.7 cm WorldPV eIoni - 9 8.56 cm 52 cm 5.06 m 13.1 keV 3 keV 1.54 mm 3.85 cm WorldPV eIoni - 10 8.65 cm 52 cm 5.06 m 10.4 keV 2.71 keV 1.15 mm 3.97 cm WorldPV eIoni - 11 8.71 cm 52 cm 5.06 m 7.43 keV 2.98 keV 861 mum 4.05 cm WorldPV eIoni - 12 8.7 cm 51.9 cm 5.06 m 6.09 keV 1.34 keV 600 mum 4.11 cm WorldPV eIoni - 13 8.72 cm 51.9 cm 5.06 m 3.01 keV 416 eV 291 mum 4.14 cm WorldPV eIoni - 14 8.71 cm 51.9 cm 5.06 m 105 eV 2.91 keV 280 mum 4.17 cm WorldPV eIoni - 15 8.71 cm 51.9 cm 5.06 m 0 eV 105 eV 10.3 mum 4.17 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 305, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.72 cm 51.9 cm 5.06 m 2.66 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 8.74 cm 51.9 cm 5.06 m 916 eV 1.74 keV 246 mum 246 mum WorldPV eIoni - 2 8.74 cm 51.9 cm 5.06 m 0 eV 916 eV 54.7 mum 300 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 304, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.28 cm 52.1 cm 5.06 m 2.37 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 8.29 cm 52.1 cm 5.06 m 0 eV 2.37 keV 212 mum 212 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 303, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.84 cm 52.4 cm 5.05 m 1.59 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 7.83 cm 52.4 cm 5.05 m 0 eV 1.59 keV 115 mum 115 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.08 cm 52.3 cm 5.04 m 2.78 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 8.07 cm 52.3 cm 5.04 m 0 eV 2.78 keV 258 mum 258 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 301, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.45 cm 52 cm 5.04 m 4.81 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 8.47 cm 52 cm 5.04 m 3.26 keV 1.54 keV 412 mum 412 mum WorldPV eIoni - 2 8.49 cm 52 cm 5.04 m 175 eV 3.09 keV 302 mum 714 mum WorldPV eIoni - 3 8.49 cm 52 cm 5.04 m 0 eV 175 eV 13.3 mum 727 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 263, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7.81 cm 50.1 cm 4.99 m 2.73 keV 0 eV 0 fm 0 fm Tracker initStep - 1 7.83 cm 50.1 cm 4.99 m 173 eV 2.56 keV 253 mum 253 mum Tracker eIoni - 2 7.83 cm 50.1 cm 4.99 m 0 eV 173 eV 13.2 mum 266 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 262, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.71 cm 46.8 cm 4.93 m 6.88 keV 0 eV 0 fm 0 fm Tracker initStep - 1 5.75 cm 46.8 cm 4.93 m 4.88 keV 1.99 keV 556 mum 556 mum Tracker eIoni - 2 5.78 cm 46.8 cm 4.93 m 3.4 keV 1.49 keV 418 mum 974 mum Tracker eIoni - 3 5.8 cm 46.8 cm 4.93 m 442 eV 2.96 keV 313 mum 1.29 mm Tracker eIoni - 4 5.8 cm 46.8 cm 4.93 m 0 eV 442 eV 24.7 mum 1.31 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 261, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.34 cm 46.2 cm 4.92 m 1.19 keV 0 eV 0 fm 0 fm Tracker initStep - 1 5.34 cm 46.2 cm 4.92 m 0 eV 1.19 keV 77.1 mum 77.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 260, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.26 cm 41.3 cm 4.83 m 25.9 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.04 cm 41.1 cm 4.83 m 22.2 keV 3.7 keV 3.24 mm 3.24 mm Tracker eIoni - 2 2.03 cm 41.1 cm 4.83 m 19.9 keV 57.6 eV 262 mum 3.51 mm Tracker eIoni - 3 2.04 cm 41.1 cm 4.83 m 16.4 keV 3.54 keV 2.12 mm 5.63 mm Tracker eIoni - 4 1.95 cm 41.1 cm 4.83 m 13 keV 3.38 keV 1.58 mm 7.21 mm Tracker eIoni - 5 1.98 cm 41.1 cm 4.83 m 10.4 keV 2.56 keV 1.14 mm 8.35 mm Tracker eIoni - 6 2.03 cm 41.2 cm 4.84 m 8.16 keV 2.28 keV 864 mum 9.21 mm Tracker eIoni - 7 2.03 cm 41.2 cm 4.84 m 6.9 keV 122 eV 25.5 mum 9.24 mm Tracker eIoni - 8 2.07 cm 41.2 cm 4.84 m 5.31 keV 1.59 keV 558 mum 9.8 mm Tracker eIoni - 9 2.11 cm 41.2 cm 4.84 m 4.23 keV 1.08 keV 447 mum 1.02 cm Tracker eIoni - 10 2.15 cm 41.2 cm 4.84 m 2.43 keV 1.8 keV 374 mum 1.06 cm Tracker eIoni - 11 2.14 cm 41.2 cm 4.84 m 1.24 keV 1.19 keV 219 mum 1.08 cm Tracker eIoni - 12 2.15 cm 41.2 cm 4.84 m 0 eV 1.24 keV 81.4 mum 1.09 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 307, Parent ID = 260 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.03 cm 41.2 cm 4.84 m 1.13 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.03 cm 41.2 cm 4.84 m 0 eV 1.13 keV 72.2 mum 72.2 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 306, Parent ID = 260 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.03 cm 41.1 cm 4.83 m 2.26 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.03 cm 41.1 cm 4.83 m 0 eV 2.26 keV 196 mum 196 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 259, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.25 cm 41.2 cm 4.83 m 4.86 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.23 cm 41.2 cm 4.83 m 3.26 keV 1.6 keV 416 mum 416 mum Tracker eIoni - 2 2.23 cm 41.2 cm 4.83 m 1.11 keV 2.15 keV 301 mum 718 mum Tracker eIoni - 3 2.24 cm 41.2 cm 4.83 m 0 eV 1.11 keV 70.3 mum 788 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 258, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.23 mm 37.2 cm 4.75 m 1.35 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.24 mm 37.2 cm 4.75 m 0 eV 1.35 keV 91.3 mum 91.3 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 257, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.84 mm 36.4 cm 4.74 m 1.81 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -7.83 mm 36.4 cm 4.74 m 0 eV 1.81 keV 140 mum 140 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 256, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.25 cm 33.8 cm 4.69 m 2.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.26 cm 33.8 cm 4.69 m 731 eV 1.77 keV 228 mum 228 mum Tracker eIoni - 2 -2.26 cm 33.8 cm 4.69 m 0 eV 731 eV 41.7 mum 270 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 255, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.05 cm 32.4 cm 4.66 m 6.32 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.08 cm 32.4 cm 4.66 m 4.1 keV 903 eV 409 mum 409 mum Tracker eIoni - 2 -3.08 cm 32.4 cm 4.66 m 1.07 keV 3.03 keV 365 mum 774 mum Tracker eIoni - 3 -3.08 cm 32.4 cm 4.66 m 0 eV 1.07 keV 66.8 mum 840 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 308, Parent ID = 255 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 cm 32.4 cm 4.66 m 1.32 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.09 cm 32.4 cm 4.66 m 0 eV 1.32 keV 88.4 mum 88.4 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 254, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.79 cm 29.6 cm 4.6 m 1.76 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -4.79 cm 29.6 cm 4.6 m 0 eV 1.76 keV 135 mum 135 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.82 cm 29.5 cm 4.6 m 1.68 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -4.82 cm 29.5 cm 4.6 m 0 eV 1.68 keV 126 mum 126 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.31 cm 28.7 cm 4.58 m 1.38 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -5.31 cm 28.7 cm 4.58 m 0 eV 1.38 keV 94.2 mum 94.2 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.93 cm 27.7 cm 4.55 m 1.43 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -5.93 cm 27.7 cm 4.55 m 0 eV 1.43 keV 99.5 mum 99.5 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.51 cm 23.3 cm 4.45 m 4.23 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -8.53 cm 23.3 cm 4.45 m 2.41 keV 1.82 keV 374 mum 374 mum Tracker eIoni - 2 -8.53 cm 23.3 cm 4.45 m 0 eV 2.41 keV 217 mum 591 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.3 cm 20.6 cm 4.39 m 8.1 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -10.3 cm 20.5 cm 4.39 m 5.81 keV 2.29 keV 652 mum 652 mum Tracker eIoni - 2 -10.3 cm 20.5 cm 4.39 m 4.61 keV 1.21 keV 481 mum 1.13 mm Tracker eIoni - 3 -10.3 cm 20.5 cm 4.39 m 2.59 keV 2.02 keV 399 mum 1.53 mm Tracker eIoni - 4 -10.3 cm 20.5 cm 4.39 m 0 eV 2.59 keV 238 mum 1.77 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.5 cm 19 cm 4.35 m 5.23 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -11.5 cm 18.9 cm 4.35 m 4.2 keV 1.02 keV 441 mum 441 mum Tracker eIoni - 2 -11.5 cm 18.9 cm 4.35 m 2.24 keV 1.96 keV 372 mum 813 mum Tracker eIoni - 3 -11.5 cm 18.9 cm 4.35 m 0 eV 2.24 keV 194 mum 1.01 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.5 cm 15.2 cm 4.24 m 9.36 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -14.6 cm 15.2 cm 4.24 m 8.35 keV 1.01 keV 762 mum 762 mum Tracker eIoni - 2 -14.6 cm 15.2 cm 4.24 m 7.3 keV 1.05 keV 672 mum 1.43 mm Tracker eIoni - 3 -14.6 cm 15.3 cm 4.24 m 4.74 keV 820 eV 237 mum 1.67 mm Tracker eIoni - 4 -14.6 cm 15.2 cm 4.24 m 2.5 keV 2.25 keV 408 mum 2.08 mm Tracker eIoni - 5 -14.6 cm 15.3 cm 4.24 m 1.09 keV 1.4 keV 227 mum 2.31 mm Tracker eIoni - 6 -14.6 cm 15.3 cm 4.24 m 0 eV 1.09 keV 68.7 mum 2.37 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 309, Parent ID = 247 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.6 cm 15.3 cm 4.24 m 1.74 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -14.6 cm 15.2 cm 4.24 m 0 eV 1.74 keV 132 mum 132 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 245, Parent ID = 234 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.8 cm 14.7 cm 4.22 m 5.27 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -14.8 cm 14.9 cm 4.22 m 4.17 MeV 1.1 MeV 2.83 mm 2.83 mm trkChamber eIoni - 2 -14.9 cm 14.7 cm 4.22 m 3.15 MeV 1.01 MeV 2.29 mm 5.12 mm trkChamber eIoni - 3 -15 cm 14.6 cm 4.22 m 2.51 MeV 639 keV 1.79 mm 6.9 mm trkChamber eIoni - 4 -15.1 cm 14.6 cm 4.22 m 2.19 MeV 325 keV 1.01 mm 7.91 mm TrackerTransportation - 5 -16 cm 13.1 cm 4.24 m 2.18 MeV 2.98 keV 2.08 cm 2.87 cm Tracker eIoni - 6 -19.9 cm 6.5 cm 4.28 m 2.17 MeV 11.4 keV 8.99 cm 11.9 cm Tracker eIoni - 7 -30.9 cm -12.1 cm 4.41 m 2.14 MeV 28.3 keV 25 cm 36.8 cm Tracker eIoni - 8 -33.2 cm -15.6 cm 4.44 m 2.13 MeV 8.61 keV 5.03 cm 41.9 cm Tracker eIoni - 9 -48.3 cm -36.8 cm 4.61 m 2.09 MeV 43.7 keV 31.6 cm 73.5 cm Tracker eIoni - 10 -61.6 cm -47.5 cm 4.67 m 2.05 MeV 26.6 keV 18.3 cm 91.8 cm Tracker eIoni - 11 -76.2 cm -58.5 cm 4.75 m 2.02 MeV 28.2 keV 20 cm 1.12 m Tracker eIoni - 12 -76.3 cm -58.6 cm 4.75 m 2.02 MeV 396 eV 1.25 mm 1.12 m Tracker eIoni - 13 -79.4 cm -61 cm 4.77 m 2.01 MeV 5.94 keV 4.48 cm 1.16 m Tracker eIoni - 14 -86.6 cm -65.8 cm 4.81 m 1.99 MeV 14.5 keV 9.38 cm 1.26 m Tracker eIoni - 15 -91.3 cm -69.2 cm 4.84 m 1.98 MeV 9.55 keV 6.62 cm 1.32 m Tracker eIoni - 16 -95.7 cm -72.7 cm 4.88 m 1.97 MeV 9.53 keV 6.61 cm 1.39 m Tracker eIoni - 17 -1.03 m -77.3 cm 4.92 m 1.94 MeV 16.3 keV 9.56 cm 1.49 m Tracker eIoni - 18 -1.08 m -80.3 cm 4.95 m 1.93 MeV 9.02 keV 6.55 cm 1.55 m Tracker eIoni - 19 -1.14 m -84.7 cm 4.99 m 1.92 MeV 14.4 keV 8.58 cm 1.64 m Tracker eIoni - 20 -1.14 m -84.8 cm 4.99 m 1.92 MeV 305 eV 2.57 mm 1.64 m Tracker eIoni - 21 -1.17 m -86.3 cm 5 m 1.91 MeV 4.68 keV 3.02 cm 1.67 m Tracker eIoni - 22 -1.2 m -88.9 cm 5.03 m 1.9 MeV 8.06 keV 5.04 cm 1.72 m WorldPVTransportation - 23 -1.27 m -93.2 cm 5.07 m 1.89 MeV 9.68 keV 9.43 cm 1.81 m WorldPV eIoni - 24 -1.43 m -1.08 m 5.13 m 1.86 MeV 28.2 keV 22.5 cm 2.04 m WorldPV eIoni - 25 -1.53 m -1.13 m 5.17 m 1.83 MeV 17 keV 11.7 cm 2.16 m WorldPV eIoni - 26 -1.53 m -1.14 m 5.18 m 1.82 MeV 1.73 keV 1.16 cm 2.17 m WorldPV eIoni - 27 -1.54 m -1.14 m 5.18 m 1.82 MeV 448 eV 1.36 mm 2.17 m WorldPV eIoni - 28 -1.55 m -1.15 m 5.18 m 1.82 MeV 1.11 keV 1.25 cm 2.18 m WorldPV eIoni - 29 -1.56 m -1.16 m 5.19 m 1.81 MeV 3.34 keV 1.87 cm 2.2 m WorldPV eIoni - 30 -1.59 m -1.18 m 5.2 m 1.8 MeV 3.37 keV 3.86 cm 2.24 m WorldPV eIoni - 31 -1.63 m -1.21 m 5.21 m 1.79 MeV 7.45 keV 4.73 cm 2.29 m WorldPV eIoni - 32 -1.69 m -1.24 m 5.23 m 1.78 MeV 12.9 keV 7.65 cm 2.36 m WorldPV eIoni - 33 -1.7 m -1.24 m 5.23 m 1.78 MeV 531 eV 4.62 mm 2.37 m WorldPV eIoni - 34 -1.85 m -1.31 m 5.28 m 1.65 MeV 25.6 keV 17.5 cm 2.54 m WorldPV eIoni - 35 -1.89 m -1.34 m 5.29 m 1.64 MeV 7.98 keV 4.96 cm 2.59 m WorldPV eIoni - 36 -1.9 m -1.35 m 5.3 m 1.63 MeV 1.52 keV 1.4 cm 2.61 m WorldPV eIoni - 37 -2.05 m -1.52 m 5.41 m 1.59 MeV 38.4 keV 25.6 cm 2.86 m WorldPV eIoni - 38 -2.28 m -1.78 m 5.53 m 1.54 MeV 54.9 keV 37.5 cm 3.24 m WorldPV eIoni - 39 -2.3 m -1.81 m 5.54 m 1.53 MeV 5.1 keV 3.38 cm 3.27 m WorldPV eIoni - 40 -2.32 m -1.83 m 5.55 m 1.52 MeV 4.29 keV 3.21 cm 3.3 m WorldPV eIoni - 41 -2.37 m -1.89 m 5.58 m 1.52 MeV 8.01 keV 8.51 cm 3.39 m WorldPV eIoni - 42 -2.54 m -2.09 m 5.72 m 1.48 MeV 35.7 keV 29.6 cm 3.68 m WorldPV eIoni - 43 -2.55 m -2.11 m 5.73 m 1.47 MeV 2.65 keV 2.27 cm 3.71 m WorldPV eIoni - 44 -2.58 m -2.16 m 5.76 m 1.46 MeV 7.85 keV 7.3 cm 3.78 m WorldPV eIoni - 45 -2.61 m -2.19 m 5.79 m 1.46 MeV 5.69 keV 4.51 cm 3.83 m WorldPV eIoni - 46 -2.64 m -2.26 m 5.83 m 1.44 MeV 9.52 keV 8.57 cm 3.91 m WorldPV eIoni - 47 -2.69 m -2.33 m 5.86 m 1.43 MeV 10.4 keV 8.93 cm 4 m WorldPV eIoni - 48 -2.73 m -2.39 m 5.89 m 1.42 MeV 11.2 keV 7.94 cm 4.08 m WorldPV eIoni - 49 -2.74 m -2.43 m 5.9 m 1.41 MeV 6.8 keV 4.39 cm 4.12 m WorldPV eIoni - 50 -2.78 m -2.61 m 5.93 m 1.35 MeV 27.8 keV 18.5 cm 4.31 m WorldPV eIoni - 51 -2.78 m -2.62 m 5.93 m 1.35 MeV 1.9 keV 1.35 cm 4.32 m WorldPV eIoni - 52 -2.82 m -2.89 m 5.99 m 1.31 MeV 43.5 keV 28.1 cm 4.6 m WorldPV eIoni - 53 -2.84 m -3.04 m 5.84 m 1.27 MeV 35.6 keV 21.4 cm 4.82 m WorldPV eIoni - 54 -2.85 m -3.12 m 5.79 m 1.25 MeV 15.9 keV 9.3 cm 4.91 m WorldPV eIoni - 55 -2.85 m -3.17 m 5.73 m 1.23 MeV 11.7 keV 8.14 cm 4.99 m WorldPV eIoni - 56 -2.85 m -3.19 m 5.71 m 1.23 MeV 2.68 keV 2.53 cm 5.02 m WorldPV eIoni - 57 -2.85 m -3.22 m 5.68 m 1.21 MeV 2.72 keV 4.08 cm 5.06 m WorldPV eIoni - 58 -2.82 m -3.38 m 5.55 m 1.18 MeV 28.9 keV 21 cm 5.27 m WorldPV eIoni - 59 -2.8 m -3.46 m 5.55 m 1.15 MeV 13.7 keV 8.86 cm 5.36 m WorldPV eIoni - 60 -2.8 m -3.63 m 5.56 m 1.12 MeV 27.8 keV 17 cm 5.53 m WorldPV eIoni - 61 -2.79 m -3.71 m 5.59 m 1.11 MeV 13.5 keV 8.6 cm 5.61 m WorldPV eIoni - 62 -2.79 m -3.72 m 5.59 m 1.07 MeV 819 eV 1.05 cm 5.62 m WorldPV eIoni - 63 -2.79 m -3.75 m 5.6 m 1.07 MeV 3.94 keV 3.01 cm 5.65 m WorldPV eIoni - 64 -2.8 m -3.89 m 5.67 m 1.04 MeV 24.8 keV 15.3 cm 5.81 m WorldPV eIoni - 65 -2.81 m -3.92 m 5.69 m 1.03 MeV 6.65 keV 3.84 cm 5.84 m WorldPV eIoni - 66 -2.82 m -3.93 m 5.69 m 1.03 MeV 1.88 keV 1.13 cm 5.86 m WorldPV eIoni - 67 -2.83 m -3.96 m 5.73 m 1.01 MeV 5.76 keV 5.08 cm 5.91 m WorldPV eIoni - 68 -2.85 m -4.03 m 5.78 m 995 keV 16.2 keV 8.97 cm 6 m WorldPV eIoni - 69 -2.86 m -4.06 m 5.8 m 988 keV 6.21 keV 3.67 cm 6.03 m WorldPV eIoni - 70 -2.87 m -4.1 m 5.84 m 977 keV 9.48 keV 5.67 cm 6.09 m WorldPV eIoni - 71 -2.89 m -4.17 m 5.91 m 962 keV 13.4 keV 10.5 cm 6.19 m WorldPV eIoni - 72 -2.91 m -4.19 m 5.94 m 956 keV 4.32 keV 3.45 cm 6.23 m WorldPV eIoni - 73 -2.96 m -4.25 m 6 m 944 keV 10.9 keV 10.2 cm 6.33 m WorldPV eIoni - 74 -3.01 m -4.36 m 6.06 m 917 keV 25.2 keV 13.8 cm 6.47 m WorldPV eIoni - 75 -3.08 m -4.42 m 6.12 m 899 keV 16 keV 10.6 cm 6.57 m WorldPV eIoni - 76 -3.09 m -4.44 m 6.13 m 818 keV 2.55 keV 2.34 cm 6.6 m WorldPV eIoni - 77 -3.13 m -4.51 m 6.18 m 801 keV 13.6 keV 9.81 cm 6.7 m WorldPV eIoni - 78 -3.23 m -4.68 m 6.33 m 769 keV 30.5 keV 25.1 cm 6.95 m WorldPV eIoni - 79 -3.26 m -4.72 m 6.34 m 760 keV 7.85 keV 5.27 cm 7 m WorldPV eIoni - 80 -3.28 m -4.77 m 6.37 m 751 keV 6.57 keV 5.85 cm 7.06 m WorldPV eIoni - 81 -3.37 m -4.92 m 6.44 m 721 keV 28.7 keV 18.9 cm 7.25 m WorldPV eIoni - 82 -3.39 m -4.95 m 6.47 m 711 keV 9.4 keV 5.46 cm 7.3 m WorldPV eIoni - 83 -3.45 m -5.04 m 6.57 m 688 keV 20.6 keV 14.5 cm 7.45 m WorldPV eIoni - 84 -3.47 m -5.08 m 6.63 m 675 keV 11.6 keV 7.55 cm 7.52 m WorldPV eIoni - 85 -3.48 m -5.09 m 6.64 m 667 keV 1.34 keV 8.53 mm 7.53 m WorldPV eIoni - 86 -3.53 m -5.17 m 6.75 m 648 keV 17.6 keV 14.7 cm 7.68 m WorldPV eIoni - 87 -3.53 m -5.17 m 6.76 m 599 keV 1.01 keV 9.06 mm 7.69 m WorldPV eIoni - 88 -3.54 m -5.2 m 6.78 m 587 keV 6.64 keV 3.82 cm 7.72 m WorldPV eIoni - 89 -3.54 m -5.23 m 6.8 m 576 keV 4.06 keV 3.19 cm 7.76 m WorldPV eIoni - 90 -3.52 m -5.29 m 6.83 m 558 keV 14.8 keV 7.6 cm 7.83 m WorldPV eIoni - 91 -3.58 m -5.39 m 6.91 m 535 keV 21.7 keV 13.8 cm 7.97 m WorldPV eIoni - 92 -3.61 m -5.47 m 6.94 m 512 keV 17.3 keV 9.08 cm 8.06 m WorldPV eIoni - 93 -3.64 m -5.53 m 6.98 m 481 keV 12.7 keV 8.73 cm 8.15 m WorldPV eIoni - 94 -3.64 m -5.55 m 7 m 476 keV 3.27 keV 2.41 cm 8.17 m WorldPV eIoni - 95 -3.63 m -5.57 m 7.01 m 471 keV 3.75 keV 2.19 cm 8.19 m WorldPV eIoni - 96 -3.64 m -5.65 m 7.07 m 460 keV 8.95 keV 9.66 cm 8.29 m WorldPV eIoni - 97 -3.64 m -5.66 m 7.07 m 456 keV 2.77 keV 1.59 cm 8.31 m WorldPV eIoni - 98 -3.64 m -5.72 m 7.1 m 443 keV 11.1 keV 6.77 cm 8.37 m WorldPV eIoni - 99 -3.64 m -5.73 m 7.11 m 438 keV 2.68 keV 8.23 mm 8.38 m WorldPV eIoni - 100 -3.65 m -5.82 m 7.14 m 425 keV 11.6 keV 9.89 cm 8.48 m WorldPV eIoni - 101 -3.64 m -5.85 m 7.15 m 417 keV 6.94 keV 3.6 cm 8.52 m WorldPV eIoni - 102 -3.71 m -6.04 m 7.26 m 371 keV 45 keV 23.8 cm 8.76 m WorldPV eIoni - 103 -3.71 m -6.05 m 7.28 m 364 keV 5.18 keV 2.24 cm 8.78 m WorldPV eIoni - 104 -3.7 m -6.14 m 7.34 m 346 keV 17.2 keV 11 cm 8.89 m WorldPV eIoni - 105 -3.7 m -6.14 m 7.35 m 344 keV 341 eV 4.1 mm 8.89 m WorldPV eIoni - 106 -3.67 m -6.22 m 7.44 m 314 keV 28.9 keV 13.4 cm 9.03 m WorldPV eIoni - 107 -3.67 m -6.23 m 7.46 m 303 keV 5.5 keV 2.29 cm 9.05 m WorldPV eIoni - 108 -3.65 m -6.25 m 7.48 m 299 keV 3.28 keV 2.36 cm 9.07 m WorldPV eIoni - 109 -3.65 m -6.25 m 7.48 m 297 keV 214 eV 2.63 mm 9.08 m WorldPV eIoni - 110 -3.64 m -6.26 m 7.48 m 292 keV 2 keV 1.55 cm 9.09 m WorldPV eIoni - 111 -3.64 m -6.26 m 7.48 m 290 keV 429 eV 3.86 mm 9.09 m WorldPV eIoni - 112 -3.61 m -6.29 m 7.5 m 282 keV 8.28 keV 4.16 cm 9.14 m OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 415, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -6.26 m 7.48 m 1.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -6.26 m 7.48 m 0 eV 1.3 keV 86.6 mum 86.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 414, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -6.26 m 7.48 m 3.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -6.26 m 7.48 m 0 eV 3.36 keV 310 mum 310 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 413, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.65 m -6.25 m 7.48 m 1.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.65 m -6.25 m 7.48 m 0 eV 1.22 keV 79.4 mum 79.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 412, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.65 m -6.25 m 7.48 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.65 m -6.25 m 7.48 m 0 eV 1.06 keV 66.4 mum 66.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 411, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.67 m -6.23 m 7.46 m 4.97 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.67 m -6.23 m 7.46 m 2.95 keV 2.02 keV 424 mum 424 mum WorldPV eIoni - 2 -3.67 m -6.23 m 7.46 m 1.14 keV 1.81 keV 275 mum 699 mum WorldPV eIoni - 3 -3.67 m -6.23 m 7.46 m 0 eV 1.14 keV 73 mum 772 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 410, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.67 m -6.22 m 7.44 m 1.75 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.67 m -6.22 m 7.44 m 0 eV 1.75 keV 133 mum 133 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 409, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.7 m -6.14 m 7.35 m 1.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.7 m -6.14 m 7.35 m 0 eV 1.09 keV 68.4 mum 68.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 408, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.7 m -6.14 m 7.34 m 1.21 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.7 m -6.14 m 7.34 m 0 eV 1.21 keV 78.5 mum 78.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 407, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.71 m -6.05 m 7.28 m 1.47 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.71 m -6.05 m 7.28 m 0 eV 1.47 keV 104 mum 104 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 406, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.71 m -6.04 m 7.26 m 1.58 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.71 m -6.04 m 7.26 m 0 eV 1.58 keV 115 mum 115 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 405, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.85 m 7.15 m 1.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.85 m 7.15 m 0 eV 1.33 keV 90 mum 90 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 404, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.65 m -5.82 m 7.14 m 1.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.65 m -5.82 m 7.14 m 0 eV 1.17 keV 75.6 mum 75.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 403, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.73 m 7.11 m 1.86 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.73 m 7.11 m 0 eV 1.86 keV 146 mum 146 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 402, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.72 m 7.1 m 1.67 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.72 m 7.1 m 0 eV 1.67 keV 124 mum 124 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 401, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.66 m 7.07 m 1.32 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.66 m 7.07 m 0 eV 1.32 keV 88.7 mum 88.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 400, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.65 m 7.07 m 2.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.65 m 7.07 m 0 eV 2.02 keV 166 mum 166 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 399, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.63 m -5.57 m 7.01 m 1.27 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.63 m -5.57 m 7.01 m 0 eV 1.27 keV 83.9 mum 83.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 398, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.55 m 7 m 2.17 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.55 m 7 m 0 eV 2.17 keV 185 mum 185 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.53 m 6.98 m 18.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.53 m 6.98 m 14.3 keV 4.31 keV 1.92 mm 1.92 mm WorldPV eIoni - 2 -3.64 m -5.53 m 6.98 m 11.3 keV 1.54 keV 623 mum 2.54 mm WorldPV eIoni - 3 -3.64 m -5.53 m 6.98 m 10.3 keV 1.02 keV 955 mum 3.49 mm WorldPV eIoni - 4 -3.64 m -5.53 m 6.98 m 7.22 keV 3.08 keV 850 mum 4.34 mm WorldPV eIoni - 5 -3.64 m -5.53 m 6.98 m 3.9 keV 3.32 keV 583 mum 4.93 mm WorldPV eIoni - 6 -3.65 m -5.53 m 6.98 m 1.45 keV 2.45 keV 351 mum 5.28 mm WorldPV eIoni - 7 -3.65 m -5.53 m 6.98 m 0 eV 1.45 keV 102 mum 5.38 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 416, Parent ID = 397 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.64 m -5.53 m 6.98 m 1.44 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.64 m -5.53 m 6.98 m 0 eV 1.44 keV 101 mum 101 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 396, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.61 m -5.47 m 6.94 m 5.53 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.61 m -5.47 m 6.94 m 3.76 keV 1.77 keV 462 mum 462 mum WorldPV eIoni - 2 -3.61 m -5.47 m 6.94 m 1.98 keV 1.78 keV 340 mum 802 mum WorldPV eIoni - 3 -3.61 m -5.47 m 6.94 m 0 eV 1.98 keV 161 mum 963 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 395, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.58 m -5.39 m 6.91 m 1.18 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.58 m -5.39 m 6.91 m 0 eV 1.18 keV 75.9 mum 75.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 394, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.52 m -5.29 m 6.83 m 3.46 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.52 m -5.3 m 6.83 m 1.87 keV 1.6 keV 318 mum 318 mum WorldPV eIoni - 2 -3.52 m -5.3 m 6.83 m 0 eV 1.87 keV 147 mum 465 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 393, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.54 m -5.23 m 6.8 m 6.73 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.54 m -5.23 m 6.8 m 4.7 keV 2.04 keV 546 mum 546 mum WorldPV eIoni - 2 -3.54 m -5.23 m 6.8 m 3.72 keV 976 eV 405 mum 951 mum WorldPV eIoni - 3 -3.54 m -5.23 m 6.8 m 341 eV 3.38 keV 338 mum 1.29 mm WorldPV eIoni - 4 -3.54 m -5.23 m 6.8 m 0 eV 341 eV 19.9 mum 1.31 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 392, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.54 m -5.2 m 6.78 m 4.89 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.54 m -5.2 m 6.78 m 2.73 keV 2.16 keV 418 mum 418 mum WorldPV eIoni - 2 -3.54 m -5.2 m 6.78 m 0 eV 2.73 keV 253 mum 671 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 391, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.53 m -5.17 m 6.76 m 48.7 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.53 m -5.17 m 6.76 m 46.7 keV 901 eV 2.39 mm 2.39 mm WorldPV eIoni - 2 -3.53 m -5.17 m 6.76 m 42.5 keV 4.19 keV 8.88 mm 1.13 cm WorldPV eIoni - 3 -3.53 m -5.17 m 6.76 m 40.2 keV 1.03 keV 2.91 mm 1.42 cm WorldPV eIoni - 4 -3.53 m -5.16 m 6.77 m 35.4 keV 4.8 keV 6.84 mm 2.1 cm WorldPV eIoni - 5 -3.53 m -5.17 m 6.77 m 29.8 keV 5.56 keV 5.48 mm 2.65 cm WorldPV eIoni - 6 -3.53 m -5.17 m 6.77 m 28.2 keV 408 eV 590 mum 2.71 cm WorldPV eIoni - 7 -3.54 m -5.17 m 6.77 m 25.3 keV 2.87 keV 3.73 mm 3.08 cm WorldPV eIoni - 8 -3.54 m -5.17 m 6.77 m 21.9 keV 3.39 keV 3.11 mm 3.39 cm WorldPV eIoni - 9 -3.54 m -5.17 m 6.77 m 19.2 keV 2.71 keV 2.47 mm 3.64 cm WorldPV eIoni - 10 -3.54 m -5.17 m 6.77 m 17.9 keV 1.35 keV 2.01 mm 3.84 cm WorldPV eIoni - 11 -3.54 m -5.17 m 6.77 m 16.2 keV 1.64 keV 1.8 mm 4.02 cm WorldPV eIoni - 12 -3.54 m -5.17 m 6.77 m 14.2 keV 1.99 keV 1.56 mm 4.18 cm WorldPV eIoni - 13 -3.55 m -5.17 m 6.77 m 12.4 keV 1.86 keV 1.29 mm 4.31 cm WorldPV eIoni - 14 -3.55 m -5.17 m 6.77 m 9.64 keV 2.74 keV 1.07 mm 4.41 cm WorldPV eIoni - 15 -3.55 m -5.17 m 6.77 m 6.74 keV 2.9 keV 787 mum 4.49 cm WorldPV eIoni - 16 -3.55 m -5.17 m 6.77 m 3.47 keV 1.35 keV 416 mum 4.53 cm WorldPV eIoni - 17 -3.55 m -5.17 m 6.77 m 1.19 keV 2.29 keV 319 mum 4.57 cm WorldPV eIoni - 18 -3.55 m -5.17 m 6.77 m 0 eV 1.19 keV 76.8 mum 4.57 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 420, Parent ID = 391 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.55 m -5.17 m 6.77 m 1.91 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.55 m -5.17 m 6.77 m 0 eV 1.91 keV 152 mum 152 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 419, Parent ID = 391 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.53 m -5.17 m 6.77 m 1.23 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.53 m -5.17 m 6.77 m 0 eV 1.23 keV 80.5 mum 80.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 418, Parent ID = 391 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.53 m -5.17 m 6.76 m 1.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.53 m -5.17 m 6.76 m 0 eV 1.3 keV 87.1 mum 87.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 417, Parent ID = 391 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.53 m -5.17 m 6.76 m 1.13 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.53 m -5.17 m 6.76 m 0 eV 1.13 keV 72 mum 72 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 390, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.53 m -5.17 m 6.75 m 1.46 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.53 m -5.17 m 6.75 m 0 eV 1.46 keV 102 mum 102 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 389, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.48 m -5.09 m 6.64 m 6.62 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.48 m -5.09 m 6.64 m 4.5 keV 2.12 keV 538 mum 538 mum WorldPV eIoni - 2 -3.48 m -5.09 m 6.64 m 2.45 keV 2.05 keV 392 mum 931 mum WorldPV eIoni - 3 -3.48 m -5.09 m 6.64 m 0 eV 2.45 keV 222 mum 1.15 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 388, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.47 m -5.08 m 6.63 m 1.14 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.47 m -5.08 m 6.63 m 0 eV 1.14 keV 72.9 mum 72.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 387, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.45 m -5.04 m 6.57 m 2.14 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.45 m -5.04 m 6.57 m 0 eV 2.14 keV 181 mum 181 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 386, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.39 m -4.95 m 6.47 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.39 m -4.95 m 6.47 m 0 eV 1.12 keV 71.4 mum 71.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 385, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.37 m -4.92 m 6.44 m 1.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.37 m -4.92 m 6.44 m 0 eV 1.36 keV 92.2 mum 92.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 384, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.28 m -4.77 m 6.37 m 1.66 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.28 m -4.77 m 6.37 m 0 eV 1.66 keV 123 mum 123 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 383, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.26 m -4.72 m 6.34 m 1.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.26 m -4.72 m 6.34 m 0 eV 1.3 keV 87.3 mum 87.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 382, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.23 m -4.68 m 6.33 m 1.81 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.23 m -4.68 m 6.33 m 0 eV 1.81 keV 140 mum 140 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 381, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.13 m -4.51 m 6.18 m 3.27 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.13 m -4.51 m 6.18 m 1.17 keV 2.1 keV 302 mum 302 mum WorldPV eIoni - 2 -3.13 m -4.51 m 6.18 m 0 eV 1.17 keV 75.5 mum 378 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 380, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.09 m -4.44 m 6.13 m 78.7 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.09 m -4.44 m 6.13 m 68.1 keV 1.05 keV 3.53 mm 3.53 mm WorldPV eIoni - 2 -3.08 m -4.45 m 6.13 m 65.2 keV 1.29 keV 2.94 mm 6.47 mm WorldPV eIoni - 3 -3.08 m -4.45 m 6.13 m 63.1 keV 311 eV 1.31 mm 7.78 mm WorldPV eIoni - 4 -3.08 m -4.45 m 6.13 m 58.8 keV 3.13 keV 6.38 mm 1.42 cm WorldPV eIoni - 5 -3.08 m -4.46 m 6.13 m 56.4 keV 1.16 keV 4.7 mm 1.89 cm WorldPV eIoni - 6 -3.08 m -4.47 m 6.12 m 48.5 keV 7.82 keV 1.23 cm 3.12 cm WorldPV eIoni - 7 -3.08 m -4.47 m 6.12 m 46.7 keV 255 eV 881 mum 3.21 cm WorldPV eIoni - 8 -3.08 m -4.47 m 6.13 m 38.1 keV 4.67 keV 6.32 mm 3.84 cm WorldPV eIoni - 9 -3.07 m -4.48 m 6.12 m 33.5 keV 4.57 keV 6.22 mm 4.46 cm WorldPV eIoni - 10 -3.08 m -4.48 m 6.13 m 27.7 keV 5.84 keV 5 mm 4.96 cm WorldPV eIoni - 11 -3.08 m -4.48 m 6.13 m 24.9 keV 2.76 keV 3.62 mm 5.32 cm WorldPV eIoni - 12 -3.08 m -4.48 m 6.13 m 22.4 keV 2.55 keV 3.03 mm 5.63 cm WorldPV eIoni - 13 -3.08 m -4.48 m 6.13 m 19.2 keV 3.17 keV 2.55 mm 5.88 cm WorldPV eIoni - 14 -3.08 m -4.48 m 6.13 m 17.1 keV 2.05 keV 2.01 mm 6.08 cm WorldPV eIoni - 15 -3.08 m -4.48 m 6.13 m 14.5 keV 2.61 keV 1.68 mm 6.25 cm WorldPV eIoni - 16 -3.08 m -4.47 m 6.13 m 13.3 keV 1.18 keV 1.32 mm 6.38 cm WorldPV eIoni - 17 -3.08 m -4.47 m 6.13 m 10.8 keV 922 eV 585 mum 6.44 cm WorldPV eIoni - 18 -3.08 m -4.47 m 6.13 m 9.65 keV 1.15 keV 901 mum 6.53 cm WorldPV eIoni - 19 -3.08 m -4.47 m 6.13 m 8 keV 1.65 keV 788 mum 6.61 cm WorldPV eIoni - 20 -3.08 m -4.47 m 6.13 m 4.99 keV 3.01 keV 644 mum 6.68 cm WorldPV eIoni - 21 -3.08 m -4.47 m 6.13 m 2.91 keV 2.08 keV 425 mum 6.72 cm WorldPV eIoni - 22 -3.08 m -4.47 m 6.13 m 1.05 keV 1.86 keV 271 mum 6.74 cm WorldPV eIoni - 23 -3.08 m -4.47 m 6.13 m 0 eV 1.05 keV 65.3 mum 6.75 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 428, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.47 m 6.13 m 1.62 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.47 m 6.13 m 0 eV 1.62 keV 119 mum 119 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 427, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.47 m 6.13 m 3.93 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.07 m -4.47 m 6.13 m 2.4 keV 1.53 keV 352 mum 352 mum WorldPV eIoni - 2 -3.07 m -4.47 m 6.13 m 0 eV 2.4 keV 215 mum 568 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 426, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.47 m 6.12 m 1.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.47 m 6.12 m 0 eV 1.6 keV 117 mum 117 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 425, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.46 m 6.13 m 1.32 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.46 m 6.13 m 0 eV 1.32 keV 88.9 mum 88.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 424, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.45 m 6.13 m 1.14 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.45 m 6.13 m 0 eV 1.14 keV 72.9 mum 72.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 423, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.45 m 6.13 m 1.77 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.45 m 6.13 m 0 eV 1.77 keV 136 mum 136 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 422, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.45 m 6.13 m 1.64 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.45 m 6.13 m 0 eV 1.64 keV 121 mum 121 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 421, Parent ID = 380 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.09 m -4.44 m 6.13 m 9.49 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.44 m 6.13 m 8.19 keV 1.29 keV 773 mum 773 mum WorldPV eIoni - 2 -3.08 m -4.44 m 6.13 m 5.82 keV 2.37 keV 660 mum 1.43 mm WorldPV eIoni - 3 -3.08 m -4.44 m 6.13 m 3.79 keV 2.04 keV 481 mum 1.91 mm WorldPV eIoni - 4 -3.08 m -4.44 m 6.13 m 1.36 keV 2.42 keV 343 mum 2.26 mm WorldPV eIoni - 5 -3.08 m -4.44 m 6.13 m 0 eV 1.36 keV 93.1 mum 2.35 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 379, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.08 m -4.42 m 6.12 m 1.47 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.08 m -4.42 m 6.12 m 0 eV 1.47 keV 103 mum 103 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 378, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.01 m -4.36 m 6.06 m 1.88 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -3.01 m -4.36 m 6.06 m 0 eV 1.88 keV 148 mum 148 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 377, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.96 m -4.25 m 6 m 1.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.96 m -4.25 m 6 m 0 eV 1.02 keV 62.5 mum 62.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 376, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.91 m -4.19 m 5.94 m 2.44 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.91 m -4.19 m 5.94 m 0 eV 2.44 keV 221 mum 221 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 375, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.89 m -4.17 m 5.91 m 1.64 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.89 m -4.17 m 5.91 m 0 eV 1.64 keV 121 mum 121 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 374, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.87 m -4.1 m 5.84 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.87 m -4.1 m 5.84 m 0 eV 1.06 keV 65.7 mum 65.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 373, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.86 m -4.06 m 5.8 m 1.26 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.86 m -4.06 m 5.8 m 0 eV 1.26 keV 82.9 mum 82.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 372, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 m -4.03 m 5.78 m 1.08 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.85 m -4.03 m 5.78 m 0 eV 1.08 keV 67.5 mum 67.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.83 m -3.96 m 5.73 m 7.41 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.83 m -3.96 m 5.73 m 5.78 keV 1.63 keV 598 mum 598 mum WorldPV eIoni - 2 -2.83 m -3.96 m 5.73 m 4.67 keV 1.11 keV 478 mum 1.08 mm WorldPV eIoni - 3 -2.83 m -3.96 m 5.73 m 3.44 keV 95 eV 109 mum 1.19 mm WorldPV eIoni - 4 -2.83 m -3.96 m 5.73 m 328 eV 3.11 keV 316 mum 1.5 mm WorldPV eIoni - 5 -2.83 m -3.96 m 5.73 m 0 eV 328 eV 19.3 mum 1.52 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 429, Parent ID = 371 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.83 m -3.96 m 5.73 m 1.14 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.83 m -3.96 m 5.73 m 0 eV 1.14 keV 73 mum 73 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 370, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.82 m -3.93 m 5.69 m 1.37 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.82 m -3.93 m 5.69 m 0 eV 1.37 keV 94 mum 94 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.81 m -3.92 m 5.69 m 1.18 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.81 m -3.92 m 5.69 m 0 eV 1.18 keV 76.6 mum 76.6 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 368, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.8 m -3.89 m 5.67 m 3.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.8 m -3.89 m 5.67 m 2.21 keV 1.12 keV 307 mum 307 mum WorldPV eIoni - 2 -2.8 m -3.89 m 5.67 m 0 eV 2.21 keV 189 mum 496 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 367, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -3.75 m 5.6 m 4.04 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -3.75 m 5.61 m 1.6 keV 2.44 keV 360 mum 360 mum WorldPV eIoni - 2 -2.79 m -3.75 m 5.6 m 0 eV 1.6 keV 117 mum 477 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 366, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -3.72 m 5.59 m 32 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -3.73 m 5.59 m 28.5 keV 3.57 keV 4.63 mm 4.63 mm WorldPV eIoni - 2 -2.79 m -3.73 m 5.59 m 23.3 keV 5.19 keV 3.79 mm 8.42 mm WorldPV eIoni - 3 -2.79 m -3.73 m 5.59 m 19.7 keV 970 eV 986 mum 9.41 mm WorldPV eIoni - 4 -2.79 m -3.73 m 5.59 m 17.2 keV 2.57 keV 2.09 mm 1.15 cm WorldPV eIoni - 5 -2.79 m -3.73 m 5.59 m 15 keV 2.19 keV 1.69 mm 1.32 cm WorldPV eIoni - 6 -2.79 m -3.73 m 5.59 m 13.5 keV 1.51 keV 1.39 mm 1.46 cm WorldPV eIoni - 7 -2.79 m -3.73 m 5.59 m 11.6 keV 1.87 keV 1.2 mm 1.58 cm WorldPV eIoni - 8 -2.79 m -3.73 m 5.59 m 9.53 keV 2.08 keV 984 mum 1.68 cm WorldPV eIoni - 9 -2.79 m -3.73 m 5.59 m 7.72 keV 690 eV 411 mum 1.72 cm WorldPV eIoni - 10 -2.79 m -3.72 m 5.59 m 5.86 keV 1.85 keV 622 mum 1.78 cm WorldPV eIoni - 11 -2.79 m -3.72 m 5.59 m 3.63 keV 2.23 keV 484 mum 1.83 cm WorldPV eIoni - 12 -2.79 m -3.72 m 5.59 m 948 eV 2.68 keV 331 mum 1.86 cm WorldPV eIoni - 13 -2.79 m -3.72 m 5.59 m 0 eV 948 eV 57.2 mum 1.87 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 431, Parent ID = 366 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -3.73 m 5.59 m 1.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -3.73 m 5.59 m 0 eV 1.12 keV 71.2 mum 71.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 430, Parent ID = 366 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -3.73 m 5.59 m 2.57 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -3.73 m 5.59 m 611 eV 1.95 keV 235 mum 235 mum WorldPV eIoni - 2 -2.79 m -3.73 m 5.59 m 0 eV 611 eV 34.1 mum 270 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -3.71 m 5.59 m 3.08 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -3.71 m 5.59 m 1.7 keV 1.38 keV 287 mum 287 mum WorldPV eIoni - 2 -2.79 m -3.71 m 5.59 m 0 eV 1.7 keV 127 mum 414 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 364, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.8 m -3.63 m 5.56 m 3.93 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.8 m -3.63 m 5.56 m 756 eV 3.18 keV 352 mum 352 mum WorldPV eIoni - 2 -2.8 m -3.63 m 5.56 m 0 eV 756 eV 43.3 mum 396 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 363, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.8 m -3.46 m 5.55 m 15 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.8 m -3.46 m 5.55 m 12.2 keV 2.86 keV 1.39 mm 1.39 mm WorldPV eIoni - 2 -2.8 m -3.46 m 5.55 m 10.7 keV 1.51 keV 1.04 mm 2.44 mm WorldPV eIoni - 3 -2.8 m -3.46 m 5.55 m 9.05 keV 1.61 keV 887 mum 3.32 mm WorldPV eIoni - 4 -2.8 m -3.46 m 5.55 m 7.84 keV 1.21 keV 735 mum 4.06 mm WorldPV eIoni - 5 -2.8 m -3.46 m 5.55 m 6.09 keV 1.75 keV 632 mum 4.69 mm WorldPV eIoni - 6 -2.8 m -3.46 m 5.55 m 5.03 keV 1.06 keV 500 mum 5.19 mm WorldPV eIoni - 7 -2.8 m -3.46 m 5.54 m 2.56 keV 2.47 keV 428 mum 5.62 mm WorldPV eIoni - 8 -2.8 m -3.46 m 5.54 m 0 eV 2.56 keV 235 mum 5.85 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 362, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.82 m -3.38 m 5.55 m 1.08 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.82 m -3.38 m 5.55 m 0 eV 1.08 keV 67.3 mum 67.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 361, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 m -3.22 m 5.68 m 14.8 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.85 m -3.22 m 5.68 m 12.6 keV 2.22 keV 1.36 mm 1.36 mm WorldPV eIoni - 2 -2.85 m -3.21 m 5.68 m 8.92 keV 3.65 keV 1.09 mm 2.45 mm WorldPV eIoni - 3 -2.85 m -3.21 m 5.68 m 6.89 keV 2.04 keV 723 mum 3.18 mm WorldPV eIoni - 4 -2.85 m -3.21 m 5.68 m 5.58 keV 1.3 keV 557 mum 3.73 mm WorldPV eIoni - 5 -2.85 m -3.21 m 5.68 m 3.81 keV 1.78 keV 465 mum 4.2 mm WorldPV eIoni - 6 -2.85 m -3.21 m 5.68 m 820 eV 2.99 keV 344 mum 4.54 mm WorldPV eIoni - 7 -2.85 m -3.21 m 5.68 m 0 eV 820 eV 47.8 mum 4.59 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 360, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 m -3.19 m 5.71 m 1.03 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.85 m -3.19 m 5.71 m 0 eV 1.03 keV 63.9 mum 63.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 359, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 m -3.17 m 5.73 m 3.19 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.85 m -3.17 m 5.73 m 0 eV 3.19 keV 296 mum 296 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 358, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.85 m -3.12 m 5.79 m 2 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.85 m -3.12 m 5.79 m 0 eV 2 keV 163 mum 163 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 357, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.84 m -3.04 m 5.84 m 4.64 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.84 m -3.04 m 5.84 m 2.06 keV 927 eV 284 mum 284 mum WorldPV eIoni - 2 -2.84 m -3.04 m 5.84 m 0 eV 2.06 keV 171 mum 455 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 432, Parent ID = 357 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.84 m -3.04 m 5.84 m 1.65 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.84 m -3.04 m 5.84 m 0 eV 1.65 keV 122 mum 122 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 356, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.82 m -2.89 m 5.99 m 1.03 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.82 m -2.89 m 5.99 m 0 eV 1.03 keV 63.9 mum 63.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 355, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.78 m -2.62 m 5.93 m 1.1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.78 m -2.62 m 5.93 m 0 eV 1.1 keV 68.8 mum 68.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 354, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.78 m -2.61 m 5.93 m 27.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.78 m -2.61 m 5.92 m 22.7 keV 4.82 keV 3.59 mm 3.59 mm WorldPV eIoni - 2 -2.78 m -2.61 m 5.92 m 20.2 keV 2.55 keV 2.62 mm 6.2 mm WorldPV eIoni - 3 -2.78 m -2.61 m 5.92 m 18 keV 2.19 keV 2.16 mm 8.36 mm WorldPV eIoni - 4 -2.79 m -2.61 m 5.92 m 14.6 keV 3.37 keV 1.81 mm 1.02 cm WorldPV eIoni - 5 -2.79 m -2.61 m 5.92 m 12.8 keV 1.78 keV 1.33 mm 1.15 cm WorldPV eIoni - 6 -2.79 m -2.61 m 5.92 m 10.6 keV 2.22 keV 1.12 mm 1.26 cm WorldPV eIoni - 7 -2.79 m -2.61 m 5.92 m 7.96 keV 2.63 keV 879 mum 1.35 cm WorldPV eIoni - 8 -2.79 m -2.61 m 5.92 m 5.82 keV 2.13 keV 641 mum 1.41 cm WorldPV eIoni - 9 -2.79 m -2.61 m 5.92 m 4.59 keV 1.24 keV 481 mum 1.46 cm WorldPV eIoni - 10 -2.79 m -2.61 m 5.92 m 1.88 keV 1.04 keV 296 mum 1.49 cm WorldPV eIoni - 11 -2.79 m -2.61 m 5.92 m 0 eV 1.88 keV 148 mum 1.51 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 433, Parent ID = 354 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.79 m -2.61 m 5.92 m 1.67 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.79 m -2.61 m 5.92 m 0 eV 1.67 keV 124 mum 124 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 353, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.74 m -2.43 m 5.9 m 1.23 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.74 m -2.43 m 5.9 m 0 eV 1.23 keV 80.9 mum 80.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 352, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.73 m -2.39 m 5.89 m 1.13 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.73 m -2.39 m 5.89 m 0 eV 1.13 keV 72.3 mum 72.3 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 351, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.69 m -2.33 m 5.86 m 1.24 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.69 m -2.33 m 5.86 m 0 eV 1.24 keV 81.9 mum 81.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 350, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.64 m -2.26 m 5.83 m 4.81 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.64 m -2.26 m 5.83 m 4.17 keV 637 eV 412 mum 412 mum WorldPV eIoni - 2 -2.64 m -2.26 m 5.83 m 2.68 keV 1.49 keV 370 mum 782 mum WorldPV eIoni - 3 -2.64 m -2.26 m 5.83 m 458 eV 2.22 keV 248 mum 1.03 mm WorldPV eIoni - 4 -2.64 m -2.26 m 5.83 m 0 eV 458 eV 25.6 mum 1.06 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 349, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.61 m -2.19 m 5.79 m 2.13 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.61 m -2.19 m 5.79 m 0 eV 2.13 keV 180 mum 180 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.58 m -2.16 m 5.76 m 1.34 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.58 m -2.16 m 5.76 m 0 eV 1.34 keV 90.2 mum 90.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.55 m -2.11 m 5.73 m 2.62 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.55 m -2.11 m 5.73 m 0 eV 2.62 keV 241 mum 241 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.54 m -2.09 m 5.72 m 1.02 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.54 m -2.09 m 5.72 m 0 eV 1.02 keV 63.1 mum 63.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.37 m -1.89 m 5.58 m 1.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.37 m -1.89 m 5.58 m 0 eV 1.22 keV 79.9 mum 79.9 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.32 m -1.83 m 5.55 m 1.22 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.32 m -1.83 m 5.55 m 0 eV 1.22 keV 80.1 mum 80.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.3 m -1.81 m 5.54 m 1.6 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.3 m -1.81 m 5.54 m 0 eV 1.6 keV 117 mum 117 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 342, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.28 m -1.78 m 5.53 m 1.1 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.28 m -1.78 m 5.53 m 0 eV 1.1 keV 69.4 mum 69.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.05 m -1.52 m 5.41 m 2.71 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -2.05 m -1.52 m 5.41 m 341 eV 2.37 keV 250 mum 250 mum WorldPV eIoni - 2 -2.05 m -1.52 m 5.41 m 0 eV 341 eV 19.9 mum 270 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 340, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.9 m -1.35 m 5.3 m 1.84 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.9 m -1.35 m 5.3 m 0 eV 1.84 keV 143 mum 143 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 339, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.34 m 5.29 m 4.2 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.34 m 5.29 m 2.4 keV 1.8 keV 372 mum 372 mum WorldPV eIoni - 2 -1.89 m -1.34 m 5.29 m 0 eV 2.4 keV 216 mum 588 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 338, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.85 m -1.31 m 5.28 m 102 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.87 m -1.31 m 5.3 m 96.6 keV 5.49 keV 3.48 cm 3.48 cm WorldPV eIoni - 2 -1.87 m -1.3 m 5.31 m 93.4 keV 2.11 keV 8.24 mm 4.3 cm WorldPV eIoni - 3 -1.88 m -1.29 m 5.34 m 83.8 keV 9.54 keV 2.97 cm 7.27 cm WorldPV eIoni - 4 -1.88 m -1.29 m 5.34 m 78 keV 1.44 keV 4.3 mm 7.7 cm WorldPV eIoni - 5 -1.87 m -1.27 m 5.34 m 63.9 keV 14.1 keV 2.17 cm 9.88 cm WorldPV eIoni - 6 -1.87 m -1.26 m 5.34 m 59.3 keV 3.51 keV 7.04 mm 10.6 cm WorldPV eIoni - 7 -1.88 m -1.25 m 5.35 m 51.6 keV 5.97 keV 8.18 mm 11.4 cm WorldPV eIoni - 8 -1.88 m -1.25 m 5.35 m 45 keV 6.62 keV 1.05 cm 12.5 cm WorldPV eIoni - 9 -1.88 m -1.25 m 5.36 m 35.1 keV 8.19 keV 8.29 mm 13.3 cm WorldPV eIoni - 10 -1.89 m -1.25 m 5.36 m 32.4 keV 611 eV 1.01 mm 13.4 cm WorldPV eIoni - 11 -1.89 m -1.25 m 5.36 m 30.4 keV 903 eV 330 mum 13.4 cm WorldPV eIoni - 12 -1.89 m -1.25 m 5.36 m 27.3 keV 3.13 keV 4.23 mm 13.8 cm WorldPV eIoni - 13 -1.89 m -1.25 m 5.36 m 25.1 keV 2.25 keV 3.54 mm 14.2 cm WorldPV eIoni - 14 -1.89 m -1.25 m 5.37 m 23.5 keV 565 eV 174 mum 14.2 cm WorldPV eIoni - 15 -1.89 m -1.25 m 5.37 m 22.1 keV 61.3 eV 247 mum 14.2 cm WorldPV eIoni - 16 -1.89 m -1.25 m 5.37 m 19.2 keV 2.88 keV 2.5 mm 14.5 cm WorldPV eIoni - 17 -1.89 m -1.25 m 5.37 m 16.5 keV 1.41 keV 1.31 mm 14.6 cm WorldPV eIoni - 18 -1.89 m -1.25 m 5.36 m 14.2 keV 2.36 keV 1.6 mm 14.8 cm WorldPV eIoni - 19 -1.89 m -1.25 m 5.37 m 12.1 keV 2.02 keV 1.28 mm 14.9 cm WorldPV eIoni - 20 -1.89 m -1.25 m 5.36 m 10.3 keV 1.84 keV 1.04 mm 15 cm WorldPV eIoni - 21 -1.89 m -1.25 m 5.36 m 8.79 keV 1.51 keV 850 mum 15.1 cm WorldPV eIoni - 22 -1.89 m -1.25 m 5.36 m 6.83 keV 1.96 keV 712 mum 15.2 cm WorldPV eIoni - 23 -1.89 m -1.25 m 5.36 m 5.2 keV 555 eV 248 mum 15.2 cm WorldPV eIoni - 24 -1.89 m -1.25 m 5.36 m 3.46 keV 1.74 keV 440 mum 15.2 cm WorldPV eIoni - 25 -1.89 m -1.25 m 5.36 m 542 eV 2.92 keV 318 mum 15.3 cm WorldPV eIoni - 26 -1.89 m -1.25 m 5.36 m 0 eV 542 eV 30.1 mum 15.3 cm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 444, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.36 m 1.07 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.36 m 0 eV 1.07 keV 67.1 mum 67.1 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.37 m 1.25 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.37 m 0 eV 1.25 keV 82.2 mum 82.2 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 442, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.37 m 1.36 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.37 m 0 eV 1.36 keV 92.7 mum 92.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.37 m 1.03 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.36 m 0 eV 1.03 keV 63.5 mum 63.5 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.36 m 1.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.36 m 0 eV 1.09 keV 68 mum 68 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.89 m -1.25 m 5.36 m 2.03 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.89 m -1.25 m 5.36 m 0 eV 2.03 keV 167 mum 167 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.88 m -1.25 m 5.36 m 1.72 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.88 m -1.25 m 5.36 m 0 eV 1.72 keV 130 mum 130 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.88 m -1.25 m 5.35 m 1.69 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.88 m -1.25 m 5.35 m 0 eV 1.69 keV 126 mum 126 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 436, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.87 m -1.26 m 5.34 m 1.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.87 m -1.26 m 5.34 m 0 eV 1.09 keV 68.7 mum 68.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.88 m -1.29 m 5.34 m 4.44 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.88 m -1.29 m 5.34 m 1.29 keV 3.15 keV 388 mum 388 mum WorldPV eIoni - 2 -1.88 m -1.29 m 5.34 m 0 eV 1.29 keV 85.7 mum 474 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 338 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.87 m -1.3 m 5.31 m 1.06 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.87 m -1.3 m 5.31 m 0 eV 1.06 keV 66.4 mum 66.4 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 337, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.7 m -1.24 m 5.23 m 1.47 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.7 m -1.24 m 5.23 m 0 eV 1.47 keV 103 mum 103 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 336, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.69 m -1.24 m 5.23 m 1.29 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.69 m -1.24 m 5.23 m 0 eV 1.29 keV 86 mum 86 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 335, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.63 m -1.21 m 5.21 m 2.15 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.63 m -1.21 m 5.21 m 0 eV 2.15 keV 182 mum 182 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 334, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.59 m -1.18 m 5.2 m 2.66 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.59 m -1.18 m 5.2 m 63.8 eV 2.6 keV 246 mum 246 mum WorldPV eIoni - 2 -1.59 m -1.18 m 5.2 m 0 eV 63.8 eV 8.04 mum 254 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.56 m -1.16 m 5.19 m 3.3 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.56 m -1.16 m 5.19 m 1.72 keV 1.58 keV 305 mum 305 mum WorldPV eIoni - 2 -1.56 m -1.16 m 5.19 m 0 eV 1.72 keV 130 mum 435 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 332, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.55 m -1.15 m 5.18 m 3.12 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.55 m -1.15 m 5.18 m 0 eV 3.12 keV 290 mum 290 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 331, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.54 m -1.14 m 5.18 m 1.04 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.54 m -1.14 m 5.18 m 0 eV 1.04 keV 64.8 mum 64.8 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 330, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.53 m -1.14 m 5.18 m 4.09 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.53 m -1.14 m 5.18 m 1.43 keV 2.66 keV 364 mum 364 mum WorldPV eIoni - 2 -1.53 m -1.14 m 5.18 m 0 eV 1.43 keV 99.6 mum 463 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 329, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.53 m -1.13 m 5.17 m 11.9 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.53 m -1.14 m 5.17 m 8.41 keV 3.51 keV 1.02 mm 1.02 mm WorldPV eIoni - 2 -1.53 m -1.14 m 5.17 m 6.09 keV 989 eV 306 mum 1.32 mm WorldPV eIoni - 3 -1.53 m -1.14 m 5.18 m 3.19 keV 2.9 keV 501 mum 1.82 mm WorldPV eIoni - 4 -1.53 m -1.14 m 5.18 m 1.73 keV 1.47 keV 296 mum 2.12 mm WorldPV eIoni - 5 -1.53 m -1.14 m 5.18 m 0 eV 1.73 keV 131 mum 2.25 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 445, Parent ID = 329 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.53 m -1.14 m 5.17 m 1.33 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.52 m -1.14 m 5.17 m 0 eV 1.33 keV 89.7 mum 89.7 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 328, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.43 m -1.08 m 5.13 m 2.08 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.43 m -1.08 m 5.13 m 0 eV 2.08 keV 173 mum 173 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 327, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.27 m -93.2 cm 5.07 m 4.9 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -1.27 m -93.2 cm 5.07 m 2.6 keV 2.3 keV 419 mum 419 mum WorldPV eIoni - 2 -1.27 m -93.2 cm 5.07 m 394 eV 2.21 keV 239 mum 658 mum WorldPV eIoni - 3 -1.27 m -93.2 cm 5.07 m 0 eV 394 eV 22.4 mum 681 mum WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 326, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.17 m -86.3 cm 5 m 1.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.17 m -86.3 cm 5 m 0 eV 1.5 keV 106 mum 106 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.14 m -84.8 cm 4.99 m 2.14 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.14 m -84.9 cm 4.99 m 0 eV 2.14 keV 180 mum 180 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 324, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.14 m -84.7 cm 4.99 m 1.78 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.14 m -84.7 cm 4.99 m 0 eV 1.78 keV 137 mum 137 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 323, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.08 m -80.3 cm 4.95 m 2.22 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.08 m -80.3 cm 4.95 m 0 eV 2.22 keV 191 mum 191 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 322, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.03 m -77.3 cm 4.92 m 6.32 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.03 m -77.3 cm 4.92 m 4.44 keV 1.88 keV 517 mum 517 mum Tracker eIoni - 2 -1.03 m -77.3 cm 4.92 m 1.41 keV 3.03 keV 389 mum 906 mum Tracker eIoni - 3 -1.03 m -77.3 cm 4.92 m 0 eV 1.41 keV 98 mum 1 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 321, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -95.7 cm -72.7 cm 4.88 m 2.85 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -95.7 cm -72.7 cm 4.88 m 534 eV 2.32 keV 265 mum 265 mum Tracker eIoni - 2 -95.7 cm -72.7 cm 4.88 m 0 eV 534 eV 29.6 mum 295 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 320, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -91.3 cm -69.2 cm 4.84 m 2.59 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -91.3 cm -69.2 cm 4.84 m 363 eV 2.22 keV 238 mum 238 mum Tracker eIoni - 2 -91.3 cm -69.2 cm 4.84 m 0 eV 363 eV 20.9 mum 259 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 319, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -86.6 cm -65.8 cm 4.81 m 1.47 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -86.6 cm -65.8 cm 4.81 m 0 eV 1.47 keV 103 mum 103 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 318, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -79.4 cm -61 cm 4.77 m 1.31 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -79.4 cm -61 cm 4.77 m 0 eV 1.31 keV 88.1 mum 88.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 317, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.3 cm -58.6 cm 4.75 m 5.8 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -76.3 cm -58.5 cm 4.75 m 4.38 keV 1.43 keV 480 mum 480 mum Tracker eIoni - 2 -76.3 cm -58.5 cm 4.75 m 1.56 keV 2.81 keV 384 mum 864 mum Tracker eIoni - 3 -76.3 cm -58.5 cm 4.75 m 0 eV 1.56 keV 113 mum 976 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 316, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -76.2 cm -58.5 cm 4.75 m 2.55 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -76.2 cm -58.5 cm 4.75 m 0 eV 2.55 keV 233 mum 233 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 315, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.6 cm -47.5 cm 4.67 m 9.13 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -61.6 cm -47.4 cm 4.67 m 7.76 keV 1.37 keV 742 mum 742 mum Tracker eIoni - 2 -61.5 cm -47.4 cm 4.67 m 4.27 keV 840 eV 276 mum 1.02 mm Tracker eIoni - 3 -61.5 cm -47.4 cm 4.67 m 1.3 keV 2.96 keV 377 mum 1.39 mm Tracker eIoni - 4 -61.5 cm -47.4 cm 4.67 m 0 eV 1.3 keV 87.3 mum 1.48 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 446, Parent ID = 315 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -61.5 cm -47.4 cm 4.67 m 2.65 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -61.5 cm -47.4 cm 4.68 m 0 eV 2.65 keV 245 mum 245 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 314, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -48.3 cm -36.8 cm 4.61 m 1.35 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -48.3 cm -36.8 cm 4.61 m 0 eV 1.35 keV 91.6 mum 91.6 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 313, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -33.2 cm -15.6 cm 4.44 m 1.29 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -33.2 cm -15.6 cm 4.44 m 0 eV 1.29 keV 85.7 mum 85.7 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 312, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -30.9 cm -12.1 cm 4.41 m 1.11 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -30.9 cm -12.1 cm 4.41 m 0 eV 1.11 keV 69.9 mum 69.9 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 311, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -19.9 cm 6.5 cm 4.28 m 1.02 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -19.9 cm 6.5 cm 4.28 m 0 eV 1.02 keV 63.1 mum 63.1 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 310, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16 cm 13.1 cm 4.24 m 1.09 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -16 cm 13.1 cm 4.24 m 0 eV 1.09 keV 68.5 mum 68.5 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 233, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.62 cm 976 mum 3.33 m 1.06 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.56 cm 890 mum 3.33 m 803 keV 256 keV 742 mum 742 mumtrkChamber eIoni - 2 -2.58 cm 790 mum 3.33 m 583 keV 220 keV 610 mum 1.35 mm trkChamber eIoni - 3 -2.56 cm 424 mum 3.33 m 397 keV 186 keV 494 mum 1.85 mm trkChamber eIoni - 4 -2.56 cm 720 mum 3.33 m 235 keV 162 keV 387 mum 2.23 mm trkChamber eIoni - 5 -2.56 cm 878 mum 3.33 m 62 keV 173 keV 259 mum 2.49 mm trkChamber eIoni - 6 -2.56 cm 889 mum 3.33 m 0 eV 62 keV 30.6 mum 2.52 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.59 cm 727 mum 3.33 m 14.8 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.59 cm 728 mum 3.33 m 14.8 keV 14.8 keV 9.46 mum 9.46 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 231, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.56 cm 506 mum 3.33 m 240 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.71 cm 1.52 mm 3.34 m 167 keV 73 keV 1.42 cm 1.42 cm trkChamber compt - 2 -1.94 cm 2.28 cm 3.34 m 106 keV 60.3 keV 2.27 cm 3.69 cm trkChamber compt - 3 -2.12 cm 2.19 cm 3.34 m 87 keV 19.4 keV 2.03 mm 3.89 cm trkChamber compt - 4 -1.96 cm 2 cm 3.34 m 76.6 keV 10.3 keV 3.48 mm 4.24 cm trkChamber compt - 5 -2.3 cm 5.85 mm 3.34 m 64 keV 12.6 keV 1.51 cm 5.75 cm trkChamber compt - 6 -6.11 cm 2.7 cm 3.33 m 64 keV 64 keV 4.49 cm 10.2 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 230, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.55 cm 452 mum 3.32 m 11.2 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.55 cm 461 mum 3.32 m 11.2 keV 11.2 keV 217 mum 217 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 47.7 mum 3.3 m 2.71 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.42 cm -823 mum 3.31 m 2.19 MeV 525 keV 1.57 mm 1.57 mm trkChamber eIoni - 2 -2.41 cm -1.82 mm 3.31 m 1.76 MeV 430 keV 1.31 mm 2.88 mm trkChamber eIoni - 3 -2.31 cm -2.17 mm 3.31 m 1.39 MeV 369 keV 1.09 mm 3.97 mm trkChamber eIoni - 4 -2.29 cm -2.78 mm 3.31 m 1.1 MeV 285 keV 910 mum 4.88 mm trkChamber eIoni - 5 -2.23 cm -2.92 mm 3.31 m 862 keV 243 keV 765 mum 5.65 mm trkChamber eIoni - 6 -2.17 cm -3.04 mm 3.31 m 654 keV 208 keV 641 mum 6.29 mm trkChamber eIoni - 7 -2.18 cm -3.1 mm 3.31 m 486 keV 169 keV 532 mum 6.82 mm trkChamber eIoni - 8 -2.18 cm -3.35 mm 3.31 m 318 keV 168 keV 440 mum 7.26 mm trkChamber eIoni - 9 -2.2 cm -3.34 mm 3.31 m 173 keV 145 keV 334 mum 7.59 mm trkChamber eIoni - 10 -2.2 cm -3.3 mm 3.31 m 0 eV 173 keV 169 mum 7.76 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 45 mum 3.24 m 1.03 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.56 cm -233 mum 3.24 m 768 keV 261 keV 727 mum 727 mumtrkChamber eIoni - 2 -2.57 cm -354 mum 3.24 m 506 keV 262 keV 592 mum 1.32 mm trkChamber eIoni - 3 -2.59 cm -212 mum 3.24 m 314 keV 193 keV 451 mum 1.77 mm trkChamber eIoni - 4 -2.57 cm -30.3 mum 3.24 m 135 keV 179 keV 330 mum 2.1 mm trkChamber eIoni - 5 -2.57 cm 22.9 mum 3.24 m 0 eV 135 keV 113 mum 2.21 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 44.7 mum 3.23 m 3.33 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.51 cm -700 mum 3.24 m 2.7 MeV 634 keV 1.87 mm 1.87 mm trkChamber eIoni - 2 -2.47 cm -2.14 mm 3.24 m 2.05 MeV 648 keV 1.56 mm 3.44 mm trkChamber eIoni - 3 -2.55 cm -1.35 mm 3.24 m 1.37 MeV 676 keV 1.24 mm 4.68 mm trkChamber eIoni - 4 -2.62 cm -1.8 mm 3.24 m 1.05 MeV 327 keV 902 mum 5.58 mm trkChamber eIoni - 5 -2.62 cm -2.45 mm 3.24 m 769 keV 277 keV 736 mum 6.31 mm trkChamber eIoni - 6 -2.65 cm -2.5 mm 3.24 m 599 keV 170 keV 592 mum 6.91 mm trkChamber eIoni - 7 -2.68 cm -2.39 mm 3.24 m 433 keV 166 keV 502 mum 7.41 mm trkChamber eIoni - 8 -2.71 cm -2.27 mm 3.24 m 224 keV 209 keV 409 mum 7.82 mm trkChamber eIoni - 9 -2.71 cm -2.31 mm 3.24 m 0 eV 224 keV 246 mum 8.06 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 41.5 mum 3.13 m 38.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm -535 mum 3.13 m 32.7 keV 138 eV 615 mum 615 mum Tracker eIoni - 2 -2.48 cm -638 mum 3.13 m 30.6 keV 27.4 eV 166 mum 781 mum Tracker eIoni - 3 -2.22 cm -3.62 mm 3.13 m 28.2 keV 2.41 keV 4.27 mm 5.05 mm Tracker eIoni - 4 -1.94 cm -5.96 mm 3.13 m 23 keV 5.15 keV 3.73 mm 8.78 mm Tracker eIoni - 5 -1.7 cm -4.91 mm 3.13 m 19.1 keV 3.96 keV 2.68 mm 1.15 cm Tracker eIoni - 6 -1.52 cm -4.63 mm 3.13 m 17.3 keV 1.78 keV 1.99 mm 1.34 cm Tracker eIoni - 7 -1.55 cm -5.53 mm 3.13 m 14.7 keV 2.62 keV 1.7 mm 1.51 cm Tracker eIoni - 8 -1.64 cm -6 mm 3.13 m 11.9 keV 2.71 keV 1.34 mm 1.65 cm Tracker eIoni - 9 -1.69 cm -6.39 mm 3.13 m 10.2 keV 1.74 keV 1.02 mm 1.75 cm Tracker eIoni - 10 -1.71 cm -6.48 mm 3.13 m 7.28 keV 631 eV 298 mum 1.78 cm Tracker eIoni - 11 -1.76 cm -6.55 mm 3.13 m 5.59 keV 1.69 keV 588 mum 1.84 cm Tracker eIoni - 12 -1.8 cm -6.44 mm 3.13 m 3.84 keV 1.75 keV 466 mum 1.89 cm Tracker eIoni - 13 -1.79 cm -6.75 mm 3.13 m 1.05 keV 2.79 keV 346 mum 1.92 cm Tracker eIoni - 14 -1.8 cm -6.75 mm 3.13 m 0 eV 1.05 keV 65.5 mum 1.93 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 449, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.71 cm -6.48 mm 3.13 m 2.29 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.72 cm -6.41 mm 3.13 m 0 eV 2.29 keV 200 mum 200 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 448, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.48 cm -638 mum 3.13 m 2.04 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.47 cm -629 mum 3.13 m 0 eV 2.04 keV 168 mum 168 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 447, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.49 cm -535 mum 3.13 m 5.53 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.48 cm -809 mum 3.13 m 2.97 keV 2.56 keV 462 mum 462 mum Tracker eIoni - 2 -2.49 cm -788 mum 3.13 m 910 eV 2.06 keV 276 mum 737 mum Tracker eIoni - 3 -2.49 cm -794 mum 3.13 m 0 eV 910 eV 54.3 mum 792 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 40 mum 3.08 m 1.48 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -1.3 mum 3.08 m 0 eV 1.48 keV 105 mum 105 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 37.5 mum 3 m 3.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -227 mum 3 m 1.5 keV 2 keV 321 mum 321 mum Tracker eIoni - 2 -2.5 cm -197 mum 3 m 0 eV 1.5 keV 106 mum 427 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 35.9 mum 2.95 m 1.07 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 79.2 mum 2.95 m 0 eV 1.07 keV 66.7 mum 66.7 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 34.4 mum 2.9 m 2.76 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.52 cm 73 mum 2.9 m 1.3 keV 1.45 keV 255 mum 255 mum Tracker eIoni - 2 -2.53 cm 47.3 mum 2.9 m 0 eV 1.3 keV 87.2 mum 342 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 29.6 mum 2.75 m 57.8 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.23 cm 1.19 cm 2.75 m 49.2 keV 8.54 keV 1.29 cm 1.29 cm Tracker eIoni - 2 -2.33 cm 1.17 cm 2.76 m 43.2 keV 6.03 keV 9.73 mm 2.26 cm Tracker eIoni - 3 -2.41 cm 1.09 cm 2.77 m 36.1 keV 7.09 keV 7.72 mm 3.03 cm Tracker eIoni - 4 -2.01 cm 1.28 cm 2.77 m 31.4 keV 4.74 keV 5.66 mm 3.6 cm Tracker eIoni - 5 -2.02 cm 1.08 cm 2.78 m 25.9 keV 3.87 keV 3.87 mm 3.99 cm Tracker eIoni - 6 -1.93 cm 1.1 cm 2.78 m 22.9 keV 1.47 keV 2.16 mm 4.2 cm Tracker eIoni - 7 -1.85 cm 8.95 mm 2.78 m 20.4 keV 2.49 keV 2.66 mm 4.47 cm Tracker eIoni - 8 -1.73 cm 8.61 mm 2.78 m 18.7 keV 1.69 keV 2.21 mm 4.69 cm Tracker eIoni - 9 -1.61 cm 7.51 mm 2.78 m 16.5 keV 2.25 keV 1.94 mm 4.88 cm Tracker eIoni - 10 -1.55 cm 7.46 mm 2.78 m 13.2 keV 3.33 keV 1.6 mm 5.04 cm Tracker eIoni - 11 -1.55 cm 7.38 mm 2.78 m 10.5 keV 549 eV 145 mum 5.06 cm Tracker eIoni - 12 -1.57 cm 7.04 mm 2.78 m 7.65 keV 2.81 keV 866 mum 5.14 cm Tracker eIoni - 13 -1.63 cm 6.77 mm 2.78 m 6.06 keV 1.59 keV 617 mum 5.2 cm Tracker eIoni - 14 -1.63 cm 6.29 mm 2.78 m 3.8 keV 2.26 keV 498 mum 5.25 cm Tracker eIoni - 15 -1.64 cm 6.32 mm 2.78 m 2.07 keV 1.73 keV 343 mum 5.29 cm Tracker eIoni - 16 -1.64 cm 6.34 mm 2.78 m 0 eV 2.07 keV 172 mum 5.31 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 452, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.55 cm 7.38 mm 2.78 m 2.17 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.54 cm 7.38 mm 2.78 m 0 eV 2.17 keV 184 mum 184 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 451, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.93 cm 1.1 cm 2.78 m 1.49 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.93 cm 1.1 cm 2.78 m 0 eV 1.49 keV 105 mum 105 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 450, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.02 cm 1.08 cm 2.78 m 1.61 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.01 cm 1.08 cm 2.78 m 0 eV 1.61 keV 118 mum 118 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 28.1 mum 2.7 m 1.75 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -44.9 mum 2.7 m 0 eV 1.75 keV 134 mum 134 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 26.5 mum 2.65 m 1.54 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -23.9 mum 2.65 m 0 eV 1.54 keV 110 mum 110 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 25.7 mum 2.63 m 1.35 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -14 mum 2.63 m 0 eV 1.35 keV 91.8 mum 91.8 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 25.6 mum 2.62 m 2.71 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.5 cm 108 mum 2.62 m 2.44 MeV 102 keV 167 mum 167 mumtrkChamber eBrem - 2 -2.49 cm 1.09 mm 2.62 m 1.92 MeV 523 keV 1.43 mm 1.6 mm trkChamber eIoni - 3 -2.47 cm 1.78 mm 2.62 m 1.53 MeV 395 keV 1.18 mm 2.78 mm trkChamber eIoni - 4 -2.48 cm 2 mm 2.62 m 1.3 MeV 230 keV 308 mum 3.09 mm TrackerTransportation - 5 -2.57 cm 1.66 cm 2.64 m 1.29 MeV 3.61 keV 1.94 cm 2.25 cm Tracker eIoni - 6 -667 mum 17.1 cm 2.78 m 1.25 MeV 31.6 keV 21.1 cm 23.4 cm Tracker eIoni - 7 1.05 cm 19.7 cm 2.82 m 1.24 MeV 5.08 keV 4.69 cm 28 cm Tracker eIoni - 8 2.84 cm 24.8 cm 2.9 m 1.22 MeV 16 keV 10 cm 38.1 cm Tracker eIoni - 9 12.7 cm 38.6 cm 3.06 m 1.19 MeV 31.9 keV 23.3 cm 61.4 cm Tracker eIoni - 10 14.8 cm 47.6 cm 3.18 m 1.17 MeV 20.6 keV 15.6 cm 77 cm Tracker eIoni - 11 14.8 cm 48.2 cm 3.19 m 1.17 MeV 1.62 keV 1.15 cm 78.2 cm Tracker eIoni - 12 14.6 cm 50 cm 3.23 m 1.16 MeV 5.52 keV 3.71 cm 81.9 cm trkChamberTransportation - 13 14.6 cm 50 cm 3.23 m 1.09 MeV 28.1 keV 74.7 mum 81.9 cm trkChamber eBrem - 14 14.6 cm 50 cm 3.23 m 787 keV 306 keV 759 mum 82 cm trkChamber eIoni - 15 14.6 cm 50 cm 3.23 m 578 keV 209 keV 602 mum 82.1 cm trkChamber eIoni - 16 14.6 cm 50 cm 3.23 m 397 keV 181 keV 491 mum 82.1 cm trkChamber eIoni - 17 14.6 cm 50 cm 3.23 m 214 keV 182 keV 387 mum 82.1 cm trkChamber eIoni - 18 14.6 cm 49.9 cm 3.23 m 15.5 keV 199 keV 234 mum 82.2 cm trkChamber eIoni - 19 14.6 cm 49.9 cm 3.23 m 0 eV 15.5 keV 2.77 mum 82.2 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 461, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.6 cm 50 cm 3.23 m 40.5 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 13.8 cm 51.4 cm 3.23 m 38.4 keV 2.16 keV 1.61 cm 1.61 cm trkChamber compt - 2 13.8 cm 51.4 cm 3.23 m 38.4 keV 38.4 keV 626 mum 1.67 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 460, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.8 cm 48.2 cm 3.19 m 1.16 keV 0 eV 0 fm 0 fm Tracker initStep - 1 14.8 cm 48.2 cm 3.19 m 0 eV 1.16 keV 74.3 mum 74.3 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 459, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.8 cm 47.6 cm 3.18 m 1.13 keV 0 eV 0 fm 0 fm Tracker initStep - 1 14.8 cm 47.6 cm 3.18 m 0 eV 1.13 keV 72 mum 72 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 458, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.7 cm 38.6 cm 3.06 m 1.34 keV 0 eV 0 fm 0 fm Tracker initStep - 1 12.7 cm 38.6 cm 3.06 m 0 eV 1.34 keV 90.3 mum 90.3 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 457, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.84 cm 24.8 cm 2.9 m 1.78 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.84 cm 24.9 cm 2.9 m 0 eV 1.78 keV 136 mum 136 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 456, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.05 cm 19.7 cm 2.82 m 7.53 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.06 cm 19.6 cm 2.82 m 6.14 keV 1.4 keV 608 mum 608 mum Tracker eIoni - 2 1.1 cm 19.6 cm 2.82 m 4.62 keV 1.51 keV 504 mum 1.11 mm Tracker eIoni - 3 1.1 cm 19.6 cm 2.82 m 3.28 keV 1.34 keV 400 mum 1.51 mm Tracker eIoni - 4 1.09 cm 19.5 cm 2.82 m 74.1 eV 3.21 keV 303 mum 1.82 mm Tracker eIoni - 5 1.09 cm 19.5 cm 2.82 m 0 eV 74.1 eV 8.67 mum 1.82 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 455, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -667 mum 17.1 cm 2.78 m 1.17 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -671 mum 17.1 cm 2.78 m 0 eV 1.17 keV 75.8 mum 75.8 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 454, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.57 cm 1.66 cm 2.64 m 4.09 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.6 cm 1.68 cm 2.64 m 1.17 keV 2.92 keV 364 mum 364 mum Tracker eIoni - 2 -2.6 cm 1.69 cm 2.64 m 0 eV 1.17 keV 75.1 mum 439 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 453, Parent ID = 37 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 108 mum 2.62 m 167 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.55 cm 1.52 mm 2.62 m 167 keV 0 eV 2.44 mm 2.44 mm TrackerTransportation - 2 -15.2 cm 43.8 cm 3.23 m 167 keV 0 eV 75.3 cm 75.5 cm trkChamberTransportation - 3 -15.5 cm 45 cm 3.24 m 167 keV 167 keV 1.94 cm 77.5 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 24.3 mum 2.58 m 1.66 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.5 cm 500 mum 2.59 m 1.28 MeV 387 keV 1.05 mm 1.05 mm trkChamber eIoni - 2 -2.48 cm 952 mum 2.59 m 972 keV 289 keV 788 mum 1.84 mm trkChamber eBrem - 3 -2.41 cm 929 mum 2.59 m 677 keV 295 keV 697 mum 2.53 mm trkChamber eIoni - 4 -2.37 cm 1.18 mm 2.59 m 367 keV 310 keV 544 mum 3.08 mm trkChamber eIoni - 5 -2.37 cm 1.48 mm 2.59 m 174 keV 192 keV 368 mum 3.45 mm trkChamber eIoni - 6 -2.37 cm 1.39 mm 2.59 m 0 eV 174 keV 172 mum 3.62 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 462, Parent ID = 36 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.48 cm 952 mum 2.59 m 16.9 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.45 cm 1.05 mm 2.59 m 16.9 keV 16.9 keV 345 mum 345 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 24 mum 2.58 m 2.21 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.58 cm -331 mum 2.58 m 1.79 MeV 424 keV 1.32 mm 1.32 mm trkChamber eIoni - 2 -2.63 cm 349 mum 2.58 m 1.4 MeV 388 keV 1.11 mm 2.43 mm trkChamber eIoni - 3 -2.69 cm 868 mum 2.58 m 1.08 MeV 318 keV 916 mum 3.35 mm trkChamber eIoni - 4 -2.74 cm 456 mum 2.58 m 786 keV 296 keV 754 mum 4.1 mm trkChamber eIoni - 5 -2.76 cm 814 mum 2.58 m 585 keV 200 keV 601 mum 4.7 mm trkChamber eIoni - 6 -2.8 cm 1.04 mm 2.58 m 419 keV 166 keV 495 mum 5.2 mm trkChamber eIoni - 7 -2.77 cm 1.31 mm 2.58 m 266 keV 154 keV 401 mum 5.6 mm trkChamber eIoni - 8 -2.76 cm 1.22 mm 2.58 m 59.7 keV 206 keV 290 mum 5.89 mm trkChamber eIoni - 9 -2.76 cm 1.21 mm 2.58 m 0 eV 59.7 keV 28.7 mum 5.92 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 21.6 mum 2.44 m 1.53 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.45 cm -250 mum 2.44 m 1.19 MeV 341 keV 979 mum 979 mumtrkChamber eIoni - 2 -2.42 cm 109 mum 2.44 m 921 keV 264 keV 807 mum 1.79 mm trkChamber eIoni - 3 -2.41 cm 204 mum 2.44 m 715 keV 206 keV 672 mum 2.46 mm trkChamber eIoni - 4 -2.42 cm 697 mum 2.44 m 501 keV 215 keV 564 mum 3.02 mm trkChamber eIoni - 5 -2.4 cm 692 mum 2.44 m 333 keV 168 keV 448 mum 3.47 mm trkChamber eIoni - 6 -2.4 cm 949 mum 2.44 m 95.9 keV 237 keV 344 mum 3.81 mm trkChamber eIoni - 7 -2.4 cm 943 mum 2.44 m 0 eV 95.9 keV 64.4 mum 3.88 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 19.1 mum 2.33 m 1.71 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm 16.7 mum 2.33 m 0 eV 1.71 keV 129 mum 129 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 16.7 mum 2.23 m 1.61 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -66.4 mum 2.23 m 0 eV 1.61 keV 118 mum 118 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 12.7 mum 2.06 m 3.51 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 267 mum 2.06 m 1.63 keV 1.88 keV 322 mum 322 mum Tracker eIoni - 2 -2.49 cm 303 mum 2.06 m 0 eV 1.63 keV 120 mum 443 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 12.7 mum 2.06 m 24.6 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.74 cm -1 mm 2.06 m 21.2 keV 3.37 keV 2.97 mm 2.97 mm Tracker eIoni - 2 -2.84 cm 904 mum 2.06 m 17.5 keV 3.7 keV 2.34 mm 5.31 mm Tracker eIoni - 3 -2.98 cm 1.56 mm 2.06 m 14.5 keV 3.05 keV 1.74 mm 7.06 mm Tracker eIoni - 4 -3.05 cm 2.39 mm 2.06 m 12.9 keV 1.58 keV 1.32 mm 8.38 mm Tracker eIoni - 5 -3.12 cm 2.41 mm 2.06 m 11.4 keV 1.56 keV 1.13 mm 9.51 mm Tracker eIoni - 6 -3.15 cm 2.2 mm 2.06 m 8.43 keV 1.27 keV 410 mum 9.92 mm Tracker eIoni - 7 -3.16 cm 2.22 mm 2.06 m 6.83 keV 580 eV 152 mum 1.01 cm Tracker eIoni - 8 -3.18 cm 2.23 mm 2.06 m 4.51 keV 2.33 keV 553 mum 1.06 cm Tracker eIoni - 9 -3.2 cm 2.19 mm 2.06 m 1.65 keV 2.86 keV 393 mum 1.1 cm Tracker eIoni - 10 -3.19 cm 2.15 mm 2.06 m 0 eV 1.65 keV 122 mum 1.11 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 464, Parent ID = 30 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.16 cm 2.22 mm 2.06 m 1.01 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.16 cm 2.26 mm 2.06 m 0 eV 1.01 keV 62.4 mum 62.4 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 463, Parent ID = 30 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.15 cm 2.2 mm 2.06 m 1.66 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -3.15 cm 2.12 mm 2.06 m 0 eV 1.66 keV 123 mum 123 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 9.98 mum 1.94 m 1.21 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 9.65 mum 1.94 m 0 eV 1.21 keV 79.4 mum 79.4 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 6.28 mum 1.79 m 1.29 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.44 cm 317 mum 1.79 m 979 keV 306 keV 857 mum 857 mumtrkChamber eIoni - 2 -2.37 cm 356 mum 1.79 m 769 keV 210 keV 701 mum 1.56 mm trkChamber eIoni - 3 -2.35 cm 855 mum 1.79 m 601 keV 168 keV 592 mum 2.15 mm trkChamber eIoni - 4 -2.31 cm 1.11 mm 1.79 m 407 keV 194 keV 503 mum 2.65 mm trkChamber eIoni - 5 -2.34 cm 877 mum 1.79 m 229 keV 177 keV 393 mum 3.05 mm trkChamber eIoni - 6 -2.33 cm 797 mum 1.79 m 92.9 keV 136 keV 252 mum 3.3 mm trkChamber eIoni - 7 -2.32 cm 810 mum 1.79 m 0 eV 92.9 keV 60.9 mum 3.36 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 6.23 mum 1.79 m 1.21 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.57 cm -91.1 mum 1.79 m 957 keV 255 keV 820 mum 820 mumtrkChamber eIoni - 2 -2.62 cm -260 mum 1.79 m 715 keV 242 keV 690 mum 1.51 mm trkChamber eIoni - 3 -2.65 cm -572 mum 1.79 m 536 keV 179 keV 564 mum 2.07 mm trkChamber eIoni - 4 -2.66 cm -946 mum 1.79 m 331 keV 205 keV 468 mum 2.54 mm trkChamber eIoni - 5 -2.65 cm -1.07 mm 1.79 m 182 keV 149 keV 343 mum 2.89 mm trkChamber eIoni - 6 -2.65 cm -1.15 mm 1.79 m 0 eV 182 keV 184 mum 3.07 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 5.47 mum 1.75 m 1.44 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.49 cm -471 mum 1.75 m 1.09 MeV 350 keV 934 mum 934 mumtrkChamber eIoni - 2 -2.53 cm -1.01 mm 1.75 m 677 keV 409 keV 756 mum 1.69 mm trkChamber eIoni - 3 -2.51 cm -1.41 mm 1.75 m 443 keV 234 keV 544 mum 2.23 mm trkChamber eIoni - 4 -2.48 cm -1.51 mm 1.75 m 292 keV 151 keV 415 mum 2.65 mm trkChamber eIoni - 5 -2.48 cm -1.29 mm 1.75 m 111 keV 180 keV 313 mum 2.96 mm trkChamber eIoni - 6 -2.48 cm -1.3 mm 1.75 m 0 eV 111 keV 82.3 mum 3.04 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 5.21 mum 1.74 m 9.78 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.63 cm -636 mum 1.74 m 8.67 MeV 1.09 MeV 3.14 mm 3.14 mm trkChamber eBrem - 2 -2.64 cm -229 mum 1.74 m 7 MeV 1.67 MeV 4.5 mm 7.64 mm trkChamber eIoni - 3 -2.79 cm -834 mum 1.75 m 5.61 MeV 1.39 MeV 3.68 mm 1.13 cm trkChamber eIoni - 4 -2.79 cm 103 mum 1.75 m 4.42 MeV 1.19 MeV 3 mm 1.43 cm trkChamber eIoni - 5 -2.81 cm 1.58 mm 1.75 m 3.6 MeV 827 keV 2.41 mm 1.67 cm trkChamber eIoni - 6 -2.91 cm 1.97 mm 1.75 m 2.9 MeV 700 keV 2.01 mm 1.87 cm trkChamber eIoni - 7 -2.91 cm 1.7 mm 1.75 m 1.99 MeV 912 keV 1.66 mm 2.04 cm trkChamber eIoni - 8 -2.91 cm 700 mum 1.75 m 1.5 MeV 487 keV 1.21 mm 2.16 cm trkChamber eIoni - 9 -2.92 cm 478 mum 1.75 m 1.35 MeV 86.2 keV 297 mum 2.19 cm trkChamber eBrem - 10 -2.94 cm -274 mum 1.75 m 1.03 MeV 320 keV 891 mum 2.28 cm trkChamber eIoni - 11 -2.96 cm -851 mum 1.76 m 802 keV 228 keV 728 mum 2.35 cm trkChamber eIoni - 12 -2.97 cm -1.38 mm 1.76 m 563 keV 239 keV 610 mum 2.41 cm trkChamber eIoni - 13 -2.99 cm -1.69 mm 1.76 m 386 keV 177 keV 483 mum 2.46 cm trkChamber eIoni - 14 -3 cm -1.71 mm 1.76 m 187 keV 199 keV 380 mum 2.5 cm trkChamber eIoni - 15 -3.01 cm -1.61 mm 1.76 m 0 eV 187 keV 193 mum 2.52 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 466, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.92 cm 478 mum 1.75 m 61 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.01 cm 6.42 mm 1.74 m 54.9 keV 6.15 keV 1.55 cm 1.55 cm trkChamber compt - 2 -2.05 cm 6.84 mm 1.74 m 54.9 keV 54.9 keV 624 mum 1.61 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 465, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.63 cm -636 mum 1.74 m 13.1 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.63 cm -677 mum 1.74 m 13.1 keV 13.1 keV 318 mum 318 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 5.1 mum 1.73 m 19.1 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.51 cm 94 mum 1.73 m 18.4 MeV 600 keV 1.61 mm 1.61 mm trkChamber eBrem - 2 -2.64 cm 431 mum 1.74 m 15.1 MeV 3.38 MeV 9.38 mm 1.1 cm trkChamber eIoni - 3 -2.52 cm 590 mum 1.75 m 13 MeV 1.91 MeV 4.41 mm 1.54 cm trkChamber eBrem - 4 -2.42 cm 580 mum 1.75 m 11.8 MeV 1.2 MeV 2.87 mm 1.83 cm trkChamber eBrem - 5 -2.34 cm 1.22 mm 1.75 m 9.31 MeV 1.04 MeV 3.12 mm 2.14 cm trkChamber eBrem - 6 -2.32 cm 3.79 mm 1.76 m 7.33 MeV 1.99 MeV 4.91 mm 2.63 cm trkChamber eIoni - 7 -2.37 cm 6.21 mm 1.76 m 6.29 MeV 1.01 MeV 2.82 mm 2.91 cm trkChamber eBrem - 8 -2.34 cm 8.87 mm 1.76 m 4.44 MeV 1.86 MeV 3.41 mm 3.25 cm trkChamber eIoni - 9 -2.16 cm 7.29 mm 1.76 m 3.56 MeV 878 keV 2.48 mm 3.5 cm trkChamber eIoni - 10 -2.01 cm 8.53 mm 1.76 m 2.92 MeV 636 keV 2.04 mm 3.7 cm trkChamber eIoni - 11 -1.93 cm 1 cm 1.76 m 2.36 MeV 561 keV 1.71 mm 3.88 cm trkChamber eIoni - 12 -1.81 cm 1.04 cm 1.76 m 1.6 MeV 759 keV 1.42 mm 4.02 cm trkChamber eIoni - 13 -1.78 cm 1.13 cm 1.76 m 1.2 MeV 406 keV 1.03 mm 4.12 cm trkChamber eIoni - 14 -1.78 cm 1.16 cm 1.76 m 0 eV 104 keV 319 mum 4.15 cm trkChamber annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 473, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.78 cm 1.16 cm 1.76 m 601 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 7.09 mm 5.58 cm 1.68 m 190 keV 411 keV 9.86 cm 9.86 cm trkChamber compt - 2 1.06 cm 5.14 cm 1.68 m 141 keV 48.6 keV 1.14 cm 11 cm trkChamber compt - 3 -451 mum 12.7 cm 1.73 m 95.9 keV 45.4 keV 8.85 cm 19.9 cm trkChamber compt - 4 -704 mum 12.7 cm 1.73 m 94.3 keV 1.56 keV 441 mum 19.9 cm trkChamber compt - 5 -4.62 mm 11.9 cm 1.73 m 76.8 keV 17.6 keV 9.32 mm 20.8 cm trkChamber compt - 6 -3.02 mm 11.8 cm 1.73 m 61.5 keV 15.3 keV 1.76 mm 21 cm trkChamber compt - 7 -5.22 mm 12.3 cm 1.72 m 60.2 keV 1.24 keV 7.86 mm 21.8 cm trkChamber compt - 8 -5.99 mm 12.3 cm 1.72 m 60.2 keV 60.2 keV 2.4 mm 22 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 472, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.78 cm 1.16 cm 1.76 m 1.52 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -1.99 cm 2.35 cm 1.77 m 1.03 MeV 488 keV 1.5 cm 1.5 cm trkChamber compt - 2 1.78 cm 8.55 cm 1.82 m 1.03 MeV 0 eV 9.2 cm 10.7 cm TrackerTransportation - 3 41.7 cm 74.4 cm 2.42 m 1.03 MeV 0 eV 97.6 cm 1.08 m trkChamberTransportation - 4 43.8 cm 77.7 cm 2.46 m 210 keV 817 keV 5.01 cm 1.13 m trkChamber compt - 5 42.9 cm 76.5 cm 2.45 m 151 keV 59.6 keV 1.65 cm 1.15 m trkChamber compt - 6 42.9 cm 76.4 cm 2.45 m 95.5 keV 55.3 keV 1.11 mm 1.15 m trkChamber compt - 7 41.9 cm 77.9 cm 2.43 m 72.6 keV 22.9 keV 3.13 cm 1.18 m trkChamber compt - 8 43.1 cm 78.6 cm 2.45 m 72.6 keV 72.6 keV 2.41 cm 1.21 m trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 471, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.37 cm 6.21 mm 1.76 m 22.2 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.37 cm 6.22 mm 1.76 m 22.2 keV 22.2 keV 9.79 mum 9.79 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 470, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.34 cm 1.22 mm 1.75 m 1.42 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.56 mm 3.06 cm 1.82 m 458 keV 0 eV 7.4 cm 7.4 cm trkChamber compt - 2 -2.89 cm 5.51 cm 1.82 m 365 keV 93.4 keV 3.68 cm 11.1 cm trkChamber compt - 3 -4.2 cm 6.91 cm 1.81 m 329 keV 35.6 keV 2.26 cm 13.3 cm trkChamber compt - 4 -5.05 cm 7.72 cm 1.81 m 228 keV 101 keV 1.18 cm 14.5 cm trkChamber compt - 5 -5.73 cm 7.73 cm 1.82 m 228 keV 0 eV 1.54 cm 16.1 cm TrackerTransportation - 6 -34.9 cm 8.12 cm 2.42 m 228 keV 0 eV 66.7 cm 82.8 cm trkChamberTransportation - 7 -35.4 cm 8.13 cm 2.44 m 210 keV 17.8 keV 1.17 cm 83.9 cm trkChamber compt - 8 -35.1 cm 9.96 cm 2.48 m 190 keV 20.4 keV 4.87 cm 88.8 cm trkChamber compt - 9 -34.8 cm 10.1 cm 2.48 m 117 keV 73.3 keV 4.07 mm 89.2 cm trkChamber compt - 10 -35.5 cm 6.49 cm 2.46 m 83.9 keV 32.8 keV 4.48 cm 93.7 cm trkChamber compt - 11 -33.9 cm 7.1 cm 2.47 m 64 keV 19.9 keV 2.34 cm 96 cm trkChamber compt - 12 -35.8 cm 6.46 cm 2.47 m 57.5 keV 6.49 keV 2.11 cm 98.1 cm trkChamber compt - 13 -36.1 cm 7.41 cm 2.46 m 56.1 keV 1.39 keV 1.2 cm 99.3 cm trkChamber compt - 14 -36.9 cm 8.03 cm 2.46 m 56.1 keV 56.1 keV 1.06 cm 1 m trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 470 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.56 mm 3.06 cm 1.82 m 960 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.31 mm 3.04 cm 1.82 m 749 keV 211 keV 691 mum 691 mumtrkChamber eIoni - 2 -1.95 mm 3.02 cm 1.82 m 441 keV 308 keV 582 mum 1.27 mm trkChamber eIoni - 3 -2.27 mm 3.01 cm 1.82 m 254 keV 187 keV 414 mum 1.69 mm trkChamber eIoni - 4 -2.18 mm 3 cm 1.82 m 50 keV 204 keV 279 mum 1.97 mm trkChamber eIoni - 5 -2.17 mm 3 cm 1.82 m 0 eV 50 keV 21.1 mum 1.99 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 469, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.42 cm 580 mum 1.75 m 16.9 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.39 cm 628 mum 1.75 m 16.9 keV 16.9 keV 832 mum 832 mumtrkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 468, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.52 cm 590 mum 1.75 m 151 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -1.33 cm 4.36 mm 1.79 m 120 keV 31.2 keV 5.1 cm 5.1 cm trkChamber compt - 2 -1.53 cm 3.39 mm 1.8 m 120 keV 120 keV 2.37 mm 5.34 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 467, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.51 cm 94 mum 1.73 m 83.1 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.43 cm 2.63 mm 1.75 m 74.9 keV 8.2 keV 2.29 cm 2.29 cm trkChamber compt - 2 -5.43 cm -1.67 cm 1.77 m 74.9 keV 74.9 keV 3.91 cm 6.21 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 5.1 mum 1.73 m 6.11 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.41 cm -23.2 mum 1.73 m 4.73 MeV 1.38 MeV 3.24 mm 3.24 mm trkChamber eIoni - 2 -2.5 cm 526 mum 1.74 m 3.78 MeV 947 keV 2.56 mm 5.81 mm trkChamber eIoni - 3 -2.47 cm 401 mum 1.74 m 3.01 MeV 772 keV 2.1 mm 7.91 mm trkChamber eIoni - 4 -2.37 cm 1.5 mm 1.74 m 2.36 MeV 647 keV 1.72 mm 9.62 mm trkChamber eIoni - 5 -2.3 cm 2.5 mm 1.74 m 1.57 MeV 790 keV 1.4 mm 1.1 cm trkChamber eIoni - 6 -2.37 cm 2.93 mm 1.74 m 1.22 MeV 354 keV 1 mm 1.2 cm trkChamber eIoni - 7 -2.36 cm 2.49 mm 1.74 m 939 keV 280 keV 824 mum 1.28 cm trkChamber eIoni - 8 -2.41 cm 2.31 mm 1.74 m 733 keV 207 keV 681 mum 1.35 cm trkChamber eIoni - 9 -2.45 cm 2.53 mm 1.74 m 458 keV 275 keV 573 mum 1.41 cm trkChamber eIoni - 10 -2.49 cm 2.44 mm 1.74 m 212 keV 245 keV 424 mum 1.45 cm trkChamber eIoni - 11 -2.48 cm 2.44 mm 1.74 m 0 eV 212 keV 231 mum 1.48 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 3.37 mum 1.64 m 2.43 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.5 cm 27.2 mum 1.64 m 2.4 MeV 17.2 keV 59.3 mum 59.3 mumtrkChamber eBrem - 2 -2.5 cm 612 mum 1.64 m 1.91 MeV 492 keV 1.41 mm 1.47 mm trkChamber eIoni - 3 -2.53 cm 506 mum 1.64 m 1.5 MeV 409 keV 1.17 mm 2.64 mm trkChamber eIoni - 4 -2.55 cm 504 mum 1.64 m 1.17 MeV 333 keV 967 mum 3.61 mm trkChamber eIoni - 5 -2.51 cm 487 mum 1.64 m 781 keV 388 keV 798 mum 4.41 mm trkChamber eIoni - 6 -2.51 cm 804 mum 1.64 m 574 keV 207 keV 599 mum 5.01 mm trkChamber eIoni - 7 -2.46 cm 891 mum 1.64 m 402 keV 173 keV 489 mum 5.5 mm trkChamber eIoni - 8 -2.43 cm 940 mum 1.64 m 217 keV 184 keV 390 mum 5.89 mm trkChamber eIoni - 9 -2.45 cm 974 mum 1.64 m 0 eV 217 keV 237 mum 6.12 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 475, Parent ID = 22 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 27.2 mum 1.64 m 15.6 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.56 cm 632 mum 1.64 m 15.6 keV 15.6 keV 1.32 mm 1.32 mm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 2.22 mum 1.54 m 5.48 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.46 cm 120 mum 1.54 m 3.39 keV 2.09 keV 458 mum 458 mum Tracker eIoni - 2 -2.45 cm -88.2 mum 1.54 m 273 eV 3.12 keV 312 mum 771 mum Tracker eIoni - 3 -2.45 cm -91.5 mum 1.54 m 0 eV 273 eV 17 mum 788 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 1.14 mum 1.44 m 2.48 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 82.5 mum 1.44 m 0 eV 2.48 keV 226 mum 226 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm 847 nm 1.42 m 1.44 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 70.1 mum 1.42 m 0 eV 1.44 keV 100 mum 100 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -578 nm 1.29 m 11.9 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.58 cm 519 mum 1.29 m 10.2 keV 1.71 keV 1.01 mm 1.01 mm Tracker eIoni - 2 -2.61 cm 1.07 mm 1.29 m 8.45 keV 1.71 keV 836 mum 1.85 mm Tracker eIoni - 3 -2.54 cm 937 mum 1.29 m 6.08 keV 2.38 keV 681 mum 2.53 mm Tracker eIoni - 4 -2.5 cm 1.08 mm 1.29 m 4.07 keV 2 keV 500 mum 3.03 mm Tracker eIoni - 5 -2.48 cm 1.24 mm 1.29 m 1.89 keV 2.18 keV 363 mum 3.39 mm Tracker eIoni - 6 -2.47 cm 1.32 mm 1.29 m 0 eV 1.89 keV 150 mum 3.54 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.67 mum 1.2 m 2.13 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -96.7 mum 1.2 m 0 eV 2.13 keV 179 mum 179 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -3.15 mum 1.08 m 1.67 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -24.4 mum 1.08 m 0 eV 1.67 keV 124 mum 124 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -3.55 mum 95.2 cm 4.44 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.48 cm 1.25 mm 95.4 cm 3.59 MeV 848 keV 2.42 mm 2.42 mm trkChamber eIoni - 2 -2.46 cm 942 mum 95.5 cm 2.65 MeV 462 keV 1.15 mm 3.57 mm trkChamber eBrem - 3 -2.41 cm -469 mum 95.5 cm 2.02 MeV 629 keV 1.54 mm 5.11 mm trkChamber eIoni - 4 -2.41 cm -1.55 mm 95.4 cm 1.66 MeV 367 keV 1.23 mm 6.34 mm trkChamber eIoni - 5 -2.45 cm -2.15 mm 95.4 cm 1.17 MeV 378 keV 1 mm 7.34 mm trkChamber eBrem - 6 -2.46 cm -2.69 mm 95.3 cm 930 keV 243 keV 800 mum 8.14 mm trkChamber eIoni - 7 -2.48 cm -3.15 mm 95.3 cm 624 keV 305 keV 676 mum 8.81 mm trkChamber eIoni - 8 -2.48 cm -3.56 mm 95.2 cm 437 keV 188 keV 516 mum 9.33 mm trkChamber eIoni - 9 -2.48 cm -3.3 mm 95.2 cm 287 keV 150 keV 411 mum 9.74 mm trkChamber eIoni - 10 -2.48 cm -3.36 mm 95.2 cm 0 eV 287 keV 309 mum 1 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 477, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.45 cm -2.15 mm 95.4 cm 104 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -3.14 cm -1.67 cm 95 cm 104 keV 104 keV 1.66 cm 1.66 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 476, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.46 cm 942 mum 95.5 cm 481 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.5 cm -1.04 cm 95.5 cm 284 keV 198 keV 1.14 cm 1.14 cm trkChamber compt - 2 -2.85 cm -1.18 cm 95.9 cm 175 keV 109 keV 5.67 mm 1.7 cm trkChamber compt - 3 -8.94 cm -5.56 cm 87.6 cm 107 keV 68.5 keV 11.1 cm 12.8 cm trkChamber compt - 4 -6.37 cm -5.61 cm 89.6 cm 79.4 keV 27.2 keV 3.21 cm 16.1 cm trkChamber compt - 5 -7.67 cm -3.05 cm 87.7 cm 64.7 keV 14.7 keV 3.4 cm 19.5 cm trkChamber compt - 6 -8.78 cm -4.42 cm 88.2 cm 55.6 keV 9.12 keV 1.81 cm 21.3 cm trkChamber compt - 7 -10.7 cm -2.05 cm 86.7 cm 55.6 keV 55.6 keV 3.36 cm 24.6 cm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -2.73 mum 85.8 cm 6.23 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.47 cm -386 mum 86.1 cm 5.12 MeV 1.12 MeV 3.3 mm 3.3 mm trkChamber eIoni - 2 -2.31 cm 37.1 mum 86.4 cm 4.18 MeV 935 keV 2.76 mm 6.06 mm trkChamber eIoni - 3 -2.19 cm -1.27 mm 86.5 cm 3.36 MeV 824 keV 2.3 mm 8.36 mm trkChamber eIoni - 4 -2.12 cm -644 mum 86.7 cm 2.51 MeV 852 keV 1.89 mm 1.02 cm trkChamber eIoni - 5 -1.99 cm -58.1 mum 86.7 cm 1.97 MeV 536 keV 1.47 mm 1.17 cm trkChamber eIoni - 6 -1.97 cm 778 mum 86.8 cm 1.6 MeV 374 keV 1.2 mm 1.29 cm trkChamber eIoni - 7 -1.87 cm 834 mum 86.8 cm 1.23 MeV 369 keV 1.02 mm 1.39 cm trkChamber eIoni - 8 -1.83 cm 1.08 mm 86.8 cm 859 keV 370 keV 829 mum 1.48 cm trkChamber eIoni - 9 -1.81 cm 1.21 mm 86.8 cm 771 keV 73.9 keV 245 mum 1.5 cm trkChamber eBrem - 10 -1.83 cm 1.69 mm 86.8 cm 391 keV 380 keV 593 mum 1.56 cm trkChamber eIoni - 11 -1.82 cm 1.38 mm 86.8 cm 228 keV 163 keV 383 mum 1.6 cm trkChamber eIoni - 12 -1.83 cm 1.28 mm 86.8 cm 4.53 keV 224 keV 251 mum 1.62 cm trkChamber eIoni - 13 -1.83 cm 1.28 mm 86.8 cm 0 eV 4.53 keV 354 nm 1.62 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 478, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.81 cm 1.21 mm 86.8 cm 14.5 keV 0 eV 0 fm 0 fm trkChamber initStep - 1 -1.75 cm 3.12 mm 86.9 cm 14.5 keV 14.5 keV 2.27 mm 2.27 mm trkChamber phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -2.52 mum 83.3 cm 5.56 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.52 cm -866 mum 83.6 cm 4.53 MeV 1.03 MeV 2.98 mm 2.98 mm trkChamber eIoni - 2 -2.51 cm -258 mum 83.8 cm 3.69 MeV 842 keV 2.47 mm 5.44 mm trkChamber eIoni - 3 -2.57 cm -1.04 mm 84 cm 2.84 MeV 849 keV 2.05 mm 7.5 mm trkChamber eIoni - 4 -2.54 cm -975 mum 84.1 cm 1.37 MeV 413 keV 746 mum 8.24 mm trkChamber eIoni - 5 -2.53 cm -1.39 mm 84 cm 1.11 MeV 264 keV 901 mum 9.14 mm trkChamber eIoni - 6 -2.51 cm -1.47 mm 83.9 cm 879 keV 229 keV 767 mum 9.91 mm trkChamber eIoni - 7 -2.46 cm -1.54 mm 83.9 cm 676 keV 203 keV 650 mum 1.06 cm trkChamber eIoni - 8 -2.41 cm -1.44 mm 83.9 cm 460 keV 216 keV 544 mum 1.11 cm trkChamber eIoni - 9 -2.44 cm -1.41 mm 83.9 cm 298 keV 162 keV 425 mum 1.15 cm trkChamber eIoni - 10 -2.41 cm -1.42 mm 83.9 cm 151 keV 147 keV 318 mum 1.18 cm trkChamber eIoni - 11 -2.41 cm -1.47 mm 83.9 cm 0 eV 151 keV 136 mum 1.2 cm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 479, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.54 cm -975 mum 84.1 cm 1.06 MeV 0 eV 0 fm 0 fm trkChamber initStep - 1 -2.48 cm -1.02 mm 84 cm 800 keV 258 keV 742 mum 742 mumtrkChamber eIoni - 2 -2.5 cm -738 mum 84 cm 584 keV 216 keV 609 mum 1.35 mm trkChamber eIoni - 3 -2.51 cm -313 mum 84 cm 363 keV 221 keV 494 mum 1.84 mm trkChamber eIoni - 4 -2.51 cm -369 mum 84 cm 199 keV 163 keV 365 mum 2.21 mm trkChamber eIoni - 5 -2.51 cm -404 mum 84 cm 53.2 keV 146 keV 212 mum 2.42 mm trkChamber eIoni - 6 -2.51 cm -417 mum 84 cm 0 eV 53.2 keV 23.5 mum 2.45 mm trkChamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -2.08 mum 69.1 cm 1.02 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -45.9 mum 69.1 cm 0 eV 1.02 keV 62.7 mum 62.7 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.75 mum 58.5 cm 8.36 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.53 cm -564 mum 58.5 cm 6.28 keV 2.08 keV 672 mum 672 mum Tracker eIoni - 2 -2.56 cm -844 mum 58.5 cm 3.52 keV 1.55 keV 481 mum 1.15 mm Tracker eIoni - 3 -2.58 cm -989 mum 58.5 cm 752 eV 2.77 keV 323 mum 1.48 mm Tracker eIoni - 4 -2.58 cm -1 mm 58.5 cm 0 eV 752 eV 43.1 mum 1.52 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 480, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.56 cm -844 mum 58.5 cm 1.21 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.56 cm -897 mum 58.5 cm 0 eV 1.21 keV 78.6 mum 78.6 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.7 mum 57 cm 1.53 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 33.5 mum 57 cm 0 eV 1.53 keV 109 mum 109 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.69 mum 56.7 cm 991 eV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 30.7 mum 56.7 cm 0 eV 991 eV 60.6 mum 60.6 mum Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.33 mum 45.9 cm 5.84 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.55 cm -59 mum 45.9 cm 3.05 keV 2.79 keV 482 mum 482 mum Tracker eIoni - 2 -2.56 cm -120 mum 45.9 cm 0 eV 3.05 keV 284 mum 766 mum Tracker eIoni + 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm WorldPV initStep + 1 -3.88 Ang -8.52 Ang -2.9 m 1e+03 GeV 3.03 keV 1.28 cm 1.28 cm WorldPV MuIoni + 2 -27.8 nm 39.9 nm -2.45 m 1e+03 GeV 105 keV 44.7 cm 46 cm TargetPVTransportation + 3 -94.3 nm -850 nm -2.42 m 1e+03 GeV 56.6 MeV 3.14 cm 49.1 cm TargetPV MuIoni + 4 111 nm -877 nm -2.41 m 998 GeV 5.55 MeV 4.08 mm 49.5 cm TargetPVMuPairProd + 5 202 nm -895 nm -2.41 m 998 GeV 2.43 MeV 1.89 mm 49.7 cm TargetPV MuIoni + 6 787 nm -1.05 mum -2.4 m 998 GeV 17.5 MeV 1.26 cm 51 cm TrackerTransportation + 7 60 mum -8.13 mum -1.6 m 998 GeV 193 keV 80 cm 1.31 m ChamberTransportation + 8 74.9 mum -9.75 mum -1.4 m 998 GeV 154 keV 20 cm 1.51 m TrackerTransportation + 9 118 mum -15.1 mum -80 cm 998 GeV 138 keV 60 cm 2.11 m ChamberTransportation + 10 132 mum -16.8 mum -60 cm 998 GeV 201 keV 20 cm 2.31 m TrackerTransportation + 11 176 mum -21.8 mum 0.114 fm 998 GeV 145 keV 60 cm 2.91 m ChamberTransportation + 12 190 mum -23.6 mum 20 cm 998 GeV 201 keV 20 cm 3.11 m TrackerTransportation + 13 233 mum -29.2 mum 80 cm 998 GeV 145 keV 60 cm 3.71 m ChamberTransportation + 14 247 mum -31.1 mum 1 m 998 GeV 159 keV 20 cm 3.91 m TrackerTransportation + 15 289 mum -37.4 mum 1.6 m 998 GeV 139 keV 60 cm 4.51 m ChamberTransportation + 16 303 mum -39.5 mum 1.8 m 998 GeV 144 keV 20 cm 4.71 m TrackerTransportation + 17 326 mum -42.8 mum 2.12 m 998 GeV 88.1 keV 32 cm 5.03 m Tracker MuIoni + 18 345 mum -45.6 mum 2.4 m 998 GeV 58.2 keV 28 cm 5.31 m WorldPVTransportation + 19 381 mum -50.7 mum 2.91 m 998 GeV 133 keV 51 cm 5.82 m OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.31 mum 45.4 cm 1.55 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.51 cm -7.32 mum 45.4 cm 0 eV 1.55 keV 112 mum 112 mum Tracker eIoni + 0 326 mum -42.8 mum 2.12 m 16.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.25 mm -1.16 mm 2.12 m 4.55 keV 11.9 keV 1.42 mm 1.42 mm Tracker eIoni + 2 979 mum -1.39 mm 2.12 m 2.99 keV 1.57 keV 389 mum 1.81 mm Tracker eIoni + 3 901 mum -1.55 mm 2.12 m 0 eV 2.99 keV 276 mum 2.09 mm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -1.29 mum 44.7 cm 1.75 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -95.6 mum 44.7 cm 0 eV 1.75 keV 133 mum 133 mum Tracker eIoni + 0 202 nm -895 nm -2.41 m 15.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 811 mum -249 mum -2.41 m 12.3 MeV 3.52 MeV 2.51 mm 2.51 mm TargetPV eIoni + 2 750 mum -209 mum -2.41 m 11.2 MeV 99 keV 77.5 mum 2.59 mm TargetPV eBrem + 3 629 mum -117 mum -2.41 m 10 MeV 246 keV 216 mum 2.8 mm TargetPV eBrem + 4 -622 mum 514 mum -2.41 m 1.39 MeV 8.11 MeV 1.69 mm 4.49 mm TargetPV eBrem + 5 -640 mum 541 mum -2.41 m 1.01 MeV 383 keV 492 mum 4.98 mm TargetPV eIoni + 6 -772 mum 610 mum -2.41 m 622 keV 384 keV 415 mum 5.4 mm TargetPV eIoni + 7 -727 mum 670 mum -2.41 m 279 keV 344 keV 316 mum 5.71 mm TargetPV eIoni + 8 -735 mum 676 mum -2.41 m 0 eV 279 keV 131 mum 5.84 mm TargetPV eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -978 nm 35.1 cm 2.12 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm 123 mum 35.1 cm 0 eV 2.12 keV 178 mum 178 mum Tracker eIoni + 0 -622 mum 514 mum -2.41 m 548 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.95 mm -1.01 mm -2.41 m 0 eV 548 keV 3.57 mm 3.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 629 mum -117 mum -2.41 m 880 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.68 mm 5.6 mm -2.42 m 388 keV 0 eV 8.97 mm 8.97 mm TargetPV compt + 2 -5.2 mm 6.32 mm -2.41 m 0 eV 388 keV 1.26 mm 1.02 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.68 mm 5.6 mm -2.42 m 492 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.72 mm 5.63 mm -2.42 m 183 keV 309 keV 265 mum 265 mum TargetPV eIoni + 2 -4.71 mm 5.63 mm -2.42 m 0 eV 183 keV 70.2 mum 336 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 750 mum -209 mum -2.41 m 1.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.58 cm 9.42 mm -2.43 m 566 keV 474 keV 2.46 cm 2.46 cm TargetPV compt + 2 -1.54 cm 2.13 cm -2.43 m 0 eV 566 keV 1.29 cm 3.75 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 111 nm -877 nm -2.41 m 272 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.08 mum 4.59 mum -2.41 m 271 MeV 709 keV 556 mum 556 mum TargetPV eBrem + 2 -6.06 mum 2.52 mum -2.41 m 269 MeV 1.34 MeV 670 mum 1.23 mm TargetPV eBrem + 3 4.02 mum 1.98 mum -2.41 m 267 MeV 642 keV 438 mum 1.66 mm TargetPV eBrem + 4 29.5 mum 7.96 mum -2.41 m 252 MeV 1.57 MeV 853 mum 2.52 mm TargetPV eBrem + 5 32.7 mum 21.1 mum -2.41 m 250 MeV 569 keV 525 mum 3.04 mm TargetPV eBrem + 6 33.9 mum 24.4 mum -2.41 m 50.3 MeV 190 keV 167 mum 3.21 mm TargetPV eBrem + 7 29.6 mum 29.9 mum -2.41 m 49.4 MeV 230 keV 202 mum 3.41 mm TargetPV eBrem + 8 30.2 mum 29.9 mum -2.41 m 27.7 MeV 13.7 keV 18.7 mum 3.43 mm TargetPV eBrem + 9 113 mum -143 mum -2.41 m 20.8 MeV 1.15 MeV 1.07 mm 4.5 mm TargetPV eBrem + 10 308 mum -165 mum -2.41 m 17.3 MeV 1.23 MeV 1.01 mm 5.51 mm TargetPV eBrem + 11 -167 mum 1.72 mm -2.41 m 12.9 MeV 2.58 MeV 2.23 mm 7.73 mm TargetPV eBrem + 12 -182 mum 1.74 mm -2.41 m 9.03 MeV 39.9 keV 30.6 mum 7.76 mm TargetPV eBrem + 13 -1.37 mm 2.7 mm -2.41 m 6.94 MeV 2.08 MeV 1.66 mm 9.42 mm TargetPV eIoni + 14 -1.49 mm 3.2 mm -2.41 m 5.59 MeV 1.36 MeV 1.37 mm 1.08 cm TargetPV eIoni + 15 -1.11 mm 3.05 mm -2.41 m 4.53 MeV 627 keV 603 mum 1.14 cm TargetPV eBrem + 16 -609 mum 2.83 mm -2.41 m 2.78 MeV 897 keV 674 mum 1.21 cm TargetPV eBrem + 17 -585 mum 3.22 mm -2.41 m 1.79 MeV 993 keV 743 mum 1.28 cm TargetPV eIoni + 18 -333 mum 3.1 mm -2.41 m 1.2 MeV 593 keV 573 mum 1.34 cm TargetPV eIoni + 19 -530 mum 3.16 mm -2.41 m 777 keV 420 keV 461 mum 1.38 cm TargetPV eIoni + 20 -459 mum 3.23 mm -2.41 m 197 keV 580 keV 365 mum 1.42 cm TargetPV eIoni + 21 -469 mum 3.23 mm -2.41 m 0 eV 197 keV 76.4 mum 1.43 cm TargetPV eIoni + 22 -469 mum 3.23 mm -2.41 m 0 eV 0 eV 0 fm 1.43 cm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -469 mum 3.23 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.13 mm 2.66 mm -2.41 m 185 keV 326 keV 3.65 mm 3.65 mm TargetPV compt + 2 2.82 mm 2.55 mm -2.41 m 0 eV 185 keV 378 mum 4.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -469 mum 3.23 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -8.24 mm 4.46 mm -2.41 m 441 keV 70.2 keV 7.86 mm 7.86 mm TargetPV compt + 2 -1.29 cm 5.51 mm -2.41 m 284 keV 157 keV 5.67 mm 1.35 cm TargetPV compt + 3 -1.29 cm 5.6 mm -2.41 m 0 eV 284 keV 131 mum 1.37 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -609 mum 2.83 mm -2.41 m 850 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.01 cm 7.08 mm -2.4 m 585 keV 264 keV 1.33 cm 1.33 cm TargetPV compt + 2 -1.03 cm 7.02 mm -2.4 m 0 eV 585 keV 208 mum 1.35 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.11 mm 3.05 mm -2.41 m 430 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 7.74 mm -161 mum -2.41 m 0 eV 430 keV 9.56 mm 9.56 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -182 mum 1.74 mm -2.41 m 3.81 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -502 mum 2.16 mm -2.41 m 459 keV 0 eV 653 mum 653 mum TargetPV compt + 2 4.48 mm 5.09 mm -2.41 m 0 eV 459 keV 5.9 mm 6.55 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -502 mum 2.16 mm -2.41 m 3.35 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.06 mm 2.23 mm -2.41 m 2.53 MeV 816 keV 817 mum 817 mum TargetPV eIoni + 2 -1.11 mm 1.85 mm -2.41 m 1.56 MeV 969 keV 689 mum 1.51 mm TargetPV eIoni + 3 -951 mum 1.78 mm -2.41 m 1.04 MeV 529 keV 524 mum 2.03 mm TargetPV eIoni + 4 -829 mum 1.71 mm -2.41 m 588 keV 448 keV 421 mum 2.45 mm TargetPV eIoni + 5 -865 mum 1.7 mm -2.41 m 132 keV 456 keV 304 mum 2.75 mm TargetPV eIoni + 6 -862 mum 1.7 mm -2.41 m 0 eV 132 keV 42.5 mum 2.8 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -167 mum 1.72 mm -2.41 m 1.83 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.28 mm 9.44 mm -2.4 m 1.83 MeV 0 eV 1.28 cm 1.28 cm TrackerTransportation + 2 -1.9 m 2.4 m 12.5 cm 1.83 MeV 0 eV 3.96 m 3.97 m WorldPVTransportation + 3 -2.3 m 2.91 m 66.3 cm 1.83 MeV 0 eV 84.5 cm 4.82 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 308 mum -165 mum -2.41 m 2.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.38 mm 8.05 mm -2.4 m 2.28 MeV 0 eV 1.28 cm 1.28 cm TrackerTransportation + 2 -1.08 m 2.4 m 24.5 cm 2.28 MeV 0 eV 3.72 m 3.74 m WorldPVTransportation + 3 -1.31 m 2.91 m 80.9 cm 2.28 MeV 0 eV 79.4 cm 4.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 113 mum -143 mum -2.41 m 5.76 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.16 mm -953 mum -2.41 m 587 keV 5.17 MeV 3.94 mm 3.94 mm TargetPV compt + 2 87.3 mum -2.39 mm -2.41 m 408 keV 179 keV 1.84 mm 5.78 mm TargetPV compt + 3 446 mum -5.59 mm -2.4 m 311 keV 97.2 keV 5.2 mm 1.1 cm TargetPV compt + 4 777 mum -5.11 mm -2.4 m 311 keV 0 eV 1.95 mm 1.29 cm TrackerTransportation + 5 14.3 cm 20.2 cm -1.6 m 311 keV 0 eV 83.8 cm 85.1 cm ChamberTransportation + 6 17 cm 24 cm -1.45 m 311 keV 0 eV 15.6 cm 1.01 m TrackerTransportation + 7 28.6 cm 40.8 cm -80 cm 311 keV 0 eV 68.3 cm 1.69 m ChamberTransportation + 8 32.1 cm 46 cm -60 cm 311 keV 0 eV 21 cm 1.9 m TrackerTransportation + 9 42.8 cm 61.5 cm 0 fm 311 keV 0 eV 62.9 cm 2.53 m ChamberTransportation + 10 46.4 cm 66.7 cm 20 cm 311 keV 0 eV 21 cm 2.74 m TrackerTransportation + 11 57 cm 82.2 cm 80 cm 311 keV 0 eV 62.9 cm 3.37 m ChamberTransportation + 12 60.6 cm 87.3 cm 1 m 311 keV 0 eV 21 cm 3.58 m TrackerTransportation + 13 71.3 cm 1.03 m 1.6 m 311 keV 0 eV 62.9 cm 4.21 m ChamberTransportation + 14 74.8 cm 1.08 m 1.8 m 311 keV 0 eV 21 cm 4.41 m TrackerTransportation + 15 85.5 cm 1.24 m 2.4 m 311 keV 0 eV 62.9 cm 5.04 m WorldPVTransportation + 16 94.6 cm 1.37 m 2.91 m 311 keV 0 eV 53.5 cm 5.58 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30.2 mum 29.9 mum -2.41 m 21.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 433 mum -413 nm -2.4 m 0 eV 0 eV 8.7 mm 8.7 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 30, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 433 mum -413 nm -2.4 m 14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 77.5 mum -440 mum -2.4 m 10.5 MeV 3.48 MeV 2.33 mm 2.33 mm TargetPV eIoni + 2 673 mum -407 mum -2.4 m 9.62 MeV 892 keV 821 mum 3.15 mm TrackerTransportation + 3 20.8 cm -16.9 cm -2.13 m 9.53 MeV 72.9 keV 38.1 cm 38.5 cm Tracker eIoni + 4 52.5 cm -42.2 cm -1.63 m 9.4 MeV 124 keV 64 cm 1.02 m Tracker eIoni + 5 92.4 cm -69 cm -1.06 m 9.25 MeV 134 keV 74.7 cm 1.77 m Tracker eIoni + 6 1.07 m -76.1 cm -86.5 cm 9.19 MeV 43.2 keV 25.6 cm 2.03 m Tracker eIoni + 7 1.12 m -78.4 cm -79.9 cm 8.32 MeV 23.5 keV 8.44 cm 2.11 m Tracker eIoni + 8 1.27 m -88.7 cm -56.3 cm 8.25 MeV 55.4 keV 30 cm 2.41 m Tracker eIoni + 9 1.33 m -93.4 cm -46 cm 8.21 MeV 18.7 keV 12.8 cm 2.54 m Tracker eIoni + 10 1.4 m -99.4 cm -35 cm 6.39 MeV 27.9 keV 14.1 cm 2.68 m Tracker eIoni + 11 1.41 m -1.02 m -30.4 cm 6.37 MeV 8.08 keV 5.29 cm 2.73 m Tracker eIoni + 12 1.61 m -1.38 m 44.2 cm 6.18 MeV 150 keV 85.6 cm 3.59 m Tracker eIoni + 13 1.62 m -1.39 m 47.6 cm 6.17 MeV 6.52 keV 4.02 cm 3.63 m Tracker eIoni + 14 2.2 m -2.08 m 1.93 m 5.86 MeV 299 keV 1.72 m 5.35 m Tracker eIoni + 15 2.26 m -2.18 m 2.08 m 5.76 MeV 41.9 keV 19.3 cm 5.54 m Tracker eIoni + 16 2.37 m -2.35 m 2.4 m 5.7 MeV 60.2 keV 37.9 cm 5.92 m WorldPVTransportation + 17 2.42 m -2.46 m 2.57 m 5.63 MeV 43.7 keV 21.1 cm 6.13 m WorldPV eIoni + 18 2.51 m -2.59 m 2.8 m 5.56 MeV 54.1 keV 27.8 cm 6.41 m WorldPV eIoni + 19 2.54 m -2.63 m 2.89 m 5.46 MeV 23.6 keV 10.4 cm 6.51 m WorldPV eIoni + 20 2.55 m -2.64 m 2.91 m 5.46 MeV 3.95 keV 2.45 cm 6.54 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.54 m -2.63 m 2.89 m 78.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.55 m -2.65 m 2.88 m 63.6 keV 14.6 keV 1.83 cm 1.83 cm WorldPV eIoni + 2 2.55 m -2.66 m 2.87 m 59.1 keV 4.51 keV 1.28 cm 3.11 cm WorldPV eIoni + 3 2.55 m -2.66 m 2.86 m 48.5 keV 10.5 keV 1.13 cm 4.23 cm WorldPV eIoni + 4 2.56 m -2.66 m 2.86 m 36.2 keV 12.3 keV 8.01 mm 5.03 cm WorldPV eIoni + 5 2.56 m -2.67 m 2.86 m 31.7 keV 4.49 keV 4.83 mm 5.52 cm WorldPV eIoni + 6 2.56 m -2.67 m 2.86 m 28.9 keV 2.78 keV 3.89 mm 5.91 cm WorldPV eIoni + 7 2.56 m -2.67 m 2.86 m 24.7 keV 4.21 keV 3.34 mm 6.24 cm WorldPV eIoni + 8 2.56 m -2.67 m 2.86 m 20.7 keV 3.97 keV 2.59 mm 6.5 cm WorldPV eIoni + 9 2.56 m -2.67 m 2.86 m 18 keV 2.77 keV 1.97 mm 6.7 cm WorldPV eIoni + 10 2.56 m -2.67 m 2.86 m 15.1 keV 2.88 keV 1.6 mm 6.86 cm WorldPV eIoni + 11 2.56 m -2.67 m 2.86 m 13.7 keV 1.41 keV 1.26 mm 6.98 cm WorldPV eIoni + 12 2.56 m -2.67 m 2.86 m 11.6 keV 2.07 keV 1.11 mm 7.09 cm WorldPV eIoni + 13 2.56 m -2.67 m 2.86 m 10.4 keV 1.17 keV 908 mum 7.18 cm WorldPV eIoni + 14 2.56 m -2.67 m 2.86 m 8.55 keV 1.88 keV 806 mum 7.27 cm WorldPV eIoni + 15 2.56 m -2.67 m 2.86 m 6.19 keV 2.36 keV 655 mum 7.33 cm WorldPV eIoni + 16 2.56 m -2.67 m 2.86 m 5.29 keV 901 eV 492 mum 7.38 cm WorldPV eIoni + 17 2.56 m -2.67 m 2.86 m 3.57 keV 1.72 keV 435 mum 7.42 cm WorldPV eIoni + 18 2.56 m -2.67 m 2.86 m 816 eV 2.76 keV 323 mum 7.46 cm WorldPV eIoni + 19 2.56 m -2.67 m 2.86 m 0 eV 816 eV 47.6 mum 7.46 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.51 m -2.59 m 2.8 m 15 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.52 m -2.59 m 2.8 m 14 keV 1 keV 1.25 mm 1.25 mm WorldPV eIoni + 2 2.52 m -2.59 m 2.8 m 12.9 keV 1.1 keV 1.14 mm 2.39 mm WorldPV eIoni + 3 2.52 m -2.59 m 2.8 m 10.1 keV 2.79 keV 1.03 mm 3.42 mm WorldPV eIoni + 4 2.52 m -2.59 m 2.8 m 8.22 keV 1.88 keV 776 mum 4.2 mm WorldPV eIoni + 5 2.52 m -2.59 m 2.8 m 7.49 keV 732 eV 630 mum 4.83 mm WorldPV eIoni + 6 2.52 m -2.59 m 2.8 m 5.62 keV 1.87 keV 579 mum 5.41 mm WorldPV eIoni + 7 2.52 m -2.59 m 2.8 m 4.81 keV 811 eV 455 mum 5.87 mm WorldPV eIoni + 8 2.52 m -2.59 m 2.8 m 1.95 keV 2.87 keV 404 mum 6.27 mm WorldPV eIoni + 9 2.52 m -2.59 m 2.8 m 0 eV 1.95 keV 156 mum 6.43 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.42 m -2.46 m 2.57 m 22.9 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.42 m -2.46 m 2.57 m 20.2 keV 2.75 keV 2.31 mm 2.31 mm WorldPV eIoni + 2 2.42 m -2.46 m 2.57 m 18.9 keV 1.24 keV 1.9 mm 4.21 mm WorldPV eIoni + 3 2.42 m -2.46 m 2.57 m 17.3 keV 1.63 keV 1.74 mm 5.95 mm WorldPV eIoni + 4 2.42 m -2.46 m 2.57 m 8.64 keV 8.68 keV 1.52 mm 7.47 mm WorldPV eIoni + 5 2.42 m -2.46 m 2.57 m 7.57 keV 1.08 keV 662 mum 8.13 mm WorldPV eIoni + 6 2.42 m -2.46 m 2.57 m 6.29 keV 1.28 keV 584 mum 8.71 mm WorldPV eIoni + 7 2.42 m -2.46 m 2.57 m 4.34 keV 1.95 keV 498 mum 9.21 mm WorldPV eIoni + 8 2.42 m -2.46 m 2.57 m 2.34 keV 2 keV 375 mum 9.59 mm WorldPV eIoni + 9 2.42 m -2.46 m 2.57 m 0 eV 2.34 keV 207 mum 9.79 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.26 m -2.18 m 2.08 m 56.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.26 m -2.17 m 2.09 m 44.2 keV 12.3 keV 1.04 cm 1.04 cm Tracker eIoni + 2 2.26 m -2.16 m 2.09 m 39.5 keV 4.73 keV 6.79 mm 1.72 cm Tracker eIoni + 3 2.26 m -2.16 m 2.09 m 35.7 keV 3.75 keV 5.62 mm 2.29 cm Tracker eIoni + 4 2.26 m -2.16 m 2.1 m 31.2 keV 4.49 keV 4.73 mm 2.76 cm Tracker eIoni + 5 2.26 m -2.15 m 2.1 m 27.8 keV 3.38 keV 3.79 mm 3.14 cm Tracker eIoni + 6 2.26 m -2.15 m 2.1 m 25.1 keV 2.75 keV 3.15 mm 3.45 cm Tracker eIoni + 7 2.26 m -2.15 m 2.1 m 23 keV 2.11 keV 2.65 mm 3.72 cm Tracker eIoni + 8 2.26 m -2.15 m 2.1 m 20.2 keV 2.8 keV 2.32 mm 3.95 cm Tracker eIoni + 9 2.26 m -2.15 m 2.1 m 18.3 keV 1.87 keV 1.9 mm 4.14 cm Tracker eIoni + 10 2.26 m -2.15 m 2.1 m 15.5 keV 2.84 keV 1.65 mm 4.3 cm Tracker eIoni + 11 2.26 m -2.14 m 2.1 m 12.1 keV 3.34 keV 1.31 mm 4.43 cm Tracker eIoni + 12 2.26 m -2.14 m 2.1 m 10.3 keV 1.81 keV 957 mum 4.53 cm Tracker eIoni + 13 2.26 m -2.14 m 2.1 m 9.19 keV 1.14 keV 797 mum 4.61 cm Tracker eIoni + 14 2.26 m -2.14 m 2.1 m 7.35 keV 1.84 keV 705 mum 4.68 cm Tracker eIoni + 15 2.26 m -2.14 m 2.1 m 5.71 keV 1.64 keV 569 mum 4.74 cm Tracker eIoni + 16 2.26 m -2.14 m 2.1 m 4.77 keV 944 eV 461 mum 4.78 cm Tracker eIoni + 17 2.26 m -2.14 m 2.1 m 2.96 keV 1.81 keV 401 mum 4.82 cm Tracker eIoni + 18 2.26 m -2.14 m 2.1 m 0 eV 2.96 keV 273 mum 4.85 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.2 m -2.08 m 1.93 m 8.46 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.2 m -2.08 m 1.93 m 5.86 keV 2.6 keV 647 mum 647 mum Tracker eIoni + 2 2.2 m -2.08 m 1.93 m 3.56 keV 2.3 keV 470 mum 1.12 mm Tracker eIoni + 3 2.2 m -2.08 m 1.93 m 833 eV 2.73 keV 322 mum 1.44 mm Tracker eIoni + 4 2.2 m -2.08 m 1.93 m 0 eV 833 eV 48.8 mum 1.49 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.62 m -1.39 m 47.6 cm 8.13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.62 m -1.39 m 47.6 cm 6.82 keV 1.31 keV 624 mum 624 mum Tracker eIoni + 2 1.63 m -1.39 m 47.6 cm 3.37 keV 3.45 keV 533 mum 1.16 mm Tracker eIoni + 3 1.63 m -1.39 m 47.6 cm 0 eV 3.37 keV 307 mum 1.46 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.61 m -1.38 m 44.2 cm 43.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.61 m -1.38 m 44.5 cm 32.9 keV 10.4 keV 6.56 mm 6.56 mm Tracker eIoni + 2 1.6 m -1.38 m 44.8 cm 30 keV 2.84 keV 4.13 mm 1.07 cm Tracker eIoni + 3 1.6 m -1.38 m 44.8 cm 25.7 keV 4.36 keV 3.54 mm 1.42 cm Tracker eIoni + 4 1.6 m -1.39 m 44.8 cm 23.1 keV 2.62 keV 2.75 mm 1.7 cm Tracker eIoni + 5 1.6 m -1.39 m 44.8 cm 21.6 keV 1.47 keV 2.33 mm 1.93 cm Tracker eIoni + 6 1.6 m -1.39 m 44.8 cm 18.9 keV 2.68 keV 2.1 mm 2.14 cm Tracker eIoni + 7 1.6 m -1.39 m 44.8 cm 16.3 keV 2.62 keV 1.73 mm 2.32 cm Tracker eIoni + 8 1.6 m -1.39 m 44.7 cm 11.4 keV 4.86 keV 1.4 mm 2.46 cm Tracker eIoni + 9 1.6 m -1.39 m 44.7 cm 9.89 keV 1.54 keV 893 mum 2.55 cm Tracker eIoni + 10 1.6 m -1.39 m 44.7 cm 7.78 keV 2.11 keV 759 mum 2.62 cm Tracker eIoni + 11 1.6 m -1.39 m 44.7 cm 6.83 keV 945 eV 599 mum 2.68 cm Tracker eIoni + 12 1.6 m -1.39 m 44.7 cm 3.78 keV 3.05 keV 533 mum 2.73 cm Tracker eIoni + 13 1.6 m -1.39 m 44.7 cm 0 eV 3.78 keV 337 mum 2.77 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.41 m -1.02 m -30.4 cm 9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.41 m -1.02 m -30.5 cm 4.85 keV 4.14 keV 690 mum 690 mum Tracker eIoni + 2 1.41 m -1.02 m -30.4 cm 2.76 keV 2.09 keV 407 mum 1.1 mm Tracker eIoni + 3 1.41 m -1.02 m -30.4 cm 0 eV 2.76 keV 254 mum 1.35 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.4 m -99.4 cm -35 cm 1.79 MeV 0 eV 0 fm 0 fm Tracker initStep + 1 1.5 m -1.02 m -29.3 cm 1.76 MeV 16.5 keV 11.9 cm 11.9 cm Tracker eIoni + 2 1.77 m -1.09 m -15.3 cm 1.71 MeV 45.1 keV 31.4 cm 43.2 cm Tracker eIoni + 3 1.97 m -1.09 m 4.55 cm 1.64 MeV 52.7 keV 28.7 cm 71.9 cm Tracker eIoni + 4 2.14 m -1.09 m 26.9 cm 1.47 MeV 49.4 keV 28 cm 99.9 cm Tracker eIoni + 5 2.4 m -1.2 m 63 cm 1.4 MeV 75.3 keV 47.2 cm 1.47 m WorldPVTransportation + 6 2.44 m -1.23 m 65.5 cm 1.37 MeV 10.3 keV 5.27 cm 1.52 m WorldPV eIoni + 7 2.5 m -1.27 m 68.7 cm 1.35 MeV 13.6 keV 7.63 cm 1.6 m WorldPV eIoni + 8 2.64 m -1.36 m 75.3 cm 1.27 MeV 32.7 keV 18.9 cm 1.79 m WorldPV eIoni + 9 2.74 m -1.44 m 82.5 cm 1.24 MeV 22.2 keV 14.3 cm 1.93 m WorldPV eIoni + 10 2.88 m -1.52 m 92.8 cm 1.19 MeV 32.7 keV 19.1 cm 2.12 m WorldPV eIoni + 11 2.91 m -1.52 m 94.3 cm 1.19 MeV 5.27 keV 3.3 cm 2.16 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.88 m -1.52 m 92.8 cm 10.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.88 m -1.52 m 92.8 cm 9.27 keV 1.23 keV 811 mum 811 mum WorldPV eIoni + 2 2.88 m -1.52 m 92.8 cm 7.84 keV 1.43 keV 711 mum 1.52 mm WorldPV eIoni + 3 2.88 m -1.52 m 92.8 cm 5.97 keV 1.87 keV 603 mum 2.13 mm WorldPV eIoni + 4 2.88 m -1.52 m 92.8 cm 2.67 keV 3.3 keV 477 mum 2.6 mm WorldPV eIoni + 5 2.88 m -1.52 m 92.8 cm 1.41 keV 1.26 keV 245 mum 2.85 mm WorldPV eIoni + 6 2.88 m -1.52 m 92.8 cm 0 eV 1.41 keV 97.4 mum 2.94 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.74 m -1.44 m 82.5 cm 11 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.74 m -1.44 m 82.4 cm 9.21 keV 1.81 keV 857 mum 857 mum WorldPV eIoni + 2 2.74 m -1.44 m 82.4 cm 8.02 keV 1.19 keV 706 mum 1.56 mm WorldPV eIoni + 3 2.74 m -1.44 m 82.3 cm 6.24 keV 1.79 keV 616 mum 2.18 mm WorldPV eIoni + 4 2.74 m -1.44 m 82.3 cm 4.39 keV 1.85 keV 495 mum 2.67 mm WorldPV eIoni + 5 2.74 m -1.44 m 82.3 cm 3.35 keV 1.04 keV 378 mum 3.05 mm WorldPV eIoni + 6 2.74 m -1.44 m 82.3 cm 0 eV 3.35 keV 305 mum 3.36 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.64 m -1.36 m 75.3 cm 45.4 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.65 m -1.36 m 74.9 cm 39 keV 6.4 keV 7.12 mm 7.12 mm WorldPV eIoni + 2 2.65 m -1.36 m 74.9 cm 37 keV 1.98 keV 5.5 mm 1.26 cm WorldPV eIoni + 3 2.66 m -1.36 m 74.9 cm 33.8 keV 3.2 keV 5.02 mm 1.76 cm WorldPV eIoni + 4 2.66 m -1.36 m 74.8 cm 30.1 keV 3.65 keV 4.32 mm 2.2 cm WorldPV eIoni + 5 2.66 m -1.36 m 74.7 cm 26.1 keV 3.99 keV 3.56 mm 2.55 cm WorldPV eIoni + 6 2.67 m -1.36 m 74.7 cm 24.1 keV 2.07 keV 2.84 mm 2.83 cm WorldPV eIoni + 7 2.67 m -1.36 m 74.9 cm 20.8 keV 3.31 keV 2.49 mm 3.08 cm WorldPV eIoni + 8 2.67 m -1.36 m 75 cm 18.9 keV 1.89 keV 1.98 mm 3.28 cm WorldPV eIoni + 9 2.67 m -1.36 m 75 cm 16.9 keV 2 keV 1.72 mm 3.45 cm WorldPV eIoni + 10 2.67 m -1.36 m 75 cm 15 keV 1.87 keV 1.47 mm 3.6 cm WorldPV eIoni + 11 2.67 m -1.36 m 74.9 cm 13.2 keV 1.76 keV 1.25 mm 3.73 cm WorldPV eIoni + 12 2.67 m -1.36 m 74.9 cm 11.8 keV 1.47 keV 1.07 mm 3.83 cm WorldPV eIoni + 13 2.67 m -1.36 m 74.9 cm 10.6 keV 1.14 keV 922 mum 3.92 cm WorldPV eIoni + 14 2.67 m -1.36 m 74.9 cm 9.04 keV 1.58 keV 822 mum 4.01 cm WorldPV eIoni + 15 2.67 m -1.36 m 74.9 cm 7.55 keV 1.49 keV 693 mum 4.08 cm WorldPV eIoni + 16 2.67 m -1.36 m 75 cm 6.68 keV 870 eV 583 mum 4.13 cm WorldPV eIoni + 17 2.67 m -1.36 m 75 cm 5.57 keV 1.1 keV 523 mum 4.19 cm WorldPV eIoni + 18 2.67 m -1.36 m 75 cm 3.52 keV 2.05 keV 452 mum 4.23 cm WorldPV eIoni + 19 2.67 m -1.36 m 75 cm 0 eV 3.52 keV 319 mum 4.26 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.5 m -1.27 m 68.7 cm 13.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.5 m -1.27 m 68.7 cm 11.7 keV 1.66 keV 1.08 mm 1.08 mm WorldPV eIoni + 2 2.5 m -1.27 m 68.6 cm 10.5 keV 1.23 keV 915 mum 1.99 mm WorldPV eIoni + 3 2.5 m -1.27 m 68.5 cm 8.87 keV 1.58 keV 807 mum 2.8 mm WorldPV eIoni + 4 2.5 m -1.27 m 68.5 cm 6.32 keV 2.55 keV 680 mum 3.48 mm WorldPV eIoni + 5 2.5 m -1.27 m 68.5 cm 5.27 keV 1.05 keV 501 mum 3.98 mm WorldPV eIoni + 6 2.5 m -1.27 m 68.5 cm 2.87 keV 2.4 keV 434 mum 4.42 mm WorldPV eIoni + 7 2.5 m -1.27 m 68.5 cm 1.57 keV 1.31 keV 266 mum 4.68 mm WorldPV eIoni + 8 2.5 m -1.27 m 68.5 cm 0 eV 1.57 keV 113 mum 4.79 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.44 m -1.23 m 65.5 cm 11.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.44 m -1.23 m 65.5 cm 7.57 keV 3.77 keV 885 mum 885 mum WorldPV eIoni + 2 2.44 m -1.23 m 65.4 cm 6.29 keV 1.27 keV 584 mum 1.47 mm WorldPV eIoni + 3 2.44 m -1.23 m 65.4 cm 4.4 keV 1.9 keV 499 mum 1.97 mm WorldPV eIoni + 4 2.44 m -1.23 m 65.4 cm 2.82 keV 1.57 keV 379 mum 2.35 mm WorldPV eIoni + 5 2.44 m -1.23 m 65.4 cm 0 eV 2.82 keV 260 mum 2.61 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.14 m -1.09 m 26.9 cm 118 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.17 m -1.07 m 25.2 cm 105 keV 13.5 keV 3.75 cm 3.75 cm Tracker eIoni + 2 2.17 m -1.05 m 24 cm 92 keV 12.7 keV 3.04 cm 6.8 cm Tracker eIoni + 3 2.16 m -1.03 m 23.7 cm 82.1 keV 9.85 keV 2.43 cm 9.22 cm Tracker eIoni + 4 2.14 m -1.03 m 23.7 cm 71.8 keV 10.3 keV 2 cm 11.2 cm Tracker eIoni + 5 2.13 m -1.01 m 24.2 cm 61.9 keV 9.88 keV 1.58 cm 12.8 cm Tracker eIoni + 6 2.13 m -1 m 24.3 cm 53.6 keV 8.3 keV 1.22 cm 14 cm Tracker eIoni + 7 2.12 m -99.7 cm 23.9 cm 46.9 keV 6.76 keV 9.5 mm 15 cm Tracker eIoni + 8 2.12 m -99.2 cm 24.1 cm 40.2 keV 6.68 keV 7.55 mm 15.7 cm Tracker eIoni + 9 2.11 m -99.3 cm 24.5 cm 35.2 keV 4.96 keV 5.8 mm 16.3 cm Tracker eIoni + 10 2.11 m -99.1 cm 24.9 cm 30.9 keV 4.35 keV 4.63 mm 16.8 cm Tracker eIoni + 11 2.11 m -98.9 cm 25.1 cm 26.1 keV 4.79 keV 3.71 mm 17.1 cm Tracker eIoni + 12 2.11 m -98.9 cm 25.2 cm 23.4 keV 2.64 keV 2.83 mm 17.4 cm Tracker eIoni + 13 2.11 m -98.8 cm 25.1 cm 19.7 keV 3.72 keV 2.39 mm 17.7 cm Tracker eIoni + 14 2.11 m -98.7 cm 25.1 cm 17.4 keV 2.33 keV 1.84 mm 17.8 cm Tracker eIoni + 15 2.11 m -98.6 cm 25.1 cm 13.9 keV 3.48 keV 1.53 mm 18 cm Tracker eIoni + 16 2.11 m -98.7 cm 25 cm 11.7 keV 2.27 keV 1.14 mm 18.1 cm Tracker eIoni + 17 2.11 m -98.7 cm 25 cm 9.22 keV 2.44 keV 913 mum 18.2 cm Tracker eIoni + 18 2.11 m -98.7 cm 25 cm 6.7 keV 2.52 keV 707 mum 18.3 cm Tracker eIoni + 19 2.11 m -98.7 cm 24.9 cm 5.71 keV 994 eV 525 mum 18.3 cm Tracker eIoni + 20 2.11 m -98.8 cm 24.9 cm 3.97 keV 1.74 keV 460 mum 18.4 cm Tracker eIoni + 21 2.11 m -98.7 cm 24.9 cm 954 eV 3.02 keV 350 mum 18.4 cm Tracker eIoni + 22 2.11 m -98.7 cm 24.9 cm 0 eV 954 eV 57.7 mum 18.4 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.97 m -1.09 m 4.55 cm 15.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.97 m -1.09 m 4.53 cm 13.3 keV 2.48 keV 1.34 mm 1.34 mm Tracker eIoni + 2 1.97 m -1.09 m 4.59 cm 11.2 keV 2.15 keV 1.08 mm 2.42 mm Tracker eIoni + 3 1.97 m -1.09 m 4.64 cm 9.92 keV 1.27 keV 871 mum 3.29 mm Tracker eIoni + 4 1.97 m -1.09 m 4.68 cm 8.11 keV 1.8 keV 761 mum 4.05 mm Tracker eIoni + 5 1.97 m -1.09 m 4.66 cm 6.89 keV 1.23 keV 622 mum 4.67 mm Tracker eIoni + 6 1.97 m -1.09 m 4.67 cm 5.35 keV 1.54 keV 536 mum 5.21 mm Tracker eIoni + 7 1.97 m -1.09 m 4.66 cm 2.07 keV 3.28 keV 439 mum 5.65 mm Tracker eIoni + 8 1.97 m -1.09 m 4.67 cm 0 eV 2.07 keV 172 mum 5.82 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.77 m -1.09 m -15.3 cm 8.61 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.77 m -1.09 m -15.4 cm 5.47 keV 3.15 keV 660 mum 660 mum Tracker eIoni + 2 1.77 m -1.09 m -15.4 cm 2.95 keV 2.52 keV 446 mum 1.11 mm Tracker eIoni + 3 1.77 m -1.09 m -15.4 cm 1.08 keV 1.86 keV 272 mum 1.38 mm Tracker eIoni + 4 1.77 m -1.09 m -15.4 cm 0 eV 1.08 keV 67.8 mum 1.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.5 m -1.02 m -29.3 cm 11.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.5 m -1.02 m -29.3 cm 9.6 keV 2.28 keV 932 mum 932 mum Tracker eIoni + 2 1.5 m -1.02 m -29.2 cm 8.24 keV 1.36 keV 736 mum 1.67 mm Tracker eIoni + 3 1.5 m -1.02 m -29.2 cm 7.34 keV 896 eV 631 mum 2.3 mm Tracker eIoni + 4 1.5 m -1.02 m -29.1 cm 5.39 keV 1.96 keV 569 mum 2.87 mm Tracker eIoni + 5 1.5 m -1.02 m -29.1 cm 3.79 keV 1.6 keV 441 mum 3.31 mm Tracker eIoni + 6 1.5 m -1.02 m -29.1 cm 1.86 keV 1.92 keV 338 mum 3.65 mm Tracker eIoni + 7 1.5 m -1.02 m -29.1 cm 0 eV 1.86 keV 146 mum 3.79 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.33 m -93.4 cm -46 cm 26.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.33 m -93.7 cm -45.9 cm 23.8 keV 3.01 keV 2.96 mm 2.96 mm Tracker eIoni + 2 1.33 m -93.9 cm -46.1 cm 22 keV 1.82 keV 2.45 mm 5.41 mm Tracker eIoni + 3 1.33 m -93.8 cm -46.3 cm 17.1 keV 4.84 keV 2.16 mm 7.57 mm Tracker eIoni + 4 1.33 m -93.7 cm -46.4 cm 14.9 keV 2.23 keV 1.5 mm 9.07 mm Tracker eIoni + 5 1.33 m -93.6 cm -46.5 cm 13.3 keV 1.59 keV 1.24 mm 1.03 cm Tracker eIoni + 6 1.33 m -93.6 cm -46.5 cm 12 keV 1.32 keV 1.08 mm 1.14 cm Tracker eIoni + 7 1.33 m -93.5 cm -46.6 cm 10.3 keV 1.71 keV 944 mum 1.23 cm Tracker eIoni + 8 1.33 m -93.4 cm -46.6 cm 9.08 keV 1.22 keV 794 mum 1.31 cm Tracker eIoni + 9 1.33 m -93.4 cm -46.5 cm 6.4 keV 2.68 keV 696 mum 1.38 cm Tracker eIoni + 10 1.33 m -93.3 cm -46.5 cm 2.36 keV 4.04 keV 506 mum 1.43 cm Tracker eIoni + 11 1.33 m -93.3 cm -46.5 cm 0 eV 2.36 keV 209 mum 1.45 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.27 m -88.7 cm -56.3 cm 16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.27 m -88.6 cm -56.2 cm 4.26 keV 11.7 keV 1.37 mm 1.37 mm Tracker eIoni + 2 1.27 m -88.6 cm -56.2 cm 3.14 keV 1.11 keV 370 mum 1.74 mm Tracker eIoni + 3 1.27 m -88.6 cm -56.2 cm 1.55 keV 1.6 keV 289 mum 2.03 mm Tracker eIoni + 4 1.27 m -88.6 cm -56.2 cm 0 eV 1.55 keV 111 mum 2.14 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.12 m -78.4 cm -79.9 cm 847 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m -83.6 cm -57.3 cm 728 keV 92.8 keV 57.5 cm 57.5 cm Tracker eIoni + 2 1.79 m -88.8 cm -55.8 cm 615 keV 32.1 keV 17.2 cm 74.8 cm Tracker eIoni + 3 2.11 m -89.9 cm -65.7 cm 548 keV 55.1 keV 35 cm 1.1 m Tracker eIoni + 4 2.4 m -93.9 cm -81.5 cm 476 keV 71.7 keV 35.6 cm 1.45 m WorldPVTransportation + 5 2.4 m -93.9 cm -81.6 cm 467 keV 147 eV 537 mum 1.45 m WorldPV eIoni + 6 2.66 m -1.14 m -82.2 cm 397 keV 70.5 keV 33.8 cm 1.79 m WorldPV eIoni + 7 2.66 m -1.14 m -82.3 cm 382 keV 16.5 eV 1.17 mm 1.79 m WorldPV eIoni + 8 2.75 m -1.22 m -1.02 m 324 keV 58.4 keV 25.1 cm 2.04 m WorldPV eIoni + 9 2.8 m -1.24 m -1.07 m 300 keV 14 keV 7.46 cm 2.12 m WorldPV eIoni + 10 2.91 m -1.25 m -1.18 m 258 keV 41.4 keV 17.3 cm 2.29 m WorldPV eIoni + 11 2.91 m -1.25 m -1.18 m 258 keV 152 eV 1.31 mm 2.29 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.8 m -1.24 m -1.07 m 9.88 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.79 m -1.24 m -1.07 m 8.9 keV 978 eV 758 mum 758 mum WorldPV eIoni + 2 2.79 m -1.24 m -1.07 m 7.91 keV 993 eV 682 mum 1.44 mm WorldPV eIoni + 3 2.79 m -1.24 m -1.07 m 6.56 keV 1.35 keV 608 mum 2.05 mm WorldPV eIoni + 4 2.79 m -1.24 m -1.07 m 3.89 keV 2.67 keV 516 mum 2.56 mm WorldPV eIoni + 5 2.79 m -1.24 m -1.07 m 2.66 keV 1.23 keV 345 mum 2.91 mm WorldPV eIoni + 6 2.79 m -1.24 m -1.07 m 0 eV 2.66 keV 244 mum 3.15 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.66 m -1.14 m -82.3 cm 15 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.66 m -1.14 m -82.2 cm 11.5 keV 3.47 keV 1.25 mm 1.25 mm WorldPV eIoni + 2 2.66 m -1.14 m -82.1 cm 9.68 keV 1.86 keV 903 mum 2.16 mm WorldPV eIoni + 3 2.66 m -1.14 m -82.1 cm 7.75 keV 1.93 keV 743 mum 2.9 mm WorldPV eIoni + 4 2.66 m -1.14 m -82.1 cm 4.95 keV 2.8 keV 597 mum 3.5 mm WorldPV eIoni + 5 2.66 m -1.14 m -82.1 cm 0 eV 4.95 keV 414 mum 3.91 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.4 m -93.9 cm -81.6 cm 8.78 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.4 m -93.9 cm -81.5 cm 6.72 keV 2.06 keV 673 mum 673 mum WorldPV eIoni + 2 2.4 m -93.9 cm -81.5 cm 0 eV 6.72 keV 526 mum 1.2 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.11 m -89.9 cm -65.7 cm 11.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.11 m -89.8 cm -65.7 cm 10.3 keV 1.25 keV 902 mum 902 mum Tracker eIoni + 2 2.11 m -89.7 cm -65.7 cm 8.43 keV 1.85 keV 792 mum 1.69 mm Tracker eIoni + 3 2.11 m -89.7 cm -65.7 cm 7.59 keV 844 eV 646 mum 2.34 mm Tracker eIoni + 4 2.12 m -89.6 cm -65.7 cm 5.98 keV 1.61 keV 586 mum 2.93 mm Tracker eIoni + 5 2.12 m -89.6 cm -65.6 cm 4.35 keV 1.62 keV 478 mum 3.4 mm Tracker eIoni + 6 2.12 m -89.6 cm -65.6 cm 0 eV 4.35 keV 376 mum 3.78 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.79 m -88.8 cm -55.8 cm 81.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.79 m -89.4 cm -54.1 cm 66.6 keV 14.8 keV 1.97 cm 1.97 cm Tracker eIoni + 2 1.8 m -89.9 cm -53.6 cm 60.1 keV 6.46 keV 1.39 cm 3.36 cm Tracker eIoni + 3 1.81 m -90.4 cm -53.2 cm 53.4 keV 6.72 keV 1.16 cm 4.52 cm Tracker eIoni + 4 1.82 m -90.7 cm -52.6 cm 42.1 keV 11.3 keV 9.42 mm 5.46 cm Tracker eIoni + 5 1.82 m -91.3 cm -52.6 cm 36.9 keV 5.18 keV 6.27 mm 6.09 cm Tracker eIoni + 6 1.83 m -91.2 cm -53 cm 33.1 keV 3.8 keV 5.01 mm 6.59 cm Tracker eIoni + 7 1.82 m -91.2 cm -53.2 cm 23.4 keV 1.34 keV 2.15 mm 6.8 cm Tracker eIoni + 8 1.83 m -91.1 cm -53.4 cm 20.3 keV 3.1 keV 2.38 mm 7.04 cm Tracker eIoni + 9 1.83 m -91.1 cm -53.6 cm 11.9 keV 8.34 keV 1.91 mm 7.23 cm Tracker eIoni + 10 1.83 m -91 cm -53.7 cm 10.6 keV 1.33 keV 937 mum 7.32 cm Tracker eIoni + 11 1.83 m -91 cm -53.7 cm 8.47 keV 2.13 keV 821 mum 7.41 cm Tracker eIoni + 12 1.83 m -91 cm -53.6 cm 6.88 keV 1.6 keV 649 mum 7.47 cm Tracker eIoni + 13 1.83 m -91 cm -53.7 cm 4.32 keV 2.56 keV 536 mum 7.53 cm Tracker eIoni + 14 1.83 m -90.9 cm -53.6 cm 1.62 keV 2.7 keV 374 mum 7.56 cm Tracker eIoni + 15 1.83 m -91 cm -53.6 cm 0 eV 1.62 keV 119 mum 7.57 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.82 m -91.2 cm -53.2 cm 8.43 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.82 m -91.1 cm -53.2 cm 5.92 keV 2.51 keV 645 mum 645 mum Tracker eIoni + 2 1.82 m -91.1 cm -53.2 cm 2.53 keV 3.38 keV 474 mum 1.12 mm Tracker eIoni + 3 1.82 m -91.2 cm -53.2 cm 0 eV 2.53 keV 231 mum 1.35 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.63 m -83.6 cm -57.3 cm 25.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m -83.5 cm -57.4 cm 24.3 keV 1.52 keV 2.77 mm 2.77 mm Tracker eIoni + 2 1.63 m -83.5 cm -57.6 cm 22.3 keV 1.94 keV 2.52 mm 5.29 mm Tracker eIoni + 3 1.63 m -83.7 cm -57.7 cm 21.1 keV 1.22 keV 2.22 mm 7.5 mm Tracker eIoni + 4 1.63 m -83.6 cm -57.9 cm 18.3 keV 2.75 keV 2.03 mm 9.53 mm Tracker eIoni + 5 1.63 m -83.6 cm -58 cm 15.8 keV 2.57 keV 1.65 mm 1.12 cm Tracker eIoni + 6 1.63 m -83.7 cm -58.1 cm 14.3 keV 1.49 keV 1.34 mm 1.25 cm Tracker eIoni + 7 1.63 m -83.7 cm -58.2 cm 12.6 keV 1.72 keV 1.17 mm 1.37 cm Tracker eIoni + 8 1.63 m -83.7 cm -58.2 cm 11.5 keV 1.04 keV 1 mm 1.47 cm Tracker eIoni + 9 1.63 m -83.8 cm -58.3 cm 10.1 keV 1.46 keV 903 mum 1.56 cm Tracker eIoni + 10 1.63 m -83.8 cm -58.3 cm 8.47 keV 1.61 keV 774 mum 1.64 cm Tracker eIoni + 11 1.63 m -83.7 cm -58.3 cm 7.33 keV 1.14 keV 649 mum 1.7 cm Tracker eIoni + 12 1.63 m -83.7 cm -58.3 cm 5.06 keV 2.28 keV 568 mum 1.76 cm Tracker eIoni + 13 1.63 m -83.7 cm -58.3 cm 2.93 keV 2.13 keV 420 mum 1.8 cm Tracker eIoni + 14 1.63 m -83.7 cm -58.3 cm 798 eV 2.13 keV 270 mum 1.83 cm Tracker eIoni + 15 1.63 m -83.7 cm -58.3 cm 0 eV 798 eV 46.3 mum 1.83 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.07 m -76.1 cm -86.5 cm 9.23 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.07 m -76 cm -86.4 cm 7.41 keV 1.82 keV 708 mum 708 mum Tracker eIoni + 2 1.07 m -76 cm -86.4 cm 6.1 keV 1.31 keV 573 mum 1.28 mm Tracker eIoni + 3 1.07 m -75.9 cm -86.4 cm 4.69 keV 1.41 keV 486 mum 1.77 mm Tracker eIoni + 4 1.07 m -76 cm -86.4 cm 2.44 keV 2.25 keV 397 mum 2.16 mm Tracker eIoni + 5 1.07 m -76 cm -86.4 cm 1.51 keV 932 eV 220 mum 2.38 mm Tracker eIoni + 6 1.07 m -76 cm -86.4 cm 0 eV 1.51 keV 107 mum 2.49 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 92.4 cm -69 cm -1.06 m 18.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 92.5 cm -68.9 cm -1.06 m 13.9 keV 4.42 keV 1.65 mm 1.65 mm Tracker eIoni + 2 92.6 cm -69 cm -1.06 m 11.4 keV 2.44 keV 1.13 mm 2.78 mm Tracker eIoni + 3 92.6 cm -69 cm -1.06 m 4.38 keV 7.06 keV 894 mum 3.67 mm Tracker eIoni + 4 92.6 cm -69 cm -1.07 m 2.34 keV 2.04 keV 378 mum 4.05 mm Tracker eIoni + 5 92.6 cm -69 cm -1.07 m 0 eV 2.34 keV 207 mum 4.26 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 52.5 cm -42.2 cm -1.63 m 10.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 52.5 cm -42.2 cm -1.63 m 9.29 keV 1.12 keV 804 mum 804 mum Tracker eIoni + 2 52.6 cm -42.2 cm -1.63 m 8.18 keV 1.11 keV 713 mum 1.52 mm Tracker eIoni + 3 52.6 cm -42.1 cm -1.63 m 6.54 keV 1.64 keV 627 mum 2.14 mm Tracker eIoni + 4 52.6 cm -42.1 cm -1.63 m 0 eV 6.54 keV 515 mum 2.66 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 30 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.8 cm -16.9 cm -2.13 m 10.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 20.9 cm -16.9 cm -2.13 m 9.56 keV 1.29 keV 842 mum 842 mum Tracker eIoni + 2 20.9 cm -16.9 cm -2.13 m 7.44 keV 2.12 keV 733 mum 1.58 mm Tracker eIoni + 3 20.8 cm -17 cm -2.13 m 5.7 keV 1.74 keV 575 mum 2.15 mm Tracker eIoni + 4 20.8 cm -17 cm -2.13 m 4.59 keV 1.11 keV 460 mum 2.61 mm Tracker eIoni + 5 20.8 cm -17 cm -2.13 m 2.05 keV 2.54 keV 391 mum 3 mm Tracker eIoni + 6 20.8 cm -17 cm -2.13 m 0 eV 2.05 keV 170 mum 3.17 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 433 mum -413 nm -2.4 m 6.69 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.12 mm -238 mum -2.4 m 5.32 MeV 1.37 MeV 1.3 mm 1.3 mm TargetPV eIoni + 2 1.54 mm 449 mum -2.4 m 4.17 MeV 1.15 MeV 1.11 mm 2.41 mm TargetPV eIoni + 3 1.55 mm 450 mum -2.4 m 3.75 MeV 95.9 keV 23.4 mum 2.43 mm TargetPV eBrem + 4 1.43 mm 884 mum -2.4 m 2.43 MeV 1.32 MeV 879 mum 3.31 mm TargetPV eIoni + 5 1.65 mm 623 mum -2.4 m 1.8 MeV 626 keV 672 mum 3.99 mm TargetPV eIoni + 6 1.54 mm 619 mum -2.4 m 446 keV 386 keV 227 mum 4.21 mm TargetPV eBrem + 7 1.53 mm 629 mum -2.4 m 26.3 keV 420 keV 243 mum 4.46 mm TargetPV eIoni + 8 1.53 mm 630 mum -2.4 m 0 eV 26.3 keV 3.17 mum 4.46 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.54 mm 619 mum -2.4 m 971 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -439 mum 3.33 mm -2.4 m 696 keV 275 keV 3.76 mm 3.76 mm TargetPV compt + 2 -1.62 mm 6.05 mm -2.4 m 483 keV 213 keV 3 mm 6.76 mm TargetPV compt + 3 -2.25 cm 1.3 cm -2.41 m 0 eV 483 keV 2.25 cm 2.93 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.55 mm 450 mum -2.4 m 321 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.1 mm 876 mum -2.4 m 284 keV 36.4 keV 957 mum 957 mum TargetPV compt + 2 5.66 mm 3.43 mm -2.4 m 0 eV 284 keV 4.4 mm 5.36 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.6 mum 29.9 mum -2.41 m 654 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 439 mum 45.5 mum -2.41 m 292 keV 362 keV 3.76 mm 3.76 mm TargetPV compt + 2 5.16 mm 3.82 mm -2.41 m 0 eV 292 keV 6.05 mm 9.81 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.9 mum 24.4 mum -2.41 m 199 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 149 mum 189 mum -2.4 m 0 eV 0 eV 6.53 mm 6.53 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 66, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 189 mum -2.4 m 100 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 225 mum 200 mum -2.4 m 79.2 MeV 1.34 MeV 1.16 mm 1.16 mm TargetPV eBrem + 2 227 mum 185 mum -2.4 m 77.9 MeV 544 keV 532 mum 1.69 mm TargetPV eBrem + 3 217 mum 189 mum -2.4 m 75.7 MeV 258 keV 170 mum 1.86 mm TargetPV eBrem + 4 66.9 mum 208 mum -2.4 m 71.3 MeV 4.46 MeV 2.97 mm 4.83 mm TrackerTransportation + 5 -4.39 cm 9.09 cm -1.6 m 71.1 MeV 170 keV 80.6 cm 81.1 cm ChamberTransportation + 6 -5.25 cm 10.4 cm -1.47 m 71 MeV 79 keV 12.7 cm 93.8 cm Chamber eBrem + 7 -5.63 cm 11.2 cm -1.4 m 70.9 MeV 92.1 keV 7.49 cm 1.01 m TrackerTransportation + 8 -8.73 cm 18 cm -80 cm 70.8 MeV 135 keV 60.5 cm 1.62 m ChamberTransportation + 9 -9.64 cm 20.2 cm -60 cm 70.6 MeV 126 keV 20.1 cm 1.82 m TrackerTransportation + 10 -9.82 cm 20.7 cm -54.4 cm 70.6 MeV 13.2 keV 5.65 cm 1.88 m Tracker eIoni + 11 -9.89 cm 20.9 cm -51.8 cm 70.5 MeV 5.57 keV 2.59 cm 1.9 m Tracker eIoni + 12 -9.97 cm 21.2 cm -48.5 cm 70.5 MeV 6.69 keV 3.35 cm 1.93 m Tracker eIoni + 13 -10.5 cm 23 cm -28.2 cm 70.5 MeV 38 keV 20.3 cm 2.14 m Tracker eIoni + 14 -11.2 cm 25.5 cm 0 fm 70.4 MeV 53.8 keV 28.3 cm 2.42 m ChamberTransportation + 15 -11.3 cm 26.2 cm 7.25 cm 70.2 MeV 33.6 keV 7.28 cm 2.49 m Chamber eBrem + 16 -11.7 cm 27.1 cm 20 cm 70.2 MeV 67.6 keV 12.8 cm 2.62 m TrackerTransportation + 17 -13.6 cm 32.2 cm 80 cm 70.1 MeV 130 keV 60.2 cm 3.22 m ChamberTransportation + 18 -14.2 cm 33.5 cm 1 m 69.9 MeV 114 keV 20.1 cm 3.43 m TrackerTransportation + 19 -15.1 cm 36.3 cm 1.4 m 69.8 MeV 85.4 keV 40.5 cm 3.83 m Tracker eIoni + 20 -15.5 cm 37.8 cm 1.6 m 69.8 MeV 39.1 keV 19.6 cm 4.03 m ChamberTransportation + 21 -15.9 cm 39.2 cm 1.8 m 69.7 MeV 101 keV 20.1 cm 4.23 m TrackerTransportation + 22 -16 cm 40.3 cm 2 m 69.6 MeV 47.9 keV 20.1 cm 4.43 m Tracker eIoni + 23 -16.2 cm 41.5 cm 2.25 m 69.5 MeV 53.4 keV 24.8 cm 4.68 m Tracker eIoni + 24 -16.4 cm 42.2 cm 2.4 m 69.5 MeV 34.6 keV 15.2 cm 4.83 m WorldPVTransportation + 25 -16.5 cm 43.5 cm 2.71 m 69.3 MeV 57.2 keV 31.1 cm 5.14 m WorldPV eIoni + 26 -16.7 cm 44.5 cm 2.91 m 69.3 MeV 38.5 keV 20 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.5 cm 43.5 cm 2.71 m 79.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -16.9 cm 41.9 cm 2.72 m 68.1 keV 11 keV 1.87 cm 1.87 cm WorldPV eIoni + 2 -16 cm 42.6 cm 2.71 m 54.3 keV 13.8 keV 1.45 cm 3.32 cm WorldPV eIoni + 3 -15.8 cm 43.5 cm 2.71 m 48.3 keV 6 keV 9.73 mm 4.29 cm WorldPV eIoni + 4 -15.2 cm 44 cm 2.71 m 44 keV 4.38 keV 7.96 mm 5.09 cm WorldPV eIoni + 5 -14.7 cm 44.2 cm 2.72 m 40.9 keV 3.1 keV 6.73 mm 5.76 cm WorldPV eIoni + 6 -14.5 cm 44.2 cm 2.72 m 37.6 keV 3.3 keV 5.96 mm 6.36 cm WorldPV eIoni + 7 -14.5 cm 44 cm 2.72 m 33.3 keV 4.26 keV 5.16 mm 6.87 cm WorldPV eIoni + 8 -14.2 cm 43.9 cm 2.73 m 28.9 keV 4.39 keV 4.22 mm 7.29 cm WorldPV eIoni + 9 -14.1 cm 44 cm 2.73 m 25.6 keV 3.31 keV 3.34 mm 7.63 cm WorldPV eIoni + 10 -14 cm 44.2 cm 2.73 m 23.4 keV 2.18 keV 2.74 mm 7.9 cm WorldPV eIoni + 11 -14.1 cm 44.4 cm 2.73 m 20 keV 3.44 keV 2.39 mm 8.14 cm WorldPV eIoni + 12 -14.2 cm 44.5 cm 2.73 m 17.5 keV 2.46 keV 1.87 mm 8.33 cm WorldPV eIoni + 13 -14.2 cm 44.6 cm 2.73 m 15.4 keV 2.1 keV 1.54 mm 8.48 cm WorldPV eIoni + 14 -14.2 cm 44.6 cm 2.73 m 12.9 keV 2.55 keV 1.3 mm 8.61 cm WorldPV eIoni + 15 -14.2 cm 44.7 cm 2.74 m 11.7 keV 1.13 keV 1.03 mm 8.72 cm WorldPV eIoni + 16 -14.2 cm 44.7 cm 2.74 m 10.5 keV 1.2 keV 920 mum 8.81 cm WorldPV eIoni + 17 -14.1 cm 44.7 cm 2.74 m 8.26 keV 2.27 keV 814 mum 8.89 cm WorldPV eIoni + 18 -14.1 cm 44.8 cm 2.74 m 5.69 keV 2.57 keV 632 mum 8.95 cm WorldPV eIoni + 19 -14.1 cm 44.8 cm 2.74 m 1.9 keV 3.79 keV 459 mum 9 cm WorldPV eIoni + 20 -14.1 cm 44.8 cm 2.74 m 0 eV 1.9 keV 150 mum 9.01 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.2 cm 41.5 cm 2.25 m 12 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -16.1 cm 41.5 cm 2.25 m 10.5 keV 1.49 keV 947 mum 947 mum Tracker eIoni + 2 -16.1 cm 41.6 cm 2.25 m 8.83 keV 1.71 keV 815 mum 1.76 mm Tracker eIoni + 3 -16 cm 41.6 cm 2.25 m 6.71 keV 2.12 keV 677 mum 2.44 mm Tracker eIoni + 4 -16 cm 41.6 cm 2.25 m 2.21 keV 4.5 keV 525 mum 2.96 mm Tracker eIoni + 5 -16 cm 41.6 cm 2.25 m 0 eV 2.21 keV 189 mum 3.15 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16 cm 40.3 cm 2 m 64.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -15.4 cm 39.4 cm 2.01 m 58.1 keV 6.37 keV 1.31 cm 1.31 cm Tracker eIoni + 2 -14.8 cm 38.8 cm 2.01 m 52.7 keV 5.42 keV 1.09 cm 2.4 cm Tracker eIoni + 3 -15 cm 38 cm 2.02 m 49 keV 3.67 keV 9.19 mm 3.32 cm Tracker eIoni + 4 -15 cm 38 cm 2.02 m 43.4 keV 5.6 keV 8.14 mm 4.14 cm Tracker eIoni + 5 -14.7 cm 37.5 cm 2.02 m 38.4 keV 4.98 keV 6.58 mm 4.79 cm Tracker eIoni + 6 -14.4 cm 37.3 cm 2.03 m 35.1 keV 3.31 keV 5.36 mm 5.33 cm Tracker eIoni + 7 -14.2 cm 37 cm 2.03 m 30.4 keV 4.66 keV 4.6 mm 5.79 cm Tracker eIoni + 8 -14.1 cm 36.9 cm 2.03 m 16.4 keV 2.05 keV 2.05 mm 5.99 cm Tracker eIoni + 9 -14 cm 36.9 cm 2.03 m 13.4 keV 2.98 keV 1.41 mm 6.13 cm Tracker eIoni + 10 -13.9 cm 36.8 cm 2.03 m 10.9 keV 2.48 keV 1.08 mm 6.24 cm Tracker eIoni + 11 -13.9 cm 36.7 cm 2.03 m 6.92 keV 4.01 keV 850 mum 6.33 cm Tracker eIoni + 12 -13.9 cm 36.7 cm 2.03 m 5.19 keV 1.73 keV 539 mum 6.38 cm Tracker eIoni + 13 -13.9 cm 36.7 cm 2.03 m 3.32 keV 1.88 keV 429 mum 6.43 cm Tracker eIoni + 14 -13.9 cm 36.7 cm 2.03 m 156 eV 3.16 keV 303 mum 6.46 cm Tracker eIoni + 15 -13.9 cm 36.7 cm 2.03 m 0 eV 156 eV 12.6 mum 6.46 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 80 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 cm 36.9 cm 2.03 m 12 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -14.2 cm 36.8 cm 2.03 m 10.4 keV 1.61 keV 943 mum 943 mum Tracker eIoni + 2 -14.2 cm 36.8 cm 2.03 m 8.66 keV 1.72 keV 801 mum 1.74 mm Tracker eIoni + 3 -14.2 cm 36.8 cm 2.03 m 6.92 keV 1.74 keV 663 mum 2.41 mm Tracker eIoni + 4 -14.3 cm 36.8 cm 2.03 m 5.33 keV 1.59 keV 539 mum 2.95 mm Tracker eIoni + 5 -14.3 cm 36.8 cm 2.03 m 3.75 keV 1.59 keV 438 mum 3.38 mm Tracker eIoni + 6 -14.2 cm 36.8 cm 2.03 m 2.06 keV 1.69 keV 335 mum 3.72 mm Tracker eIoni + 7 -14.2 cm 36.8 cm 2.03 m 0 eV 2.06 keV 170 mum 3.89 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.5 cm 37.9 cm 1.61 m 9.26 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -15.5 cm 37.9 cm 1.61 m 7.93 keV 1.32 keV 501 mum 501 mum Chamber eIoni + 2 -15.5 cm 37.9 cm 1.61 m 2.41 keV 5.52 keV 449 mum 950 mum Chamber eIoni + 3 -15.5 cm 37.9 cm 1.61 m 0 eV 2.41 keV 153 mum 1.1 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.1 cm 36.3 cm 1.4 m 18.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -15.2 cm 36.5 cm 1.4 m 15.6 keV 2.93 keV 1.68 mm 1.68 mm Tracker eIoni + 2 -15.2 cm 36.6 cm 1.4 m 14.5 keV 1.09 keV 1.32 mm 3 mm Tracker eIoni + 3 -15.1 cm 36.7 cm 1.4 m 11.5 keV 3.04 keV 1.2 mm 4.2 mm Tracker eIoni + 4 -15.1 cm 36.7 cm 1.4 m 9.31 keV 2.18 keV 898 mum 5.1 mm Tracker eIoni + 5 -15.1 cm 36.6 cm 1.4 m 7.71 keV 1.6 keV 714 mum 5.81 mm Tracker eIoni + 6 -15.2 cm 36.6 cm 1.4 m 6.67 keV 1.04 keV 594 mum 6.41 mm Tracker eIoni + 7 -15.2 cm 36.6 cm 1.4 m 4.25 keV 2.41 keV 523 mum 6.93 mm Tracker eIoni + 8 -15.2 cm 36.6 cm 1.4 m 1.89 keV 2.36 keV 369 mum 7.3 mm Tracker eIoni + 9 -15.2 cm 36.6 cm 1.4 m 0 eV 1.89 keV 149 mum 7.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14 cm 33 cm 92.9 cm 17.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -13.9 cm 33 cm 93 cm 14.3 keV 3.61 keV 908 mum 908 mum Chamber eIoni + 2 -13.9 cm 33 cm 92.9 cm 9.83 keV 4.45 keV 721 mum 1.63 mm Chamber eIoni + 3 -13.9 cm 33 cm 92.9 cm 0 eV 9.83 keV 524 mum 2.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.3 cm 26.2 cm 7.25 cm 131 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.6 cm 27 cm 17.4 cm 89.1 keV 0 eV 10.2 cm 10.2 cm Chamber compt + 2 -4.63 cm 15.7 cm 0 fm 89.1 keV 0 eV 21.9 cm 32.1 cm TrackerTransportation + 3 19.2 cm -23.1 cm -60 cm 89.1 keV 0 eV 75.3 cm 1.07 m ChamberTransportation + 4 21.9 cm -27.4 cm -66.7 cm 0 eV 34.6 keV 8.4 cm 1.16 m Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.9 cm -27.4 cm -66.7 cm 54.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 22.2 cm -27.5 cm -66.8 cm 50.6 keV 3.94 keV 4.09 mm 4.09 mm Chamber eIoni + 2 22.3 cm -27.5 cm -66.6 cm 43.2 keV 7.4 keV 3.64 mm 7.73 mm Chamber eIoni + 3 22.4 cm -27.5 cm -66.4 cm 34.8 keV 8.36 keV 2.87 mm 1.06 cm Chamber eIoni + 4 22.4 cm -27.6 cm -66.4 cm 30.7 keV 4.15 keV 2.1 mm 1.27 cm Chamber eIoni + 5 22.4 cm -27.7 cm -66.4 cm 28.4 keV 2.28 keV 1.76 mm 1.45 cm Chamber eIoni + 6 22.4 cm -27.8 cm -66.3 cm 27.3 keV 1.07 keV 1.59 mm 1.61 cm Chamber eIoni + 7 22.4 cm -27.9 cm -66.4 cm 22.2 keV 5.08 keV 1.51 mm 1.76 cm Chamber eIoni + 8 22.4 cm -27.9 cm -66.4 cm 19.7 keV 2.55 keV 1.17 mm 1.87 cm Chamber eIoni + 9 22.4 cm -27.9 cm -66.4 cm 0 eV 19.7 keV 1.01 mm 1.97 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.6 cm 27 cm 17.4 cm 42.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.7 cm 26.9 cm 17.6 cm 35.7 keV 6.52 keV 2.78 mm 2.78 mm Chamber eIoni + 2 -11.7 cm 27 cm 17.7 cm 31.5 keV 4.16 keV 2.18 mm 4.95 mm Chamber eIoni + 3 -11.6 cm 27.1 cm 17.7 cm 26 keV 5.51 keV 1.83 mm 6.79 mm Chamber eIoni + 4 -11.7 cm 27.1 cm 17.7 cm 25.8 keV 218 eV 1.42 mm 8.21 mm Chamber eIoni + 5 -11.8 cm 27.1 cm 17.7 cm 20.6 keV 5.22 keV 1.4 mm 9.61 mm Chamber eIoni + 6 -11.8 cm 27.1 cm 17.7 cm 14.4 keV 6.22 keV 1.06 mm 1.07 cm Chamber eIoni + 7 -11.8 cm 27 cm 17.7 cm 12.4 keV 1.97 keV 725 mum 1.14 cm Chamber eIoni + 8 -11.8 cm 27 cm 17.8 cm 9.58 keV 2.8 keV 633 mum 1.2 cm Chamber eIoni + 9 -11.8 cm 27.1 cm 17.8 cm 8.01 keV 1.57 keV 514 mum 1.25 cm Chamber eIoni + 10 -11.8 cm 27 cm 17.8 cm 5.5 keV 2.51 keV 452 mum 1.3 cm Chamber eIoni + 11 -11.8 cm 27 cm 17.8 cm 3.26 keV 2.23 keV 351 mum 1.33 cm Chamber eIoni + 12 -11.8 cm 27 cm 17.8 cm 2.28 keV 984 eV 227 mum 1.36 cm Chamber eIoni + 13 -11.8 cm 27 cm 17.8 cm 0 eV 2.28 keV 141 mum 1.37 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.5 cm 23 cm -28.2 cm 28.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.8 cm 22.9 cm -28.2 cm 26.3 keV 1.83 keV 3.2 mm 3.2 mm Tracker eIoni + 2 -11 cm 23 cm -28.2 cm 23.4 keV 2.91 keV 2.87 mm 6.06 mm Tracker eIoni + 3 -11.1 cm 23.1 cm -28 cm 22 keV 1.41 keV 2.38 mm 8.45 mm Tracker eIoni + 4 -11.2 cm 23.1 cm -27.8 cm 17.5 keV 4.5 keV 2.17 mm 1.06 cm Tracker eIoni + 5 -11.3 cm 23.1 cm -27.7 cm 14.8 keV 2.64 keV 1.54 mm 1.22 cm Tracker eIoni + 6 -11.4 cm 23.1 cm -27.6 cm 13 keV 1.8 keV 1.23 mm 1.34 cm Tracker eIoni + 7 -11.4 cm 23 cm -27.6 cm 11.7 keV 1.32 keV 1.05 mm 1.44 cm Tracker eIoni + 8 -11.5 cm 23 cm -27.5 cm 10.1 keV 1.64 keV 919 mum 1.54 cm Tracker eIoni + 9 -11.5 cm 23 cm -27.4 cm 7.69 keV 2.4 keV 775 mum 1.61 cm Tracker eIoni + 10 -11.4 cm 23 cm -27.4 cm 6.11 keV 1.58 keV 593 mum 1.67 cm Tracker eIoni + 11 -11.5 cm 23 cm -27.4 cm 3.87 keV 2.25 keV 487 mum 1.72 cm Tracker eIoni + 12 -11.5 cm 23 cm -27.4 cm 1.13 keV 2.73 keV 343 mum 1.76 cm Tracker eIoni + 13 -11.5 cm 23 cm -27.4 cm 0 eV 1.13 keV 72.2 mum 1.76 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.97 cm 21.2 cm -48.5 cm 9.85 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10 cm 21.2 cm -48.4 cm 8.87 keV 982 eV 756 mum 756 mum Tracker eIoni + 2 -10.1 cm 21.2 cm -48.4 cm 6.49 keV 2.38 keV 680 mum 1.44 mm Tracker eIoni + 3 -10.1 cm 21.1 cm -48.4 cm 5.39 keV 1.1 keV 511 mum 1.95 mm Tracker eIoni + 4 -10.1 cm 21.1 cm -48.4 cm 3.84 keV 1.54 keV 441 mum 2.39 mm Tracker eIoni + 5 -10.2 cm 21.1 cm -48.4 cm 1.16 keV 2.68 keV 342 mum 2.73 mm Tracker eIoni + 6 -10.1 cm 21.1 cm -48.4 cm 0 eV 1.16 keV 74.4 mum 2.8 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.89 cm 20.9 cm -51.8 cm 8.73 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -9.95 cm 20.9 cm -51.8 cm 7.29 keV 1.44 keV 669 mum 669 mum Tracker eIoni + 2 -9.97 cm 20.9 cm -51.8 cm 4.31 keV 2.98 keV 565 mum 1.23 mm Tracker eIoni + 3 -9.97 cm 20.9 cm -51.7 cm 2.62 keV 1.69 keV 373 mum 1.61 mm Tracker eIoni + 4 -9.95 cm 20.9 cm -51.7 cm 981 eV 1.64 keV 240 mum 1.85 mm Tracker eIoni + 5 -9.95 cm 20.9 cm -51.7 cm 0 eV 981 eV 59.8 mum 1.91 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.82 cm 20.7 cm -54.4 cm 52.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.7 cm 20.8 cm -54.5 cm 46.7 keV 5.4 keV 9.01 mm 9.01 mm Tracker eIoni + 2 -11.2 cm 21 cm -54.1 cm 40.9 keV 5.82 keV 7.49 mm 1.65 cm Tracker eIoni + 3 -11.8 cm 21.1 cm -53.9 cm 35.5 keV 5.4 keV 5.96 mm 2.25 cm Tracker eIoni + 4 -12.1 cm 21.5 cm -54 cm 31.1 keV 4.39 keV 4.67 mm 2.71 cm Tracker eIoni + 5 -12.3 cm 21.8 cm -54.1 cm 27.1 keV 4.01 keV 3.75 mm 3.09 cm Tracker eIoni + 6 -12.1 cm 22 cm -54 cm 23 keV 4.04 keV 3 mm 3.39 cm Tracker eIoni + 7 -12.1 cm 22.2 cm -54.1 cm 18.7 keV 4.33 keV 2.32 mm 3.62 cm Tracker eIoni + 8 -12.1 cm 22.3 cm -54.1 cm 15.4 keV 3.24 keV 1.7 mm 3.79 cm Tracker eIoni + 9 -12 cm 22.4 cm -54.1 cm 14.1 keV 1.36 keV 1.3 mm 3.92 cm Tracker eIoni + 10 -12 cm 22.5 cm -54.2 cm 10.8 keV 3.28 keV 1.15 mm 4.04 cm Tracker eIoni + 11 -12 cm 22.6 cm -54.2 cm 9.08 keV 1.72 keV 838 mum 4.12 cm Tracker eIoni + 12 -12 cm 22.6 cm -54.3 cm 6.73 keV 2.35 keV 696 mum 4.19 cm Tracker eIoni + 13 -12 cm 22.6 cm -54.3 cm 5.49 keV 1.24 keV 527 mum 4.24 cm Tracker eIoni + 14 -12 cm 22.6 cm -54.3 cm 2.65 keV 2.85 keV 448 mum 4.29 cm Tracker eIoni + 15 -12 cm 22.6 cm -54.3 cm 218 eV 2.43 keV 243 mum 4.31 cm Tracker eIoni + 16 -12 cm 22.6 cm -54.3 cm 0 eV 218 eV 14.9 mum 4.31 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.99 cm 18.6 cm -74.3 cm 10 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -8.99 cm 18.6 cm -74.3 cm 5.04 keV 4.97 keV 531 mum 531 mum Chamber eIoni + 2 -8.97 cm 18.7 cm -74.3 cm 3.89 keV 1.15 keV 330 mum 861 mum Chamber eIoni + 3 -8.97 cm 18.6 cm -74.3 cm 3.07 keV 825 eV 270 mum 1.13 mm Chamber eIoni + 4 -8.97 cm 18.6 cm -74.3 cm 0 eV 3.07 keV 211 mum 1.34 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.25 cm 10.4 cm -1.47 m 11.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -5.25 cm 10.4 cm -1.47 m 0 eV 11.7 keV 904 mum 904 mum Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 217 mum 189 mum -2.4 m 1.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 109 mum 199 mum -2.4 m 954 keV 0 eV 2.73 mm 2.73 mm TargetPV compt + 2 74.4 mum -971 nm -2.4 m 954 keV 0 eV 294 mum 3.02 mm TrackerTransportation + 3 -41.3 cm -2.4 m 14.6 cm 954 keV 0 eV 3.52 m 3.53 m WorldPVTransportation + 4 -50 cm -2.91 m 68.7 cm 954 keV 0 eV 74.9 cm 4.27 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 109 mum 199 mum -2.4 m 1.01 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 240 mum 244 mum -2.4 m 618 keV 393 keV 416 mum 416 mum TargetPV eIoni + 2 173 mum 269 mum -2.4 m 262 keV 356 keV 314 mum 730 mum TargetPV eIoni + 3 171 mum 274 mum -2.4 m 0 eV 262 keV 120 mum 850 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 227 mum 185 mum -2.4 m 741 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 58.7 mum 210 mum -2.4 m 741 keV 0 eV 3.11 mm 3.11 mm TrackerTransportation + 2 -4.34 cm 6.75 mm -1.6 m 741 keV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -5.42 cm 8.38 mm -1.4 m 741 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -8.68 cm 1.33 cm -80 cm 741 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -9.76 cm 1.49 cm -60 cm 741 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -13 cm 1.98 cm 0.114 fm 741 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -14.1 cm 2.15 cm 20 cm 741 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -17.4 cm 2.64 cm 80 cm 741 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -18.4 cm 2.8 cm 1 m 741 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -21.7 cm 3.29 cm 1.6 m 741 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -22.8 cm 3.45 cm 1.8 m 741 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -26 cm 3.94 cm 2.4 m 741 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -28.8 cm 4.36 cm 2.91 m 741 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 225 mum 200 mum -2.4 m 19.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 111 mum 142 mum -2.4 m 19.6 MeV 0 eV 3.64 mm 3.64 mm TrackerTransportation + 2 -2.49 cm -1.27 cm -1.6 m 19.6 MeV 0 eV 80 cm 80.4 cm ChamberTransportation + 3 -3.12 cm -1.59 cm -1.4 m 19.6 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -4.99 cm -2.56 cm -80 cm 19.6 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -5.62 cm -2.88 cm -60 cm 19.6 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -7.49 cm -3.85 cm 0 fm 19.6 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -8.12 cm -4.17 cm 20 cm 19.6 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -10 cm -5.13 cm 80 cm 19.6 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -10.6 cm -5.45 cm 1 m 19.6 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -12.5 cm -6.42 cm 1.6 m 19.6 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -13.1 cm -6.74 cm 1.8 m 19.6 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -15 cm -7.71 cm 2.4 m 19.6 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -16.6 cm -8.53 cm 2.91 m 19.6 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 189 mum -2.4 m 98.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 149 mum 190 mum -2.4 m 77.5 MeV 40.4 keV 36.6 mum 36.6 mum TargetPV eBrem + 2 171 mum 197 mum -2.4 m 70.8 MeV 606 keV 333 mum 370 mum TargetPV eBrem + 3 173 mum 213 mum -2.4 m 66.3 MeV 282 keV 221 mum 591 mum TargetPV eBrem + 4 196 mum 230 mum -2.4 m 21.9 MeV 160 keV 164 mum 755 mum TargetPV eBrem + 5 607 mum 766 mum -2.4 m 15.3 MeV 2.1 MeV 1.57 mm 2.33 mm TargetPV eBrem + 6 766 mum 1.11 mm -2.4 m 11.5 MeV 1.03 MeV 893 mum 3.22 mm TargetPV eBrem + 7 792 mum 1.14 mm -2.4 m 11 MeV 107 keV 81.7 mum 3.3 mm TargetPV eBrem + 8 836 mum 1.21 mm -2.4 m 654 keV 274 keV 249 mum 3.55 mm TargetPV eBrem + 9 792 mum 1.27 mm -2.4 m 247 keV 407 keV 326 mum 3.88 mm TargetPV eIoni + 10 783 mum 1.27 mm -2.4 m 0 eV 247 keV 110 mum 3.99 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 836 mum 1.21 mm -2.4 m 10.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 378 mum 3.19 mm -2.4 m 10.1 MeV 0 eV 2.58 mm 2.58 mm TrackerTransportation + 2 -55.3 cm 2.4 m -48.7 cm 10.1 MeV 0 eV 3.12 m 3.12 m WorldPVTransportation + 3 -67.1 cm 2.91 m -7.98 cm 10.1 MeV 0 eV 66.3 cm 3.78 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 93, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 792 mum 1.14 mm -2.4 m 409 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 932 mum 1.23 mm -2.4 m 320 keV 89 keV 348 mum 348 mum TargetPV compt + 2 4.63 mm 3.08 mm -2.4 m 0 eV 320 keV 4.24 mm 4.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 766 mum 1.11 mm -2.4 m 2.71 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.02 mm 1.31 mm -2.4 m 1.85 MeV 859 keV 715 mum 715 mum TargetPV compt + 2 1.09 mm 1.31 mm -2.4 m 1.85 MeV 0 eV 1.24 mm 1.96 mm TrackerTransportation + 3 4.83 cm 2.52 mm -1.6 m 1.85 MeV 0 eV 80.1 cm 80.3 cm ChamberTransportation + 4 6.01 cm 2.82 mm -1.4 m 1.85 MeV 0 eV 20 cm 1 m TrackerTransportation + 5 9.54 cm 3.72 mm -80 cm 1.85 MeV 0 eV 60.1 cm 1.6 m ChamberTransportation + 6 10.7 cm 4.02 mm -60 cm 1.85 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 7 14.3 cm 4.93 mm 0 fm 1.85 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 8 15.4 cm 5.23 mm 20 cm 1.85 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 9 19 cm 6.14 mm 80 cm 1.85 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 10 20.2 cm 6.44 mm 1 m 1.85 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 11 23.7 cm 7.34 mm 1.6 m 1.85 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 12 24.9 cm 7.64 mm 1.8 m 1.85 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 13 28.4 cm 8.55 mm 2.4 m 1.85 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 14 31.4 cm 9.32 mm 2.91 m 1.85 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 607 mum 766 mum -2.4 m 4.51 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 934 mum 983 mum -2.4 m 4.51 MeV 0 eV 2.69 mm 2.69 mm TrackerTransportation + 2 9.9 cm 6.62 cm -1.6 m 4.51 MeV 0 eV 80.9 cm 81.1 cm ChamberTransportation + 3 12.3 cm 8.25 cm -1.4 m 4.51 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 19.7 cm 13.1 cm -80 cm 4.51 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 22.2 cm 14.8 cm -60 cm 4.51 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 29.5 cm 19.7 cm 0 fm 4.51 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 32 cm 21.3 cm 20 cm 4.51 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 39.3 cm 26.2 cm 80 cm 4.51 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 41.8 cm 27.8 cm 1 m 4.51 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 49.1 cm 32.7 cm 1.6 m 4.51 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 51.6 cm 34.3 cm 1.8 m 4.51 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 58.9 cm 39.2 cm 2.4 m 4.51 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 65.2 cm 43.4 cm 2.91 m 4.51 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 196 mum 230 mum -2.4 m 44.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 638 mum 690 mum -2.4 m 44.3 MeV 0 eV 4.1 mm 4.1 mm TrackerTransportation + 2 8.81 cm 9.16 cm -1.6 m 44.3 MeV 0 eV 81 cm 81.4 cm ChamberTransportation + 3 11 cm 11.4 cm -1.4 m 44.3 MeV 0 eV 20.2 cm 1.02 m TrackerTransportation + 4 17.6 cm 18.2 cm -80 cm 44.3 MeV 0 eV 60.7 cm 1.62 m ChamberTransportation + 5 19.8 cm 20.5 cm -60 cm 44.3 MeV 0 eV 20.2 cm 1.83 m TrackerTransportation + 6 26.3 cm 27.3 cm 0 fm 44.3 MeV 0 eV 60.7 cm 2.43 m ChamberTransportation + 7 28.5 cm 29.6 cm 20 cm 44.3 MeV 0 eV 20.2 cm 2.64 m TrackerTransportation + 8 35.1 cm 36.4 cm 80 cm 44.3 MeV 0 eV 60.7 cm 3.24 m ChamberTransportation + 9 37.3 cm 38.7 cm 1 m 44.3 MeV 0 eV 20.2 cm 3.45 m TrackerTransportation + 10 43.8 cm 45.5 cm 1.6 m 44.3 MeV 0 eV 60.7 cm 4.05 m ChamberTransportation + 11 46 cm 47.8 cm 1.8 m 44.3 MeV 0 eV 20.2 cm 4.26 m TrackerTransportation + 12 52.6 cm 54.6 cm 2.4 m 44.3 MeV 0 eV 60.7 cm 4.86 m WorldPVTransportation + 13 58.1 cm 60.4 cm 2.91 m 44.3 MeV 0 eV 51.6 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 173 mum 213 mum -2.4 m 4.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 633 mum 606 mum -2.4 m 4.18 MeV 0 eV 4.25 mm 4.25 mm TrackerTransportation + 2 8.81 cm 7.53 cm -1.6 m 4.18 MeV 0 eV 80.8 cm 81.2 cm ChamberTransportation + 3 11 cm 9.4 cm -1.4 m 4.18 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 17.6 cm 15 cm -80 cm 4.18 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 19.7 cm 16.9 cm -60 cm 4.18 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 26.3 cm 22.5 cm 0 fm 4.18 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 28.5 cm 24.3 cm 20 cm 4.18 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 35 cm 29.9 cm 80 cm 4.18 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 37.2 cm 31.8 cm 1 m 4.18 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 43.8 cm 37.4 cm 1.6 m 4.18 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 46 cm 39.3 cm 1.8 m 4.18 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 52.5 cm 44.9 cm 2.4 m 4.18 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 58.1 cm 49.7 cm 2.91 m 4.18 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 171 mum 197 mum -2.4 m 6.15 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 385 mum 482 mum -2.4 m 6.15 MeV 0 eV 4.44 mm 4.44 mm TrackerTransportation + 2 3.91 cm 5.19 cm -1.6 m 6.15 MeV 0 eV 80.3 cm 80.7 cm ChamberTransportation + 3 4.88 cm 6.48 cm -1.4 m 6.15 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 7.78 cm 10.3 cm -80 cm 6.15 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 8.75 cm 11.6 cm -60 cm 6.15 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 11.7 cm 15.5 cm 0 fm 6.15 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 12.6 cm 16.8 cm 20 cm 6.15 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 15.5 cm 20.6 cm 80 cm 6.15 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 16.5 cm 21.9 cm 1 m 6.15 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 19.4 cm 25.8 cm 1.6 m 6.15 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 20.4 cm 27.1 cm 1.8 m 6.15 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 23.3 cm 30.9 cm 2.4 m 6.15 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 25.7 cm 34.2 cm 2.91 m 6.15 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 65 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 149 mum 190 mum -2.4 m 20.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 234 mum 283 mum -2.4 m 20.7 MeV 0 eV 4.76 mm 4.76 mm TrackerTransportation + 2 1.45 cm 1.6 cm -1.6 m 20.7 MeV 0 eV 80 cm 80.5 cm ChamberTransportation + 3 1.8 cm 1.99 cm -1.4 m 20.7 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.87 cm 3.17 cm -80 cm 20.7 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 3.23 cm 3.56 cm -60 cm 20.7 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 4.29 cm 4.73 cm -0.114 fm 20.7 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 4.65 cm 5.13 cm 20 cm 20.7 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 5.72 cm 6.3 cm 80 cm 20.7 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 6.07 cm 6.7 cm 1 m 20.7 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 7.14 cm 7.87 cm 1.6 m 20.7 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 7.5 cm 8.26 cm 1.8 m 20.7 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 8.56 cm 9.44 cm 2.4 m 20.7 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 9.47 cm 10.4 cm 2.91 m 20.7 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.7 mum 21.1 mum -2.41 m 1.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 147 mum 289 mum -2.4 m 1.4 MeV 0 eV 1.15 cm 1.15 cm TrackerTransportation + 2 8.13 mm 1.89 cm -1.6 m 1.4 MeV 0 eV 80 cm 81.2 cm ChamberTransportation + 3 1.01 cm 2.36 cm -1.4 m 1.4 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 1.61 cm 3.76 cm -80 cm 1.4 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 1.81 cm 4.22 cm -60 cm 1.4 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 2.41 cm 5.62 cm 0 fm 1.4 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 2.61 cm 6.09 cm 20 cm 1.4 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 3.21 cm 7.49 cm 80 cm 1.4 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 3.41 cm 7.95 cm 1 m 1.4 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 4.01 cm 9.35 cm 1.6 m 1.4 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 4.21 cm 9.82 cm 1.8 m 1.4 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 4.81 cm 11.2 cm 2.4 m 1.4 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 5.32 cm 12.4 cm 2.91 m 1.4 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.5 mum 7.96 mum -2.41 m 14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 220 mum 221 mum -2.4 m 0 eV 1.25 MeV 1.01 cm 1.01 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 95, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 220 mum 221 mum -2.4 m 11.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 346 mum 776 mum -2.4 m 8.99 MeV 2.73 MeV 2.03 mm 2.03 mm TargetPV eIoni + 2 435 mum 749 mum -2.4 m 8.45 MeV 538 keV 328 mum 2.36 mm TrackerTransportation + 3 48.3 cm 39.8 cm -1.17 m 8.18 MeV 256 keV 1.38 m 1.39 m Tracker eIoni + 4 64.2 cm 57.5 cm -80 cm 8.1 MeV 78.4 keV 44.1 cm 1.83 m ChamberTransportation + 5 67.2 cm 62.1 cm -72.4 cm 8.05 MeV 47.7 keV 9.44 cm 1.92 m TrackerTransportation + 6 1.03 m 1.05 m 0 fm 7.88 MeV 168 keV 91.6 cm 2.84 m ChamberTransportation + 7 1.07 m 1.1 m 7.79 cm 7.84 MeV 47.9 keV 10.4 cm 2.94 m TrackerTransportation + 8 1.47 m 1.58 m 65.2 cm 7.66 MeV 155 keV 84.9 cm 3.79 m Tracker eIoni + 9 1.56 m 1.66 m 77.5 cm 7.62 MeV 26.2 keV 17.1 cm 3.96 m Tracker eIoni + 10 2.21 m 2.16 m 1.71 m 7.37 MeV 229 keV 1.25 m 5.21 m Tracker eIoni + 11 2.4 m 2.28 m 1.94 m 7.32 MeV 55.5 keV 31.7 cm 5.53 m WorldPVTransportation + 12 2.91 m 2.58 m 2.51 m 7.17 MeV 152 keV 83 cm 6.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.21 m 2.16 m 1.71 m 15.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.21 m 2.16 m 1.72 m 13.6 keV 1.8 keV 1.3 mm 1.3 mm Tracker eIoni + 2 2.21 m 2.16 m 1.72 m 11.8 keV 1.83 keV 1.11 mm 2.41 mm Tracker eIoni + 3 2.21 m 2.16 m 1.72 m 10.7 keV 1.07 keV 927 mum 3.34 mm Tracker eIoni + 4 2.21 m 2.16 m 1.72 m 9.41 keV 1.33 keV 833 mum 4.17 mm Tracker eIoni + 5 2.21 m 2.16 m 1.72 m 6.99 keV 2.42 keV 722 mum 4.89 mm Tracker eIoni + 6 2.21 m 2.16 m 1.72 m 4.94 keV 2.06 keV 544 mum 5.44 mm Tracker eIoni + 7 2.21 m 2.16 m 1.72 m 2.44 keV 2.5 keV 413 mum 5.85 mm Tracker eIoni + 8 2.21 m 2.16 m 1.72 m 157 eV 2.28 keV 220 mum 6.07 mm Tracker eIoni + 9 2.21 m 2.16 m 1.72 m 0 eV 157 eV 12.6 mum 6.08 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.56 m 1.66 m 77.5 cm 15.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.56 m 1.66 m 77.5 cm 13.4 keV 2.24 keV 1.33 mm 1.33 mm Tracker eIoni + 2 1.56 m 1.66 m 77.4 cm 11.6 keV 1.87 keV 1.09 mm 2.42 mm Tracker eIoni + 3 1.56 m 1.66 m 77.4 cm 9.55 keV 2.01 keV 904 mum 3.32 mm Tracker eIoni + 4 1.56 m 1.66 m 77.4 cm 6.61 keV 2.95 keV 733 mum 4.05 mm Tracker eIoni + 5 1.56 m 1.66 m 77.4 cm 5.87 keV 742 eV 519 mum 4.57 mm Tracker eIoni + 6 1.56 m 1.66 m 77.3 cm 510 eV 5.36 keV 471 mum 5.04 mm Tracker eIoni + 7 1.56 m 1.66 m 77.3 cm 0 eV 510 eV 28.3 mum 5.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.47 m 1.58 m 65.2 cm 19.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.48 m 1.58 m 65 cm 15.8 keV 3.93 keV 1.84 mm 1.84 mm Tracker eIoni + 2 1.48 m 1.58 m 64.9 cm 13.3 keV 2.51 keV 1.34 mm 3.18 mm Tracker eIoni + 3 1.48 m 1.58 m 64.8 cm 11.3 keV 2 keV 1.07 mm 4.26 mm Tracker eIoni + 4 1.48 m 1.58 m 64.7 cm 8.86 keV 2.43 keV 881 mum 5.14 mm Tracker eIoni + 5 1.48 m 1.58 m 64.7 cm 5.7 keV 3.16 keV 679 mum 5.82 mm Tracker eIoni + 6 1.48 m 1.58 m 64.7 cm 3.63 keV 2.06 keV 460 mum 6.28 mm Tracker eIoni + 7 1.48 m 1.58 m 64.7 cm 3.52 eV 3.63 keV 327 mum 6.6 mm Tracker eIoni + 8 1.48 m 1.58 m 64.7 cm 0 eV 3.52 eV 1.89 mum 6.6 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.3 cm 39.8 cm -1.17 m 16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 48.4 cm 39.9 cm -1.17 m 14.9 keV 1.07 keV 1.37 mm 1.37 mm Tracker eIoni + 2 48.4 cm 40 cm -1.17 m 13.8 keV 1.18 keV 1.24 mm 2.61 mm Tracker eIoni + 3 48.3 cm 40 cm -1.17 m 12 keV 1.76 keV 1.12 mm 3.73 mm Tracker eIoni + 4 48.3 cm 40 cm -1.17 m 10.3 keV 1.7 keV 943 mum 4.67 mm Tracker eIoni + 5 48.2 cm 40 cm -1.17 m 9.29 keV 1 keV 793 mum 5.47 mm Tracker eIoni + 6 48.1 cm 40 cm -1.17 m 7.58 keV 1.71 keV 713 mum 6.18 mm Tracker eIoni + 7 48.1 cm 40 cm -1.17 m 6.34 keV 1.24 keV 585 mum 6.76 mm Tracker eIoni + 8 48.1 cm 40 cm -1.17 m 3.56 keV 2.78 keV 502 mum 7.27 mm Tracker eIoni + 9 48.1 cm 40 cm -1.17 m 0 eV 3.56 keV 322 mum 7.59 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.02 mum 1.98 mum -2.41 m 583 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 151 mum 70.9 mum -2.4 m 458 keV 125 keV 1.09 cm 1.09 cm TargetPV compt + 2 -1.4 mm 531 mum -2.4 m 458 keV 0 eV 2.52 mm 1.35 cm TrackerTransportation + 3 -2.4 m 71.3 cm 59.4 cm 458 keV 0 eV 3.9 m 3.92 m WorldPVTransportation + 4 -2.91 m 86.5 cm 1.23 m 458 keV 0 eV 83 cm 4.74 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.06 mum 2.52 mum -2.41 m 1.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 46.9 mum -24.9 mum -2.41 m 972 keV 48.6 keV 5.54 mm 5.54 mm TargetPV compt + 2 -217 mum 651 mum -2.4 m 378 keV 595 keV 3.39 mm 8.93 mm TargetPV compt + 3 7.59 mm -4.92 mm -2.4 m 0 eV 378 keV 1.02 cm 1.92 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.08 mum 4.59 mum -2.41 m 610 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -233 mum 144 mum -2.4 m 610 keV 0 eV 1.4 cm 1.4 cm TrackerTransportation + 2 -1.39 cm 8.1 mm -1.6 m 610 keV 0 eV 80 cm 81.4 cm ChamberTransportation + 3 -1.73 cm 1.01 cm -1.4 m 610 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.75 cm 1.61 cm -80 cm 610 keV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.09 cm 1.8 cm -60 cm 610 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.11 cm 2.4 cm -0.114 fm 610 keV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -4.45 cm 2.6 cm 20 cm 610 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.47 cm 3.2 cm 80 cm 610 keV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -5.82 cm 3.4 cm 1 m 610 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -6.84 cm 3.99 cm 1.6 m 610 keV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -7.18 cm 4.19 cm 1.8 m 610 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.2 cm 4.79 cm 2.4 m 610 keV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -9.07 cm 5.3 cm 2.91 m 610 keV 0 eV 51 cm 5.33 m OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -952 nm 34.2 cm 1.52 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.49 cm 10.1 mum 34.2 cm 0 eV 1.52 keV 109 mum 109 mum Tracker eIoni + 0 111 nm -877 nm -2.41 m 1.24 GeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.24 mum -2.78 mum -2.41 m 1.23 GeV 1.36 MeV 728 mum 728 mum TargetPV eBrem + 2 -2.05 mum -2.34 mum -2.41 m 964 MeV 1.29 MeV 89.6 mum 818 mum TargetPV eBrem + 3 -1.67 mum -2.35 mum -2.41 m 899 MeV 149 keV 127 mum 945 mum TargetPV eBrem + 4 -1.59 mum -2.44 mum -2.41 m 897 MeV 47.1 keV 35.7 mum 981 mum TargetPV eBrem + 5 -1.49 mum -2.53 mum -2.41 m 855 MeV 34.7 keV 29.1 mum 1.01 mm TargetPV eBrem + 6 -2.07 mum -2.63 mum -2.41 m 854 MeV 390 keV 295 mum 1.3 mm TargetPV eBrem + 7 -5.42 mum -7.38 mum -2.41 m 848 MeV 669 keV 617 mum 1.92 mm TargetPV eBrem + 8 -6.8 mum -7.95 mum -2.41 m 327 MeV 193 keV 173 mum 2.09 mm TargetPV eBrem + 9 -6.93 mum -25.9 mum -2.41 m 198 MeV 1.17 MeV 993 mum 3.09 mm TargetPV eBrem + 10 -36.9 mum 86.7 mum -2.41 m 169 MeV 3.41 MeV 2.26 mm 5.35 mm TargetPV eBrem + 11 -52.1 mum 106 mum -2.41 m 156 MeV 255 keV 247 mum 5.6 mm TargetPV eBrem + 12 -180 mum 130 mum -2.41 m 146 MeV 2.15 MeV 1.37 mm 6.96 mm TargetPV eBrem + 13 -185 mum 137 mum -2.41 m 141 MeV 94.7 keV 71.7 mum 7.04 mm TargetPV eBrem + 14 -200 mum 179 mum -2.41 m 68.5 MeV 881 keV 745 mum 7.78 mm TargetPV eBrem + 15 -231 mum 229 mum -2.41 m 63.3 MeV 539 keV 456 mum 8.24 mm TargetPV eBrem + 16 -279 mum 251 mum -2.41 m 61.6 MeV 631 keV 395 mum 8.63 mm TargetPV eBrem + 17 -299 mum 184 mum -2.41 m 61 MeV 200 keV 169 mum 8.8 mm TargetPV eBrem + 18 -315 mum -142 mum -2.4 m 55.9 MeV 1.53 MeV 1.04 mm 9.84 mm TargetPV eBrem + 19 -235 mum -231 mum -2.4 m 50.1 MeV 436 keV 390 mum 1.02 cm TargetPV eBrem + 20 158 mum -402 mum -2.4 m 44.8 MeV 1.38 MeV 1.03 mm 1.13 cm TargetPV eBrem + 21 621 mum -546 mum -2.4 m 40 MeV 2.84 MeV 1.79 mm 1.31 cm TargetPV eBrem + 22 726 mum -869 mum -2.4 m 23.4 MeV 1.68 MeV 1.22 mm 1.43 cm TargetPV eBrem + 23 607 mum -937 mum -2.4 m 22.6 MeV 763 keV 639 mum 1.49 cm TrackerTransportation + 24 -10.1 cm -3.46 cm -2.11 m 22.3 MeV 58.5 keV 30.5 cm 32 cm Tracker eIoni + 25 -58.9 cm -19.1 cm -92.7 cm 22 MeV 261 keV 1.29 m 1.61 m Tracker eIoni + 26 -63.4 cm -20.1 cm -80 cm 22 MeV 19.1 keV 13.5 cm 1.75 m ChamberTransportation + 27 -66.6 cm -20.6 cm -71.5 cm 21.9 MeV 54.5 keV 9.12 cm 1.84 m Chamber eBrem + 28 -67.2 cm -20.8 cm -69.6 cm 21.9 MeV 10.1 keV 2.01 cm 1.86 m TrackerTransportation + 29 -88.9 cm -28.5 cm 0.0335 fm 21.7 MeV 145 keV 73.3 cm 2.59 m ChamberTransportation + 30 -95.3 cm -30.6 cm 20 cm 21.6 MeV 113 keV 21.2 cm 2.8 m TrackerTransportation + 31 -1.09 m -38.7 cm 80 cm 21.4 MeV 125 keV 62.2 cm 3.43 m ChamberTransportation + 32 -1.14 m -40.4 cm 1 m 21.3 MeV 80.1 keV 20.6 cm 3.63 m TrackerTransportation + 33 -1.16 m -41.3 cm 1.07 m 21.3 MeV 11.9 keV 7.18 cm 3.7 m Tracker eIoni + 34 -1.31 m -49.7 cm 1.6 m 21.2 MeV 111 keV 55.8 cm 4.26 m ChamberTransportation + 35 -1.35 m -53.1 cm 1.8 m 20.7 MeV 103 keV 20.3 cm 4.47 m Chamber eBrem + 36 -1.35 m -53.2 cm 1.8 m 20.7 MeV 703 eV 4.86 mm 4.47 m TrackerTransportation + 37 -1.35 m -53.3 cm 1.81 m 20.7 MeV 488 eV 6.82 mm 4.48 m Tracker eIoni + 38 -1.48 m -62.7 cm 2.4 m 20.5 MeV 122 keV 61.4 cm 5.09 m WorldPVTransportation + 39 -1.58 m -71.5 cm 2.91 m 20.4 MeV 103 keV 52.7 cm 5.62 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m -53.3 cm 1.81 m 25.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.35 m -53.5 cm 1.81 m 23.6 keV 1.81 keV 2.7 mm 2.7 mm Tracker eIoni + 2 -1.35 m -53.7 cm 1.81 m 19.2 keV 4.38 keV 2.41 mm 5.1 mm Tracker eIoni + 3 -1.35 m -53.7 cm 1.81 m 16.8 keV 2.33 keV 1.77 mm 6.87 mm Tracker eIoni + 4 -1.34 m -53.8 cm 1.8 m 10 keV 6.85 keV 1.46 mm 8.33 mm Tracker eIoni + 5 -1.34 m -53.8 cm 1.8 m 8.97 keV 1.03 keV 767 mum 9.1 mm Tracker eIoni + 6 -1.34 m -53.8 cm 1.8 m 6.49 keV 2.48 keV 687 mum 9.79 mm Tracker eIoni + 7 -1.34 m -53.8 cm 1.8 m 3.92 keV 2.57 keV 511 mum 1.03 cm Tracker eIoni + 8 -1.34 m -53.8 cm 1.8 m 2.72 keV 1.21 keV 347 mum 1.06 cm Tracker eIoni + 9 -1.34 m -53.8 cm 1.8 m 40.7 eV 2.67 keV 250 mum 1.09 cm Tracker eIoni + 10 -1.34 m -53.8 cm 1.8 m 0 eV 40.7 eV 6.42 mum 1.09 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m -53.1 cm 1.8 m 404 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.35 m -53.2 cm 1.8 m 404 keV 0 eV 4.84 mm 4.84 mm TrackerTransportation + 2 -1.45 m -62.1 cm 2.4 m 404 keV 0 eV 61.6 cm 62 cm WorldPVTransportation + 3 -1.54 m -69.7 cm 2.91 m 404 keV 0 eV 52.3 cm 1.14 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.33 m -51.5 cm 1.71 m 9.99 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.33 m -51.5 cm 1.71 m 8.76 keV 1.23 keV 530 mum 530 mum Chamber eIoni + 2 -1.33 m -51.5 cm 1.71 m 8.2 keV 560 eV 481 mum 1.01 mm Chamber eIoni + 3 -1.33 m -51.5 cm 1.71 m 2.13 keV 6.07 keV 459 mum 1.47 mm Chamber eIoni + 4 -1.33 m -51.5 cm 1.71 m 0 eV 2.13 keV 128 mum 1.6 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.16 m -41.3 cm 1.07 m 12.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.16 m -41.3 cm 1.07 m 11.4 keV 864 eV 970 mum 970 mum Tracker eIoni + 2 -1.16 m -41.2 cm 1.07 m 9.63 keV 1.77 keV 891 mum 1.86 mm Tracker eIoni + 3 -1.16 m -41.1 cm 1.07 m 3.23 keV 6.4 keV 739 mum 2.6 mm Tracker eIoni + 4 -1.16 m -41.1 cm 1.07 m 1.7 keV 1.53 keV 296 mum 2.9 mm Tracker eIoni + 5 -1.16 m -41.1 cm 1.07 m 0 eV 1.7 keV 128 mum 3.02 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.13 m -39.9 cm 94.2 cm 14.4 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.13 m -39.9 cm 94.2 cm 11.1 keV 3.32 keV 727 mum 727 mum Chamber eIoni + 2 -1.13 m -39.9 cm 94.2 cm 6.83 keV 4.27 keV 578 mum 1.31 mm Chamber eIoni + 3 -1.13 m -39.9 cm 94.2 cm 4.41 keV 2.42 keV 405 mum 1.71 mm Chamber eIoni + 4 -1.13 m -39.9 cm 94.2 cm 2.42 keV 1.99 keV 300 mum 2.01 mm Chamber eIoni + 5 -1.13 m -39.9 cm 94.2 cm 0 eV 2.42 keV 153 mum 2.16 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -90.2 cm -28.9 cm 4.15 cm 37.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -90.2 cm -29.1 cm 4.06 cm 34.4 keV 3.34 keV 2.36 mm 2.36 mm Chamber eIoni + 2 -90.1 cm -28.9 cm 4.06 cm 30.9 keV 3.51 keV 2.07 mm 4.42 mm Chamber eIoni + 3 -90 cm -28.9 cm 3.99 cm 25 keV 5.82 keV 1.78 mm 6.2 mm Chamber eIoni + 4 -90 cm -28.9 cm 3.92 cm 23.4 keV 1.63 keV 1.35 mm 7.55 mm Chamber eIoni + 5 -90 cm -28.8 cm 3.95 cm 21.2 keV 2.2 keV 1.24 mm 8.79 mm Chamber eIoni + 6 -89.9 cm -28.9 cm 3.89 cm 17.7 keV 3.48 keV 1.1 mm 9.89 mm Chamber eIoni + 7 -89.9 cm -28.9 cm 3.93 cm 17.2 keV 571 eV 899 mum 1.08 cm Chamber eIoni + 8 -89.9 cm -28.9 cm 3.98 cm 15.1 keV 2.02 keV 868 mum 1.17 cm Chamber eIoni + 9 -89.9 cm -28.9 cm 4.01 cm 13.6 keV 1.54 keV 764 mum 1.24 cm Chamber eIoni + 10 -89.9 cm -28.9 cm 4.01 cm 12.5 keV 1.05 keV 690 mum 1.31 cm Chamber eIoni + 11 -89.8 cm -28.9 cm 4.03 cm 11 keV 1.53 keV 641 mum 1.38 cm Chamber eIoni + 12 -89.8 cm -28.9 cm 4.05 cm 9.74 keV 1.27 keV 574 mum 1.43 cm Chamber eIoni + 13 -89.8 cm -28.9 cm 4.08 cm 8.65 keV 1.09 keV 520 mum 1.48 cm Chamber eIoni + 14 -89.8 cm -28.9 cm 4.1 cm 6.49 keV 2.15 keV 477 mum 1.53 cm Chamber eIoni + 15 -89.8 cm -28.9 cm 4.1 cm 4.1 keV 2.4 keV 392 mum 1.57 cm Chamber eIoni + 16 -89.8 cm -28.9 cm 4.1 cm 1.77 keV 2.33 keV 283 mum 1.6 cm Chamber eIoni + 17 -89.8 cm -28.9 cm 4.1 cm 0 eV 1.77 keV 99.7 mum 1.61 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -66.6 cm -20.6 cm -71.5 cm 82.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -67.2 cm -20.8 cm -69.6 cm 82.5 keV 0 eV 1.97 cm 1.97 cm TrackerTransportation + 2 -88.8 cm -29.7 cm 0 fm 82.5 keV 0 eV 73.4 cm 75.4 cm ChamberTransportation + 3 -95 cm -32.2 cm 20 cm 82.5 keV 0 eV 21.1 cm 96.5 cm TrackerTransportation + 4 -1.14 m -39.9 cm 80 cm 82.5 keV 0 eV 63.3 cm 1.6 m ChamberTransportation + 5 -1.2 m -42.5 cm 1 m 82.5 keV 0 eV 21.1 cm 1.81 m TrackerTransportation + 6 -1.38 m -50.1 cm 1.6 m 82.5 keV 0 eV 63.3 cm 2.44 m ChamberTransportation + 7 -1.45 m -52.7 cm 1.8 m 82.5 keV 0 eV 21.1 cm 2.65 m TrackerTransportation + 8 -1.63 m -60.4 cm 2.4 m 82.5 keV 0 eV 63.3 cm 3.29 m WorldPVTransportation + 9 -1.79 m -66.9 cm 2.91 m 82.5 keV 0 eV 53.8 cm 3.82 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -58.9 cm -19.1 cm -92.7 cm 8.17 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -58.9 cm -19 cm -92.7 cm 6.93 keV 1.23 keV 626 mum 626 mum Tracker eIoni + 2 -58.9 cm -19 cm -92.7 cm 5.45 keV 1.48 keV 539 mum 1.17 mm Tracker eIoni + 3 -59 cm -19 cm -92.8 cm 1.63 keV 3.82 keV 445 mum 1.61 mm Tracker eIoni + 4 -59 cm -19 cm -92.8 cm 0 eV 1.63 keV 120 mum 1.73 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.1 cm -3.46 cm -2.11 m 286 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.86 cm -15.5 cm -2.05 m 252 keV 33.9 keV 16.1 cm 16.1 cm Tracker eIoni + 2 -5.64 mm -20.1 cm -2.02 m 221 keV 18.1 keV 6.45 cm 22.6 cm Tracker eIoni + 3 3.71 cm -24.9 cm -2 m 193 keV 18.3 keV 7.3 cm 29.9 cm Tracker eIoni + 4 11.4 cm -23.6 cm -2.02 m 167 keV 25.8 keV 8.54 cm 38.4 cm Tracker eIoni + 5 13 cm -29.2 cm -2 m 147 keV 19.9 keV 6.75 cm 45.2 cm Tracker eIoni + 6 11.2 cm -33.2 cm -2.02 m 122 keV 12.3 keV 5.24 cm 50.4 cm Tracker eIoni + 7 10.3 cm -36.9 cm -2.03 m 108 keV 13.6 keV 3.95 cm 54.3 cm Tracker eIoni + 8 8.6 cm -38.3 cm -2.01 m 95.8 keV 12.4 keV 3.21 cm 57.6 cm Tracker eIoni + 9 9.84 cm -37.1 cm -2.02 m 79.1 keV 16.7 keV 2.61 cm 60.2 cm Tracker eIoni + 10 10.8 cm -38.4 cm -2.03 m 69.8 keV 9.34 keV 1.87 cm 62 cm Tracker eIoni + 11 10.9 cm -39.8 cm -2.03 m 61.7 keV 8.05 keV 1.51 cm 63.5 cm Tracker eIoni + 12 10.3 cm -40.7 cm -2.03 m 55.4 keV 6.31 keV 1.21 cm 64.8 cm Tracker eIoni + 13 10.2 cm -41.6 cm -2.03 m 49 keV 6.37 keV 1.01 cm 65.8 cm Tracker eIoni + 14 10.1 cm -42.4 cm -2.03 m 40.6 keV 8.46 keV 8.16 mm 66.6 cm Tracker eIoni + 15 9.76 cm -42.8 cm -2.03 m 33.4 keV 7.18 keV 5.89 mm 67.2 cm Tracker eIoni + 16 9.41 cm -42.9 cm -2.03 m 29.2 keV 4.18 keV 4.24 mm 67.6 cm Tracker eIoni + 17 9.08 cm -42.9 cm -2.03 m 21.1 keV 8.07 keV 3.39 mm 67.9 cm Tracker eIoni + 18 8.96 cm -43.1 cm -2.03 m 18.6 keV 2.58 keV 2.03 mm 68.1 cm Tracker eIoni + 19 8.92 cm -43.2 cm -2.03 m 16.9 keV 1.69 keV 1.69 mm 68.3 cm Tracker eIoni + 20 8.8 cm -43.3 cm -2.03 m 12.9 keV 4.01 keV 1.47 mm 68.5 cm Tracker eIoni + 21 8.72 cm -43.3 cm -2.03 m 11.5 keV 1.35 keV 1.03 mm 68.6 cm Tracker eIoni + 22 8.64 cm -43.3 cm -2.03 m 9.79 keV 1.75 keV 902 mum 68.6 cm Tracker eIoni + 23 8.6 cm -43.4 cm -2.03 m 8.89 keV 895 eV 751 mum 68.7 cm Tracker eIoni + 24 8.63 cm -43.4 cm -2.03 m 2.27 keV 6.62 keV 681 mum 68.8 cm Tracker eIoni + 25 8.62 cm -43.4 cm -2.03 m 0 eV 2.27 keV 197 mum 68.8 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.2 cm -33.2 cm -2.02 m 13.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 11.1 cm -33.2 cm -2.02 m 11.9 keV 1.34 keV 1.07 mm 1.07 mm Tracker eIoni + 2 11 cm -33.1 cm -2.03 m 9.09 keV 2.8 keV 933 mum 2 mm Tracker eIoni + 3 11 cm -33.2 cm -2.03 m 4.93 keV 4.17 keV 697 mum 2.7 mm Tracker eIoni + 4 11 cm -33.1 cm -2.03 m 3.33 keV 1.6 keV 412 mum 3.11 mm Tracker eIoni + 5 11 cm -33.1 cm -2.03 m 732 eV 2.6 keV 304 mum 3.41 mm Tracker eIoni + 6 11 cm -33.1 cm -2.03 m 0 eV 732 eV 41.8 mum 3.45 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.71 cm -24.9 cm -2 m 9.96 keV 0 eV 0 fm 0 fm Tracker initStep + 1 3.72 cm -24.9 cm -2 m 6.19 keV 3.78 keV 764 mum 764 mum Tracker eIoni + 2 3.74 cm -25 cm -2 m 3.83 keV 2.36 keV 492 mum 1.26 mm Tracker eIoni + 3 3.73 cm -25 cm -2 m 3.06 keV 769 eV 341 mum 1.6 mm Tracker eIoni + 4 3.7 cm -25 cm -2 m 1.54 keV 1.52 keV 282 mum 1.88 mm Tracker eIoni + 5 3.7 cm -25 cm -2 m 0 eV 1.54 keV 111 mum 1.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.64 mm -20.1 cm -2.02 m 13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -5.45 mm -20 cm -2.02 m 7.54 keV 5.43 keV 1.04 mm 1.04 mm Tracker eIoni + 2 -5.2 mm -20 cm -2.02 m 5.27 keV 2.27 keV 582 mum 1.62 mm Tracker eIoni + 3 -5.11 mm -20 cm -2.02 m 3.58 keV 1.68 keV 434 mum 2.06 mm Tracker eIoni + 4 -5.19 mm -20 cm -2.02 m 537 eV 3.05 keV 324 mum 2.38 mm Tracker eIoni + 5 -5.19 mm -20 cm -2.02 m 0 eV 537 eV 29.8 mum 2.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 726 mum -869 mum -2.4 m 14.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 609 mum -939 mum -2.4 m 14.9 MeV 0 eV 624 mum 624 mum TrackerTransportation + 2 -15.3 cm -9.21 cm -1.6 m 14.9 MeV 0 eV 82 cm 82 cm ChamberTransportation + 3 -19.1 cm -11.5 cm -1.4 m 14.9 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -30.6 cm -18.3 cm -80 cm 14.9 MeV 0 eV 61.5 cm 1.64 m ChamberTransportation + 5 -34.4 cm -20.6 cm -60 cm 14.9 MeV 0 eV 20.5 cm 1.84 m TrackerTransportation + 6 -45.9 cm -27.5 cm 0 fm 14.9 MeV 0 eV 61.5 cm 2.46 m ChamberTransportation + 7 -49.7 cm -29.7 cm 20 cm 14.9 MeV 0 eV 20.5 cm 2.66 m TrackerTransportation + 8 -61.2 cm -36.6 cm 80 cm 14.9 MeV 0 eV 61.5 cm 3.28 m ChamberTransportation + 9 -65.1 cm -38.8 cm 1 m 14.9 MeV 0 eV 20.5 cm 3.48 m TrackerTransportation + 10 -76.6 cm -45.7 cm 1.6 m 14.9 MeV 0 eV 61.5 cm 4.1 m ChamberTransportation + 11 -80.4 cm -48 cm 1.8 m 14.9 MeV 0 eV 20.5 cm 4.3 m TrackerTransportation + 12 -91.9 cm -54.8 cm 2.4 m 14.9 MeV 0 eV 61.5 cm 4.92 m WorldPVTransportation + 13 -1.02 m -60.6 cm 2.91 m 14.9 MeV 0 eV 52.3 cm 5.44 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 621 mum -546 mum -2.4 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 929 mum -1.22 mm -2.4 m 1.93 MeV 0 eV 1.92 mm 1.92 mm TrackerTransportation + 2 27.9 cm -61.4 cm -80 cm 1.93 MeV 0 eV 1.74 m 1.74 m ChamberTransportation + 3 30.5 cm -67.2 cm -64.8 cm 1.93 MeV 0 eV 16.5 cm 1.9 m TrackerTransportation + 4 41.8 cm -92 cm 0 fm 1.93 MeV 0 eV 70.3 cm 2.61 m ChamberTransportation + 5 45.3 cm -99.7 cm 20 cm 1.93 MeV 0 eV 21.7 cm 2.82 m TrackerTransportation + 6 55.7 cm -1.23 m 80 cm 1.93 MeV 0 eV 65.1 cm 3.47 m ChamberTransportation + 7 59.2 cm -1.3 m 1 m 1.93 MeV 0 eV 21.7 cm 3.69 m TrackerTransportation + 8 69.6 cm -1.53 m 1.6 m 1.93 MeV 0 eV 65.1 cm 4.34 m ChamberTransportation + 9 73.1 cm -1.61 m 1.8 m 1.93 MeV 0 eV 21.7 cm 4.56 m TrackerTransportation + 10 83.5 cm -1.84 m 2.4 m 1.93 MeV 0 eV 65.1 cm 5.21 m WorldPVTransportation + 11 92.4 cm -2.03 m 2.91 m 1.93 MeV 0 eV 55.3 cm 5.76 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 158 mum -402 mum -2.4 m 3.95 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.21 mm -1.28 mm -2.4 m 3.95 MeV 0 eV 3.74 mm 3.74 mm TrackerTransportation + 2 48.7 cm -40.5 cm -80 cm 3.95 MeV 0 eV 1.72 m 1.72 m ChamberTransportation + 3 54.7 cm -45.6 cm -60 cm 3.95 MeV 0 eV 21.5 cm 1.94 m TrackerTransportation + 4 72.9 cm -60.7 cm 0.114 fm 3.95 MeV 0 eV 64.5 cm 2.58 m ChamberTransportation + 5 79 cm -65.8 cm 20 cm 3.95 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 97.2 cm -80.9 cm 80 cm 3.95 MeV 0 eV 64.5 cm 3.44 m ChamberTransportation + 7 1.03 m -86 cm 1 m 3.95 MeV 0 eV 21.5 cm 3.66 m TrackerTransportation + 8 1.21 m -1.01 m 1.6 m 3.95 MeV 0 eV 64.5 cm 4.3 m ChamberTransportation + 9 1.28 m -1.06 m 1.8 m 3.95 MeV 0 eV 21.5 cm 4.52 m TrackerTransportation + 10 1.46 m -1.21 m 2.4 m 3.95 MeV 0 eV 64.5 cm 5.16 m WorldPVTransportation + 11 1.61 m -1.34 m 2.91 m 3.95 MeV 0 eV 54.8 cm 5.71 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -235 mum -231 mum -2.4 m 5.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.14 mm -1.17 mm -2.4 m 5.37 MeV 0 eV 4.72 mm 4.72 mm TrackerTransportation + 2 50 cm -34.1 cm -80 cm 5.37 MeV 0 eV 1.71 m 1.71 m ChamberTransportation + 3 56.3 cm -38.4 cm -60 cm 5.37 MeV 0 eV 21.4 cm 1.93 m TrackerTransportation + 4 75 cm -51.2 cm 0 fm 5.37 MeV 0 eV 64.1 cm 2.57 m ChamberTransportation + 5 81.2 cm -55.4 cm 20 cm 5.37 MeV 0 eV 21.4 cm 2.78 m TrackerTransportation + 6 99.9 cm -68.2 cm 80 cm 5.37 MeV 0 eV 64.1 cm 3.43 m ChamberTransportation + 7 1.06 m -72.4 cm 1 m 5.37 MeV 0 eV 21.4 cm 3.64 m TrackerTransportation + 8 1.25 m -85.2 cm 1.6 m 5.37 MeV 0 eV 64.1 cm 4.28 m ChamberTransportation + 9 1.31 m -89.4 cm 1.8 m 5.37 MeV 0 eV 21.4 cm 4.49 m TrackerTransportation + 10 1.5 m -1.02 m 2.4 m 5.37 MeV 0 eV 64.1 cm 5.14 m WorldPVTransportation + 11 1.66 m -1.13 m 2.91 m 5.37 MeV 0 eV 54.5 cm 5.68 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -315 mum -142 mum -2.4 m 3.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 687 mum -1.55 mm -2.4 m 3.6 MeV 0 eV 5.09 mm 5.09 mm TrackerTransportation + 2 16.8 cm -23.8 cm -1.6 m 3.6 MeV 0 eV 85.1 cm 85.6 cm ChamberTransportation + 3 17 cm -24 cm -1.59 m 3.6 MeV 0 eV 8.62 mm 86.4 cm TrackerTransportation + 4 33.6 cm -47.4 cm -80 cm 3.6 MeV 0 eV 84.2 cm 1.71 m ChamberTransportation + 5 37.8 cm -53.3 cm -60 cm 3.6 MeV 0 eV 21.3 cm 1.92 m TrackerTransportation + 6 50.4 cm -71 cm 0 fm 3.6 MeV 0 eV 63.8 cm 2.56 m ChamberTransportation + 7 54.6 cm -76.9 cm 20 cm 3.6 MeV 0 eV 21.3 cm 2.77 m TrackerTransportation + 8 67.1 cm -94.6 cm 80 cm 3.6 MeV 0 eV 63.8 cm 3.41 m ChamberTransportation + 9 71.3 cm -1 m 1 m 3.6 MeV 0 eV 21.3 cm 3.62 m TrackerTransportation + 10 83.9 cm -1.18 m 1.6 m 3.6 MeV 0 eV 63.8 cm 4.26 m ChamberTransportation + 11 88.1 cm -1.24 m 1.8 m 3.6 MeV 0 eV 21.3 cm 4.47 m TrackerTransportation + 12 1.01 m -1.42 m 2.4 m 3.6 MeV 0 eV 63.8 cm 5.11 m WorldPVTransportation + 13 1.11 m -1.57 m 2.91 m 3.6 MeV 0 eV 54.2 cm 5.65 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -299 mum 184 mum -2.41 m 352 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -214 mum -293 mum -2.4 m 0 eV 352 keV 1.35 mm 1.35 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -279 mum 251 mum -2.41 m 1.06 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -866 mum -2.25 mm -2.4 m 1.06 MeV 0 eV 6.46 mm 6.46 mm TrackerTransportation + 2 -23.9 cm -1.02 m 0 fm 1.06 MeV 0 eV 2.62 m 2.62 m ChamberTransportation + 3 -25.8 cm -1.1 m 20 cm 1.06 MeV 0 eV 21.8 cm 2.84 m TrackerTransportation + 4 -31.8 cm -1.35 m 80 cm 1.06 MeV 0 eV 65.4 cm 3.49 m ChamberTransportation + 5 -33.8 cm -1.44 m 1 m 1.06 MeV 0 eV 21.8 cm 3.71 m TrackerTransportation + 6 -39.7 cm -1.69 m 1.6 m 1.06 MeV 0 eV 65.4 cm 4.37 m ChamberTransportation + 7 -41.7 cm -1.78 m 1.8 m 1.06 MeV 0 eV 21.8 cm 4.58 m TrackerTransportation + 8 -47.6 cm -2.03 m 2.4 m 1.06 MeV 0 eV 65.4 cm 5.24 m WorldPVTransportation + 9 -52.7 cm -2.25 m 2.91 m 1.06 MeV 0 eV 55.6 cm 5.79 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -231 mum 229 mum -2.41 m 4.64 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -451 mum 431 mum -2.4 m 367 keV 0 eV 3.14 mm 3.14 mm TargetPV compt + 2 -2.06 mm 1.31 mm -2.4 m 0 eV 367 keV 1.97 mm 5.11 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -451 mum 431 mum -2.4 m 4.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -468 nm 656 mum -2.4 m 3.36 MeV 917 keV 957 mum 957 mum TargetPV eIoni + 2 527 mum 482 mum -2.4 m 2.51 MeV 853 keV 819 mum 1.78 mm TargetPV eIoni + 3 429 mum 398 mum -2.4 m 289 keV 2.22 MeV 684 mum 2.46 mm TargetPV eIoni + 4 428 mum 402 mum -2.4 m 0 eV 289 keV 137 mum 2.6 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -200 mum 179 mum -2.41 m 71.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -554 mum 610 mum -2.4 m 71.3 MeV 0 eV 6.79 mm 6.79 mm TrackerTransportation + 2 -4.24 cm 5.16 cm -1.6 m 71.3 MeV 0 eV 80.3 cm 81 cm ChamberTransportation + 3 -5.29 cm 6.43 cm -1.4 m 71.3 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -8.43 cm 10.3 cm -80 cm 71.3 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 -9.47 cm 11.5 cm -60 cm 71.3 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 -12.6 cm 15.3 cm 0 fm 71.3 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 -13.7 cm 16.6 cm 20 cm 71.3 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -16.8 cm 20.4 cm 80 cm 71.3 MeV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 -17.8 cm 21.7 cm 1 m 71.3 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 -21 cm 25.5 cm 1.6 m 71.3 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -22 cm 26.8 cm 1.8 m 71.3 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -25.2 cm 30.6 cm 2.4 m 71.3 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 -27.8 cm 33.9 cm 2.91 m 71.3 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -185 mum 137 mum -2.41 m 4.75 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -214 mum 184 mum -2.41 m 2.2 MeV 2.55 MeV 644 mum 644 mum TargetPV compt + 2 2.56 mm -1.27 mm -2.4 m 2.2 MeV 0 eV 7.55 mm 8.19 mm TrackerTransportation + 3 64.9 cm -34.1 cm -80 cm 2.2 MeV 0 eV 1.76 m 1.77 m ChamberTransportation + 4 67.2 cm -35.3 cm -74.3 cm 2.2 MeV 0 eV 6.29 cm 1.83 m TrackerTransportation + 5 97.2 cm -51.1 cm 0 fm 2.2 MeV 0 eV 81.6 cm 2.65 m ChamberTransportation + 6 1.05 m -55.3 cm 20 cm 2.2 MeV 0 eV 22 cm 2.87 m TrackerTransportation + 7 1.3 m -68 cm 80 cm 2.2 MeV 0 eV 66 cm 3.53 m ChamberTransportation + 8 1.38 m -72.3 cm 1 m 2.2 MeV 0 eV 22 cm 3.75 m TrackerTransportation + 9 1.62 m -85 cm 1.6 m 2.2 MeV 0 eV 66 cm 4.4 m ChamberTransportation + 10 1.7 m -89.3 cm 1.8 m 2.2 MeV 0 eV 22 cm 4.62 m TrackerTransportation + 11 1.94 m -1.02 m 2.4 m 2.2 MeV 0 eV 66 cm 5.28 m WorldPVTransportation + 12 2.15 m -1.13 m 2.91 m 2.2 MeV 0 eV 56.1 cm 5.84 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 111, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -180 mum 130 mum -2.41 m 8.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -606 mum 777 mum -2.4 m 8.38 MeV 0 eV 7.62 mm 7.62 mm TrackerTransportation + 2 -4.56 cm 6.9 cm -1.6 m 8.38 MeV 0 eV 80.4 cm 81.2 cm ChamberTransportation + 3 -5.68 cm 8.61 cm -1.4 m 8.38 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -9.05 cm 13.7 cm -80 cm 8.38 MeV 0 eV 60.3 cm 1.62 m ChamberTransportation + 5 -10.2 cm 15.4 cm -60 cm 8.38 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 -13.5 cm 20.6 cm 0 fm 8.38 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 -14.7 cm 22.3 cm 20 cm 8.38 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -18 cm 27.4 cm 80 cm 8.38 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 -19.2 cm 29.1 cm 1 m 8.38 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 -22.5 cm 34.2 cm 1.6 m 8.38 MeV 0 eV 60.3 cm 4.03 m ChamberTransportation + 11 -23.7 cm 35.9 cm 1.8 m 8.38 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 -27 cm 41 cm 2.4 m 8.38 MeV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 -29.9 cm 45.4 cm 2.91 m 8.38 MeV 0 eV 51.3 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.1 mum 106 mum -2.41 m 12.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -105 mum 145 mum -2.41 m 0 eV 11.7 MeV 852 mum 852 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 135, Parent ID = 110 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -105 mum 145 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 135 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 432 mum -792 mum -2.41 m 0 eV 511 keV 1.09 mm 1.09 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 135 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 mum 145 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -461 mum 768 mum -2.41 m 369 keV 142 keV 723 mum 723 mum TargetPV compt + 2 -1.42 mm 1.69 mm -2.41 m 0 eV 369 keV 1.82 mm 2.54 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.9 mum 86.7 mum -2.41 m 25.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -163 mum 224 mum -2.41 m 0 eV 6.12 MeV 1.82 mm 1.82 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 139, Parent ID = 109 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -163 mum 224 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.47 mm 6.41 mm -2.4 m 511 keV 0 eV 9.77 mm 9.77 mm TrackerTransportation + 2 63.3 cm 2.4 m 45.7 cm 511 keV 0 eV 3.78 m 3.79 m WorldPVTransportation + 3 76.8 cm 2.91 m 1.07 m 511 keV 0 eV 80.6 cm 4.6 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.5 mm -4.84 mm -2.41 m 0 eV 511 keV 8 mm 8 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 109 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -163 mum 224 mum -2.41 m 18.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -114 mum 259 mum -2.41 m 15.1 MeV 629 keV 388 mum 388 mum TargetPV eBrem + 2 -142 mum 337 mum -2.41 m 12.5 MeV 582 keV 412 mum 799 mum TargetPV eBrem + 3 -196 mum -68.1 mum -2.41 m 11.4 MeV 674 keV 603 mum 1.4 mm TargetPV eBrem + 4 -694 mum -1.01 mm -2.41 m 8.65 MeV 1.61 MeV 1.23 mm 2.64 mm TargetPV eBrem + 5 -682 mum -1.61 mm -2.41 m 7.39 MeV 687 keV 654 mum 3.29 mm TargetPV eBrem + 6 -1.09 mm -1.86 mm -2.41 m 3.87 MeV 1.38 MeV 1.15 mm 4.44 mm TargetPV eBrem + 7 -847 mum -2.15 mm -2.41 m 2.7 MeV 1.17 MeV 897 mum 5.34 mm TargetPV eIoni + 8 -1.18 mm -2.36 mm -2.41 m 1.98 MeV 714 keV 715 mum 6.05 mm TargetPV eIoni + 9 -1.49 mm -2.29 mm -2.41 m 1.42 MeV 566 keV 597 mum 6.65 mm TargetPV eIoni + 10 -1.64 mm -2.18 mm -2.41 m 937 keV 481 keV 497 mum 7.15 mm TargetPV eIoni + 11 -1.67 mm -2.3 mm -2.41 m 567 keV 369 keV 399 mum 7.55 mm TargetPV eIoni + 12 -1.69 mm -2.29 mm -2.41 m 7.81 keV 560 keV 296 mum 7.84 mm TargetPV eIoni + 13 -1.69 mm -2.29 mm -2.41 m 0 eV 7.81 keV 495 nm 7.84 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 147, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.09 mm -1.86 mm -2.41 m 2.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.31 mm -2.93 mm -2.41 m 1.51 MeV 638 keV 1.2 mm 1.2 mm TargetPV compt + 2 -1.26 mm -3.42 mm -2.41 m 1.11 MeV 394 keV 496 mum 1.7 mm TargetPV compt + 3 -2.52 mm -2.1 cm -2.4 m 1.11 MeV 0 eV 1.9 cm 2.06 cm TrackerTransportation + 4 -17.3 cm -2.4 m -1.45 m 1.11 MeV 0 eV 2.57 m 2.59 m WorldPVTransportation + 5 -21 cm -2.91 m -1.25 m 1.11 MeV 0 eV 55 cm 3.14 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 146, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -682 mum -1.61 mm -2.41 m 568 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.55 mm -2.09 cm -2.43 m 399 keV 169 keV 2.85 cm 2.85 cm TargetPV compt + 2 -3.15 mm -2.16 cm -2.43 m 0 eV 399 keV 893 mum 2.94 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 145, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -694 mum -1.01 mm -2.41 m 1.17 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.45 mm -1.25 cm -2.4 m 349 keV 819 keV 1.29 cm 1.29 cm TargetPV compt + 2 -3.69 mm -1.23 cm -2.4 m 0 eV 349 keV 426 mum 1.33 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 144, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -196 mum -68.1 mum -2.41 m 357 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -228 mum -134 mum -2.41 m 0 eV 357 keV 73.7 mum 73.7 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -142 mum 337 mum -2.41 m 2.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.62 mm -5.38 mm -2.4 m 2.03 MeV 0 eV 9.4 mm 9.4 mm TrackerTransportation + 2 -1.46 m -2.4 m 36.7 cm 2.03 MeV 0 eV 3.94 m 3.95 m WorldPVTransportation + 3 -1.77 m -2.91 m 95.6 cm 2.03 MeV 0 eV 83.9 cm 4.79 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 142, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -114 mum 259 mum -2.41 m 2.49 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 382 mum 1.04 mm -2.4 m 965 keV 1.52 MeV 3.09 mm 3.09 mm TargetPV compt + 2 2.73 mm 948 mum -2.4 m 453 keV 512 keV 2.88 mm 5.97 mm TargetPV compt + 3 4.49 mm 4.34 mm -2.4 m 0 eV 453 keV 3.84 mm 9.81 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.93 mum -25.9 mum -2.41 m 128 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -41.9 mum -15.8 mum -2.41 m 0 eV 0 eV 1.33 mm 1.33 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 149, Parent ID = 108 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.9 mum -15.8 mum -2.41 m 87.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.7 mum -15.7 mum -2.41 m 86.4 MeV 29.8 keV 26.5 mum 26.5 mum TargetPV eBrem + 2 -43.6 mum -16.7 mum -2.41 m 85.7 MeV 74.7 keV 50.3 mum 76.8 mum TargetPV eBrem + 3 -43.4 mum -17.3 mum -2.41 m 76.7 MeV 17.7 keV 14.7 mum 91.4 mum TargetPV eBrem + 4 -38.2 mum -16.9 mum -2.41 m 75.4 MeV 610 keV 426 mum 518 mum TargetPV eBrem + 5 -28.6 mum -16.2 mum -2.41 m 59 MeV 118 keV 121 mum 639 mum TargetPV eBrem + 6 43.6 mum -115 mum -2.41 m 56.7 MeV 1.9 MeV 1.39 mm 2.03 mm TargetPV eBrem + 7 57.1 mum -105 mum -2.41 m 50.8 MeV 121 keV 105 mum 2.13 mm TargetPV eBrem + 8 98.5 mum -99.8 mum -2.41 m 49.2 MeV 1.01 MeV 554 mum 2.69 mm TargetPV eBrem + 9 230 mum -89.8 mum -2.41 m 38.3 MeV 1.06 MeV 616 mum 3.3 mm TargetPV eBrem + 10 270 mum -59.2 mum -2.41 m 36.7 MeV 535 keV 373 mum 3.68 mm TargetPV eBrem + 11 282 mum -61 mum -2.41 m 36.2 MeV 105 keV 88.1 mum 3.76 mm TargetPV eBrem + 12 275 mum -57.2 mum -2.41 m 34.9 MeV 806 keV 340 mum 4.1 mm TargetPV eBrem + 13 376 mum 254 mum -2.4 m 32.6 MeV 2 MeV 1.31 mm 5.41 mm TargetPV eBrem + 14 571 mum 316 mum -2.4 m 4.25 MeV 1.42 MeV 1.16 mm 6.58 mm TargetPV eBrem + 15 618 mum 304 mum -2.4 m 3.39 MeV 268 keV 229 mum 6.81 mm TargetPV eBrem + 16 1.05 mm 232 mum -2.4 m 1.86 MeV 1.53 MeV 841 mum 7.65 mm TargetPV eIoni + 17 1.16 mm 68.2 mum -2.4 m 430 keV 1.43 MeV 586 mum 8.24 mm TargetPV eIoni + 18 1.15 mm 95.7 mum -2.4 m 99.1 keV 331 keV 237 mum 8.47 mm TargetPV eIoni + 19 1.15 mm 93.8 mum -2.4 m 0 eV 99.1 keV 25.2 mum 8.5 mm TargetPV eIoni + 20 1.15 mm 93.8 mum -2.4 m 0 eV 0 eV 0 fm 8.5 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 166, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.15 mm 93.8 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.64 mm -2.77 mm -2.4 m 0 eV 511 keV 3.23 mm 3.23 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.15 mm 93.8 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.11 cm 2.36 cm -2.4 m 454 keV 57.4 keV 2.65 cm 2.65 cm TargetPV compt + 2 -1.12 cm 2.42 cm -2.4 m 0 eV 454 keV 677 mum 2.72 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 618 mum 304 mum -2.4 m 589 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.01 cm -3.16 mm -2.4 m 0 eV 88 keV 1.07 cm 1.07 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.01 cm -3.16 mm -2.4 m 501 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.01 cm -3.16 mm -2.4 m 133 keV 369 keV 270 mum 270 mum TargetPV eIoni + 2 1.01 cm -3.16 mm -2.4 m 0 eV 133 keV 42.9 mum 313 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 571 mum 316 mum -2.4 m 27 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 357 mum 1.09 mm -2.4 m 27 MeV 0 eV 3.74 mm 3.74 mm TrackerTransportation + 2 -4.64 cm 17.2 cm -1.6 m 27 MeV 0 eV 81.9 cm 82.3 cm ChamberTransportation + 3 -5.8 cm 21.4 cm -1.4 m 27 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -9.31 cm 34.2 cm -80 cm 27 MeV 0 eV 61.4 cm 1.64 m ChamberTransportation + 5 -10.5 cm 38.5 cm -60 cm 27 MeV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 -14 cm 51.2 cm -0.114 fm 27 MeV 0 eV 61.4 cm 2.46 m ChamberTransportation + 7 -15.1 cm 55.5 cm 20 cm 27 MeV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 -18.6 cm 68.3 cm 80 cm 27 MeV 0 eV 61.4 cm 3.28 m ChamberTransportation + 9 -19.8 cm 72.5 cm 1 m 27 MeV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 -23.3 cm 85.3 cm 1.6 m 27 MeV 0 eV 61.4 cm 4.1 m ChamberTransportation + 11 -24.5 cm 89.6 cm 1.8 m 27 MeV 0 eV 20.5 cm 4.3 m TrackerTransportation + 12 -28 cm 1.02 m 2.4 m 27 MeV 0 eV 61.4 cm 4.92 m WorldPVTransportation + 13 -31 cm 1.13 m 2.91 m 27 MeV 0 eV 52.2 cm 5.44 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 376 mum 254 mum -2.4 m 291 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 617 mum 522 mum -2.4 m 0 eV 291 keV 1.31 mm 1.31 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 275 mum -57.2 mum -2.41 m 516 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 308 mum 464 mum -2.4 m 516 keV 0 eV 6.07 mm 6.07 mm TrackerTransportation + 2 4.7 mm 6.94 cm -1.6 m 516 keV 0 eV 80.3 cm 80.9 cm ChamberTransportation + 3 5.8 mm 8.66 cm -1.4 m 516 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 9.09 mm 13.8 cm -80 cm 516 keV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 1.02 cm 15.6 cm -60 cm 516 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 1.35 cm 20.7 cm 0.114 fm 516 keV 0 eV 60.2 cm 2.42 m ChamberTransportation + 7 1.46 cm 22.5 cm 20 cm 516 keV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 1.79 cm 27.6 cm 80 cm 516 keV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 1.9 cm 29.3 cm 1 m 516 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 2.23 cm 34.5 cm 1.6 m 516 keV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 2.34 cm 36.2 cm 1.8 m 516 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 2.66 cm 41.4 cm 2.4 m 516 keV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 2.94 cm 45.8 cm 2.91 m 516 keV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 282 mum -61 mum -2.41 m 317 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 297 mum -42.6 mum -2.41 m 0 eV 317 keV 605 mum 605 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 270 mum -59.2 mum -2.41 m 1.11 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 845 mum -155 mum -2.4 m 902 keV 210 keV 4.5 mm 4.5 mm TargetPV compt + 2 858 mum 192 mum -2.4 m 387 keV 515 keV 827 mum 5.33 mm TargetPV compt + 3 292 mum 786 mum -2.4 m 0 eV 387 keV 821 mum 6.15 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum -89.8 mum -2.41 m 9.83 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 854 mum 21.8 mum -2.4 m 9.83 MeV 0 eV 6.87 mm 6.87 mm TrackerTransportation + 2 7.38 cm 1.31 cm -1.6 m 9.83 MeV 0 eV 80.3 cm 81 cm ChamberTransportation + 3 9.2 cm 1.63 cm -1.4 m 9.83 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.7 cm 2.61 cm -80 cm 9.83 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.5 cm 2.94 cm -60 cm 9.83 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 22 cm 3.91 cm 0 fm 9.83 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 23.8 cm 4.24 cm 20 cm 9.83 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 29.3 cm 5.22 cm 80 cm 9.83 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 31.1 cm 5.54 cm 1 m 9.83 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 36.5 cm 6.52 cm 1.6 m 9.83 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 38.4 cm 6.85 cm 1.8 m 9.83 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 43.8 cm 7.82 cm 2.4 m 9.83 MeV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 48.5 cm 8.66 cm 2.91 m 9.83 MeV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 98.5 mum -99.8 mum -2.41 m 532 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.12 mm 248 mum -2.4 m 0 eV 532 keV 5.03 mm 5.03 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.1 mum -105 mum -2.41 m 5.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 706 mum 454 mum -2.4 m 5.8 MeV 0 eV 8.04 mm 8.04 mm TrackerTransportation + 2 6.56 cm 5.64 cm -1.6 m 5.8 MeV 0 eV 80.5 cm 81.3 cm ChamberTransportation + 3 8.18 cm 7.04 cm -1.4 m 5.8 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 13.1 cm 11.2 cm -80 cm 5.8 MeV 0 eV 60.3 cm 1.62 m ChamberTransportation + 5 14.7 cm 12.6 cm -60 cm 5.8 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 19.5 cm 16.8 cm 0 fm 5.8 MeV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 21.2 cm 18.2 cm 20 cm 5.8 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 26 cm 22.4 cm 80 cm 5.8 MeV 0 eV 60.3 cm 3.23 m ChamberTransportation + 9 27.7 cm 23.8 cm 1 m 5.8 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 32.5 cm 28 cm 1.6 m 5.8 MeV 0 eV 60.3 cm 4.03 m ChamberTransportation + 11 34.1 cm 29.4 cm 1.8 m 5.8 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 39 cm 33.6 cm 2.4 m 5.8 MeV 0 eV 60.3 cm 4.84 m WorldPVTransportation + 13 43.1 cm 37.2 cm 2.91 m 5.8 MeV 0 eV 51.3 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.6 mum -115 mum -2.41 m 435 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 793 mum 431 mum -2.4 m 265 keV 170 keV 7.36 mm 7.36 mm TargetPV compt + 2 995 mum 700 mum -2.4 m 0 eV 265 keV 339 mum 7.7 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -28.6 mum -16.2 mum -2.41 m 16.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 765 mum -89.8 mum -2.4 m 0 eV 0 eV 6.51 mm 6.51 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 169, Parent ID = 154 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 765 mum -89.8 mum -2.4 m 9.46 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 452 mum 715 mum -2.4 m 7.49 MeV 1.96 MeV 1.72 mm 1.72 mm TargetPV eIoni + 2 324 mum 1.05 mm -2.4 m 5.13 MeV 2.36 MeV 1.45 mm 3.17 mm TargetPV eIoni + 3 65.5 mum 1.28 mm -2.4 m 4.35 MeV 783 keV 796 mum 3.96 mm TrackerTransportation + 4 -18.3 cm 9.91 cm -1.9 m 4.24 MeV 93.2 keV 54 cm 54.3 cm Tracker eIoni + 5 -23.4 cm 14.9 cm -1.73 m 4.18 MeV 31.9 keV 18.5 cm 72.8 cm Tracker eIoni + 6 -27 cm 22.1 cm -1.59 m 4.14 MeV 27.6 keV 16.6 cm 89.5 cm Tracker eIoni + 7 -29.3 cm 25.4 cm -1.5 m 4.11 MeV 13.3 keV 9.37 cm 98.8 cm Tracker eIoni + 8 -35.7 cm 39 cm -1.16 m 4.01 MeV 64.8 keV 37.8 cm 1.37 m Tracker eIoni + 9 -42.1 cm 53.1 cm -80 cm 3.94 MeV 71.8 keV 39 cm 1.76 m ChamberTransportation + 10 -48.2 cm 57.2 cm -60 cm 3.85 MeV 81.1 keV 22.3 cm 1.98 m TrackerTransportation + 11 -86 cm 49.4 cm 0.0456 fm 3.73 MeV 115 keV 71.9 cm 2.7 m ChamberTransportation + 12 -94.7 cm 45.7 cm 20 cm 3.61 MeV 95.8 keV 23.3 cm 2.93 m TrackerTransportation + 13 -1.15 m 37.7 cm 51.2 cm 3.54 MeV 62.7 keV 38.1 cm 3.31 m Tracker eIoni + 14 -1.46 m 30.2 cm 80 cm 3.46 MeV 77.7 keV 43.2 cm 3.75 m ChamberTransportation + 15 -1.48 m 30.1 cm 82.3 cm 3.28 MeV 39.1 keV 3.06 cm 3.78 m Chamber eIoni + 16 -1.54 m 29.9 cm 89.1 cm 3.23 MeV 47.2 keV 9 cm 3.87 m TrackerTransportation + 17 -1.59 m 31.9 cm 97.1 cm 3.17 MeV 12.8 keV 9.96 cm 3.97 m Tracker eIoni + 18 -1.8 m 38.7 cm 1.21 m 3.11 MeV 53.4 keV 32.4 cm 4.29 m Tracker eIoni + 19 -2.4 m 72.5 cm 2.11 m 2.92 MeV 186 keV 1.15 m 5.44 m WorldPVTransportation + 20 -2.91 m 89.6 cm 2.43 m 2.81 MeV 112 keV 63.3 cm 6.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.93 m 46 cm 1.41 m 7.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.93 m 46 cm 1.41 m 2.53 keV 4.76 keV 565 mum 565 mum Tracker eIoni + 2 -1.93 m 46 cm 1.41 m 585 eV 1.94 keV 230 mum 795 mum Tracker eIoni + 3 -1.93 m 46 cm 1.41 m 0 eV 585 eV 32.7 mum 828 mum Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.8 m 38.7 cm 1.21 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.8 m 38.7 cm 1.21 m 8.74 keV 1.4 keV 780 mum 780 mum Tracker eIoni + 2 -1.8 m 38.6 cm 1.21 m 6.8 keV 1.94 keV 669 mum 1.45 mm Tracker eIoni + 3 -1.8 m 38.7 cm 1.21 m 3.92 keV 2.88 keV 531 mum 1.98 mm Tracker eIoni + 4 -1.8 m 38.6 cm 1.21 m 1.85 keV 2.07 keV 347 mum 2.33 mm Tracker eIoni + 5 -1.8 m 38.6 cm 1.21 m 0 eV 1.85 keV 145 mum 2.47 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 m 31.9 cm 97.1 cm 47.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.59 m 31.7 cm 97.7 cm 33.5 keV 3.73 keV 6.47 mm 6.47 mm Tracker eIoni + 2 -1.59 m 31.4 cm 97.9 cm 31.8 keV 1.73 keV 4.27 mm 1.07 cm Tracker eIoni + 3 -1.59 m 31.1 cm 98.1 cm 28.2 keV 3.6 keV 3.91 mm 1.46 cm Tracker eIoni + 4 -1.59 m 30.8 cm 98.1 cm 25.1 keV 3.13 keV 3.21 mm 1.79 cm Tracker eIoni + 5 -1.58 m 30.7 cm 98 cm 22 keV 3.09 keV 2.65 mm 2.05 cm Tracker eIoni + 6 -1.58 m 30.6 cm 98.1 cm 19.4 keV 2.54 keV 2.17 mm 2.27 cm Tracker eIoni + 7 -1.58 m 30.5 cm 98.2 cm 16.8 keV 2.69 keV 1.8 mm 2.45 cm Tracker eIoni + 8 -1.58 m 30.6 cm 98.3 cm 14.8 keV 1.94 keV 1.45 mm 2.59 cm Tracker eIoni + 9 -1.58 m 30.5 cm 98.3 cm 13.3 keV 1.52 keV 1.23 mm 2.72 cm Tracker eIoni + 10 -1.58 m 30.4 cm 98.4 cm 11.4 keV 1.91 keV 1.07 mm 2.82 cm Tracker eIoni + 11 -1.58 m 30.4 cm 98.4 cm 6.95 keV 4.45 keV 890 mum 2.91 cm Tracker eIoni + 12 -1.58 m 30.4 cm 98.4 cm 4.61 keV 2.34 keV 540 mum 2.97 cm Tracker eIoni + 13 -1.58 m 30.4 cm 98.5 cm 3.46 keV 1.15 keV 392 mum 3.01 cm Tracker eIoni + 14 -1.58 m 30.4 cm 98.5 cm 2.08 keV 1.38 keV 314 mum 3.04 cm Tracker eIoni + 15 -1.58 m 30.4 cm 98.5 cm 0 eV 2.08 keV 173 mum 3.05 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 179 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 m 31.7 cm 97.7 cm 9.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.59 m 31.7 cm 97.7 cm 8.89 keV 915 eV 752 mum 752 mum Tracker eIoni + 2 -1.59 m 31.7 cm 97.8 cm 5.84 keV 3.05 keV 681 mum 1.43 mm Tracker eIoni + 3 -1.59 m 31.7 cm 97.8 cm 4.37 keV 1.46 keV 469 mum 1.9 mm Tracker eIoni + 4 -1.59 m 31.7 cm 97.8 cm 3.33 keV 1.04 keV 377 mum 2.28 mm Tracker eIoni + 5 -1.59 m 31.7 cm 97.8 cm 1.78 keV 1.55 keV 304 mum 2.58 mm Tracker eIoni + 6 -1.59 m 31.7 cm 97.8 cm 0 eV 1.78 keV 136 mum 2.72 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.48 m 30.1 cm 82.3 cm 140 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.48 m 30.7 cm 83.4 cm 111 keV 29 keV 1.83 cm 1.83 cm Chamber eIoni + 2 -1.47 m 30.8 cm 83.3 cm 100 keV 10.6 keV 1.25 cm 3.08 cm Chamber eIoni + 3 -1.47 m 31.1 cm 83.1 cm 86.5 keV 13.9 keV 1.07 cm 4.15 cm Chamber eIoni + 4 -1.46 m 31.4 cm 83.1 cm 78.4 keV 8.11 keV 8.42 mm 4.99 cm Chamber eIoni + 5 -1.46 m 31.9 cm 83.1 cm 67.2 keV 11.2 keV 7.2 mm 5.71 cm Chamber eIoni + 6 -1.46 m 32.1 cm 83.3 cm 61.3 keV 5.88 keV 5.65 mm 6.28 cm Chamber eIoni + 7 -1.46 m 32 cm 83.1 cm 52.4 keV 8.93 keV 4.89 mm 6.77 cm Chamber eIoni + 8 -1.46 m 31.8 cm 83.2 cm 49.5 keV 2.86 keV 3.83 mm 7.15 cm Chamber eIoni + 9 -1.46 m 31.5 cm 83.1 cm 37.1 keV 12.5 keV 3.53 mm 7.5 cm Chamber eIoni + 10 -1.46 m 31.4 cm 83 cm 29.3 keV 7.78 keV 2.3 mm 7.73 cm Chamber eIoni + 11 -1.46 m 31.5 cm 83.1 cm 26.7 keV 2.62 keV 1.66 mm 7.9 cm Chamber eIoni + 12 -1.46 m 31.5 cm 83.1 cm 20.8 keV 5.83 keV 1.47 mm 8.04 cm Chamber eIoni + 13 -1.46 m 31.5 cm 83.1 cm 17.3 keV 3.55 keV 1.08 mm 8.15 cm Chamber eIoni + 14 -1.46 m 31.5 cm 83.1 cm 14.1 keV 3.2 keV 874 mum 8.24 cm Chamber eIoni + 15 -1.46 m 31.5 cm 83.1 cm 11.6 keV 2.45 keV 712 mum 8.31 cm Chamber eIoni + 16 -1.46 m 31.5 cm 83.1 cm 8.31 keV 3.33 keV 600 mum 8.37 cm Chamber eIoni + 17 -1.46 m 31.5 cm 83.1 cm 5.52 keV 2.78 keV 463 mum 8.42 cm Chamber eIoni + 18 -1.46 m 31.5 cm 83.1 cm 1.59 keV 3.93 keV 352 mum 8.45 cm Chamber eIoni + 19 -1.46 m 31.5 cm 83.1 cm 0 eV 1.59 keV 85.5 mum 8.46 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.15 m 37.7 cm 51.2 cm 9.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.15 m 37.7 cm 51.1 cm 7.07 keV 2.23 keV 713 mum 713 mum Tracker eIoni + 2 -1.15 m 37.6 cm 51.1 cm 6.06 keV 1 keV 549 mum 1.26 mm Tracker eIoni + 3 -1.15 m 37.6 cm 51.1 cm 2.65 keV 3.41 keV 484 mum 1.75 mm Tracker eIoni + 4 -1.15 m 37.6 cm 51.1 cm 0 eV 2.65 keV 244 mum 1.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.6 cm 48.8 cm 3.59 cm 25.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -87.6 cm 48.8 cm 3.65 cm 23.7 keV 1.86 keV 1.39 mm 1.39 mm Chamber eIoni + 2 -87.6 cm 48.8 cm 3.65 cm 16 keV 7.7 keV 1.26 mm 2.65 mm Chamber eIoni + 3 -87.6 cm 48.8 cm 3.63 cm 13.6 keV 2.41 keV 810 mum 3.46 mm Chamber eIoni + 4 -87.6 cm 48.8 cm 3.59 cm 10.9 keV 2.67 keV 690 mum 4.15 mm Chamber eIoni + 5 -87.6 cm 48.8 cm 3.57 cm 9.64 keV 1.3 keV 571 mum 4.72 mm Chamber eIoni + 6 -87.6 cm 48.8 cm 3.6 cm 8.08 keV 1.56 keV 516 mum 5.24 mm Chamber eIoni + 7 -87.6 cm 48.7 cm 3.6 cm 5.25 keV 2.83 keV 454 mum 5.69 mm Chamber eIoni + 8 -87.6 cm 48.7 cm 3.62 cm 2.84 keV 2.4 keV 340 mum 6.03 mm Chamber eIoni + 9 -87.6 cm 48.7 cm 3.62 cm 0 eV 2.84 keV 191 mum 6.22 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.4 cm 53.3 cm -79 cm 11 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -42.4 cm 53.3 cm -79 cm 8.82 keV 2.17 keV 573 mum 573 mum Chamber eIoni + 2 -42.4 cm 53.3 cm -79.1 cm 5.59 keV 3.24 keV 484 mum 1.06 mm Chamber eIoni + 3 -42.4 cm 53.3 cm -79.1 cm 1.83 keV 3.75 keV 354 mum 1.41 mm Chamber eIoni + 4 -42.4 cm 53.3 cm -79.1 cm 0 eV 1.83 keV 104 mum 1.52 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.7 cm 39 cm -1.16 m 36.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -36 cm 39.3 cm -1.16 m 31.8 keV 5.01 keV 4.97 mm 4.97 mm Tracker eIoni + 2 -36.4 cm 39.2 cm -1.16 m 29.1 keV 2.66 keV 3.9 mm 8.87 mm Tracker eIoni + 3 -36.6 cm 39 cm -1.16 m 25.7 keV 3.46 keV 3.38 mm 1.22 cm Tracker eIoni + 4 -36.8 cm 39 cm -1.16 m 23.4 keV 2.24 keV 2.75 mm 1.5 cm Tracker eIoni + 5 -36.9 cm 38.9 cm -1.16 m 20.5 keV 2.89 keV 2.39 mm 1.74 cm Tracker eIoni + 6 -36.7 cm 38.9 cm -1.16 m 18.9 keV 1.63 keV 1.95 mm 1.93 cm Tracker eIoni + 7 -36.8 cm 38.8 cm -1.16 m 17 keV 1.93 keV 1.73 mm 2.11 cm Tracker eIoni + 8 -36.7 cm 38.8 cm -1.17 m 15.1 keV 1.88 keV 1.48 mm 2.25 cm Tracker eIoni + 9 -36.6 cm 38.8 cm -1.17 m 11 keV 4.1 keV 1.26 mm 2.38 cm Tracker eIoni + 10 -36.6 cm 38.8 cm -1.17 m 9.61 keV 1.37 keV 854 mum 2.47 cm Tracker eIoni + 11 -36.6 cm 38.8 cm -1.17 m 6.81 keV 2.8 keV 737 mum 2.54 cm Tracker eIoni + 12 -36.6 cm 38.8 cm -1.17 m 4.55 keV 2.26 keV 532 mum 2.59 cm Tracker eIoni + 13 -36.5 cm 38.8 cm -1.17 m 2.81 keV 1.74 keV 388 mum 2.63 cm Tracker eIoni + 14 -36.5 cm 38.8 cm -1.17 m 1.04 keV 1.77 keV 259 mum 2.66 cm Tracker eIoni + 15 -36.5 cm 38.8 cm -1.17 m 0 eV 1.04 keV 64.6 mum 2.66 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.3 cm 25.4 cm -1.5 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -29.3 cm 25.5 cm -1.5 m 8.83 keV 1.25 keV 775 mum 775 mum Tracker eIoni + 2 -29.3 cm 25.5 cm -1.5 m 5.63 keV 3.2 keV 677 mum 1.45 mm Tracker eIoni + 3 -29.3 cm 25.5 cm -1.5 m 1.97 keV 3.66 keV 456 mum 1.91 mm Tracker eIoni + 4 -29.3 cm 25.5 cm -1.5 m 0 eV 1.97 keV 159 mum 2.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 cm 22.1 cm -1.59 m 17.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -27 cm 22.2 cm -1.59 m 15.9 keV 1.45 keV 1.52 mm 1.52 mm Tracker eIoni + 2 -27 cm 22.3 cm -1.59 m 14.7 keV 1.14 keV 1.35 mm 2.87 mm Tracker eIoni + 3 -27.1 cm 22.4 cm -1.59 m 12.9 keV 1.82 keV 1.22 mm 4.1 mm Tracker eIoni + 4 -27.2 cm 22.5 cm -1.59 m 9.72 keV 3.21 keV 1.04 mm 5.13 mm Tracker eIoni + 5 -27.1 cm 22.4 cm -1.59 m 7.11 keV 2.61 keV 745 mum 5.88 mm Tracker eIoni + 6 -27.1 cm 22.4 cm -1.59 m 5.25 keV 1.86 keV 552 mum 6.43 mm Tracker eIoni + 7 -27.1 cm 22.4 cm -1.59 m 3.89 keV 1.36 keV 432 mum 6.86 mm Tracker eIoni + 8 -27 cm 22.4 cm -1.59 m 544 eV 3.35 keV 345 mum 7.21 mm Tracker eIoni + 9 -27 cm 22.4 cm -1.59 m 0 eV 544 eV 30.2 mum 7.24 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.4 cm 14.9 cm -1.73 m 31.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -23.5 cm 14.6 cm -1.73 m 27.6 keV 3.67 keV 3.8 mm 3.8 mm Tracker eIoni + 2 -23.3 cm 14.5 cm -1.73 m 16.4 keV 11.2 keV 3.1 mm 6.9 mm Tracker eIoni + 3 -23.2 cm 14.5 cm -1.73 m 15.3 keV 1.16 keV 1.42 mm 8.32 mm Tracker eIoni + 4 -23.3 cm 14.5 cm -1.73 m 13.9 keV 1.34 keV 1.28 mm 9.6 mm Tracker eIoni + 5 -23.3 cm 14.5 cm -1.73 m 9.26 keV 4.69 keV 1.14 mm 1.07 cm Tracker eIoni + 6 -23.3 cm 14.4 cm -1.73 m 5.8 keV 3.45 keV 710 mum 1.15 cm Tracker eIoni + 7 -23.4 cm 14.4 cm -1.73 m 3.95 keV 1.85 keV 466 mum 1.19 cm Tracker eIoni + 8 -23.3 cm 14.4 cm -1.73 m 2.96 keV 996 eV 349 mum 1.23 cm Tracker eIoni + 9 -23.3 cm 14.4 cm -1.73 m 1.46 keV 1.5 keV 273 mum 1.25 cm Tracker eIoni + 10 -23.3 cm 14.4 cm -1.73 m 0 eV 1.46 keV 102 mum 1.26 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.3 cm 9.91 cm -1.9 m 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -18.2 cm 9.89 cm -1.9 m 9.41 keV 1.63 keV 859 mum 859 mum Tracker eIoni + 2 -18.2 cm 9.9 cm -1.9 m 8.04 keV 1.38 keV 722 mum 1.58 mm Tracker eIoni + 3 -18.1 cm 9.86 cm -1.9 m 6.33 keV 1.71 keV 617 mum 2.2 mm Tracker eIoni + 4 -18.1 cm 9.83 cm -1.9 m 4.99 keV 1.34 keV 501 mum 2.7 mm Tracker eIoni + 5 -18.1 cm 9.82 cm -1.9 m 2.41 keV 2.59 keV 416 mum 3.12 mm Tracker eIoni + 6 -18.1 cm 9.83 cm -1.9 m 0 eV 2.41 keV 215 mum 3.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 154 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 765 mum -89.8 mum -2.4 m 5.77 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 624 mum -154 mum -2.4 m 4.29 MeV 888 keV 794 mum 794 mum TargetPV eBrem + 2 1.33 mm -234 mum -2.4 m 3.08 MeV 1.21 MeV 959 mum 1.75 mm TargetPV eIoni + 3 1.72 mm 68.4 mum -2.4 m 2.27 MeV 814 keV 776 mum 2.53 mm TargetPV eIoni + 4 1.83 mm 163 mum -2.4 m 1.61 MeV 659 keV 645 mum 3.18 mm TargetPV eIoni + 5 1.8 mm 335 mum -2.4 m 992 keV 259 keV 273 mum 3.45 mm TargetPV eBrem + 6 1.75 mm 433 mum -2.4 m 194 keV 312 keV 316 mum 3.76 mm TargetPV eBrem + 7 1.75 mm 439 mum -2.4 m 0 eV 194 keV 76.6 mum 3.84 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.75 mm 433 mum -2.4 m 486 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.88 mm 4.58 mm -2.4 m 0 eV 486 keV 4.99 mm 4.99 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.8 mm 335 mum -2.4 m 359 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.57 mm 1.41 mm -2.4 m 0 eV 359 keV 2.05 mm 2.05 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 183, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 624 mum -154 mum -2.4 m 589 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.59 mm -3.27 mm -2.4 m 205 keV 384 keV 4.47 mm 4.47 mm TargetPV compt + 2 3.51 mm -2.8 mm -2.4 m 0 eV 205 keV 993 mum 5.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.2 mum -16.9 mum -2.41 m 761 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.04 mm 181 mum -2.4 m 0 eV 761 keV 8.49 mm 8.49 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.4 mum -17.3 mum -2.41 m 8.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 254 mum -380 mum -2.4 m 8.9 MeV 0 eV 1 cm 1 cm TrackerTransportation + 2 2.4 cm -2.93 cm -1.6 m 8.9 MeV 0 eV 80.1 cm 81.1 cm ChamberTransportation + 3 2.99 cm -3.66 cm -1.4 m 8.9 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 4.77 cm -5.83 cm -80 cm 8.9 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 5.37 cm -6.55 cm -60 cm 8.9 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 7.15 cm -8.72 cm 0 fm 8.9 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 7.74 cm -9.44 cm 20 cm 8.9 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 9.52 cm -11.6 cm 80 cm 8.9 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 10.1 cm -12.3 cm 1 m 8.9 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 11.9 cm -14.5 cm 1.6 m 8.9 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 12.5 cm -15.2 cm 1.8 m 8.9 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 14.3 cm -17.4 cm 2.4 m 8.9 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 15.8 cm -19.2 cm 2.91 m 8.9 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.6 mum -16.7 mum -2.41 m 631 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 130 mum -453 mum -2.4 m 631 keV 0 eV 1.01 cm 1.01 cm TrackerTransportation + 2 1.4 cm -3.52 cm -1.6 m 631 keV 0 eV 80.1 cm 81.1 cm ChamberTransportation + 3 1.74 cm -4.39 cm -1.4 m 631 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.78 cm -6.99 cm -80 cm 631 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 3.13 cm -7.86 cm -60 cm 631 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 4.16 cm -10.5 cm 0 fm 631 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 4.51 cm -11.3 cm 20 cm 631 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 5.55 cm -13.9 cm 80 cm 631 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 5.89 cm -14.8 cm 1 m 631 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 6.93 cm -17.4 cm 1.6 m 631 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 7.28 cm -18.3 cm 1.8 m 631 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 8.31 cm -20.9 cm 2.4 m 631 keV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 9.2 cm -23.1 cm 2.91 m 631 keV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 150, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.7 mum -15.7 mum -2.41 m 903 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -257 mum -162 mum -2.4 m 408 keV 496 keV 9.21 mm 9.21 mm TargetPV compt + 2 -705 mum 2.39 mm -2.4 m 408 keV 0 eV 2.74 mm 1.2 cm TrackerTransportation + 3 -42.1 cm 2.4 m -1.57 m 408 keV 0 eV 2.57 m 2.58 m WorldPVTransportation + 4 -51.1 cm 2.91 m -1.39 m 408 keV 0 eV 54.7 cm 3.13 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 108 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.9 mum -15.8 mum -2.41 m 40.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 354 mum 137 mum -2.41 m 36.6 MeV 3.16 MeV 2.42 mm 2.42 mm TargetPV eBrem + 2 469 mum 129 mum -2.41 m 35.3 MeV 904 keV 596 mum 3.01 mm TargetPV eBrem + 3 103 mum -1.29 mm -2.4 m 25 MeV 10.3 MeV 4.95 mm 7.96 mm TargetPV eIoni + 4 17.1 mum -1.36 mm -2.4 m 6.72 MeV 17.1 MeV 1.46 mm 9.42 mm TargetPV eBrem + 5 -249 mum -1.99 mm -2.4 m 5.23 MeV 1.49 MeV 1.31 mm 1.07 cm TargetPV eIoni + 6 -224 mum -2.71 mm -2.4 m 3.98 MeV 1.25 MeV 1.1 mm 1.18 cm TargetPV eIoni + 7 -278 mum -2.71 mm -2.4 m 2.95 MeV 1.03 MeV 913 mum 1.27 cm TargetPV eIoni + 8 -579 mum -3.02 mm -2.4 m 2.19 MeV 762 keV 755 mum 1.35 cm TargetPV eIoni + 9 -363 mum -3.11 mm -2.4 m 1.55 MeV 635 keV 632 mum 1.41 cm TargetPV eIoni + 10 -258 mum -3.17 mm -2.4 m 1.07 MeV 487 keV 522 mum 1.46 cm TargetPV eIoni + 11 -330 mum -3.12 mm -2.4 m 589 keV 478 keV 428 mum 1.51 cm TargetPV eIoni + 12 -351 mum -3.18 mm -2.4 m 187 keV 402 keV 304 mum 1.54 cm TargetPV eIoni + 13 -355 mum -3.18 mm -2.4 m 0 eV 187 keV 72.9 mum 1.54 cm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 188, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.1 mum -1.36 mm -2.4 m 1.25 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -595 mum -2.51 mm -2.4 m 1.25 MeV 0 eV 1.62 mm 1.62 mm TrackerTransportation + 2 -1.27 m -2.4 m -42.6 cm 1.25 MeV 0 eV 3.35 m 3.36 m WorldPVTransportation + 3 -1.54 m -2.91 m -6.58 mm 1.25 MeV 0 eV 71.3 cm 4.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 469 mum 129 mum -2.41 m 342 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 259 mum 784 mum -2.4 m 0 eV 342 keV 5.71 mm 5.71 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 354 mum 137 mum -2.41 m 362 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 812 mum 342 mum -2.4 m 0 eV 362 keV 3.02 mm 3.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.8 mum -7.95 mum -2.41 m 520 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64 mum -25.8 mum -2.41 m 0 eV 0 eV 7.03 mm 7.03 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 190, Parent ID = 107 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64 mum -25.8 mum -2.41 m 201 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.8 mum -26 mum -2.41 m 200 MeV 220 keV 51.9 mum 51.9 mum TargetPV eBrem + 2 -67.3 mum -25.8 mum -2.41 m 198 MeV 435 keV 102 mum 154 mum TargetPV eBrem + 3 -65.6 mum -32.9 mum -2.4 m 196 MeV 1.77 MeV 983 mum 1.14 mm TargetPV eBrem + 4 -89.4 mum -75.6 mum -2.4 m 184 MeV 714 keV 649 mum 1.79 mm TargetPV eBrem + 5 -91.1 mum -77.2 mum -2.4 m 183 MeV 309 keV 207 mum 1.99 mm TargetPV eBrem + 6 -92.5 mum -81.2 mum -2.4 m 181 MeV 103 keV 93.5 mum 2.09 mm TargetPV eBrem + 7 -118 mum -148 mum -2.4 m 179 MeV 1.51 MeV 1.06 mm 3.14 mm TargetPV eBrem + 8 -159 mum -194 mum -2.4 m 70.8 MeV 965 keV 766 mum 3.91 mm TargetPV eBrem + 9 -165 mum -228 mum -2.4 m 63.8 MeV 712 keV 386 mum 4.29 mm TargetPV eBrem + 10 -295 mum -328 mum -2.4 m 62.1 MeV 1.7 MeV 1.14 mm 5.44 mm TrackerTransportation + 11 -3.34 cm -3.37 mm -2.21 m 62.1 MeV 37.1 keV 19.6 cm 20.2 cm Tracker eIoni + 12 -12.8 cm -9.15 mm -1.66 m 61.1 MeV 121 keV 55.7 cm 75.9 cm Tracker eIoni + 13 -13.8 cm -9.29 mm -1.6 m 61.1 MeV 18.9 keV 5.83 cm 81.7 cm ChamberTransportation + 14 -17.1 cm -1.04 cm -1.4 m 60.9 MeV 134 keV 20.3 cm 1.02 m TrackerTransportation + 15 -27.3 cm -9.32 mm -80 cm 60.8 MeV 133 keV 60.9 cm 1.63 m ChamberTransportation + 16 -30.3 cm -1.09 cm -63.4 cm 60.6 MeV 128 keV 16.9 cm 1.8 m Chamber eIoni + 17 -30.8 cm -1.04 cm -60 cm 60.6 MeV 14.7 keV 3.44 cm 1.83 m TrackerTransportation + 18 -38.1 cm -9.47 mm -8.18 mm 60.4 MeV 126 keV 59.6 cm 2.43 m Tracker eIoni + 19 -38.2 cm -9.34 mm -0.00355 fm 60.4 MeV 1.7 keV 8.25 mm 2.44 m ChamberTransportation + 20 -39.4 cm -7.67 mm 8.1 cm 59.9 MeV 63.5 keV 8.18 cm 2.52 m Chamber eBrem + 21 -40.9 cm -3.36 mm 20 cm 59.8 MeV 58.6 keV 12 cm 2.64 m TrackerTransportation + 22 -47.7 cm 9.8 mm 72.5 cm 59.7 MeV 115 keV 52.9 cm 3.17 m Tracker eIoni + 23 -48.6 cm 1.19 cm 80 cm 59.7 MeV 15.6 keV 7.59 cm 3.24 m ChamberTransportation + 24 -51.1 cm 1.63 cm 1 m 59.5 MeV 132 keV 20.2 cm 3.45 m TrackerTransportation + 25 -59.2 cm 3.32 cm 1.6 m 59.4 MeV 127 keV 60.6 cm 4.05 m ChamberTransportation + 26 -61.8 cm 4.38 cm 1.8 m 59.2 MeV 128 keV 20.2 cm 4.25 m TrackerTransportation + 27 -71.9 cm 9.84 cm 2.4 m 59.1 MeV 136 keV 61.1 cm 4.86 m WorldPVTransportation + 28 -78.6 cm 13.9 cm 2.8 m 59 MeV 91.7 keV 40.5 cm 5.27 m WorldPV eIoni + 29 -79.1 cm 14.2 cm 2.83 m 58.9 MeV 13.3 keV 3.43 cm 5.3 m WorldPV eIoni + 30 -80.4 cm 15.1 cm 2.91 m 58.9 MeV 13.4 keV 8.03 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.1 cm 14.2 cm 2.83 m 34.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -79.3 cm 13.9 cm 2.83 m 30.7 keV 3.5 keV 4.4 mm 4.4 mm WorldPV eIoni + 2 -79.6 cm 13.9 cm 2.83 m 25.1 keV 5.53 keV 3.67 mm 8.07 mm WorldPV eIoni + 3 -79.8 cm 13.8 cm 2.83 m 22.7 keV 2.48 keV 2.66 mm 1.07 cm WorldPV eIoni + 4 -80 cm 13.7 cm 2.83 m 19.5 keV 3.11 keV 2.27 mm 1.3 cm WorldPV eIoni + 5 -80.2 cm 13.7 cm 2.83 m 17.8 keV 1.75 keV 1.81 mm 1.48 cm WorldPV eIoni + 6 -80.3 cm 13.7 cm 2.83 m 15.7 keV 2.12 keV 1.58 mm 1.64 cm WorldPV eIoni + 7 -80.4 cm 13.7 cm 2.83 m 14.3 keV 1.37 keV 1.33 mm 1.77 cm WorldPV eIoni + 8 -80.4 cm 13.7 cm 2.83 m 13 keV 1.26 keV 1.17 mm 1.89 cm WorldPV eIoni + 9 -80.4 cm 13.6 cm 2.83 m 4.42 keV 8.62 keV 1.05 mm 1.99 cm WorldPV eIoni + 10 -80.4 cm 13.6 cm 2.83 m 3.52 keV 896 eV 380 mum 2.03 cm WorldPV eIoni + 11 -80.4 cm 13.6 cm 2.83 m 1.8 keV 1.72 keV 319 mum 2.06 cm WorldPV eIoni + 12 -80.4 cm 13.6 cm 2.83 m 0 eV 1.8 keV 139 mum 2.08 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.6 cm 13.9 cm 2.8 m 33.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -78.2 cm 14 cm 2.8 m 30.1 keV 3.5 keV 4.28 mm 4.28 mm WorldPV eIoni + 2 -78 cm 13.7 cm 2.8 m 25.9 keV 4.18 keV 3.55 mm 7.83 mm WorldPV eIoni + 3 -77.8 cm 13.6 cm 2.8 m 23.9 keV 2 keV 2.79 mm 1.06 cm WorldPV eIoni + 4 -77.8 cm 13.6 cm 2.8 m 17.7 keV 6.17 keV 2.46 mm 1.31 cm WorldPV eIoni + 5 -77.7 cm 13.6 cm 2.8 m 15.3 keV 2.43 keV 1.57 mm 1.47 cm WorldPV eIoni + 6 -77.7 cm 13.7 cm 2.8 m 11.2 keV 4.09 keV 1.29 mm 1.59 cm WorldPV eIoni + 7 -77.7 cm 13.8 cm 2.8 m 9.67 keV 1.55 keV 874 mum 1.68 cm WorldPV eIoni + 8 -77.8 cm 13.8 cm 2.8 m 7.73 keV 1.94 keV 742 mum 1.76 cm WorldPV eIoni + 9 -77.8 cm 13.8 cm 2.8 m 4.9 keV 2.83 keV 596 mum 1.82 cm WorldPV eIoni + 10 -77.8 cm 13.8 cm 2.8 m 3.49 keV 1.41 keV 410 mum 1.86 cm WorldPV eIoni + 11 -77.8 cm 13.8 cm 2.8 m 2.55 keV 944 eV 317 mum 1.89 cm WorldPV eIoni + 12 -77.8 cm 13.8 cm 2.8 m 35.9 eV 2.51 keV 232 mum 1.91 cm WorldPV eIoni + 13 -77.8 cm 13.8 cm 2.8 m 0 eV 35.9 eV 6.03 mum 1.91 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.4 cm 3.42 cm 1.62 m 10.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -59.4 cm 3.4 cm 1.62 m 8.83 keV 1.25 keV 534 mum 534 mum Chamber eIoni + 2 -59.4 cm 3.38 cm 1.62 m 4.43 keV 4.4 keV 484 mum 1.02 mm Chamber eIoni + 3 -59.4 cm 3.39 cm 1.62 m 1.72 keV 2.72 keV 301 mum 1.32 mm Chamber eIoni + 4 -59.4 cm 3.39 cm 1.62 m 0 eV 1.72 keV 95.4 mum 1.41 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.3 cm 1.49 cm 93.6 cm 11.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -50.3 cm 1.48 cm 93.6 cm 10.8 keV 1.15 keV 613 mum 613 mum Chamber eIoni + 2 -50.3 cm 1.49 cm 93.7 cm 9.34 keV 1.44 keV 564 mum 1.18 mm Chamber eIoni + 3 -50.3 cm 1.48 cm 93.6 cm 7.98 keV 1.37 keV 505 mum 1.68 mm Chamber eIoni + 4 -50.3 cm 1.48 cm 93.7 cm 6.81 keV 1.17 keV 450 mum 2.13 mm Chamber eIoni + 5 -50.3 cm 1.5 cm 93.6 cm 5.86 keV 951 eV 404 mum 2.54 mm Chamber eIoni + 6 -50.3 cm 1.51 cm 93.6 cm 4.58 keV 1.28 keV 366 mum 2.9 mm Chamber eIoni + 7 -50.4 cm 1.5 cm 93.6 cm 2.04 keV 2.54 keV 308 mum 3.21 mm Chamber eIoni + 8 -50.4 cm 1.5 cm 93.6 cm 0 eV 2.04 keV 121 mum 3.33 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -47.7 cm 9.8 mm 72.5 cm 19.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -47.7 cm 8.09 mm 72.5 cm 16.4 keV 3.02 keV 1.79 mm 1.79 mm Tracker eIoni + 2 -47.6 cm 7.2 mm 72.4 cm 12.9 keV 3.45 keV 1.41 mm 3.2 mm Tracker eIoni + 3 -47.5 cm 6.53 mm 72.4 cm 10.6 keV 2.3 keV 1.03 mm 4.23 mm Tracker eIoni + 4 -47.5 cm 5.88 mm 72.4 cm 9.33 keV 1.28 keV 821 mum 5.06 mm Tracker eIoni + 5 -47.4 cm 5.45 mm 72.4 cm 8.17 keV 1.16 keV 716 mum 5.77 mm Tracker eIoni + 6 -47.4 cm 5 mm 72.4 cm 7.29 keV 878 eV 626 mum 6.4 mm Tracker eIoni + 7 -47.4 cm 4.56 mm 72.4 cm 5.92 keV 1.37 keV 565 mum 6.96 mm Tracker eIoni + 8 -47.4 cm 4.42 mm 72.4 cm 1.19 keV 4.74 keV 474 mum 7.44 mm Tracker eIoni + 9 -47.4 cm 4.45 mm 72.4 cm 0 eV 1.19 keV 77 mum 7.51 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 205, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.4 cm -7.67 mm 8.1 cm 516 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -41 cm -4.86 mm 20 cm 516 keV 0 eV 12 cm 12 cm TrackerTransportation + 2 -49.3 cm 9.28 mm 80 cm 516 keV 0 eV 60.6 cm 72.6 cm ChamberTransportation + 3 -52 cm 1.4 cm 1 m 516 keV 0 eV 20.2 cm 92.8 cm TrackerTransportation + 4 -60.2 cm 2.81 cm 1.6 m 516 keV 0 eV 60.6 cm 1.53 m ChamberTransportation + 5 -63 cm 3.29 cm 1.8 m 516 keV 0 eV 20.2 cm 1.74 m TrackerTransportation + 6 -71.2 cm 4.7 cm 2.4 m 516 keV 0 eV 60.6 cm 2.34 m WorldPVTransportation + 7 -78.2 cm 5.9 cm 2.91 m 516 keV 0 eV 51.5 cm 2.86 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.1 cm -9.47 mm -8.18 mm 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -38.1 cm -1.02 cm -7.81 mm 9.39 keV 1.62 keV 856 mum 856 mum Tracker eIoni + 2 -38.1 cm -1.06 cm -7.28 mm 7.03 keV 2.36 keV 720 mum 1.58 mm Tracker eIoni + 3 -38.1 cm -1.11 cm -7.13 mm 5.32 keV 1.72 keV 547 mum 2.12 mm Tracker eIoni + 4 -38.1 cm -1.14 cm -7.33 mm 4.6 keV 715 eV 437 mum 2.56 mm Tracker eIoni + 5 -38.1 cm -1.16 cm -7.65 mm 3.93 keV 673 eV 392 mum 2.95 mm Tracker eIoni + 6 -38.1 cm -1.14 cm -7.39 mm 2.36 keV 1.57 keV 347 mum 3.3 mm Tracker eIoni + 7 -38.1 cm -1.13 cm -7.31 mm 0 eV 2.36 keV 209 mum 3.51 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.3 cm -1.09 cm -63.4 cm 74.8 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -30.8 cm -1.14 cm -63.4 cm 62.8 keV 12 keV 6.67 mm 6.67 mm Chamber eIoni + 2 -31.1 cm -1.06 cm -63.6 cm 58.6 keV 4.16 keV 5.07 mm 1.17 cm Chamber eIoni + 3 -30.8 cm -8.94 mm -63.7 cm 52.5 keV 6.18 keV 4.57 mm 1.63 cm Chamber eIoni + 4 -30.7 cm -6.25 mm -63.7 cm 45.7 keV 6.72 keV 3.84 mm 2.02 cm Chamber eIoni + 5 -30.7 cm -6.51 mm -63.4 cm 40.8 keV 4.96 keV 3.13 mm 2.33 cm Chamber eIoni + 6 -30.9 cm -6.71 mm -63.4 cm 34.3 keV 6.46 keV 2.64 mm 2.59 cm Chamber eIoni + 7 -31 cm -6.42 mm -63.5 cm 30.8 keV 3.49 keV 2.06 mm 2.8 cm Chamber eIoni + 8 -31 cm -5.57 mm -63.4 cm 18 keV 12.8 keV 1.77 mm 2.98 cm Chamber eIoni + 9 -30.9 cm -6.01 mm -63.4 cm 15.2 keV 2.82 keV 914 mum 3.07 cm Chamber eIoni + 10 -30.9 cm -5.92 mm -63.4 cm 11.4 keV 3.82 keV 766 mum 3.15 cm Chamber eIoni + 11 -30.9 cm -5.96 mm -63.3 cm 10.1 keV 1.23 keV 588 mum 3.2 cm Chamber eIoni + 12 -30.9 cm -6.06 mm -63.3 cm 3.46 keV 6.67 keV 536 mum 3.26 cm Chamber eIoni + 13 -30.9 cm -6.12 mm -63.3 cm 291 eV 3.17 keV 242 mum 3.28 cm Chamber eIoni + 14 -30.9 cm -6.12 mm -63.3 cm 0 eV 291 eV 13.5 mum 3.28 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 cm -9.41 mm -1.58 m 13.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -14.1 cm -9.19 mm -1.58 m 10.2 keV 3.24 keV 683 mum 683 mum Chamber eIoni + 2 -14.1 cm -9.39 mm -1.58 m 8.38 keV 1.84 keV 540 mum 1.22 mm Chamber eIoni + 3 -14.1 cm -9.46 mm -1.58 m 4.84 keV 3.54 keV 466 mum 1.69 mm Chamber eIoni + 4 -14.1 cm -9.49 mm -1.58 m 157 eV 4.68 keV 321 mum 2.01 mm Chamber eIoni + 5 -14.1 cm -9.49 mm -1.58 m 0 eV 157 eV 9.62 mum 2.02 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.8 cm -9.15 mm -1.66 m 849 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -21.4 cm 1.34 cm -1.6 m 832 keV 17.3 keV 10.7 cm 10.7 cm ChamberTransportation + 2 -24 cm 2.11 cm -1.58 m 812 keV 19.8 keV 4.09 cm 14.8 cm TrackerTransportation + 3 -86 cm 15.8 cm -1.27 m 683 keV 129 keV 72.7 cm 87.5 cm Tracker eIoni + 4 -1.35 m 17.1 cm -1.24 m 533 keV 95.8 keV 51.6 cm 1.39 m Tracker eIoni + 5 -1.67 m 22.3 cm -1.46 m 462 keV 70.7 keV 40.9 cm 1.8 m Tracker eIoni + 6 -1.76 m 24 cm -1.48 m 438 keV 14.4 keV 9.48 cm 1.89 m Tracker eIoni + 7 -2.01 m 30.3 cm -1.34 m 384 keV 53.9 keV 30.8 cm 2.2 m Tracker eIoni + 8 -2.22 m 39.3 cm -1.23 m 339 keV 45.4 keV 25.3 cm 2.46 m Tracker eIoni + 9 -2.26 m 41.8 cm -1.26 m 306 keV 18.8 keV 6.29 cm 2.52 m Tracker eIoni + 10 -2.4 m 44.2 cm -1.35 m 265 keV 40.6 keV 17.9 cm 2.7 m Tracker eIoni + 11 -2.4 m 44.2 cm -1.35 m 264 keV 644 eV 3.41 mm 2.7 m WorldPVTransportation + 12 -2.53 m 41.2 cm -1.4 m 233 keV 31.6 keV 14.2 cm 2.84 m WorldPV eIoni + 13 -2.58 m 42.7 cm -1.31 m 195 keV 38.2 keV 11.6 cm 2.96 m WorldPV eIoni + 14 -2.62 m 36.4 cm -1.27 m 174 keV 20.9 keV 8.66 cm 3.05 m WorldPV eIoni + 15 -2.62 m 35.8 cm -1.26 m 161 keV 2.21 keV 7.84 mm 3.05 m WorldPV eIoni + 16 -2.66 m 31.5 cm -1.25 m 142 keV 19.7 keV 6.35 cm 3.12 m WorldPV eIoni + 17 -2.68 m 27.1 cm -1.26 m 120 keV 21.7 keV 5.11 cm 3.17 m WorldPV eIoni + 18 -2.69 m 26.3 cm -1.26 m 96.9 keV 14.5 keV 1.07 cm 3.18 m WorldPV eIoni + 19 -2.7 m 24.4 cm -1.27 m 87.1 keV 9.84 keV 2.67 cm 3.21 m WorldPV eIoni + 20 -2.72 m 23.5 cm -1.26 m 72.3 keV 14.8 keV 2.21 cm 3.23 m WorldPV eIoni + 21 -2.74 m 23 cm -1.26 m 63.7 keV 8.61 keV 1.6 cm 3.24 m WorldPV eIoni + 22 -2.75 m 22.9 cm -1.25 m 55.9 keV 7.76 keV 1.28 cm 3.26 m WorldPV eIoni + 23 -2.75 m 22.3 cm -1.26 m 50.1 keV 5.85 keV 1.02 cm 3.27 m WorldPV eIoni + 24 -2.76 m 21.8 cm -1.26 m 42.3 keV 7.78 keV 8.45 mm 3.27 m WorldPV eIoni + 25 -2.76 m 21.4 cm -1.26 m 37.4 keV 4.85 keV 6.31 mm 3.28 m WorldPV eIoni + 26 -2.77 m 21.1 cm -1.26 m 33.6 keV 3.88 keV 5.13 mm 3.29 m WorldPV eIoni + 27 -2.77 m 20.7 cm -1.26 m 29.2 keV 4.35 keV 4.28 mm 3.29 m WorldPV eIoni + 28 -2.77 m 20.5 cm -1.26 m 24.4 keV 4.81 keV 3.39 mm 3.29 m WorldPV eIoni + 29 -2.77 m 20.3 cm -1.26 m 21.9 keV 2.47 keV 2.54 mm 3.3 m WorldPV eIoni + 30 -2.77 m 20.1 cm -1.26 m 16.9 keV 5.02 keV 2.16 mm 3.3 m WorldPV eIoni + 31 -2.77 m 20 cm -1.26 m 12.2 keV 4.71 keV 1.47 mm 3.3 m WorldPV eIoni + 32 -2.77 m 20 cm -1.26 m 11 keV 1.21 keV 962 mum 3.3 m WorldPV eIoni + 33 -2.77 m 20 cm -1.26 m 10.2 keV 804 eV 853 mum 3.3 m WorldPV eIoni + 34 -2.77 m 20 cm -1.26 m 7.95 keV 2.22 keV 783 mum 3.3 m WorldPV eIoni + 35 -2.77 m 20 cm -1.26 m 6.64 keV 1.31 keV 611 mum 3.3 m WorldPV eIoni + 36 -2.77 m 20 cm -1.26 m 4.82 keV 1.81 keV 521 mum 3.3 m WorldPV eIoni + 37 -2.77 m 20 cm -1.26 m 3.01 keV 1.82 keV 405 mum 3.3 m WorldPV eIoni + 38 -2.77 m 20 cm -1.26 m 455 eV 2.55 keV 278 mum 3.3 m WorldPV eIoni + 39 -2.77 m 20 cm -1.26 m 0 eV 455 eV 25.4 mum 3.3 m WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.69 m 26.3 cm -1.26 m 8.65 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.69 m 26.3 cm -1.26 m 6.36 keV 2.29 keV 662 mum 662 mum WorldPV eIoni + 2 -2.69 m 26.3 cm -1.26 m 4.96 keV 1.4 keV 503 mum 1.17 mm WorldPV eIoni + 3 -2.69 m 26.3 cm -1.26 m 3.7 keV 1.26 keV 414 mum 1.58 mm WorldPV eIoni + 4 -2.69 m 26.3 cm -1.26 m 2.14 keV 1.55 keV 332 mum 1.91 mm WorldPV eIoni + 5 -2.69 m 26.3 cm -1.26 m 0 eV 2.14 keV 181 mum 2.09 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.62 m 35.8 cm -1.26 m 10.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.62 m 35.7 cm -1.26 m 6.4 keV 3.77 keV 782 mum 782 mum WorldPV eIoni + 2 -2.62 m 35.7 cm -1.26 m 4.5 keV 1.9 keV 505 mum 1.29 mm WorldPV eIoni + 3 -2.62 m 35.7 cm -1.26 m 3.11 keV 1.39 keV 385 mum 1.67 mm WorldPV eIoni + 4 -2.62 m 35.7 cm -1.26 m 237 eV 2.87 keV 286 mum 1.96 mm WorldPV eIoni + 5 -2.62 m 35.7 cm -1.26 m 0 eV 237 eV 15.6 mum 1.97 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.26 m 41.8 cm -1.26 m 14.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.26 m 41.9 cm -1.27 m 11.5 keV 2.98 keV 1.19 mm 1.19 mm Tracker eIoni + 2 -2.26 m 42 cm -1.27 m 8.95 keV 2.54 keV 898 mum 2.09 mm Tracker eIoni + 3 -2.26 m 42 cm -1.27 m 5.25 keV 3.7 keV 686 mum 2.77 mm Tracker eIoni + 4 -2.26 m 42.1 cm -1.27 m 3.49 keV 1.76 keV 433 mum 3.21 mm Tracker eIoni + 5 -2.26 m 42.1 cm -1.27 m 1.67 keV 1.82 keV 316 mum 3.52 mm Tracker eIoni + 6 -2.26 m 42.1 cm -1.27 m 0 eV 1.67 keV 124 mum 3.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.76 m 24 cm -1.48 m 9.63 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m 24 cm -1.48 m 7.87 keV 1.76 keV 739 mum 739 mum Tracker eIoni + 2 -1.76 m 24.1 cm -1.48 m 5.89 keV 1.97 keV 605 mum 1.34 mm Tracker eIoni + 3 -1.76 m 24 cm -1.48 m 5.03 keV 860 eV 472 mum 1.82 mm Tracker eIoni + 4 -1.76 m 24 cm -1.48 m 3.71 keV 1.32 keV 419 mum 2.24 mm Tracker eIoni + 5 -1.76 m 24 cm -1.48 m 1.18 keV 2.53 keV 333 mum 2.57 mm Tracker eIoni + 6 -1.76 m 24 cm -1.48 m 0 eV 1.18 keV 76 mum 2.64 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.35 m 17.1 cm -1.24 m 54.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.35 m 16.4 cm -1.24 m 49 keV 5.42 keV 9.75 mm 9.75 mm Tracker eIoni + 2 -1.35 m 15.7 cm -1.24 m 44.4 keV 4.57 keV 8.14 mm 1.79 cm Tracker eIoni + 3 -1.35 m 15.8 cm -1.24 m 40.8 keV 3.57 keV 6.85 mm 2.47 cm Tracker eIoni + 4 -1.36 m 15.8 cm -1.25 m 36.1 keV 4.72 keV 5.95 mm 3.07 cm Tracker eIoni + 5 -1.36 m 15.4 cm -1.24 m 28.8 keV 7.31 keV 4.81 mm 3.55 cm Tracker eIoni + 6 -1.36 m 15.3 cm -1.25 m 26.1 keV 2.65 keV 3.32 mm 3.88 cm Tracker eIoni + 7 -1.37 m 15.2 cm -1.25 m 22.4 keV 3.75 keV 2.84 mm 4.17 cm Tracker eIoni + 8 -1.37 m 15 cm -1.25 m 17.4 keV 4.98 keV 2.23 mm 4.39 cm Tracker eIoni + 9 -1.37 m 14.9 cm -1.25 m 15.8 keV 1.61 keV 1.53 mm 4.54 cm Tracker eIoni + 10 -1.37 m 14.8 cm -1.25 m 13.4 keV 2.39 keV 1.34 mm 4.68 cm Tracker eIoni + 11 -1.37 m 14.8 cm -1.25 m 11.4 keV 2.01 keV 1.08 mm 4.78 cm Tracker eIoni + 12 -1.37 m 14.7 cm -1.25 m 10.3 keV 1.12 keV 891 mum 4.87 cm Tracker eIoni + 13 -1.37 m 14.6 cm -1.25 m 8.13 keV 2.16 keV 793 mum 4.95 cm Tracker eIoni + 14 -1.37 m 14.6 cm -1.25 m 5.75 keV 2.38 keV 623 mum 5.01 cm Tracker eIoni + 15 -1.37 m 14.5 cm -1.25 m 2.59 keV 3.16 keV 463 mum 5.06 cm Tracker eIoni + 16 -1.37 m 14.5 cm -1.25 m 0 eV 2.59 keV 237 mum 5.08 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.34 cm -3.37 mm -2.21 m 21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.19 cm -2.16 mm -2.21 m 18.4 keV 2.56 keV 2.01 mm 2.01 mm Tracker eIoni + 2 -3.1 cm -831 mum -2.21 m 16.8 keV 1.62 keV 1.67 mm 3.68 mm Tracker eIoni + 3 -3.03 cm -97.5 mum -2.21 m 10.3 keV 6.51 keV 1.46 mm 5.14 mm Tracker eIoni + 4 -3.02 cm 290 mum -2.2 m 8.54 keV 1.76 keV 794 mum 5.93 mm Tracker eIoni + 5 -3.05 cm -279 mum -2.2 m 7.04 keV 1.5 keV 654 mum 6.58 mm Tracker eIoni + 6 -3.07 cm -588 mum -2.2 m 5.68 keV 1.35 keV 547 mum 7.13 mm Tracker eIoni + 7 -3.04 cm -339 mum -2.21 m 3.55 keV 2.13 keV 459 mum 7.59 mm Tracker eIoni + 8 -3.01 cm -254 mum -2.21 m 1.89 keV 1.67 keV 321 mum 7.91 mm Tracker eIoni + 9 -3.02 cm -274 mum -2.2 m 0 eV 1.89 keV 149 mum 8.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -165 mum -228 mum -2.4 m 6.27 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -300 mum -331 mum -2.4 m 6.27 MeV 0 eV 1.14 mm 1.14 mm TrackerTransportation + 2 -9.58 cm -7.36 cm -1.6 m 6.27 MeV 0 eV 80.9 cm 81 cm ChamberTransportation + 3 -12 cm -9.19 cm -1.4 m 6.27 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 -19.1 cm -14.7 cm -80 cm 6.27 MeV 0 eV 60.7 cm 1.62 m ChamberTransportation + 5 -21.5 cm -16.5 cm -60 cm 6.27 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 -28.7 cm -22 cm -0.114 fm 6.27 MeV 0 eV 60.7 cm 2.43 m ChamberTransportation + 7 -31.1 cm -23.9 cm 20 cm 6.27 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 -38.2 cm -29.3 cm 80 cm 6.27 MeV 0 eV 60.7 cm 3.24 m ChamberTransportation + 9 -40.6 cm -31.2 cm 1 m 6.27 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 -47.8 cm -36.7 cm 1.6 m 6.27 MeV 0 eV 60.7 cm 4.05 m ChamberTransportation + 11 -50.2 cm -38.5 cm 1.8 m 6.27 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 -57.4 cm -44 cm 2.4 m 6.27 MeV 0 eV 60.7 cm 4.86 m WorldPVTransportation + 13 -63.4 cm -48.7 cm 2.91 m 6.27 MeV 0 eV 51.6 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 198, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -159 mum -194 mum -2.4 m 107 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -233 mum -295 mum -2.4 m 107 MeV 0 eV 1.51 mm 1.51 mm TrackerTransportation + 2 -3.94 cm -5.41 cm -1.6 m 107 MeV 0 eV 80.3 cm 80.4 cm ChamberTransportation + 3 -4.92 cm -6.76 cm -1.4 m 107 MeV 0 eV 20.1 cm 1 m TrackerTransportation + 4 -7.85 cm -10.8 cm -80 cm 107 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 -8.83 cm -12.1 cm -60 cm 107 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 -11.8 cm -16.2 cm 0 fm 107 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 -12.7 cm -17.5 cm 20 cm 107 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 -15.7 cm -21.6 cm 80 cm 107 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 -16.7 cm -22.9 cm 1 m 107 MeV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 -19.6 cm -26.9 cm 1.6 m 107 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -20.6 cm -28.3 cm 1.8 m 107 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -23.5 cm -32.3 cm 2.4 m 107 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 -26 cm -35.7 cm 2.91 m 107 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -118 mum -148 mum -2.4 m 614 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -159 mum -296 mum -2.4 m 614 keV 0 eV 2.28 mm 2.28 mm TrackerTransportation + 2 -1.48 cm -5.25 cm -1.6 m 614 keV 0 eV 80.2 cm 80.4 cm ChamberTransportation + 3 -1.85 cm -6.55 cm -1.4 m 614 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.95 cm -10.5 cm -80 cm 614 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -3.31 cm -11.8 cm -60 cm 614 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.41 cm -15.7 cm 0 fm 614 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -4.78 cm -17 cm 20 cm 614 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.87 cm -20.9 cm 80 cm 614 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -6.24 cm -22.2 cm 1 m 614 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -7.34 cm -26.1 cm 1.6 m 614 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -7.7 cm -27.4 cm 1.8 m 614 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.8 cm -31.3 cm 2.4 m 614 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -9.74 cm -34.7 cm 2.91 m 614 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -92.5 mum -81.2 mum -2.4 m 2.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -127 mum -211 mum -2.4 m 2.5 MeV 0 eV 3.33 mm 3.33 mm TrackerTransportation + 2 -8.46 mm -3.14 cm -1.6 m 2.5 MeV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -1.05 cm -3.92 cm -1.4 m 2.5 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -1.61 cm -5.98 cm -87.1 cm 416 keV 0 eV 52.9 cm 1.53 m Tracker compt + 5 2.4 m 21.6 cm -89.6 cm 416 keV 0 eV 2.43 m 3.97 m WorldPVTransportation + 6 2.91 m 27.4 cm -90.1 cm 416 keV 0 eV 51.3 cm 4.48 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.61 cm -5.98 cm -87.1 cm 2.08 MeV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.85 cm -6.39 cm -80 cm 2.08 MeV 9.69 keV 7.23 cm 7.23 cm ChamberTransportation + 2 -3.98 cm -10.1 cm -67.8 cm 1.61 MeV 63.1 keV 13.4 cm 20.6 cm Chamber eBrem + 3 -7.02 cm -8.52 cm -63.2 cm 1.48 MeV 24.7 keV 5.87 cm 26.5 cm Chamber eIoni + 4 -9.01 cm -7.8 cm -60 cm 1.46 MeV 13.7 keV 4.02 cm 30.5 cm TrackerTransportation + 5 -41.8 cm -13.6 cm 0 fm 1.35 MeV 115 keV 71.1 cm 1.02 m ChamberTransportation + 6 -51.3 cm -4.17 cm 20 cm 1.16 MeV 165 keV 41.3 cm 1.43 m TrackerTransportation + 7 -17.2 cm -5.31 cm 59.7 cm 1.06 MeV 87.5 keV 53.2 cm 1.96 m Tracker eIoni + 8 3.03 cm 6.63 mm 80 cm 1.02 MeV 40.8 keV 30 cm 2.26 m ChamberTransportation + 9 10.4 cm 3.61 cm 97.9 cm 853 keV 171 keV 33 cm 2.59 m Chamber eIoni + 10 5.86 cm 3.3 cm 84.3 cm 624 keV 136 keV 25.8 cm 2.85 m Chamber eIoni + 11 4.89 cm 1.71 cm 80 cm 580 keV 43.4 keV 6.09 cm 2.91 m TrackerTransportation + 12 -8.95 cm 7.39 cm 40.9 cm 491 keV 89.3 keV 46 cm 3.37 m Tracker eIoni + 13 -32.4 cm 21 cm 22.1 cm 423 keV 67.7 keV 36.3 cm 3.73 m Tracker eIoni + 14 -37 cm 25 cm 20 cm 412 keV 11.3 keV 6.57 cm 3.8 m ChamberTransportation + 15 -35.7 cm 28.4 cm 15.3 cm 364 keV 48.3 keV 9.68 cm 3.89 m Chamber eIoni + 16 -35.9 cm 28.8 cm 11.3 cm 303 keV 60.5 keV 8.07 cm 3.98 m Chamber eIoni + 17 -34.4 cm 32.3 cm 9.12 cm 262 keV 41.3 keV 6.15 cm 4.04 m Chamber eIoni + 18 -34.9 cm 35.7 cm 9.06 cm 217 keV 44.5 keV 4.91 cm 4.09 m Chamber eIoni + 19 -34.7 cm 33.2 cm 8.3 cm 180 keV 36.9 keV 3.68 cm 4.12 m Chamber eIoni + 20 -36.1 cm 34.6 cm 8.74 cm 153 keV 27.3 keV 2.74 cm 4.15 m Chamber eIoni + 21 -36.3 cm 33.5 cm 7.68 cm 139 keV 14.3 keV 2.1 cm 4.17 m Chamber eIoni + 22 -35.7 cm 32.5 cm 6.99 cm 121 keV 17.8 keV 1.8 cm 4.19 m Chamber eIoni + 23 -34.8 cm 32.8 cm 6.59 cm 89.7 keV 31.3 keV 1.44 cm 4.2 m Chamber eIoni + 24 -34.5 cm 32.3 cm 6.35 cm 61.4 keV 28.3 keV 8.89 mm 4.21 m Chamber eIoni + 25 -34.2 cm 32.4 cm 6.17 cm 53.8 keV 7.61 keV 4.9 mm 4.22 m Chamber eIoni + 26 -34.3 cm 32.2 cm 6.31 cm 47.8 keV 5.94 keV 4 mm 4.22 m Chamber eIoni + 27 -34.4 cm 32.2 cm 6.14 cm 44.7 keV 3.17 keV 3.35 mm 4.23 m Chamber eIoni + 28 -34.4 cm 32.1 cm 6.3 cm 42.9 keV 1.8 keV 3.02 mm 4.23 m Chamber eIoni + 29 -34.3 cm 32 cm 6.2 cm 34.3 keV 8.55 keV 2.84 mm 4.23 m Chamber eIoni + 30 -34.4 cm 31.9 cm 6.12 cm 29.6 keV 4.72 keV 2.06 mm 4.23 m Chamber eIoni + 31 -34.4 cm 31.8 cm 6.12 cm 23.2 keV 6.44 keV 1.68 mm 4.23 m Chamber eIoni + 32 -34.3 cm 31.9 cm 6.12 cm 18.8 keV 4.32 keV 1.23 mm 4.24 m Chamber eIoni + 33 -34.4 cm 31.9 cm 6.18 cm 16 keV 2.82 keV 963 mum 4.24 m Chamber eIoni + 34 -34.4 cm 31.9 cm 6.19 cm 15.7 keV 290 eV 810 mum 4.24 m Chamber eIoni + 35 -34.4 cm 31.8 cm 6.21 cm 11.8 keV 3.9 keV 795 mum 4.24 m Chamber eIoni + 36 -34.4 cm 31.8 cm 6.23 cm 10.6 keV 1.22 keV 609 mum 4.24 m Chamber eIoni + 37 -34.4 cm 31.8 cm 6.25 cm 8.99 keV 1.63 keV 557 mum 4.24 m Chamber eIoni + 38 -34.4 cm 31.8 cm 6.24 cm 7.25 keV 1.74 keV 491 mum 4.24 m Chamber eIoni + 39 -34.4 cm 31.8 cm 6.24 cm 240 eV 7.01 keV 422 mum 4.24 m Chamber eIoni + 40 -34.4 cm 31.8 cm 6.24 cm 0 eV 240 eV 12 mum 4.24 m Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.86 cm 3.3 cm 84.3 cm 93.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 5.34 cm 3.73 cm 84.4 cm 80.8 keV 12.3 keV 9.44 mm 9.44 mm Chamber eIoni + 2 4.98 cm 4.09 cm 84.6 cm 73.4 keV 7.34 keV 7.55 mm 1.7 cm Chamber eIoni + 3 4.64 cm 4.4 cm 84.7 cm 61.1 keV 12.4 keV 6.49 mm 2.35 cm Chamber eIoni + 4 4.77 cm 4.11 cm 84.5 cm 53.2 keV 7.9 keV 4.86 mm 2.83 cm Chamber eIoni + 5 4.64 cm 4.23 cm 84.3 cm 46.6 keV 6.55 keV 3.93 mm 3.23 cm Chamber eIoni + 6 4.82 cm 4.09 cm 84.3 cm 42.9 keV 3.69 keV 3.23 mm 3.55 cm Chamber eIoni + 7 4.71 cm 3.92 cm 84.3 cm 31.9 keV 11.1 keV 2.85 mm 3.83 cm Chamber eIoni + 8 4.6 cm 3.9 cm 84.4 cm 29.6 keV 2.27 keV 1.86 mm 4.02 cm Chamber eIoni + 9 4.53 cm 3.95 cm 84.3 cm 28 keV 1.64 keV 1.68 mm 4.19 cm Chamber eIoni + 10 4.57 cm 4.06 cm 84.3 cm 25.4 keV 2.55 keV 1.56 mm 4.34 cm Chamber eIoni + 11 4.59 cm 4 cm 84.2 cm 19.9 keV 5.52 keV 1.37 mm 4.48 cm Chamber eIoni + 12 4.59 cm 4.03 cm 84.3 cm 12 keV 7.9 keV 1.02 mm 4.58 cm Chamber eIoni + 13 4.58 cm 4 cm 84.3 cm 8.67 keV 3.33 keV 615 mum 4.65 cm Chamber eIoni + 14 4.59 cm 3.99 cm 84.3 cm 4.56 keV 4.11 keV 478 mum 4.69 cm Chamber eIoni + 15 4.59 cm 3.99 cm 84.3 cm 560 eV 4 keV 307 mum 4.72 cm Chamber eIoni + 16 4.59 cm 3.99 cm 84.3 cm 0 eV 560 eV 23.8 mum 4.73 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -17.2 cm -5.31 cm 59.7 cm 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -17.1 cm -5.39 cm 59.7 cm 9.66 keV 1.35 keV 856 mum 856 mum Tracker eIoni + 2 -17.1 cm -5.4 cm 59.7 cm 7.26 keV 2.4 keV 741 mum 1.6 mm Tracker eIoni + 3 -17 cm -5.37 cm 59.7 cm 4.94 keV 2.32 keV 563 mum 2.16 mm Tracker eIoni + 4 -17 cm -5.38 cm 59.7 cm 3.87 keV 1.07 keV 413 mum 2.57 mm Tracker eIoni + 5 -17 cm -5.36 cm 59.7 cm 1.34 keV 2.53 keV 343 mum 2.92 mm Tracker eIoni + 6 -17 cm -5.36 cm 59.7 cm 0 eV 1.34 keV 90.3 mum 3.01 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.7 cm -11.6 cm 4.1 cm 9.07 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -43.7 cm -11.6 cm 4.12 cm 5.38 keV 3.69 keV 494 mum 494 mum Chamber eIoni + 2 -43.7 cm -11.6 cm 4.11 cm 3.25 keV 2.13 keV 345 mum 839 mum Chamber eIoni + 3 -43.7 cm -11.7 cm 4.1 cm 1.57 keV 1.68 keV 226 mum 1.07 mm Chamber eIoni + 4 -43.7 cm -11.7 cm 4.1 cm 0 eV 1.57 keV 84.4 mum 1.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -45.6 cm -9.81 cm 8 cm 9.68 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -45.6 cm -9.79 cm 8.01 cm 3.02 keV 6.66 keV 518 mum 518 mum Chamber eIoni + 2 -45.6 cm -9.79 cm 8.01 cm 0 eV 3.02 keV 207 mum 726 mum Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.02 cm -8.52 cm -63.2 cm 107 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -6.47 cm -9.04 cm -62.8 cm 94 keV 13.1 keV 1.18 cm 1.18 cm Chamber eIoni + 2 -6.18 cm -9.36 cm -63.3 cm 86.6 keV 7.45 keV 9.6 mm 2.14 cm Chamber eIoni + 3 -6.51 cm -9.87 cm -63.2 cm 78.3 keV 8.25 keV 8.43 mm 2.99 cm Chamber eIoni + 4 -6.44 cm -10.2 cm -63.6 cm 52.5 keV 25.9 keV 7.18 mm 3.7 cm Chamber eIoni + 5 -6.67 cm -10 cm -63.6 cm 49.2 keV 3.3 keV 3.84 mm 4.09 cm Chamber eIoni + 6 -6.86 cm -10.2 cm -63.7 cm 45.9 keV 3.26 keV 3.5 mm 4.44 cm Chamber eIoni + 7 -6.67 cm -10.2 cm -63.8 cm 41.3 keV 4.66 keV 3.15 mm 4.75 cm Chamber eIoni + 8 -6.71 cm -10.1 cm -63.7 cm 40.1 keV 1.21 keV 2.69 mm 5.02 cm Chamber eIoni + 9 -6.81 cm -9.99 cm -63.8 cm 37.5 keV 2.54 keV 2.58 mm 5.28 cm Chamber eIoni + 10 -6.77 cm -10 cm -63.7 cm 34.6 keV 2.96 keV 2.34 mm 5.51 cm Chamber eIoni + 11 -6.81 cm -10 cm -63.8 cm 0 eV 34.6 keV 2.08 mm 5.72 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 217, Parent ID = 216 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.98 cm -10.1 cm -67.8 cm 405 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -2.19 cm -8.94 cm -60 cm 405 keV 0 eV 8.04 cm 8.04 cm TrackerTransportation + 2 11.6 cm 523 mum 0 fm 405 keV 0 eV 62.2 cm 70.3 cm ChamberTransportation + 3 16.3 cm 3.05 cm 20 cm 405 keV 0 eV 20.7 cm 91 cm TrackerTransportation + 4 30.1 cm 12 cm 80 cm 405 keV 0 eV 62.2 cm 1.53 m ChamberTransportation + 5 34.7 cm 15 cm 1 m 405 keV 0 eV 20.7 cm 1.74 m TrackerTransportation + 6 48.6 cm 24 cm 1.6 m 405 keV 0 eV 62.2 cm 2.36 m ChamberTransportation + 7 53.2 cm 27 cm 1.8 m 405 keV 0 eV 20.7 cm 2.57 m TrackerTransportation + 8 67 cm 36 cm 2.4 m 405 keV 0 eV 62.2 cm 3.19 m WorldPVTransportation + 9 78.8 cm 43.6 cm 2.91 m 405 keV 0 eV 52.9 cm 3.72 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 195, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -91.1 mum -77.2 mum -2.4 m 492 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -91.2 mum -214 mum -2.4 m 492 keV 0 eV 3.42 mm 3.42 mm TrackerTransportation + 2 -127 mum -3.22 cm -1.6 m 492 keV 0 eV 80.1 cm 80.4 cm ChamberTransportation + 3 -135 mum -4.02 cm -1.4 m 492 keV 0 eV 20 cm 1 m TrackerTransportation + 4 -162 mum -6.42 cm -80 cm 492 keV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -171 mum -7.22 cm -60 cm 492 keV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -197 mum -9.62 cm 0.114 fm 492 keV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -206 mum -10.4 cm 20 cm 492 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -233 mum -12.8 cm 80 cm 492 keV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -242 mum -13.6 cm 1 m 492 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -268 mum -16 cm 1.6 m 492 keV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -277 mum -16.8 cm 1.8 m 492 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -304 mum -19.2 cm 2.4 m 492 keV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -326 mum -21.3 cm 2.91 m 492 keV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.4 mum -75.6 mum -2.4 m 10.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -189 mum -59.3 mum -2.4 m 10.8 MeV 0 eV 3.63 mm 3.63 mm TrackerTransportation + 2 -2.21 cm 3.53 mm -1.6 m 10.8 MeV 0 eV 80 cm 80.4 cm ChamberTransportation + 3 -2.76 cm 4.42 mm -1.4 m 10.8 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -4.41 cm 7.11 mm -80 cm 10.8 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -4.96 cm 8.01 mm -60 cm 10.8 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -6.6 cm 1.07 cm 0 fm 10.8 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -7.15 cm 1.16 cm 20 cm 10.8 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -8.8 cm 1.43 cm 80 cm 10.8 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -9.34 cm 1.52 cm 1 m 10.8 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -11 cm 1.79 cm 1.6 m 10.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -11.5 cm 1.88 cm 1.8 m 10.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -13.2 cm 2.15 cm 2.4 m 10.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -14.6 cm 2.37 cm 2.91 m 10.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65.6 mum -32.9 mum -2.4 m 767 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -171 mum -243 mum -2.4 m 767 keV 0 eV 4.28 mm 4.28 mm TrackerTransportation + 2 -2 cm -3.96 cm -1.6 m 767 keV 0 eV 80.1 cm 80.5 cm ChamberTransportation + 3 -2.49 cm -4.94 cm -1.4 m 767 keV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -3.98 cm -7.89 cm -80 cm 767 keV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -4.48 cm -8.88 cm -60 cm 767 keV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -5.96 cm -11.8 cm 0 fm 767 keV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -6.46 cm -12.8 cm 20 cm 767 keV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -7.94 cm -15.8 cm 80 cm 767 keV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -8.44 cm -16.7 cm 1 m 767 keV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -9.93 cm -19.7 cm 1.6 m 767 keV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -10.4 cm -20.7 cm 1.8 m 767 keV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -11.9 cm -23.6 cm 2.4 m 767 keV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -13.2 cm -26.1 cm 2.91 m 767 keV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -67.3 mum -25.8 mum -2.41 m 1.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -183 mum -98.7 mum -2.4 m 1.09 MeV 0 eV 5.26 mm 5.26 mm TrackerTransportation + 2 -1.78 cm -1.12 cm -1.6 m 1.09 MeV 0 eV 80 cm 80.6 cm ChamberTransportation + 3 -2.22 cm -1.4 cm -1.4 m 1.09 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -3.53 cm -2.23 cm -80 cm 1.09 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.97 cm -2.51 cm -60 cm 1.09 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -5.29 cm -3.34 cm 0 fm 1.09 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -5.73 cm -3.62 cm 20 cm 1.09 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -7.05 cm -4.45 cm 80 cm 1.09 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -7.49 cm -4.73 cm 1 m 1.09 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -8.81 cm -5.56 cm 1.6 m 1.09 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -9.25 cm -5.84 cm 1.8 m 1.09 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -10.6 cm -6.67 cm 2.4 m 1.09 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -11.7 cm -7.38 cm 2.91 m 1.09 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.8 mum -26 mum -2.41 m 542 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -121 mum -23.9 mum -2.4 m 192 keV 351 keV 2.51 mm 2.51 mm TargetPV compt + 2 -869 mum 43.1 mum -2.4 m 0 eV 192 keV 1.11 mm 3.62 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 107 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64 mum -25.8 mum -2.41 m 318 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.2 mum -25.9 mum -2.41 m 309 MeV 42.4 keV 35.3 mum 35.3 mum TargetPV eBrem + 2 -80.4 mum -34.1 mum -2.4 m 277 MeV 1.03 MeV 735 mum 770 mum TargetPV eBrem + 3 -83.2 mum -22 mum -2.4 m 270 MeV 583 keV 461 mum 1.23 mm TargetPV eBrem + 4 -87.9 mum -6.42 mum -2.4 m 138 MeV 1.2 MeV 762 mum 1.99 mm TargetPV eBrem + 5 -94.7 mum -300 nm -2.4 m 80.1 MeV 454 keV 364 mum 2.36 mm TargetPV eBrem + 6 -41.8 mum 43.9 mum -2.4 m 77.5 MeV 944 keV 681 mum 3.04 mm TargetPV eBrem + 7 53.4 mum 143 mum -2.4 m 51.4 MeV 1.36 MeV 1.01 mm 4.05 mm TargetPV eBrem + 8 64.8 mum 145 mum -2.4 m 45.8 MeV 62.7 keV 66.2 mum 4.12 mm TargetPV eBrem + 9 65.7 mum 145 mum -2.4 m 45.3 MeV 7.77 keV 8.33 mum 4.13 mm TargetPV eBrem + 10 83.5 mum 240 mum -2.4 m 42.5 MeV 2.1 MeV 1.04 mm 5.17 mm TargetPV eBrem + 11 110 mum 210 mum -2.4 m 42 MeV 515 keV 269 mum 5.44 mm TrackerTransportation + 12 5.56 cm -6.3 cm -1.98 m 41.9 MeV 87 keV 42.7 cm 43.3 cm Tracker eIoni + 13 10.6 cm -11.5 cm -1.6 m 41.8 MeV 80.9 keV 38.8 cm 82.1 cm ChamberTransportation + 14 13.2 cm -13.9 cm -1.44 m 41.7 MeV 104 keV 16.4 cm 98.4 cm Chamber eBrem + 15 13.8 cm -14.5 cm -1.4 m 41.7 MeV 11.9 keV 4.1 cm 1.03 m TrackerTransportation + 16 23 cm -23 cm -80 cm 41.5 MeV 134 keV 61.3 cm 1.64 m ChamberTransportation + 17 24.8 cm -24.9 cm -65.4 cm 41.5 MeV 67.2 keV 14.9 cm 1.79 m Chamber eBrem + 18 25.5 cm -26.1 cm -60 cm 41.4 MeV 41.1 keV 5.53 cm 1.84 m TrackerTransportation + 19 31.4 cm -38 cm 0.0241 fm 41.3 MeV 127 keV 61.5 cm 2.46 m ChamberTransportation + 20 32.6 cm -41.6 cm 17.6 cm 40.9 MeV 108 keV 18 cm 2.64 m Chamber eIoni + 21 32.8 cm -42.3 cm 20 cm 40.9 MeV 17.1 keV 2.46 cm 2.66 m TrackerTransportation + 22 37 cm -59 cm 80 cm 40.8 MeV 131 keV 62.4 cm 3.29 m ChamberTransportation + 23 38.4 cm -64.5 cm 1 m 40.7 MeV 89.2 keV 20.8 cm 3.49 m TrackerTransportation + 24 44.3 cm -83 cm 1.6 m 40.5 MeV 134 keV 63.1 cm 4.13 m ChamberTransportation + 25 46.3 cm -89.5 cm 1.8 m 40.4 MeV 102 keV 21.1 cm 4.34 m TrackerTransportation + 26 51.7 cm -1.12 m 2.37 m 40.3 MeV 122 keV 61.8 cm 4.95 m Tracker eIoni + 27 52 cm -1.13 m 2.4 m 40.3 MeV 5.62 keV 2.79 cm 4.98 m WorldPVTransportation + 28 57.7 cm -1.32 m 2.91 m 40.1 MeV 117 keV 54.8 cm 5.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.7 cm -1.12 m 2.37 m 17.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.6 cm -1.12 m 2.37 m 14.4 keV 3.46 keV 1.59 mm 1.59 mm Tracker eIoni + 2 51.6 cm -1.12 m 2.38 m 6.1 keV 8.27 keV 1.18 mm 2.77 mm Tracker eIoni + 3 51.6 cm -1.12 m 2.38 m 3.31 keV 2.8 keV 486 mum 3.25 mm Tracker eIoni + 4 51.6 cm -1.12 m 2.38 m 1.79 keV 1.51 keV 302 mum 3.55 mm Tracker eIoni + 5 51.6 cm -1.12 m 2.38 m 0 eV 1.79 keV 138 mum 3.69 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.1 cm -88.7 cm 1.78 m 31.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 46 cm -88.7 cm 1.78 m 29.2 keV 2.7 keV 1.87 mm 1.87 mm Chamber eIoni + 2 45.9 cm -88.8 cm 1.77 m 27.9 keV 1.31 keV 1.65 mm 3.52 mm Chamber eIoni + 3 45.8 cm -88.9 cm 1.78 m 18.3 keV 9.62 keV 1.56 mm 5.08 mm Chamber eIoni + 4 45.8 cm -88.9 cm 1.78 m 15.2 keV 3.09 keV 931 mum 6.01 mm Chamber eIoni + 5 45.8 cm -88.9 cm 1.77 m 11.8 keV 3.45 keV 768 mum 6.77 mm Chamber eIoni + 6 45.8 cm -88.9 cm 1.77 m 8.44 keV 3.32 keV 605 mum 7.38 mm Chamber eIoni + 7 45.8 cm -88.9 cm 1.77 m 4.3 keV 4.14 keV 468 mum 7.85 mm Chamber eIoni + 8 45.8 cm -88.9 cm 1.77 m 0 eV 4.3 keV 294 mum 8.14 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.5 cm -61 cm 87.2 cm 19.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 37.5 cm -61 cm 87.2 cm 17.5 keV 2.2 keV 1.01 mm 1.01 mm Chamber eIoni + 2 37.4 cm -61 cm 87.2 cm 1.9 keV 15.6 keV 887 mum 1.9 mm Chamber eIoni + 3 37.4 cm -61 cm 87.2 cm 0 eV 1.9 keV 109 mum 2.01 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.6 cm -41.6 cm 17.6 cm 250 keV 0 eV 0 fm 0 fm Chamber initStep + 1 34.6 cm -41.2 cm 18.7 cm 220 keV 29.8 keV 4.57 cm 4.57 cm Chamber eIoni + 2 36.1 cm -42.1 cm 19.5 cm 192 keV 28.3 keV 3.75 cm 8.32 cm Chamber eIoni + 3 37.5 cm -43.2 cm 19.5 cm 166 keV 25.6 keV 3.01 cm 11.3 cm Chamber eIoni + 4 37.4 cm -43.1 cm 19.4 cm 125 keV 641 eV 1.67 mm 11.5 cm Chamber eIoni + 5 36.4 cm -43.2 cm 19 cm 108 keV 17.2 keV 1.52 cm 13 cm Chamber eIoni + 6 37 cm -43.2 cm 19.4 cm 94.4 keV 13.6 keV 1.2 cm 14.2 cm Chamber eIoni + 7 37.4 cm -43.3 cm 19.8 cm 88.5 keV 5.85 keV 9.66 mm 15.2 cm Chamber eIoni + 8 37.6 cm -43.6 cm 20 cm 80.2 keV 8.34 keV 8.72 mm 16.1 cm Chamber eIoni + 9 37.6 cm -43.6 cm 20 cm 80.2 keV 0 eV 1.89 mum 16.1 cm TrackerTransportation + 10 38.6 cm -42 cm 20.3 cm 69.4 keV 10.8 keV 1.92 cm 18 cm Tracker eIoni + 11 38.5 cm -40.9 cm 21.2 cm 58.5 keV 10.9 keV 1.49 cm 19.5 cm Tracker eIoni + 12 38.3 cm -40.2 cm 21.9 cm 53.7 keV 4.8 keV 1.11 cm 20.6 cm Tracker eIoni + 13 38.4 cm -39.6 cm 22.6 cm 48.5 keV 5.23 keV 9.52 mm 21.5 cm Tracker eIoni + 14 38.1 cm -39.1 cm 23.1 cm 38.6 keV 9.86 keV 8 mm 22.3 cm Tracker eIoni + 15 37.8 cm -38.7 cm 23.4 cm 34.6 keV 4.01 keV 5.41 mm 22.9 cm Tracker eIoni + 16 37.4 cm -38.5 cm 23.5 cm 31.5 keV 3.07 keV 4.49 mm 23.3 cm Tracker eIoni + 17 37.6 cm -38.5 cm 23.8 cm 29.7 keV 1.85 keV 3.85 mm 23.7 cm Tracker eIoni + 18 37.8 cm -38.4 cm 24 cm 27.9 keV 1.8 keV 3.48 mm 24 cm Tracker eIoni + 19 37.8 cm -38.1 cm 24.2 cm 26.1 keV 1.76 keV 3.15 mm 24.4 cm Tracker eIoni + 20 37.5 cm -38 cm 24.2 cm 22.9 keV 3.2 keV 2.83 mm 24.6 cm Tracker eIoni + 21 37.5 cm -38.1 cm 24 cm 21.4 keV 1.53 keV 2.31 mm 24.9 cm Tracker eIoni + 22 37.4 cm -38.2 cm 23.9 cm 18.6 keV 2.82 keV 2.07 mm 25.1 cm Tracker eIoni + 23 37.3 cm -38.4 cm 23.8 cm 14.2 keV 4.37 keV 1.68 mm 25.3 cm Tracker eIoni + 24 37.3 cm -38.4 cm 23.9 cm 11.5 keV 2.72 keV 1.16 mm 25.4 cm Tracker eIoni + 25 37.2 cm -38.4 cm 23.9 cm 9.55 keV 1.93 keV 897 mum 25.5 cm Tracker eIoni + 26 37.2 cm -38.4 cm 23.9 cm 8.17 keV 1.37 keV 732 mum 25.5 cm Tracker eIoni + 27 37.2 cm -38.4 cm 24 cm 4.11 keV 4.06 keV 627 mum 25.6 cm Tracker eIoni + 28 37.2 cm -38.4 cm 24 cm 1.44 keV 2.67 keV 360 mum 25.6 cm Tracker eIoni + 29 37.2 cm -38.4 cm 24 cm 0 eV 1.44 keV 101 mum 25.6 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 236 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.4 cm -43.1 cm 19.4 cm 40.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 37.3 cm -43.2 cm 19.6 cm 37.3 keV 3.01 keV 2.6 mm 2.6 mm Chamber eIoni + 2 37.4 cm -43.1 cm 19.7 cm 15.2 keV 22.1 keV 2.32 mm 4.92 mm Chamber eIoni + 3 37.5 cm -43.1 cm 19.7 cm 10.8 keV 4.34 keV 766 mum 5.68 mm Chamber eIoni + 4 37.5 cm -43.1 cm 19.7 cm 2.07 keV 8.76 keV 567 mum 6.25 mm Chamber eIoni + 5 37.5 cm -43.1 cm 19.7 cm 0 eV 2.07 keV 124 mum 6.37 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.8 cm -24.9 cm -65.4 cm 4.45 keV 0 eV 0 fm 0 fm Chamber initStep + 1 24.9 cm -25 cm -65.1 cm 0 eV 4.45 keV 3.02 mm 3.02 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.2 cm -13.9 cm -1.44 m 3.66 keV 0 eV 0 fm 0 fm Chamber initStep + 1 13.2 cm -14 cm -1.44 m 0 eV 3.66 keV 4.45 mm 4.45 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 233, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.56 cm -6.3 cm -1.98 m 14 keV 0 eV 0 fm 0 fm Tracker initStep + 1 5.66 cm -6.28 cm -1.98 m 11.5 keV 2.47 keV 1.14 mm 1.14 mm Tracker eIoni + 2 5.72 cm -6.23 cm -1.98 m 10.4 keV 1.13 keV 899 mum 2.04 mm Tracker eIoni + 3 5.75 cm -6.3 cm -1.98 m 8.08 keV 2.29 keV 800 mum 2.84 mm Tracker eIoni + 4 5.8 cm -6.33 cm -1.98 m 3.99 keV 4.08 keV 620 mum 3.46 mm Tracker eIoni + 5 5.81 cm -6.33 cm -1.98 m 824 eV 3.17 keV 351 mum 3.81 mm Tracker eIoni + 6 5.81 cm -6.33 cm -1.98 m 0 eV 824 eV 48.1 mum 3.86 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 83.5 mum 240 mum -2.4 m 757 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 113 mum 206 mum -2.4 m 757 keV 0 eV 269 mum 269 mum TrackerTransportation + 2 9.03 cm -10.3 cm -1.6 m 757 keV 0 eV 81.2 cm 81.2 cm ChamberTransportation + 3 11.3 cm -12.9 cm -1.4 m 757 keV 0 eV 20.3 cm 1.01 m TrackerTransportation + 4 18 cm -20.7 cm -80 cm 757 keV 0 eV 60.9 cm 1.62 m ChamberTransportation + 5 20.3 cm -23.3 cm -60 cm 757 keV 0 eV 20.3 cm 1.83 m TrackerTransportation + 6 27.1 cm -31.1 cm 0 fm 757 keV 0 eV 60.9 cm 2.44 m ChamberTransportation + 7 29.3 cm -33.6 cm 20 cm 757 keV 0 eV 20.3 cm 2.64 m TrackerTransportation + 8 36.1 cm -41.4 cm 80 cm 757 keV 0 eV 60.9 cm 3.25 m ChamberTransportation + 9 38.3 cm -44 cm 1 m 757 keV 0 eV 20.3 cm 3.45 m TrackerTransportation + 10 45.1 cm -51.8 cm 1.6 m 757 keV 0 eV 60.9 cm 4.06 m ChamberTransportation + 11 47.3 cm -54.4 cm 1.8 m 757 keV 0 eV 20.3 cm 4.26 m TrackerTransportation + 12 54.1 cm -62.1 cm 2.4 m 757 keV 0 eV 60.9 cm 4.87 m WorldPVTransportation + 13 59.8 cm -68.7 cm 2.91 m 757 keV 0 eV 51.7 cm 5.39 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 231, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 65.7 mum 145 mum -2.4 m 464 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 194 mum 169 mum -2.4 m 464 keV 0 eV 1.31 mm 1.31 mm TrackerTransportation + 2 7.94 cm 1.49 cm -1.6 m 464 keV 0 eV 80.4 cm 80.5 cm ChamberTransportation + 3 9.92 cm 1.86 cm -1.4 m 464 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 15.9 cm 2.96 cm -80 cm 464 keV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 17.8 cm 3.33 cm -60 cm 464 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 23.8 cm 4.44 cm 0 fm 464 keV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 25.8 cm 4.81 cm 20 cm 464 keV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 31.7 cm 5.91 cm 80 cm 464 keV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 33.7 cm 6.28 cm 1 m 464 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 39.6 cm 7.38 cm 1.6 m 464 keV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 41.6 cm 7.75 cm 1.8 m 464 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 47.5 cm 8.86 cm 2.4 m 464 keV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 52.6 cm 9.8 cm 2.91 m 464 keV 0 eV 51.3 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 230, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 64.8 mum 145 mum -2.4 m 5.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 223 mum 164 mum -2.4 m 5.5 MeV 0 eV 1.32 mm 1.32 mm TrackerTransportation + 2 9.68 cm 1.17 cm -1.6 m 5.5 MeV 0 eV 80.6 cm 80.7 cm ChamberTransportation + 3 12.1 cm 1.46 cm -1.4 m 5.5 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 19.3 cm 2.33 cm -80 cm 5.5 MeV 0 eV 60.4 cm 1.61 m ChamberTransportation + 5 21.8 cm 2.61 cm -60 cm 5.5 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 29 cm 3.48 cm 0.114 fm 5.5 MeV 0 eV 60.4 cm 2.42 m ChamberTransportation + 7 31.4 cm 3.77 cm 20 cm 5.5 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 38.7 cm 4.64 cm 80 cm 5.5 MeV 0 eV 60.4 cm 3.22 m ChamberTransportation + 9 41.1 cm 4.92 cm 1 m 5.5 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 48.3 cm 5.79 cm 1.6 m 5.5 MeV 0 eV 60.4 cm 4.03 m ChamberTransportation + 11 50.7 cm 6.08 cm 1.8 m 5.5 MeV 0 eV 20.1 cm 4.23 m TrackerTransportation + 12 58 cm 6.95 cm 2.4 m 5.5 MeV 0 eV 60.4 cm 4.84 m WorldPVTransportation + 13 64.1 cm 7.68 cm 2.91 m 5.5 MeV 0 eV 51.4 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 229, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 53.4 mum 143 mum -2.4 m 24.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 277 mum 192 mum -2.4 m 24.7 MeV 0 eV 1.39 mm 1.39 mm TrackerTransportation + 2 13 cm 2.85 cm -1.6 m 24.7 MeV 0 eV 81.1 cm 81.2 cm ChamberTransportation + 3 16.3 cm 3.56 cm -1.4 m 24.7 MeV 0 eV 20.3 cm 1.02 m TrackerTransportation + 4 26 cm 5.69 cm -80 cm 24.7 MeV 0 eV 60.8 cm 1.62 m ChamberTransportation + 5 29.3 cm 6.39 cm -60 cm 24.7 MeV 0 eV 20.3 cm 1.83 m TrackerTransportation + 6 39 cm 8.52 cm 0 fm 24.7 MeV 0 eV 60.8 cm 2.43 m ChamberTransportation + 7 42.3 cm 9.23 cm 20 cm 24.7 MeV 0 eV 20.3 cm 2.64 m TrackerTransportation + 8 52 cm 11.4 cm 80 cm 24.7 MeV 0 eV 60.8 cm 3.25 m ChamberTransportation + 9 55.3 cm 12.1 cm 1 m 24.7 MeV 0 eV 20.3 cm 3.45 m TrackerTransportation + 10 65 cm 14.2 cm 1.6 m 24.7 MeV 0 eV 60.8 cm 4.06 m ChamberTransportation + 11 68.2 cm 14.9 cm 1.8 m 24.7 MeV 0 eV 20.3 cm 4.26 m TrackerTransportation + 12 78 cm 17 cm 2.4 m 24.7 MeV 0 eV 60.8 cm 4.87 m WorldPVTransportation + 13 86.3 cm 18.8 cm 2.91 m 24.7 MeV 0 eV 51.7 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 228, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.8 mum 43.9 mum -2.4 m 1.73 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 170 mum 103 mum -2.4 m 1.73 MeV 0 eV 2.39 mm 2.39 mm TrackerTransportation + 2 7.16 cm 2.01 cm -1.6 m 1.73 MeV 0 eV 80.3 cm 80.6 cm ChamberTransportation + 3 8.94 cm 2.51 cm -1.4 m 1.73 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.3 cm 4 cm -80 cm 1.73 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.1 cm 4.5 cm -60 cm 1.73 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 21.4 cm 6 cm 0 fm 1.73 MeV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 23.2 cm 6.5 cm 20 cm 1.73 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 28.6 cm 7.99 cm 80 cm 1.73 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 30.4 cm 8.49 cm 1 m 1.73 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 35.7 cm 9.99 cm 1.6 m 1.73 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 37.5 cm 10.5 cm 1.8 m 1.73 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 42.9 cm 12 cm 2.4 m 1.73 MeV 0 eV 60.3 cm 4.82 m WorldPVTransportation + 13 47.4 cm 13.3 cm 2.91 m 1.73 MeV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.7 mum -300 nm -2.4 m 57.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -38.7 mum 65.7 mum -2.4 m 0 eV 0 eV 1.74 mm 1.74 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 242, Parent ID = 227 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.7 mum 65.7 mum -2.4 m 43 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 13.6 mum 131 mum -2.4 m 41.5 MeV 1.52 MeV 1.33 mm 1.33 mm TrackerTransportation + 2 37.3 cm 1.13 cm -1.59 m 41.3 MeV 191 keV 88.9 cm 89.1 cm Tracker eIoni + 3 50.7 cm 1.9 cm -1.31 m 41.2 MeV 58.3 keV 31.6 cm 1.21 m Tracker eIoni + 4 57.2 cm 2.25 cm -1.16 m 41.2 MeV 36.4 keV 15.8 cm 1.36 m Tracker eIoni + 5 76.5 cm 4.09 cm -72.6 cm 41 MeV 105 keV 47.8 cm 1.84 m Tracker eIoni + 6 1.04 m 6.12 cm -14.4 cm 40.9 MeV 138 keV 64.3 cm 2.49 m Tracker eIoni + 7 1.1 m 6.58 cm 0 fm 40.8 MeV 29.5 keV 15.5 cm 2.64 m ChamberTransportation + 8 1.1 m 6.64 cm 1.97 cm 40.8 MeV 11.1 keV 2.13 cm 2.66 m TrackerTransportation + 9 1.42 m 9.33 cm 80 cm 40.6 MeV 182 keV 84.3 cm 3.51 m ChamberTransportation + 10 1.44 m 9.39 cm 84.4 cm 40.5 MeV 38 keV 4.75 cm 3.55 m Chamber eIoni + 11 1.49 m 10.1 cm 96.7 cm 40.3 MeV 96.2 keV 13.2 cm 3.69 m Chamber eIoni + 12 1.5 m 10.2 cm 1 m 40.3 MeV 31.9 keV 3.58 cm 3.72 m TrackerTransportation + 13 1.63 m 10.2 cm 1.3 m 40.2 MeV 65.4 keV 32.3 cm 4.04 m Tracker eIoni + 14 1.77 m 10.1 cm 1.6 m 40.1 MeV 77.8 keV 33.4 cm 4.38 m ChamberTransportation + 15 1.86 m 10 cm 1.8 m 40 MeV 128 keV 21.9 cm 4.6 m TrackerTransportation + 16 2.12 m 11.6 cm 2.4 m 39.8 MeV 142 keV 65.6 cm 5.25 m WorldPVTransportation + 17 2.3 m 12.1 cm 2.78 m 39.8 MeV 88.6 keV 41.3 cm 5.67 m WorldPV eIoni + 18 2.3 m 12.1 cm 2.78 m 39.7 MeV 625 eV 5.27 mm 5.67 m WorldPV eIoni + 19 2.35 m 12.1 cm 2.91 m 39.7 MeV 25.9 keV 14.1 cm 5.81 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.3 m 12.1 cm 2.78 m 8.66 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.3 m 12.1 cm 2.78 m 7.56 keV 1.11 keV 664 mum 664 mum WorldPV eIoni + 2 2.3 m 12 cm 2.78 m 6.31 keV 1.25 keV 584 mum 1.25 mm WorldPV eIoni + 3 2.3 m 12 cm 2.78 m 2.82 keV 3.49 keV 500 mum 1.75 mm WorldPV eIoni + 4 2.3 m 12 cm 2.78 m 631 eV 2.18 keV 260 mum 2.01 mm WorldPV eIoni + 5 2.3 m 12 cm 2.78 m 0 eV 631 eV 35.3 mum 2.04 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.3 m 12.1 cm 2.78 m 8.31 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.3 m 12 cm 2.78 m 5.84 keV 2.46 keV 636 mum 636 mum WorldPV eIoni + 2 2.3 m 12 cm 2.78 m 4.41 keV 1.43 keV 469 mum 1.1 mm WorldPV eIoni + 3 2.3 m 12 cm 2.77 m 356 eV 4.06 keV 380 mum 1.48 mm WorldPV eIoni + 4 2.3 m 12 cm 2.77 m 0 eV 356 eV 20.5 mum 1.5 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.83 m 10.1 cm 1.73 m 9.61 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.83 m 10 cm 1.73 m 8.01 keV 1.6 keV 515 mum 515 mum Chamber eIoni + 2 1.83 m 10.1 cm 1.73 m 5.34 keV 2.67 keV 452 mum 967 mum Chamber eIoni + 3 1.83 m 10.1 cm 1.73 m 686 eV 4.65 keV 344 mum 1.31 mm Chamber eIoni + 4 1.83 m 10.1 cm 1.73 m 0 eV 686 eV 29.6 mum 1.34 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.63 m 10.2 cm 1.3 m 11 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.63 m 10.1 cm 1.3 m 9 keV 2.01 keV 856 mum 856 mum Tracker eIoni + 2 1.63 m 10.1 cm 1.3 m 8 keV 998 eV 690 mum 1.55 mm Tracker eIoni + 3 1.63 m 10.2 cm 1.3 m 6.54 keV 1.46 keV 614 mum 2.16 mm Tracker eIoni + 4 1.63 m 10.1 cm 1.29 m 5.27 keV 1.27 keV 514 mum 2.67 mm Tracker eIoni + 5 1.63 m 10.2 cm 1.29 m 2.52 keV 2.75 keV 434 mum 3.11 mm Tracker eIoni + 6 1.63 m 10.2 cm 1.29 m 748 eV 1.77 keV 229 mum 3.34 mm Tracker eIoni + 7 1.63 m 10.2 cm 1.29 m 0 eV 748 eV 42.8 mum 3.38 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.49 m 10.1 cm 96.7 cm 93 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.49 m 10.2 cm 96.7 cm 83.3 keV 1.3 keV 1.19 mm 1.19 mm Chamber eBrem + 2 1.48 m 10.4 cm 96.8 cm 74.7 keV 8.66 keV 7.93 mm 9.12 mm Chamber eIoni + 3 1.48 m 10.8 cm 96.5 cm 60.6 keV 14.1 keV 6.65 mm 1.58 cm Chamber eIoni + 4 1.48 m 10.9 cm 96.4 cm 30.4 keV 30.2 keV 4.81 mm 2.06 cm Chamber eIoni + 5 1.48 m 10.9 cm 96.5 cm 24.4 keV 5.96 keV 1.74 mm 2.23 cm Chamber eIoni + 6 1.48 m 10.9 cm 96.5 cm 23.8 keV 668 eV 1.31 mm 2.36 cm Chamber eIoni + 7 1.48 m 10.8 cm 96.5 cm 19.7 keV 4.07 keV 1.27 mm 2.49 cm Chamber eIoni + 8 1.48 m 10.8 cm 96.5 cm 16.9 keV 2.83 keV 1.01 mm 2.59 cm Chamber eIoni + 9 1.48 m 10.8 cm 96.5 cm 14 keV 2.85 keV 854 mum 2.68 cm Chamber eIoni + 10 1.48 m 10.8 cm 96.5 cm 11.7 keV 2.35 keV 709 mum 2.75 cm Chamber eIoni + 11 1.48 m 10.8 cm 96.4 cm 4.68 keV 7 keV 602 mum 2.81 cm Chamber eIoni + 12 1.48 m 10.8 cm 96.5 cm 2.53 keV 2.15 keV 313 mum 2.84 cm Chamber eIoni + 13 1.48 m 10.8 cm 96.5 cm 0 eV 2.53 keV 163 mum 2.86 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 254, Parent ID = 249 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.49 m 10.2 cm 96.7 cm 8.38 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.49 m 10.3 cm 96.8 cm 0 eV 8.38 keV 1.31 mm 1.31 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.44 m 9.39 cm 84.4 cm 109 keV 0 eV 0 fm 0 fm Chamber initStep + 1 1.45 m 9.96 cm 84.8 cm 98.8 keV 10.1 keV 1.21 cm 1.21 cm Chamber eIoni + 2 1.45 m 10.2 cm 84.6 cm 86.6 keV 12.3 keV 1.04 cm 2.26 cm Chamber eIoni + 3 1.46 m 10.6 cm 84.9 cm 79 keV 7.52 keV 8.42 mm 3.1 cm Chamber eIoni + 4 1.46 m 10.9 cm 85.3 cm 72.3 keV 6.73 keV 7.29 mm 3.83 cm Chamber eIoni + 5 1.46 m 10.9 cm 85.7 cm 52.4 keV 19.9 keV 6.33 mm 4.46 cm Chamber eIoni + 6 1.46 m 11.1 cm 85.5 cm 47.3 keV 5.13 keV 3.84 mm 4.84 cm Chamber eIoni + 7 1.46 m 11.2 cm 85.6 cm 40.5 keV 6.78 keV 3.3 mm 5.17 cm Chamber eIoni + 8 1.46 m 11.3 cm 85.7 cm 38.1 keV 2.45 keV 2.62 mm 5.44 cm Chamber eIoni + 9 1.46 m 11.2 cm 85.6 cm 35.9 keV 2.15 keV 2.39 mm 5.67 cm Chamber eIoni + 10 1.46 m 11.4 cm 85.7 cm 32 keV 3.85 keV 2.19 mm 5.89 cm Chamber eIoni + 11 1.46 m 11.3 cm 85.6 cm 29.5 keV 2.58 keV 1.88 mm 6.08 cm Chamber eIoni + 12 1.46 m 11.3 cm 85.6 cm 26.3 keV 3.2 keV 1.67 mm 6.25 cm Chamber eIoni + 13 1.46 m 11.2 cm 85.6 cm 22.3 keV 3.93 keV 1.44 mm 6.39 cm Chamber eIoni + 14 1.46 m 11.2 cm 85.7 cm 18.8 keV 3.56 keV 1.17 mm 6.51 cm Chamber eIoni + 15 1.46 m 11.2 cm 85.6 cm 16.4 keV 2.37 keV 959 mum 6.61 cm Chamber eIoni + 16 1.46 m 11.2 cm 85.6 cm 7.51 keV 8.9 keV 830 mum 6.69 cm Chamber eIoni + 17 1.46 m 11.2 cm 85.7 cm 3.55 keV 3.97 keV 432 mum 6.73 cm Chamber eIoni + 18 1.46 m 11.2 cm 85.6 cm 0 eV 3.55 keV 248 mum 6.76 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.04 m 6.12 cm -14.4 cm 15.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.04 m 6.01 cm -14.3 cm 13.1 keV 2.41 keV 1.31 mm 1.31 mm Tracker eIoni + 2 1.04 m 5.92 cm -14.3 cm 11.8 keV 1.31 keV 1.05 mm 2.37 mm Tracker eIoni + 3 1.04 m 5.89 cm -14.2 cm 10.9 keV 887 eV 927 mum 3.29 mm Tracker eIoni + 4 1.04 m 5.88 cm -14.2 cm 8.62 keV 2.31 keV 849 mum 4.14 mm Tracker eIoni + 5 1.04 m 5.82 cm -14.2 cm 6.2 keV 2.42 keV 660 mum 4.8 mm Tracker eIoni + 6 1.04 m 5.78 cm -14.2 cm 593 eV 5.61 keV 493 mum 5.3 mm Tracker eIoni + 7 1.04 m 5.78 cm -14.2 cm 0 eV 593 eV 33.1 mum 5.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 246, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 76.5 cm 4.09 cm -72.6 cm 41.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 76 cm 3.96 cm -72.4 cm 38 keV 3.39 keV 6.09 mm 6.09 mm Tracker eIoni + 2 75.8 cm 3.71 cm -72 cm 35.6 keV 2.35 keV 5.26 mm 1.13 cm Tracker eIoni + 3 75.5 cm 3.76 cm -71.7 cm 32.5 keV 3.11 keV 4.71 mm 1.61 cm Tracker eIoni + 4 75.6 cm 3.58 cm -71.3 cm 30.1 keV 2.39 keV 4.06 mm 2.01 cm Tracker eIoni + 5 75.6 cm 3.52 cm -71 cm 25.6 keV 4.49 keV 3.56 mm 2.37 cm Tracker eIoni + 6 75.3 cm 3.41 cm -70.9 cm 21.7 keV 3.93 keV 2.75 mm 2.64 cm Tracker eIoni + 7 75.3 cm 3.54 cm -70.7 cm 19.5 keV 2.23 keV 2.12 mm 2.85 cm Tracker eIoni + 8 75.2 cm 3.65 cm -70.6 cm 17.9 keV 1.61 keV 1.81 mm 3.04 cm Tracker eIoni + 9 75.3 cm 3.74 cm -70.5 cm 16.3 keV 1.6 keV 1.59 mm 3.19 cm Tracker eIoni + 10 75.3 cm 3.77 cm -70.4 cm 14 keV 2.32 keV 1.4 mm 3.33 cm Tracker eIoni + 11 75.4 cm 3.82 cm -70.4 cm 11.8 keV 2.17 keV 1.14 mm 3.45 cm Tracker eIoni + 12 75.4 cm 3.87 cm -70.4 cm 10.2 keV 1.6 keV 925 mum 3.54 cm Tracker eIoni + 13 75.5 cm 3.94 cm -70.4 cm 8.56 keV 1.63 keV 785 mum 3.62 cm Tracker eIoni + 14 75.4 cm 3.95 cm -70.4 cm 7.53 keV 1.03 keV 656 mum 3.69 cm Tracker eIoni + 15 75.4 cm 3.97 cm -70.4 cm 3.37 keV 4.16 keV 582 mum 3.74 cm Tracker eIoni + 16 75.4 cm 3.98 cm -70.4 cm 2.58 keV 790 eV 307 mum 3.77 cm Tracker eIoni + 17 75.4 cm 3.97 cm -70.4 cm 1.3 keV 1.28 keV 236 mum 3.8 cm Tracker eIoni + 18 75.4 cm 3.96 cm -70.4 cm 0 eV 1.3 keV 86.7 mum 3.81 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 245, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.2 cm 2.25 cm -1.16 m 12.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 57.1 cm 2.24 cm -1.16 m 10.6 keV 1.5 keV 957 mum 957 mum Tracker eIoni + 2 57.1 cm 2.24 cm -1.16 m 8.93 keV 1.7 keV 823 mum 1.78 mm Tracker eIoni + 3 57.1 cm 2.2 cm -1.16 m 5.03 keV 3.9 keV 685 mum 2.46 mm Tracker eIoni + 4 57 cm 2.19 cm -1.16 m 2.98 keV 2.05 keV 418 mum 2.88 mm Tracker eIoni + 5 57.1 cm 2.18 cm -1.16 m 286 eV 2.7 keV 275 mum 3.16 mm Tracker eIoni + 6 57.1 cm 2.18 cm -1.16 m 0 eV 286 eV 17.5 mum 3.18 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 244, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 50.7 cm 1.9 cm -1.31 m 34.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.1 cm 1.9 cm -1.31 m 30.8 keV 4.14 keV 4.56 mm 4.56 mm Tracker eIoni + 2 51.3 cm 2.18 cm -1.31 m 28.6 keV 2.21 keV 3.69 mm 8.26 mm Tracker eIoni + 3 51.5 cm 2.35 cm -1.31 m 25.1 keV 3.45 keV 3.28 mm 1.15 cm Tracker eIoni + 4 51.6 cm 2.45 cm -1.31 m 23.2 keV 1.96 keV 2.65 mm 1.42 cm Tracker eIoni + 5 51.4 cm 2.41 cm -1.31 m 19.8 keV 3.36 keV 2.35 mm 1.65 cm Tracker eIoni + 6 51.5 cm 2.5 cm -1.3 m 16.4 keV 3.43 keV 1.85 mm 1.84 cm Tracker eIoni + 7 51.5 cm 2.55 cm -1.3 m 15.1 keV 1.26 keV 1.41 mm 1.98 cm Tracker eIoni + 8 51.6 cm 2.66 cm -1.3 m 12.5 keV 2.58 keV 1.27 mm 2.11 cm Tracker eIoni + 9 51.6 cm 2.73 cm -1.3 m 7.1 keV 5.44 keV 997 mum 2.21 cm Tracker eIoni + 10 51.6 cm 2.68 cm -1.3 m 6.58 keV 518 eV 552 mum 2.26 cm Tracker eIoni + 11 51.6 cm 2.72 cm -1.3 m 4.57 keV 2.01 keV 517 mum 2.31 cm Tracker eIoni + 12 51.6 cm 2.71 cm -1.3 m 3.07 keV 1.51 keV 390 mum 2.35 cm Tracker eIoni + 13 51.6 cm 2.69 cm -1.3 m 1.23 keV 1.84 keV 283 mum 2.38 cm Tracker eIoni + 14 51.6 cm 2.69 cm -1.3 m 0 eV 1.23 keV 80.8 mum 2.39 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 243, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.3 cm 1.13 cm -1.59 m 18.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 37.4 cm 9.67 mm -1.59 m 12.9 keV 5.5 keV 1.67 mm 1.67 mm Tracker eIoni + 2 37.4 cm 9.13 mm -1.59 m 12.1 keV 851 eV 1.04 mm 2.7 mm Tracker eIoni + 3 37.5 cm 8.64 mm -1.59 m 8.61 keV 3.47 keV 951 mum 3.66 mm Tracker eIoni + 4 37.4 cm 8.72 mm -1.59 m 7 keV 1.62 keV 660 mum 4.31 mm Tracker eIoni + 5 37.4 cm 8.83 mm -1.59 m 5.55 keV 1.45 keV 544 mum 4.86 mm Tracker eIoni + 6 37.4 cm 8.93 mm -1.59 m 3.01 keV 2.54 keV 451 mum 5.31 mm Tracker eIoni + 7 37.3 cm 9.02 mm -1.59 m 1.51 keV 1.5 keV 278 mum 5.59 mm Tracker eIoni + 8 37.3 cm 9.04 mm -1.59 m 0 eV 1.51 keV 107 mum 5.7 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 227 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.7 mum 65.7 mum -2.4 m 13.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -50.1 mum 51.2 mum -2.4 m 12 MeV 176 keV 177 mum 177 mum TargetPV eBrem + 2 -43.2 mum 44.5 mum -2.4 m 11 MeV 62.3 keV 50.9 mum 228 mum TargetPV eBrem + 3 -24.3 mum -124 mum -2.4 m 8.21 MeV 595 keV 475 mum 703 mum TargetPV eBrem + 4 -156 mum 35.8 mum -2.4 m 6.37 MeV 1.36 MeV 338 mum 1.04 mm TargetPV eBrem + 5 -451 mum 18.6 mum -2.4 m 5.05 MeV 763 keV 756 mum 1.8 mm TargetPV eBrem + 6 -1.21 mm 96.5 mum -2.4 m 3.76 MeV 1.29 MeV 1.07 mm 2.87 mm TargetPV eIoni + 7 -1.33 mm -134 mum -2.4 m 2.95 MeV 809 keV 879 mum 3.75 mm TargetPV eIoni + 8 -870 mum -126 mum -2.4 m 1.76 MeV 748 keV 720 mum 4.47 mm TargetPV eBrem + 9 -707 mum -109 mum -2.4 m 1.23 MeV 533 keV 559 mum 5.02 mm TargetPV eIoni + 10 -605 mum -82.1 mum -2.4 m 183 keV 1.04 MeV 460 mum 5.48 mm TargetPV eIoni + 11 -609 mum -81 mum -2.4 m 0 eV 183 keV 70.5 mum 5.55 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 260, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -870 mum -126 mum -2.4 m 440 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.69 mm 703 mum -2.41 m 350 keV 89.9 keV 8.15 mm 8.15 mm TargetPV compt + 2 -2.89 mm 739 mum -2.41 m 0 eV 350 keV 235 mum 8.39 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 259, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -451 mum 18.6 mum -2.4 m 558 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.09 cm -8.21 mm -2.4 m 367 keV 191 keV 1.37 cm 1.37 cm TargetPV compt + 2 -1.03 cm -1.96 cm -2.4 m 0 eV 367 keV 1.15 cm 2.52 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 258, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -156 mum 35.8 mum -2.4 m 473 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.47 mm -4.64 mm -2.41 m 400 keV 73.4 keV 9.15 mm 9.15 mm TargetPV compt + 2 -4.15 mm -5.98 mm -2.41 m 0 eV 400 keV 2.14 mm 1.13 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 257, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -24.3 mum -124 mum -2.4 m 2.25 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.54 mm 8.62 mm -2.41 m 0 eV 1.23 MeV 1.19 cm 1.19 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 261, Parent ID = 257 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.54 mm 8.62 mm -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 263, Parent ID = 261 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.83 mm 6.59 mm -2.41 m 0 eV 511 keV 4.01 mm 4.01 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 262, Parent ID = 261 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.54 mm 8.62 mm -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -274 mum 1 cm -2.41 m 173 keV 338 keV 2.76 mm 2.76 mm TargetPV compt + 2 -480 mum 9.95 mm -2.41 m 0 eV 173 keV 249 mum 3.01 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 256, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.2 mum 44.5 mum -2.4 m 910 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -38.4 mum -50.7 mum -2.4 m 910 keV 0 eV 1.09 mm 1.09 mm TrackerTransportation + 2 3.43 mm -7.01 cm -1.6 m 910 keV 0 eV 80.3 cm 80.4 cm ChamberTransportation + 3 4.3 mm -8.76 cm -1.4 m 910 keV 0 eV 20.1 cm 1 m TrackerTransportation + 4 6.91 mm -14 cm -80 cm 910 keV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 7.77 mm -15.8 cm -60 cm 910 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 1.04 cm -21 cm 0 fm 910 keV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 1.12 cm -22.8 cm 20 cm 910 keV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 1.38 cm -28 cm 80 cm 910 keV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 1.47 cm -29.8 cm 1 m 910 keV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 1.73 cm -35 cm 1.6 m 910 keV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 1.82 cm -36.8 cm 1.8 m 910 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 2.08 cm -42 cm 2.4 m 910 keV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 2.3 cm -46.5 cm 2.91 m 910 keV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 255, Parent ID = 241 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.1 mum 51.2 mum -2.4 m 1.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 145 mum -215 mum -2.4 m 1.3 MeV 0 eV 1.18 mm 1.18 mm TrackerTransportation + 2 13.7 cm -18.8 cm -1.6 m 1.3 MeV 0 eV 83.3 cm 83.4 cm ChamberTransportation + 3 17.1 cm -23.4 cm -1.4 m 1.3 MeV 0 eV 20.8 cm 1.04 m TrackerTransportation + 4 27.4 cm -37.5 cm -80 cm 1.3 MeV 0 eV 62.5 cm 1.67 m ChamberTransportation + 5 30.9 cm -42.2 cm -60 cm 1.3 MeV 0 eV 20.8 cm 1.88 m TrackerTransportation + 6 41.1 cm -56.2 cm 0 fm 1.3 MeV 0 eV 62.5 cm 2.5 m ChamberTransportation + 7 44.6 cm -60.9 cm 20 cm 1.3 MeV 0 eV 20.8 cm 2.71 m TrackerTransportation + 8 54.8 cm -75 cm 80 cm 1.3 MeV 0 eV 62.5 cm 3.33 m ChamberTransportation + 9 58.3 cm -79.7 cm 1 m 1.3 MeV 0 eV 20.8 cm 3.54 m TrackerTransportation + 10 68.5 cm -93.7 cm 1.6 m 1.3 MeV 0 eV 62.5 cm 4.17 m ChamberTransportation + 11 72 cm -98.4 cm 1.8 m 1.3 MeV 0 eV 20.8 cm 4.37 m TrackerTransportation + 12 82.3 cm -1.12 m 2.4 m 1.3 MeV 0 eV 62.5 cm 5 m WorldPVTransportation + 13 91 cm -1.24 m 2.91 m 1.3 MeV 0 eV 53.1 cm 5.53 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.9 mum -6.42 mum -2.4 m 131 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -107 mum -24 mum -2.4 m 131 MeV 0 eV 3.42 mm 3.42 mm TrackerTransportation + 2 -4.67 mm -4.15 mm -1.6 m 131 MeV 0 eV 80 cm 80.3 cm ChamberTransportation + 3 -5.81 mm -5.18 mm -1.4 m 131 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -9.24 mm -8.27 mm -80 cm 131 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -1.04 cm -9.31 mm -60 cm 131 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -1.38 cm -1.24 cm -0.114 fm 131 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -1.49 cm -1.34 cm 20 cm 131 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -1.84 cm -1.65 cm 80 cm 131 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -1.95 cm -1.76 cm 1 m 131 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -2.29 cm -2.06 cm 1.6 m 131 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -2.41 cm -2.17 cm 1.8 m 131 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -2.75 cm -2.48 cm 2.4 m 131 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -3.04 cm -2.74 cm 2.91 m 131 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 225, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -83.2 mum -22 mum -2.4 m 6.18 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -72 mum -13.3 mum -2.4 m 2.52 MeV 0 eV 2.83 mm 2.83 mm TargetPV compt + 2 -349 mum 661 mum -2.4 m 2.52 MeV 0 eV 1.53 mm 4.36 mm TrackerTransportation + 3 -98.7 cm 2.4 m 2.4 m 2.52 MeV 0 eV 5.45 m 5.46 m WorldPVTransportation + 4 -1.09 m 2.66 m 2.91 m 2.52 MeV 0 eV 58.5 cm 6.04 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 264, Parent ID = 225 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -72 mum -13.3 mum -2.4 m 3.66 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -180 mum 266 mum -2.4 m 2.72 MeV 938 keV 865 mum 865 mum TargetPV eIoni + 2 48.9 mum 157 mum -2.4 m 1.87 MeV 852 keV 719 mum 1.58 mm TargetPV eIoni + 3 -32.4 mum -17.1 mum -2.4 m 1.06 MeV 813 keV 578 mum 2.16 mm TargetPV eIoni + 4 -39.7 mum 128 mum -2.4 m 406 keV 333 keV 357 mum 2.52 mm TargetPV eBrem + 5 -51.5 mum 129 mum -2.4 m 0 eV 406 keV 219 mum 2.74 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 265, Parent ID = 264 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.7 mum 128 mum -2.4 m 317 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -70.4 mum 176 mum -2.4 m 317 keV 0 eV 220 mum 220 mum TrackerTransportation + 2 -11.6 cm 18.3 cm -1.6 m 317 keV 0 eV 82.9 cm 82.9 cm ChamberTransportation + 3 -14.5 cm 22.9 cm -1.4 m 317 keV 0 eV 20.7 cm 1.04 m TrackerTransportation + 4 -23.2 cm 36.6 cm -80 cm 317 keV 0 eV 62.2 cm 1.66 m ChamberTransportation + 5 -26.1 cm 41.1 cm -60 cm 317 keV 0 eV 20.7 cm 1.86 m TrackerTransportation + 6 -34.8 cm 54.8 cm 0 fm 317 keV 0 eV 62.2 cm 2.49 m ChamberTransportation + 7 -37.7 cm 59.4 cm 20 cm 317 keV 0 eV 20.7 cm 2.69 m TrackerTransportation + 8 -46.4 cm 73.1 cm 80 cm 317 keV 0 eV 62.2 cm 3.32 m ChamberTransportation + 9 -49.3 cm 77.7 cm 1 m 317 keV 0 eV 20.7 cm 3.52 m TrackerTransportation + 10 -58 cm 91.4 cm 1.6 m 317 keV 0 eV 62.2 cm 4.14 m ChamberTransportation + 11 -60.9 cm 95.9 cm 1.8 m 317 keV 0 eV 20.7 cm 4.35 m TrackerTransportation + 12 -69.6 cm 1.1 m 2.4 m 317 keV 0 eV 62.2 cm 4.97 m WorldPVTransportation + 13 -77 cm 1.21 m 2.91 m 317 keV 0 eV 52.8 cm 5.5 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 224, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.4 mum -34.1 mum -2.4 m 30.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -97.9 mum 31.8 mum -2.4 m 30.8 MeV 0 eV 4.64 mm 4.64 mm TrackerTransportation + 2 -3.11 mm 1.14 cm -1.6 m 30.8 MeV 0 eV 80 cm 80.5 cm ChamberTransportation + 3 -3.86 mm 1.42 cm -1.4 m 30.8 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -6.11 mm 2.28 cm -80 cm 30.8 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -6.87 mm 2.56 cm -60 cm 30.8 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -9.12 mm 3.41 cm 0 fm 30.8 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -9.88 mm 3.7 cm 20 cm 30.8 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -1.21 cm 4.55 cm 80 cm 30.8 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -1.29 cm 4.83 cm 1 m 30.8 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -1.51 cm 5.68 cm 1.6 m 30.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -1.59 cm 5.97 cm 1.8 m 30.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -1.81 cm 6.82 cm 2.4 m 30.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -2.01 cm 7.54 cm 2.91 m 30.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 223, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.2 mum -25.9 mum -2.41 m 9.85 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -89.6 mum -34.2 mum -2.4 m 0 eV 0 eV 3.9 mm 3.9 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 267, Parent ID = 223 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.6 mum -34.2 mum -2.4 m 4.05 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 402 mum 72.7 mum -2.4 m 3.06 MeV 992 keV 945 mum 945 mum TargetPV eIoni + 2 217 mum 460 mum -2.4 m 2.23 MeV 827 keV 789 mum 1.73 mm TargetPV eIoni + 3 -16.7 mum 449 mum -2.4 m 1.59 MeV 647 keV 651 mum 2.38 mm TargetPV eIoni + 4 -211 mum 416 mum -2.4 m 802 keV 785 keV 536 mum 2.92 mm TargetPV eIoni + 5 -229 mum 440 mum -2.4 m 104 keV 699 keV 372 mum 3.29 mm TargetPV eIoni + 6 -232 mum 438 mum -2.4 m 0 eV 104 keV 27.1 mum 3.32 mm TargetPV eIoni + 7 -232 mum 438 mum -2.4 m 0 eV 0 eV 0 fm 3.32 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 269, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -232 mum 438 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -359 mum 529 mum -2.4 m 511 keV 0 eV 204 mum 204 mum TrackerTransportation + 2 -2.4 m 1.71 m 8.07 cm 511 keV 0 eV 3.85 m 3.85 m WorldPVTransportation + 3 -2.91 m 2.07 m 60.8 cm 511 keV 0 eV 81.8 cm 4.67 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 268, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -232 mum 438 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.18 mm -1.99 mm -2.4 m 0 eV 511 keV 5.48 mm 5.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 266, Parent ID = 223 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.6 mum -34.2 mum -2.4 m 4.78 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -439 mum 101 mum -2.4 m 3.56 MeV 877 keV 721 mum 721 mum TargetPV eBrem + 2 -256 mum 518 mum -2.4 m 2.07 MeV 687 keV 646 mum 1.37 mm TargetPV eBrem + 3 -94.5 mum 471 mum -2.4 m 1.17 MeV 505 keV 484 mum 1.85 mm TargetPV eBrem + 4 -174 mum 470 mum -2.4 m 432 keV 167 keV 174 mum 2.03 mm TargetPV eBrem + 5 -183 mum 481 mum -2.4 m 18.5 keV 413 keV 235 mum 2.26 mm TargetPV eIoni + 6 -183 mum 481 mum -2.4 m 0 eV 18.5 keV 1.82 mum 2.26 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 273, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -174 mum 470 mum -2.4 m 571 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 961 mum 825 mum -2.4 m 571 keV 0 eV 1.94 mm 1.94 mm TrackerTransportation + 2 2.4 m 75 cm 83.7 cm 571 keV 0 eV 4.1 m 4.1 m WorldPVTransportation + 3 2.91 m 91 cm 1.53 m 571 keV 0 eV 87.1 cm 4.97 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 272, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.5 mum 471 mum -2.4 m 391 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 145 mum 718 mum -2.41 m 0 eV 391 keV 3.82 mm 3.82 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 271, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -256 mum 518 mum -2.4 m 811 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.65 mm 1.47 mm -2.42 m 755 keV 55.9 keV 1.8 cm 1.8 cm TargetPV compt + 2 -7.49 mm 519 mum -2.42 m 608 keV 147 keV 5.85 mm 2.39 cm TargetPV compt + 3 -7.53 mm 1.08 mm -2.43 m 0 eV 608 keV 1.43 mm 2.53 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 270, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -439 mum 101 mum -2.4 m 335 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.01 mm 1.44 mm -2.4 m 0 eV 335 keV 1.47 mm 1.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.42 mum -7.38 mum -2.41 m 6.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -80.1 mum -83.3 mum -2.4 m 6.1 MeV 0 eV 1.26 cm 1.26 cm TrackerTransportation + 2 -4.82 mm -4.9 mm -1.6 m 6.1 MeV 0 eV 80 cm 81.3 cm ChamberTransportation + 3 -6.01 mm -6.11 mm -1.4 m 6.1 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -9.56 mm -9.72 mm -80 cm 6.1 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -1.07 cm -1.09 cm -60 cm 6.1 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -1.43 cm -1.45 cm 0 fm 6.1 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -1.55 cm -1.57 cm 20 cm 6.1 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -1.9 cm -1.94 cm 80 cm 6.1 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -2.02 cm -2.06 cm 1 m 6.1 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -2.38 cm -2.42 cm 1.6 m 6.1 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -2.5 cm -2.54 cm 1.8 m 6.1 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -2.85 cm -2.9 cm 2.4 m 6.1 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -3.15 cm -3.21 cm 2.91 m 6.1 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.07 mum -2.63 mum -2.41 m 654 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -47.4 mum -30.6 mum -2.4 m 595 keV 58.3 keV 1.21 cm 1.21 cm TargetPV compt + 2 -480 mum -197 mum -2.4 m 595 keV 0 eV 1.2 mm 1.33 cm TrackerTransportation + 3 -62.9 cm -24.2 cm -80 cm 595 keV 0 eV 1.74 m 1.75 m ChamberTransportation + 4 -67.2 cm -25.9 cm -68.9 cm 595 keV 0 eV 12 cm 1.87 m TrackerTransportation + 5 -94.3 cm -36.3 cm 0 fm 595 keV 0 eV 74.8 cm 2.62 m ChamberTransportation + 6 -1.02 m -39.3 cm 20 cm 595 keV 0 eV 21.7 cm 2.83 m TrackerTransportation + 7 -1.26 m -48.4 cm 80 cm 595 keV 0 eV 65.1 cm 3.48 m ChamberTransportation + 8 -1.34 m -51.4 cm 1 m 595 keV 0 eV 21.7 cm 3.7 m TrackerTransportation + 9 -1.57 m -60.5 cm 1.6 m 595 keV 0 eV 65.1 cm 4.35 m ChamberTransportation + 10 -1.65 m -63.5 cm 1.8 m 595 keV 0 eV 21.7 cm 4.57 m TrackerTransportation + 11 -1.88 m -72.6 cm 2.4 m 595 keV 0 eV 65.1 cm 5.22 m WorldPVTransportation + 12 -2.09 m -80.3 cm 2.91 m 595 keV 0 eV 55.3 cm 5.77 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 mum -2.53 mum -2.41 m 41.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -755 nm -2.98 mum -2.41 m 0 eV 6.32 MeV 412 mum 412 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 275, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 -755 nm -2.98 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 5.18 mum 9.01 mm -2.42 m 0 eV 511 keV 9.69 mm 9.69 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 276, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.52 mum -4.21 mm -2.41 m 308 keV 203 keV 4.52 mm 4.52 mm TargetPV compt + 2 192 mum -4.23 mm -2.41 m 298 keV 10.2 keV 284 mum 4.81 mm TargetPV compt + 3 4.01 mm -6.27 mm -2.41 m 0 eV 298 keV 5.29 mm 1.01 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 274, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -755 nm -2.98 mum -2.41 m 33.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 83.6 mum 138 mum -2.41 m 26.3 MeV 1.35 MeV 1.02 mm 1.02 mm TargetPV eBrem + 2 77.4 mum 143 mum -2.41 m 22.4 MeV 91.5 keV 98.9 mum 1.12 mm TargetPV eBrem + 3 81.8 mum 151 mum -2.41 m 10.8 MeV 216 keV 82.7 mum 1.2 mm TargetPV eBrem + 4 -91.4 mum 257 mum -2.41 m 8.49 MeV 637 keV 591 mum 1.79 mm TargetPV eBrem + 5 213 mum -815 mum -2.41 m 6.7 MeV 1.78 MeV 1.55 mm 3.34 mm TargetPV eIoni + 6 -642 mum -248 mum -2.41 m 4.98 MeV 1.73 MeV 1.3 mm 4.64 mm TargetPV eIoni + 7 -802 mum -256 mum -2.41 m 4.36 MeV 215 keV 200 mum 4.84 mm TargetPV eBrem + 8 -1.18 mm -558 mum -2.41 m 1.45 MeV 2.91 MeV 969 mum 5.81 mm TargetPV eIoni + 9 -1.36 mm -603 mum -2.41 m 755 keV 697 keV 503 mum 6.32 mm TargetPV eIoni + 10 -1.35 mm -578 mum -2.41 m 310 keV 446 keV 355 mum 6.67 mm TargetPV eIoni + 11 -1.35 mm -586 mum -2.41 m 0 eV 310 keV 152 mum 6.82 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 282, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -802 mum -256 mum -2.41 m 403 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -979 mum -518 mum -2.41 m 386 keV 17.6 keV 861 mum 861 mum TargetPV compt + 2 -1.15 mm -664 mum -2.41 m 0 eV 386 keV 349 mum 1.21 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 281, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -91.4 mum 257 mum -2.41 m 1.67 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -966 mum -1 cm -2.4 m 1.67 MeV 0 eV 1.54 cm 1.54 cm TrackerTransportation + 2 -20.5 cm -2.4 m 25.4 cm 1.67 MeV 0 eV 3.58 m 3.59 m WorldPVTransportation + 3 -24.8 cm -2.91 m 82.1 cm 1.67 MeV 0 eV 76.3 cm 4.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 280, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 81.8 mum 151 mum -2.41 m 11.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 269 mum 743 mum -2.4 m 11.4 MeV 0 eV 1.19 cm 1.19 cm TrackerTransportation + 2 1.28 cm 4.05 cm -1.6 m 11.4 MeV 0 eV 80.1 cm 81.3 cm ChamberTransportation + 3 1.59 cm 5.04 cm -1.4 m 11.4 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.53 cm 8.02 cm -80 cm 11.4 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 2.84 cm 9.01 cm -60 cm 11.4 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 3.78 cm 12 cm 0.114 fm 11.4 MeV 0 eV 60.1 cm 2.42 m ChamberTransportation + 7 4.1 cm 13 cm 20 cm 11.4 MeV 0 eV 20 cm 2.62 m TrackerTransportation + 8 5.04 cm 16 cm 80 cm 11.4 MeV 0 eV 60.1 cm 3.22 m ChamberTransportation + 9 5.35 cm 17 cm 1 m 11.4 MeV 0 eV 20 cm 3.42 m TrackerTransportation + 10 6.29 cm 19.9 cm 1.6 m 11.4 MeV 0 eV 60.1 cm 4.02 m ChamberTransportation + 11 6.6 cm 20.9 cm 1.8 m 11.4 MeV 0 eV 20 cm 4.22 m TrackerTransportation + 12 7.54 cm 23.9 cm 2.4 m 11.4 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 8.34 cm 26.4 cm 2.91 m 11.4 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 279, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 77.4 mum 143 mum -2.41 m 3.85 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -201 mum 1 mm -2.4 m 3.85 MeV 0 eV 1.2 cm 1.2 cm TrackerTransportation + 2 -1.88 cm 5.83 cm -1.6 m 3.85 MeV 0 eV 80.2 cm 81.4 cm ChamberTransportation + 3 -2.34 cm 7.27 cm -1.4 m 3.85 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 -3.73 cm 11.6 cm -80 cm 3.85 MeV 0 eV 60.2 cm 1.62 m ChamberTransportation + 5 -4.2 cm 13 cm -60 cm 3.85 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 -5.59 cm 17.3 cm 0 fm 3.85 MeV 0 eV 60.2 cm 2.42 m ChamberTransportation + 7 -6.05 cm 18.7 cm 20 cm 3.85 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 -7.45 cm 23 cm 80 cm 3.85 MeV 0 eV 60.2 cm 3.22 m ChamberTransportation + 9 -7.91 cm 24.5 cm 1 m 3.85 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 -9.3 cm 28.8 cm 1.6 m 3.85 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 -9.77 cm 30.2 cm 1.8 m 3.85 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 -11.2 cm 34.5 cm 2.4 m 3.85 MeV 0 eV 60.2 cm 4.83 m WorldPVTransportation + 13 -12.3 cm 38.2 cm 2.91 m 3.85 MeV 0 eV 51.1 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 278, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 83.6 mum 138 mum -2.41 m 6.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -245 mum 333 mum -2.4 m 6.23 MeV 0 eV 1.21 cm 1.21 cm TrackerTransportation + 2 -2.19 cm 1.32 cm -1.6 m 6.23 MeV 0 eV 80 cm 81.3 cm ChamberTransportation + 3 -2.74 cm 1.64 cm -1.4 m 6.23 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -4.36 cm 2.61 cm -80 cm 6.23 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -4.91 cm 2.93 cm -60 cm 6.23 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -6.53 cm 3.9 cm 0.114 fm 6.23 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -7.08 cm 4.22 cm 20 cm 6.23 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -8.71 cm 5.18 cm 80 cm 6.23 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -9.25 cm 5.51 cm 1 m 6.23 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -10.9 cm 6.47 cm 1.6 m 6.23 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -11.4 cm 6.79 cm 1.8 m 6.23 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -13 cm 7.76 cm 2.4 m 6.23 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -14.4 cm 8.58 cm 2.91 m 6.23 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.59 mum -2.44 mum -2.41 m 1.88 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 24.7 mum -21.5 mum -2.4 m 0 eV 860 keV 1.01 cm 1.01 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 283, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 24.7 mum -21.5 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 285, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 382 mum 2.78 mm -2.4 m 271 keV 240 keV 2.98 mm 2.98 mm TargetPV compt + 2 941 mum 2.99 mm -2.4 m 0 eV 271 keV 814 mum 3.79 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 284, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 mum -21.5 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -862 mum -6.96 mm -2.4 m 0 eV 511 keV 7.39 mm 7.39 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.67 mum -2.35 mum -2.41 m 65.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 29.3 mum -14.8 mum -2.4 m 0 eV 0 eV 1.02 cm 1.02 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 287, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.3 mum -14.8 mum -2.4 m 47.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 51.6 mum -16.6 mum -2.4 m 42.3 MeV 5.34 MeV 3.5 mm 3.5 mm TrackerTransportation + 2 6.42 cm 3.61 cm -1.6 m 42.1 MeV 175 keV 80.3 cm 80.7 cm ChamberTransportation + 3 7.87 cm 4.73 cm -1.4 m 41.8 MeV 109 keV 20.1 cm 1.01 m Chamber eIoni + 4 7.87 cm 4.73 cm -1.4 m 41.8 MeV 0 eV 27.6 mum 1.01 m TrackerTransportation + 5 11.7 cm 5.74 cm -80 cm 41.7 MeV 129 keV 60.1 cm 1.61 m ChamberTransportation + 6 12.9 cm 6 cm -60 cm 41.6 MeV 84.5 keV 20 cm 1.81 m TrackerTransportation + 7 14.4 cm 5.48 cm -37.4 cm 41.5 MeV 44.8 keV 22.7 cm 2.04 m Tracker eIoni + 8 16.9 cm 4.76 cm -0.0568 fm 41.4 MeV 75.7 keV 37.5 cm 2.41 m ChamberTransportation + 9 18.2 cm 4.14 cm 20 cm 41.3 MeV 112 keV 20.1 cm 2.61 m TrackerTransportation + 10 21.6 cm 3.43 cm 80 cm 41.1 MeV 119 keV 60.1 cm 3.21 m ChamberTransportation + 11 22.5 cm 3.04 cm 1 m 41 MeV 116 keV 20 cm 3.41 m TrackerTransportation + 12 22.6 cm 2.43 cm 1.53 m 40.9 MeV 113 keV 52.6 cm 3.94 m Tracker eIoni + 13 22.6 cm 2.23 cm 1.6 m 40.9 MeV 16.3 keV 7.45 cm 4.01 m ChamberTransportation + 14 22.9 cm 2.24 cm 1.77 m 40.7 MeV 110 keV 16.8 cm 4.18 m Chamber eIoni + 15 22.8 cm 2.08 cm 1.8 m 40.7 MeV 16.1 keV 3.23 cm 4.21 m TrackerTransportation + 16 22.6 cm -1.62 cm 2.4 m 40.6 MeV 129 keV 60.1 cm 4.81 m WorldPVTransportation + 17 22.6 cm -1.72 cm 2.42 m 40.6 MeV 8 keV 2.37 cm 4.84 m WorldPV eIoni + 18 22.3 cm -4.2 cm 2.91 m 40.5 MeV 101 keV 48.7 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 296, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.6 cm -1.72 cm 2.42 m 11.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 22.6 cm -1.64 cm 2.42 m 10.4 keV 1.16 keV 907 mum 907 mum WorldPV eIoni + 2 22.6 cm -1.58 cm 2.42 m 5.12 keV 5.3 keV 805 mum 1.71 mm WorldPV eIoni + 3 22.6 cm -1.55 cm 2.42 m 3.61 keV 1.52 keV 425 mum 2.14 mm WorldPV eIoni + 4 22.6 cm -1.54 cm 2.42 m 2.22 keV 1.38 keV 325 mum 2.46 mm WorldPV eIoni + 5 22.6 cm -1.53 cm 2.42 m 0 eV 2.22 keV 191 mum 2.65 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 295, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.9 cm 2.24 cm 1.77 m 48.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23 cm 2.4 cm 1.77 m 45 keV 3.5 keV 3.43 mm 3.43 mm Chamber eIoni + 2 23.1 cm 2.51 cm 1.77 m 39.7 keV 5.36 keV 3.06 mm 6.49 mm Chamber eIoni + 3 23 cm 2.4 cm 1.77 m 33.9 keV 5.78 keV 2.54 mm 9.03 mm Chamber eIoni + 4 22.9 cm 2.38 cm 1.77 m 31.1 keV 2.78 keV 2.03 mm 1.11 cm Chamber eIoni + 5 22.9 cm 2.25 cm 1.77 m 28.9 keV 2.2 keV 1.8 mm 1.29 cm Chamber eIoni + 6 23 cm 2.24 cm 1.77 m 27.5 keV 1.39 keV 1.63 mm 1.45 cm Chamber eIoni + 7 23.1 cm 2.26 cm 1.77 m 23.6 keV 3.94 keV 1.53 mm 1.6 cm Chamber eIoni + 8 23.1 cm 2.2 cm 1.77 m 13.8 keV 9.79 keV 1.25 mm 1.73 cm Chamber eIoni + 9 23.1 cm 2.21 cm 1.77 m 10.9 keV 2.88 keV 699 mum 1.8 cm Chamber eIoni + 10 23.1 cm 2.19 cm 1.77 m 7.82 keV 3.09 keV 570 mum 1.85 cm Chamber eIoni + 11 23.1 cm 2.21 cm 1.77 m 2.83 keV 4.99 keV 444 mum 1.9 cm Chamber eIoni + 12 23.1 cm 2.21 cm 1.77 m 0 eV 2.83 keV 190 mum 1.92 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 294, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.6 cm 2.43 cm 1.53 m 12.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 22.6 cm 2.52 cm 1.53 m 12.4 keV 455 eV 1.03 mm 1.03 mm Tracker eIoni + 2 22.6 cm 2.61 cm 1.53 m 11.4 keV 1.06 keV 985 mum 2.02 mm Tracker eIoni + 3 22.6 cm 2.68 cm 1.53 m 8.98 keV 2.38 keV 887 mum 2.9 mm Tracker eIoni + 4 22.6 cm 2.73 cm 1.53 m 7.97 keV 1.01 keV 689 mum 3.59 mm Tracker eIoni + 5 22.6 cm 2.7 cm 1.53 m 7.29 keV 677 eV 612 mum 4.2 mm Tracker eIoni + 6 22.6 cm 2.68 cm 1.53 m 5.96 keV 1.33 keV 565 mum 4.77 mm Tracker eIoni + 7 22.6 cm 2.66 cm 1.53 m 4.17 keV 1.79 keV 477 mum 5.25 mm Tracker eIoni + 8 22.6 cm 2.63 cm 1.53 m 2.31 keV 1.86 keV 364 mum 5.61 mm Tracker eIoni + 9 22.6 cm 2.62 cm 1.53 m 0 eV 2.31 keV 203 mum 5.81 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 293, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.8 cm 3.35 cm 83.8 cm 11.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 21.8 cm 3.32 cm 83.9 cm 9 keV 2.33 keV 587 mum 587 mum Chamber eIoni + 2 21.7 cm 3.31 cm 83.9 cm 6.75 keV 2.25 keV 491 mum 1.08 mm Chamber eIoni + 3 21.7 cm 3.31 cm 83.9 cm 0 eV 6.75 keV 402 mum 1.48 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 292, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.7 cm 4.34 cm 13.4 cm 16.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 17.7 cm 4.38 cm 13.4 cm 10.1 keV 6.8 keV 854 mum 854 mum Chamber eIoni + 2 17.7 cm 4.39 cm 13.4 cm 8.69 keV 1.39 keV 534 mum 1.39 mm Chamber eIoni + 3 17.7 cm 4.39 cm 13.4 cm 7.25 keV 1.44 keV 478 mum 1.87 mm Chamber eIoni + 4 17.8 cm 4.39 cm 13.4 cm 5.43 keV 1.82 keV 422 mum 2.29 mm Chamber eIoni + 5 17.8 cm 4.39 cm 13.4 cm 0 eV 5.43 keV 348 mum 2.64 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 291, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.4 cm 5.48 cm -37.4 cm 60.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 14.6 cm 4.53 cm -36.8 cm 54.6 keV 6.19 keV 1.18 cm 1.18 cm Tracker eIoni + 2 14.4 cm 3.61 cm -36.8 cm 50.7 keV 3.92 keV 9.81 mm 2.16 cm Tracker eIoni + 3 14.9 cm 2.94 cm -36.8 cm 30.2 keV 20.5 keV 8.62 mm 3.03 cm Tracker eIoni + 4 15 cm 2.61 cm -36.7 cm 23.8 keV 6.43 keV 3.57 mm 3.38 cm Tracker eIoni + 5 15.1 cm 2.4 cm -36.7 cm 21.1 keV 2.64 keV 2.44 mm 3.63 cm Tracker eIoni + 6 15.2 cm 2.3 cm -36.6 cm 19.3 keV 1.84 keV 2.03 mm 3.83 cm Tracker eIoni + 7 15.1 cm 2.33 cm -36.5 cm 8.72 keV 10.6 keV 1.78 mm 4.01 cm Tracker eIoni + 8 15.1 cm 2.3 cm -36.4 cm 7.66 keV 1.07 keV 668 mum 4.07 cm Tracker eIoni + 9 15.2 cm 2.26 cm -36.4 cm 5.49 keV 2.17 keV 591 mum 4.13 cm Tracker eIoni + 10 15.2 cm 2.27 cm -36.4 cm 3.83 keV 1.66 keV 447 mum 4.18 cm Tracker eIoni + 11 15.2 cm 2.26 cm -36.4 cm 0 eV 3.83 keV 341 mum 4.21 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 290, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 12.7 cm 5.96 cm -63.1 cm 16.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 12.7 cm 5.99 cm -63.1 cm 14.8 keV 1.78 keV 840 mum 840 mum Chamber eIoni + 2 12.7 cm 5.98 cm -63.1 cm 11.4 keV 3.41 keV 748 mum 1.59 mm Chamber eIoni + 3 12.7 cm 6 cm -63.1 cm 10.5 keV 931 eV 591 mum 2.18 mm Chamber eIoni + 4 12.7 cm 6 cm -63.1 cm 9.37 keV 1.12 keV 552 mum 2.73 mm Chamber eIoni + 5 12.7 cm 5.99 cm -63.1 cm 8.35 keV 1.02 keV 506 mum 3.24 mm Chamber eIoni + 6 12.7 cm 5.96 cm -63.1 cm 7.33 keV 1.02 keV 464 mum 3.7 mm Chamber eIoni + 7 12.7 cm 5.95 cm -63.1 cm 4.55 keV 2.78 keV 425 mum 4.13 mm Chamber eIoni + 8 12.7 cm 5.94 cm -63.1 cm 4.37 keV 184 eV 307 mum 4.43 mm Chamber eIoni + 9 12.7 cm 5.94 cm -63.1 cm 638 eV 3.73 keV 298 mum 4.73 mm Chamber eIoni + 10 12.7 cm 5.94 cm -63.1 cm 0 eV 638 eV 27.3 mum 4.76 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.87 cm 4.73 cm -1.4 m 163 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.88 cm 4.73 cm -1.4 m 163 keV 0 eV 90.8 mum 90.8 mum TrackerTransportation + 2 13.3 cm 4.49 cm -1.37 m 138 keV 24.6 keV 6.45 cm 6.46 cm Tracker eIoni + 3 17.4 cm 6.87 cm -1.37 m 121 keV 17.2 keV 4.9 cm 11.4 cm Tracker eIoni + 4 20.6 cm 6.18 cm -1.35 m 106 keV 14.7 keV 3.91 cm 15.3 cm Tracker eIoni + 5 19.9 cm 5.1 cm -1.32 m 93 keV 13.3 keV 3.12 cm 18.4 cm Tracker eIoni + 6 19.8 cm 5.52 cm -1.3 m 79.4 keV 13.6 keV 2.47 cm 20.9 cm Tracker eIoni + 7 21.3 cm 6.11 cm -1.29 m 69.8 keV 9.57 keV 1.88 cm 22.7 cm Tracker eIoni + 8 22.6 cm 5.59 cm -1.3 m 56 keV 13.8 keV 1.51 cm 24.3 cm Tracker eIoni + 9 23.6 cm 5.45 cm -1.3 m 46.9 keV 9.17 keV 1.03 cm 25.3 cm Tracker eIoni + 10 24.1 cm 5.06 cm -1.3 m 41.5 keV 5.36 keV 7.54 mm 26 cm Tracker eIoni + 11 24.3 cm 5.2 cm -1.31 m 38.5 keV 2.95 keV 6.11 mm 26.6 cm Tracker eIoni + 12 24.3 cm 5.04 cm -1.31 m 35.6 keV 2.98 keV 5.4 mm 27.2 cm Tracker eIoni + 13 24.2 cm 5.22 cm -1.32 m 29.6 keV 5.93 keV 4.69 mm 27.7 cm Tracker eIoni + 14 24.1 cm 5.18 cm -1.32 m 24.5 keV 5.1 keV 3.47 mm 28 cm Tracker eIoni + 15 24 cm 5.11 cm -1.32 m 20.8 keV 3.73 keV 2.56 mm 28.3 cm Tracker eIoni + 16 24 cm 4.92 cm -1.32 m 18.1 keV 2.7 keV 1.98 mm 28.5 cm Tracker eIoni + 17 24 cm 4.77 cm -1.32 m 16.5 keV 1.61 keV 1.62 mm 28.6 cm Tracker eIoni + 18 23.9 cm 4.64 cm -1.32 m 14.8 keV 1.64 keV 1.42 mm 28.8 cm Tracker eIoni + 19 23.9 cm 4.53 cm -1.32 m 11.9 keV 2.94 keV 1.23 mm 28.9 cm Tracker eIoni + 20 23.8 cm 4.46 cm -1.32 m 10.1 keV 1.81 keV 934 mum 29 cm Tracker eIoni + 21 23.8 cm 4.43 cm -1.32 m 8.89 keV 1.19 keV 775 mum 29.1 cm Tracker eIoni + 22 23.8 cm 4.37 cm -1.32 m 6.67 keV 2.23 keV 681 mum 29.1 cm Tracker eIoni + 23 23.8 cm 4.4 cm -1.32 m 5.22 keV 1.45 keV 523 mum 29.2 cm Tracker eIoni + 24 23.8 cm 4.37 cm -1.32 m 2.37 keV 2.84 keV 430 mum 29.2 cm Tracker eIoni + 25 23.8 cm 4.37 cm -1.32 m 0 eV 2.37 keV 211 mum 29.2 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 287 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.1 cm 4.14 cm -1.51 m 14 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.11 cm 4.16 cm -1.51 m 13 keV 988 eV 710 mum 710 mum Chamber eIoni + 2 7.09 cm 4.13 cm -1.51 m 11.5 keV 1.54 keV 664 mum 1.37 mm Chamber eIoni + 3 7.1 cm 4.15 cm -1.51 m 6.19 keV 5.32 keV 595 mum 1.97 mm Chamber eIoni + 4 7.1 cm 4.16 cm -1.51 m 468 eV 5.72 keV 380 mum 2.35 mm Chamber eIoni + 5 7.1 cm 4.16 cm -1.51 m 0 eV 468 eV 19.9 mum 2.37 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.3 mum -14.8 mum -2.4 m 16.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 365 mum 223 mum -2.4 m 9.59 MeV 2.26 MeV 1.28 mm 1.28 mm TargetPV eBrem + 2 238 mum 457 mum -2.4 m 6.91 MeV 2.68 MeV 1.7 mm 2.98 mm TargetPV eIoni + 3 -27.7 mum 223 mum -2.4 m 5.43 MeV 1.48 MeV 1.14 mm 4.11 mm TrackerTransportation + 4 43.5 cm -36.6 cm -2.14 m 5.3 MeV 107 keV 62.7 cm 63.1 cm Tracker eIoni + 5 51.7 cm -43.2 cm -2.1 m 5.28 MeV 15.1 keV 11.2 cm 74.3 cm Tracker eIoni + 6 1.52 m -1.2 m -1.62 m 5.03 MeV 240 keV 1.36 m 2.1 m Tracker eIoni + 7 1.54 m -1.21 m -1.62 m 5.01 MeV 4.3 keV 1.52 cm 2.12 m Tracker eIoni + 8 2.4 m -1.46 m -1.26 m 4.84 MeV 171 keV 97.5 cm 3.09 m WorldPVTransportation + 9 2.91 m -1.59 m -1.12 m 4.75 MeV 93.1 keV 54.8 cm 3.64 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 301, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.54 m -1.21 m -1.62 m 11.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.54 m -1.21 m -1.62 m 9.39 keV 2.44 keV 928 mum 928 mum Tracker eIoni + 2 1.54 m -1.2 m -1.62 m 3.28 keV 6.11 keV 720 mum 1.65 mm Tracker eIoni + 3 1.54 m -1.2 m -1.62 m 894 eV 2.39 keV 300 mum 1.95 mm Tracker eIoni + 4 1.54 m -1.2 m -1.62 m 0 eV 894 eV 53.1 mum 2 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 300, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.52 m -1.2 m -1.62 m 8.21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.52 m -1.2 m -1.63 m 5.91 keV 2.31 keV 629 mum 629 mum Tracker eIoni + 2 1.52 m -1.2 m -1.63 m 4.53 keV 1.38 keV 473 mum 1.1 mm Tracker eIoni + 3 1.52 m -1.2 m -1.63 m 3.22 keV 1.31 keV 387 mum 1.49 mm Tracker eIoni + 4 1.52 m -1.2 m -1.63 m 1.38 keV 1.84 keV 295 mum 1.79 mm Tracker eIoni + 5 1.52 m -1.2 m -1.63 m 0 eV 1.38 keV 94.7 mum 1.88 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 299, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.7 cm -43.2 cm -2.1 m 11.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 51.7 cm -43.3 cm -2.1 m 10.2 keV 1.22 keV 893 mum 893 mum Tracker eIoni + 2 51.6 cm -43.3 cm -2.1 m 9.14 keV 1.07 keV 785 mum 1.68 mm Tracker eIoni + 3 51.6 cm -43.3 cm -2.1 m 6.31 keV 2.83 keV 701 mum 2.38 mm Tracker eIoni + 4 51.6 cm -43.3 cm -2.1 m 5.24 keV 1.07 keV 500 mum 2.88 mm Tracker eIoni + 5 51.6 cm -43.4 cm -2.1 m 4.04 keV 1.2 keV 432 mum 3.31 mm Tracker eIoni + 6 51.5 cm -43.4 cm -2.1 m 781 eV 3.26 keV 355 mum 3.67 mm Tracker eIoni + 7 51.5 cm -43.4 cm -2.1 m 0 eV 781 eV 45.1 mum 3.71 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 298, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.5 cm -36.6 cm -2.14 m 21.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 43.6 cm -36.5 cm -2.14 m 17.7 keV 3.45 keV 2.03 mm 2.03 mm Tracker eIoni + 2 43.7 cm -36.4 cm -2.14 m 13.5 keV 4.12 keV 1.56 mm 3.59 mm Tracker eIoni + 3 43.8 cm -36.4 cm -2.14 m 12.8 keV 752 eV 1.1 mm 4.69 mm Tracker eIoni + 4 43.8 cm -36.3 cm -2.14 m 11 keV 1.77 keV 1.02 mm 5.71 mm Tracker eIoni + 5 43.9 cm -36.4 cm -2.14 m 8.75 keV 2.27 keV 857 mum 6.57 mm Tracker eIoni + 6 44 cm -36.3 cm -2.14 m 7.54 keV 1.21 keV 670 mum 7.24 mm Tracker eIoni + 7 44 cm -36.3 cm -2.14 m 4.61 keV 2.92 keV 582 mum 7.82 mm Tracker eIoni + 8 44 cm -36.3 cm -2.14 m 936 eV 3.68 keV 392 mum 8.22 mm Tracker eIoni + 9 44 cm -36.3 cm -2.14 m 0 eV 936 eV 56.2 mum 8.27 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 297, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 365 mum 223 mum -2.4 m 4.94 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.55 mm -243 mum -2.4 m 4.94 MeV 0 eV 2.57 mm 2.57 mm TrackerTransportation + 2 2.4 m -94 cm 2.1 m 4.94 MeV 0 eV 5.18 m 5.19 m WorldPVTransportation + 3 2.83 m -1.11 m 2.91 m 4.94 MeV 0 eV 93.4 cm 6.12 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 101, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.05 mum -2.34 mum -2.41 m 267 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -68.7 nm -2.92 mum -2.41 m 0 eV 0 eV 2.08 mm 2.08 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 303, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.7 nm -2.92 mum -2.41 m 205 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.19 mum -8.44 mum -2.41 m 203 MeV 535 keV 380 mum 380 mum TargetPV eBrem + 2 -1.05 mum -24.3 mum -2.41 m 198 MeV 577 keV 445 mum 826 mum TargetPV eBrem + 3 165 nm -32.4 mum -2.41 m 197 MeV 226 keV 209 mum 1.04 mm TargetPV eBrem + 4 -82.4 mum -133 mum -2.41 m 184 MeV 2.97 MeV 2.32 mm 3.35 mm TargetPV eBrem + 5 -79.3 mum -150 mum -2.41 m 96.5 MeV 623 keV 466 mum 3.82 mm TargetPV eBrem + 6 -80.4 mum -150 mum -2.41 m 66.5 MeV 82.8 keV 77.9 mum 3.9 mm TargetPV eBrem + 7 -94.5 mum -168 mum -2.41 m 59.8 MeV 652 keV 440 mum 4.34 mm TargetPV eBrem + 8 -65.4 mum -116 mum -2.41 m 48.9 MeV 3.69 MeV 1.35 mm 5.69 mm TargetPV eBrem + 9 -52.7 mum -125 mum -2.41 m 31.8 MeV 934 keV 359 mum 6.04 mm TargetPV eBrem + 10 -6.67 mum -224 mum -2.41 m 22.7 MeV 484 keV 365 mum 6.41 mm TargetPV eBrem + 11 75.5 mum -272 mum -2.4 m 21.7 MeV 529 keV 449 mum 6.86 mm TargetPV eBrem + 12 266 mum 259 mum -2.4 m 14.8 MeV 2.26 MeV 1.89 mm 8.75 mm TargetPV eBrem + 13 370 mum 209 mum -2.4 m 13.5 MeV 742 keV 582 mum 9.33 mm TargetPV eBrem + 14 -370 mum 94.5 mum -2.4 m 9.9 MeV 2.15 MeV 1.8 mm 1.11 cm TargetPV eBrem + 15 -266 mum -308 mum -2.4 m 8.19 MeV 473 keV 438 mum 1.16 cm TargetPV eBrem + 16 172 mum -646 mum -2.4 m 6.79 MeV 724 keV 642 mum 1.22 cm TargetPV eBrem + 17 381 mum -707 mum -2.4 m 2.49 MeV 334 keV 319 mum 1.25 cm TargetPV eBrem + 18 456 mum -950 mum -2.4 m 1.5 MeV 990 keV 694 mum 1.32 cm TargetPV eIoni + 19 237 mum -1.15 mm -2.4 m 1.03 MeV 468 keV 519 mum 1.37 cm TargetPV eIoni + 20 222 mum -959 mum -2.4 m 633 keV 395 keV 425 mum 1.42 cm TargetPV eIoni + 21 149 mum -915 mum -2.4 m 272 keV 361 keV 323 mum 1.45 cm TargetPV eIoni + 22 146 mum -907 mum -2.4 m 0 eV 272 keV 125 mum 1.46 cm TargetPV eIoni + 23 146 mum -907 mum -2.4 m 0 eV 0 eV 0 fm 1.46 cm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 322, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 146 mum -907 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.55 mm 273 mum -2.4 m 0 eV 511 keV 4.61 mm 4.61 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 321, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 146 mum -907 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.28 mm -1.75 mm -2.4 m 511 keV 0 eV 3.3 mm 3.3 mm TrackerTransportation + 2 -2.4 m -83.4 cm -36.5 cm 511 keV 0 eV 3.25 m 3.26 m WorldPVTransportation + 3 -2.91 m -1.01 m 6.84 cm 511 keV 0 eV 69.2 cm 3.95 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 320, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 381 mum -707 mum -2.4 m 3.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.46 cm -9.38 mm -2.41 m 2.11 MeV 1.86 MeV 1.82 cm 1.82 cm TargetPV compt + 2 2.5 cm -2.49 cm -2.41 m 2.11 MeV 0 eV 1.9 cm 3.72 cm WorldPVTransportation + 3 1.59 m -2.38 m -2.91 m 2.11 MeV 0 eV 2.87 m 2.91 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 319, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 172 mum -646 mum -2.4 m 682 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.2 cm -5.56 mm -2.4 m 350 keV 332 keV 1.33 cm 1.33 cm TargetPV compt + 2 1.31 cm -4.6 mm -2.4 m 0 eV 350 keV 1.62 mm 1.49 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 318, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -266 mum -308 mum -2.4 m 1.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.46 cm -2.5 cm -2.42 m 1.23 MeV 0 eV 3.43 cm 3.43 cm WorldPVTransportation + 2 40.5 cm -67.4 cm -2.91 m 1.23 MeV 0 eV 90.2 cm 93.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 317, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -370 mum 94.5 mum -2.4 m 1.48 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.69 mm -7.74 mm -2.41 m 608 keV 874 keV 9.4 mm 9.4 mm TargetPV compt + 2 7.27 mm -8.15 mm -2.41 m 192 keV 415 keV 6.58 mm 1.6 cm TargetPV compt + 3 7 mm -8.36 mm -2.41 m 0 eV 192 keV 398 mum 1.64 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 316, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 370 mum 209 mum -2.4 m 562 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 21.1 mum 730 mum -2.4 m 0 eV 562 keV 2.13 mm 2.13 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 315, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 266 mum 259 mum -2.4 m 4.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 419 mum -149 mum -2.4 m 4.56 MeV 0 eV 3.08 mm 3.08 mm TrackerTransportation + 2 4.04 cm -10.7 cm -1.6 m 4.56 MeV 0 eV 80.8 cm 81.1 cm ChamberTransportation + 3 5.05 cm -13.4 cm -1.4 m 4.56 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 8.05 cm -21.4 cm -80 cm 4.56 MeV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 9.05 cm -24.1 cm -60 cm 4.56 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 12 cm -32.1 cm 0 fm 4.56 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 13.1 cm -34.8 cm 20 cm 4.56 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 16.1 cm -42.8 cm 80 cm 4.56 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 17.1 cm -45.5 cm 1 m 4.56 MeV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 20.1 cm -53.6 cm 1.6 m 4.56 MeV 0 eV 60.6 cm 4.04 m ChamberTransportation + 11 21.1 cm -56.2 cm 1.8 m 4.56 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 24.1 cm -64.3 cm 2.4 m 4.56 MeV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 26.6 cm -71.1 cm 2.91 m 4.56 MeV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 314, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 75.5 mum -272 mum -2.4 m 516 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 516 mum -119 mum -2.4 m 516 keV 0 eV 4.84 mm 4.84 mm TrackerTransportation + 2 7.36 cm 2.53 cm -1.6 m 516 keV 0 eV 80.4 cm 80.9 cm ChamberTransportation + 3 9.18 cm 3.17 cm -1.4 m 516 keV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 14.7 cm 5.07 cm -80 cm 516 keV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 16.5 cm 5.71 cm -60 cm 516 keV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 22 cm 7.61 cm 0 fm 516 keV 0 eV 60.3 cm 2.42 m ChamberTransportation + 7 23.8 cm 8.25 cm 20 cm 516 keV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 29.3 cm 10.2 cm 80 cm 516 keV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 31.1 cm 10.8 cm 1 m 516 keV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 36.6 cm 12.7 cm 1.6 m 516 keV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 38.4 cm 13.3 cm 1.8 m 516 keV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 43.9 cm 15.2 cm 2.4 m 516 keV 0 eV 60.3 cm 4.83 m WorldPVTransportation + 13 48.5 cm 16.9 cm 2.91 m 516 keV 0 eV 51.2 cm 5.34 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 313, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.67 mum -224 mum -2.41 m 8.59 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 327 mum -828 mum -2.4 m 8.59 MeV 0 eV 5.3 mm 5.3 mm TrackerTransportation + 2 5.12 cm -9.28 cm -1.6 m 8.59 MeV 0 eV 80.7 cm 81.2 cm ChamberTransportation + 3 6.01 cm -10.9 cm -1.46 m 0 eV 0 eV 14.1 cm 95.3 cm Chamber conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 324, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.01 cm -10.9 cm -1.46 m 3.37 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 6.08 cm -12.2 cm -1.4 m 3.35 MeV 22.8 keV 6.23 cm 6.23 cm TrackerTransportation + 2 9.23 cm -10.2 cm -1.25 m 3.31 MeV 23.2 keV 15.6 cm 21.8 cm Tracker eIoni + 3 9.74 cm -9.12 cm -1.18 m 3.23 MeV 14.5 keV 7.17 cm 29 cm Tracker eIoni + 4 13.6 cm -3.68 cm -80 cm 3.16 MeV 74.1 keV 38.6 cm 67.6 cm ChamberTransportation + 5 15.1 cm -1.99 cm -60 cm 3.06 MeV 86.8 keV 21.4 cm 89 cm TrackerTransportation + 6 16.3 cm -5.49 cm -54.4 cm 3.03 MeV 11.1 keV 6.7 cm 95.7 cm Tracker eIoni + 7 16.8 cm -7.01 cm -52 cm 3.02 MeV 5.85 keV 2.9 cm 98.6 cm Tracker eIoni + 8 29.7 cm -39.6 cm 0 fm 2.91 MeV 108 keV 63.4 cm 1.62 m ChamberTransportation + 9 34.8 cm -48.5 cm 20 cm 2.8 MeV 97.4 keV 24.4 cm 1.86 m TrackerTransportation + 10 53.7 cm -81.7 cm 23 cm 2.74 MeV 53.2 keV 38.5 cm 2.25 m Tracker eIoni + 11 1.01 m -1.51 m 32 cm 2.58 MeV 143 keV 85 cm 3.1 m Tracker eIoni + 12 1.18 m -1.7 m 35.7 cm 2.53 MeV 49.3 keV 26 cm 3.36 m Tracker eIoni + 13 1.38 m -1.87 m 43.2 cm 2.48 MeV 41.9 keV 27.2 cm 3.63 m Tracker eIoni + 14 2.05 m -2.4 m 64.9 cm 2.33 MeV 146 keV 89.9 cm 4.53 m WorldPVTransportation + 15 2.48 m -2.88 m 72.9 cm 2.2 MeV 106 keV 65.5 cm 5.18 m WorldPV eIoni + 16 2.53 m -2.91 m 73.1 cm 2.19 MeV 8.99 keV 5.83 cm 5.24 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 335, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.48 m -2.88 m 72.9 cm 23.3 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.48 m -2.88 m 73.1 cm 19.5 keV 3.81 keV 2.37 mm 2.37 mm WorldPV eIoni + 2 2.48 m -2.88 m 73.2 cm 18.1 keV 1.41 keV 1.81 mm 4.18 mm WorldPV eIoni + 3 2.48 m -2.88 m 73.3 cm 15.8 keV 2.28 keV 1.62 mm 5.8 mm WorldPV eIoni + 4 2.48 m -2.87 m 73.3 cm 14.8 keV 1.04 keV 1.34 mm 7.14 mm WorldPV eIoni + 5 2.48 m -2.87 m 73.2 cm 12.4 keV 2.36 keV 1.23 mm 8.37 mm WorldPV eIoni + 6 2.48 m -2.87 m 73.2 cm 10.8 keV 1.59 keV 984 mum 9.35 mm WorldPV eIoni + 7 2.48 m -2.87 m 73.1 cm 7.36 keV 3.46 keV 840 mum 1.02 cm WorldPV eIoni + 8 2.48 m -2.87 m 73 cm 5.36 keV 2 keV 570 mum 1.08 cm WorldPV eIoni + 9 2.48 m -2.87 m 73 cm 2.95 keV 2.41 keV 439 mum 1.12 cm WorldPV eIoni + 10 2.48 m -2.87 m 73 cm 1.38 keV 1.57 keV 273 mum 1.15 cm WorldPV eIoni + 11 2.48 m -2.87 m 73 cm 0 eV 1.38 keV 94.7 mum 1.16 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 334, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.38 m -1.87 m 43.2 cm 8.72 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.38 m -1.87 m 43.3 cm 6.8 keV 1.91 keV 668 mum 668 mum Tracker eIoni + 2 1.38 m -1.87 m 43.2 cm 4.74 keV 2.07 keV 531 mum 1.2 mm Tracker eIoni + 3 1.38 m -1.87 m 43.2 cm 3.1 keV 1.63 keV 400 mum 1.6 mm Tracker eIoni + 4 1.38 m -1.87 m 43.2 cm 969 eV 2.13 keV 286 mum 1.88 mm Tracker eIoni + 5 1.38 m -1.87 m 43.2 cm 0 eV 969 eV 58.9 mum 1.94 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.18 m -1.7 m 35.7 cm 8.22 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.18 m -1.7 m 35.8 cm 6.07 keV 2.15 keV 630 mum 630 mum Tracker eIoni + 2 1.18 m -1.7 m 35.8 cm 4.27 keV 1.8 keV 484 mum 1.11 mm Tracker eIoni + 3 1.18 m -1.7 m 35.8 cm 1.82 keV 2.45 keV 370 mum 1.48 mm Tracker eIoni + 4 1.18 m -1.7 m 35.8 cm 0 eV 1.82 keV 141 mum 1.62 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 332, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.01 m -1.51 m 32 cm 13.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.01 m -1.51 m 32 cm 11.7 keV 1.63 keV 1.07 mm 1.07 mm Tracker eIoni + 2 1.01 m -1.51 m 32 cm 9 keV 2.65 keV 913 mum 1.98 mm Tracker eIoni + 3 1.01 m -1.51 m 32 cm 6.88 keV 2.13 keV 690 mum 2.68 mm Tracker eIoni + 4 1.01 m -1.51 m 32 cm 5.23 keV 1.65 keV 536 mum 3.21 mm Tracker eIoni + 5 1.01 m -1.51 m 32 cm 4.3 keV 927 eV 431 mum 3.64 mm Tracker eIoni + 6 1.02 m -1.51 m 32.1 cm 1.18 keV 3.12 keV 373 mum 4.02 mm Tracker eIoni + 7 1.01 m -1.51 m 32.1 cm 0 eV 1.18 keV 76.2 mum 4.09 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 331, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 53.7 cm -81.7 cm 23 cm 9.79 keV 0 eV 0 fm 0 fm Tracker initStep + 1 53.7 cm -81.7 cm 23 cm 8.39 keV 1.4 keV 751 mum 751 mum Tracker eIoni + 2 53.7 cm -81.7 cm 22.9 cm 6.02 keV 2.38 keV 642 mum 1.39 mm Tracker eIoni + 3 53.7 cm -81.7 cm 22.9 cm 2.45 keV 3.57 keV 481 mum 1.87 mm Tracker eIoni + 4 53.7 cm -81.7 cm 22.9 cm 0 eV 2.45 keV 221 mum 2.1 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 330, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30 cm -40 cm 9.42 mm 11 keV 0 eV 0 fm 0 fm Chamber initStep + 1 30 cm -40 cm 9.6 mm 9.04 keV 2 keV 575 mum 575 mum Chamber eIoni + 2 30 cm -40 cm 9.44 mm 6.89 keV 2.15 keV 493 mum 1.07 mm Chamber eIoni + 3 30 cm -40 cm 9.38 mm 4.67 keV 2.22 keV 407 mum 1.48 mm Chamber eIoni + 4 30 cm -40 cm 9.46 mm 3.47 keV 1.2 keV 313 mum 1.79 mm Chamber eIoni + 5 30 cm -40 cm 9.46 mm 64.4 eV 3.41 keV 243 mum 2.03 mm Chamber eIoni + 6 30 cm -40 cm 9.46 mm 0 eV 64.4 eV 6.17 mum 2.04 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 329, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.8 cm -7.01 cm -52 cm 8.16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 16.8 cm -6.96 cm -52 cm 5.97 keV 2.19 keV 625 mum 625 mum Tracker eIoni + 2 16.9 cm -6.93 cm -52 cm 4.9 keV 1.07 keV 477 mum 1.1 mm Tracker eIoni + 3 16.9 cm -6.9 cm -52 cm 4.08 keV 813 eV 410 mum 1.51 mm Tracker eIoni + 4 16.9 cm -6.87 cm -52 cm 2.74 keV 1.34 keV 358 mum 1.87 mm Tracker eIoni + 5 16.9 cm -6.88 cm -52 cm 399 eV 2.34 keV 252 mum 2.12 mm Tracker eIoni + 6 16.9 cm -6.88 cm -52 cm 0 eV 399 eV 22.6 mum 2.15 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 328, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.3 cm -5.49 cm -54.4 cm 14.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 16.2 cm -5.47 cm -54.4 cm 10.3 keV 4.52 keV 1.23 mm 1.23 mm Tracker eIoni + 2 16.1 cm -5.52 cm -54.4 cm 7.76 keV 2.51 keV 792 mum 2.02 mm Tracker eIoni + 3 16.1 cm -5.55 cm -54.3 cm 3.19 keV 4.57 keV 598 mum 2.62 mm Tracker eIoni + 4 16.1 cm -5.54 cm -54.3 cm 852 eV 2.34 keV 293 mum 2.91 mm Tracker eIoni + 5 16.1 cm -5.54 cm -54.3 cm 0 eV 852 eV 50.1 mum 2.96 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 327, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.4 cm -2.79 cm -69.5 cm 9.62 keV 0 eV 0 fm 0 fm Chamber initStep + 1 14.4 cm -2.78 cm -69.5 cm 7 keV 2.62 keV 516 mum 516 mum Chamber eIoni + 2 14.4 cm -2.79 cm -69.5 cm 5.78 keV 1.22 keV 412 mum 927 mum Chamber eIoni + 3 14.4 cm -2.8 cm -69.5 cm 2.86 keV 2.93 keV 362 mum 1.29 mm Chamber eIoni + 4 14.4 cm -2.8 cm -69.5 cm 0 eV 2.86 keV 192 mum 1.48 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 326, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.74 cm -9.12 cm -1.18 m 64 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.58 cm -10.1 cm -1.17 m 56 keV 7.95 keV 1.29 cm 1.29 cm Tracker eIoni + 2 9.04 cm -10.3 cm -1.16 m 44.1 keV 11.9 keV 1.03 cm 2.32 cm Tracker eIoni + 3 8.94 cm -10.9 cm -1.16 m 39.1 keV 4.95 keV 6.76 mm 2.99 cm Tracker eIoni + 4 8.47 cm -11.2 cm -1.16 m 35.8 keV 3.33 keV 5.54 mm 3.55 cm Tracker eIoni + 5 8.18 cm -11.5 cm -1.16 m 33.5 keV 2.31 keV 4.75 mm 4.02 cm Tracker eIoni + 6 7.79 cm -11.6 cm -1.16 m 29.2 keV 4.32 keV 4.26 mm 4.45 cm Tracker eIoni + 7 7.59 cm -11.9 cm -1.16 m 23.7 keV 5.46 keV 3.38 mm 4.79 cm Tracker eIoni + 8 7.4 cm -12 cm -1.16 m 21.6 keV 2.05 keV 2.43 mm 5.03 cm Tracker eIoni + 9 7.4 cm -12.1 cm -1.16 m 19 keV 2.69 keV 2.11 mm 5.24 cm Tracker eIoni + 10 7.33 cm -12.3 cm -1.15 m 16.8 keV 2.16 keV 1.74 mm 5.41 cm Tracker eIoni + 11 7.35 cm -12.4 cm -1.15 m 12.7 keV 4.05 keV 1.46 mm 5.56 cm Tracker eIoni + 12 7.31 cm -12.5 cm -1.15 m 8.27 keV 4.47 keV 1.02 mm 5.66 cm Tracker eIoni + 13 7.29 cm -12.5 cm -1.15 m 6.87 keV 1.4 keV 633 mum 5.72 cm Tracker eIoni + 14 7.28 cm -12.6 cm -1.15 m 5.49 keV 1.38 keV 535 mum 5.78 cm Tracker eIoni + 15 7.26 cm -12.6 cm -1.15 m 3.11 keV 2.38 keV 447 mum 5.82 cm Tracker eIoni + 16 7.28 cm -12.6 cm -1.15 m 1.19 keV 1.92 keV 286 mum 5.85 cm Tracker eIoni + 17 7.28 cm -12.6 cm -1.15 m 0 eV 1.19 keV 77.2 mum 5.86 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 324 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.23 cm -10.2 cm -1.25 m 18.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.36 cm -10.3 cm -1.25 m 16.9 keV 1.63 keV 1.68 mm 1.68 mm Tracker eIoni + 2 9.42 cm -10.4 cm -1.25 m 14.8 keV 2.12 keV 1.47 mm 3.16 mm Tracker eIoni + 3 9.44 cm -10.5 cm -1.25 m 13.2 keV 1.66 keV 1.23 mm 4.39 mm Tracker eIoni + 4 9.4 cm -10.5 cm -1.25 m 11.9 keV 1.26 keV 1.06 mm 5.45 mm Tracker eIoni + 5 9.32 cm -10.6 cm -1.25 m 9.61 keV 2.28 keV 934 mum 6.38 mm Tracker eIoni + 6 9.34 cm -10.6 cm -1.25 m 5.55 keV 4.06 keV 737 mum 7.12 mm Tracker eIoni + 7 9.37 cm -10.6 cm -1.25 m 3.82 keV 1.73 keV 451 mum 7.57 mm Tracker eIoni + 8 9.35 cm -10.6 cm -1.25 m 2.34 keV 1.48 keV 340 mum 7.91 mm Tracker eIoni + 9 9.33 cm -10.6 cm -1.25 m 0 eV 2.34 keV 206 mum 8.12 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 323, Parent ID = 313 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.01 cm -10.9 cm -1.46 m 4.2 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 6.7 cm -11 cm -1.4 m 4.16 MeV 31.3 keV 6.12 cm 6.12 cm TrackerTransportation + 2 7.16 cm -11.2 cm -1.37 m 4.16 MeV 3.75 keV 2.79 cm 8.91 cm Tracker eBrem + 3 7.18 cm -11.2 cm -1.37 m 4.08 MeV 251 eV 956 mum 9.01 cm Tracker eIoni + 4 14.8 cm -13.4 cm -80 cm 3.99 MeV 95.8 keV 58 cm 67.1 cm ChamberTransportation + 5 14.7 cm -15.6 cm -60 cm 3.88 MeV 91.3 keV 21.3 cm 88.3 cm TrackerTransportation + 6 9.31 cm -18.4 cm -21 cm 3.8 MeV 64.6 keV 39.5 cm 1.28 m Tracker eIoni + 7 6.47 cm -18.9 cm 0.0284 fm 3.78 MeV 29.6 keV 21.2 cm 1.49 m ChamberTransportation + 8 3.85 cm -24.5 cm 13.7 cm 3.67 MeV 66.8 keV 15.3 cm 1.64 m Chamber eIoni + 9 3.13 cm -25.5 cm 20 cm 3.64 MeV 23.4 keV 6.54 cm 1.71 m TrackerTransportation + 10 1.26 cm -40.3 cm 80 cm 3.54 MeV 107 keV 62.3 cm 2.33 m ChamberTransportation + 11 3.44 cm -42.7 cm 1 m 3.44 MeV 88.9 keV 21.7 cm 2.55 m TrackerTransportation + 12 9.05 cm -47.5 cm 1.4 m 3.35 MeV 66.7 keV 40.8 cm 2.96 m Tracker eIoni + 13 9.64 cm -51 cm 1.56 m 3.31 MeV 26 keV 16.8 cm 3.13 m Tracker eIoni + 14 9.83 cm -51.7 cm 1.6 m 3.31 MeV 3.83 keV 3.67 cm 3.16 m ChamberTransportation + 15 10.3 cm -55.9 cm 1.8 m 3.21 MeV 77.8 keV 22.1 cm 3.38 m TrackerTransportation + 16 15.6 cm -69.8 cm 2.4 m 3.11 MeV 102 keV 62.4 cm 4.01 m WorldPVTransportation + 17 17 cm -87.2 cm 2.91 m 3.01 MeV 93.9 keV 54.4 cm 4.55 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10 cm -53.3 cm 1.68 m 18.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 10 cm -53.3 cm 1.68 m 13.2 keV 5.38 keV 946 mum 946 mum Chamber eIoni + 2 10 cm -53.3 cm 1.68 m 11 keV 2.19 keV 670 mum 1.62 mm Chamber eIoni + 3 10 cm -53.2 cm 1.68 m 8.92 keV 2.06 keV 573 mum 2.19 mm Chamber eIoni + 4 10 cm -53.2 cm 1.68 m 550 eV 8.37 keV 488 mum 2.68 mm Chamber eIoni + 5 10 cm -53.2 cm 1.68 m 0 eV 550 eV 23.3 mum 2.7 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.64 cm -51 cm 1.56 m 10.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.66 cm -50.9 cm 1.56 m 7.37 keV 3.31 keV 828 mum 828 mum Tracker eIoni + 2 9.61 cm -50.9 cm 1.56 m 6.07 keV 1.3 keV 571 mum 1.4 mm Tracker eIoni + 3 9.58 cm -50.9 cm 1.56 m 3.46 keV 2.61 keV 484 mum 1.88 mm Tracker eIoni + 4 9.56 cm -50.9 cm 1.56 m 1.7 keV 1.76 keV 315 mum 2.2 mm Tracker eIoni + 5 9.56 cm -50.9 cm 1.56 m 0 eV 1.7 keV 128 mum 2.33 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 342, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.05 cm -47.5 cm 1.4 m 21.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.03 cm -47.3 cm 1.4 m 18.3 keV 3.37 keV 2.12 mm 2.12 mm Tracker eIoni + 2 9.13 cm -47.2 cm 1.4 m 12.9 keV 5.44 keV 1.66 mm 3.78 mm Tracker eIoni + 3 9.14 cm -47.3 cm 1.4 m 11.8 keV 1.13 keV 1.03 mm 4.81 mm Tracker eIoni + 4 9.2 cm -47.3 cm 1.4 m 10.6 keV 1.21 keV 923 mum 5.73 mm Tracker eIoni + 5 9.15 cm -47.2 cm 1.4 m 8.53 keV 2.03 keV 817 mum 6.55 mm Tracker eIoni + 6 9.13 cm -47.2 cm 1.4 m 7.48 keV 1.05 keV 653 mum 7.21 mm Tracker eIoni + 7 9.1 cm -47.1 cm 1.4 m 3.37 keV 4.12 keV 579 mum 7.78 mm Tracker eIoni + 8 9.12 cm -47.1 cm 1.4 m 899 eV 2.47 keV 307 mum 8.09 mm Tracker eIoni + 9 9.12 cm -47.1 cm 1.4 m 0 eV 899 eV 53.5 mum 8.14 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.34 cm -41.5 cm 89.9 cm 10.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 2.31 cm -41.5 cm 89.9 cm 9.69 keV 1.02 keV 561 mum 561 mum Chamber eIoni + 2 2.32 cm -41.5 cm 89.9 cm 8.26 keV 1.43 keV 518 mum 1.08 mm Chamber eIoni + 3 2.33 cm -41.5 cm 89.9 cm 4.6 keV 3.66 keV 461 mum 1.54 mm Chamber eIoni + 4 2.32 cm -41.5 cm 89.9 cm 2.7 keV 1.9 keV 309 mum 1.85 mm Chamber eIoni + 5 2.32 cm -41.5 cm 89.9 cm 0 eV 2.7 keV 178 mum 2.03 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 340, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.85 cm -24.5 cm 13.7 cm 42.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 3.94 cm -24.4 cm 13.9 cm 24.7 keV 18.3 keV 2.85 mm 2.85 mm Chamber eIoni + 2 4.01 cm -24.4 cm 13.9 cm 17.6 keV 7.11 keV 1.32 mm 4.17 mm Chamber eIoni + 3 3.96 cm -24.4 cm 14 cm 14.8 keV 2.74 keV 889 mum 5.06 mm Chamber eIoni + 4 3.97 cm -24.5 cm 14 cm 4.99 keV 9.82 keV 747 mum 5.81 mm Chamber eIoni + 5 3.96 cm -24.5 cm 14 cm 2.88 keV 2.11 keV 328 mum 6.13 mm Chamber eIoni + 6 3.96 cm -24.5 cm 14 cm 0 eV 2.88 keV 195 mum 6.33 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 339, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.31 cm -18.4 cm -21 cm 8.76 keV 0 eV 0 fm 0 fm Tracker initStep + 1 9.27 cm -18.3 cm -21 cm 6.75 keV 2.01 keV 671 mum 671 mum Tracker eIoni + 2 9.24 cm -18.3 cm -20.9 cm 5.33 keV 1.41 keV 528 mum 1.2 mm Tracker eIoni + 3 9.22 cm -18.3 cm -21 cm 4.23 keV 1.1 keV 438 mum 1.64 mm Tracker eIoni + 4 9.19 cm -18.3 cm -21 cm 2.95 keV 1.29 keV 368 mum 2 mm Tracker eIoni + 5 9.2 cm -18.3 cm -20.9 cm 1.72 keV 1.22 keV 272 mum 2.28 mm Tracker eIoni + 6 9.21 cm -18.3 cm -20.9 cm 0 eV 1.72 keV 130 mum 2.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 338, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.8 cm -14.4 cm -71.4 cm 18 keV 0 eV 0 fm 0 fm Chamber initStep + 1 14.7 cm -14.4 cm -71.3 cm 16.4 keV 1.53 keV 912 mum 912 mum Chamber eIoni + 2 14.7 cm -14.3 cm -71.3 cm 15.3 keV 1.11 keV 830 mum 1.74 mm Chamber eIoni + 3 14.7 cm -14.4 cm -71.3 cm 13.3 keV 2.02 keV 773 mum 2.52 mm Chamber eIoni + 4 14.6 cm -14.4 cm -71.3 cm 12.2 keV 1.12 keV 676 mum 3.19 mm Chamber eIoni + 5 14.6 cm -14.4 cm -71.4 cm 11.4 keV 797 eV 624 mum 3.82 mm Chamber eIoni + 6 14.6 cm -14.4 cm -71.3 cm 902 eV 10.5 keV 590 mum 4.4 mm Chamber eIoni + 7 14.6 cm -14.4 cm -71.3 cm 0 eV 902 eV 40.9 mum 4.45 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 337, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.18 cm -11.2 cm -1.37 m 75 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.52 cm -12.8 cm -1.37 m 67.6 keV 7.4 keV 1.7 cm 1.7 cm Tracker eIoni + 2 8.08 cm -13.3 cm -1.36 m 62.5 keV 5.06 keV 1.42 cm 3.12 cm Tracker eIoni + 3 8.35 cm -13.8 cm -1.35 m 55.9 keV 6.58 keV 1.24 cm 4.36 cm Tracker eIoni + 4 8.9 cm -13.6 cm -1.34 m 49.3 keV 6.61 keV 1.02 cm 5.39 cm Tracker eIoni + 5 9.52 cm -13.8 cm -1.33 m 42.9 keV 6.43 keV 8.23 mm 6.21 cm Tracker eIoni + 6 9.97 cm -14.2 cm -1.33 m 34.5 keV 8.37 keV 6.45 mm 6.85 cm Tracker eIoni + 7 10.3 cm -14.4 cm -1.33 m 31.5 keV 2.97 keV 4.48 mm 7.3 cm Tracker eIoni + 8 10.4 cm -14.5 cm -1.34 m 28.6 keV 2.93 keV 3.85 mm 7.69 cm Tracker eIoni + 9 10.6 cm -14.4 cm -1.34 m 17.5 keV 11.1 keV 3.28 mm 8.02 cm Tracker eIoni + 10 10.8 cm -14.5 cm -1.34 m 16 keV 1.53 keV 1.54 mm 8.17 cm Tracker eIoni + 11 10.8 cm -14.6 cm -1.34 m 15 keV 916 eV 1.36 mm 8.31 cm Tracker eIoni + 12 10.9 cm -14.7 cm -1.34 m 12.9 keV 2.17 keV 1.26 mm 8.43 cm Tracker eIoni + 13 10.8 cm -14.7 cm -1.34 m 10.5 keV 2.32 keV 1.03 mm 8.53 cm Tracker eIoni + 14 10.8 cm -14.7 cm -1.34 m 9.81 keV 730 eV 815 mum 8.62 cm Tracker eIoni + 15 10.7 cm -14.8 cm -1.34 m 8.24 keV 1.58 keV 753 mum 8.69 cm Tracker eIoni + 16 10.7 cm -14.8 cm -1.34 m 5.78 keV 2.45 keV 631 mum 8.75 cm Tracker eIoni + 17 10.6 cm -14.8 cm -1.34 m 0 eV 5.78 keV 465 mum 8.8 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 336, Parent ID = 323 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.16 cm -11.2 cm -1.37 m 1.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.3 cm -11.4 cm -1.37 m 0 eV 1.4 keV 5.33 mm 5.33 mm Tracker phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 312, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.7 mum -125 mum -2.41 m 16.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 551 mum -1.26 mm -2.4 m 16.2 MeV 0 eV 5.75 mm 5.75 mm TrackerTransportation + 2 8.68 cm -16.3 cm -1.6 m 16.2 MeV 0 eV 82.1 cm 82.6 cm ChamberTransportation + 3 10.8 cm -20.3 cm -1.4 m 16.2 MeV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 17.3 cm -32.4 cm -80 cm 16.2 MeV 0 eV 61.6 cm 1.65 m ChamberTransportation + 5 19.5 cm -36.5 cm -60 cm 16.2 MeV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 25.9 cm -48.6 cm 0 fm 16.2 MeV 0 eV 61.6 cm 2.47 m ChamberTransportation + 7 28.1 cm -52.6 cm 20 cm 16.2 MeV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 34.5 cm -64.7 cm 80 cm 16.2 MeV 0 eV 61.6 cm 3.29 m ChamberTransportation + 9 36.7 cm -68.8 cm 1 m 16.2 MeV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 43.2 cm -80.9 cm 1.6 m 16.2 MeV 0 eV 61.6 cm 4.11 m ChamberTransportation + 11 45.3 cm -84.9 cm 1.8 m 16.2 MeV 0 eV 20.5 cm 4.31 m TrackerTransportation + 12 51.8 cm -97 cm 2.4 m 16.2 MeV 0 eV 61.6 cm 4.93 m WorldPVTransportation + 13 57.3 cm -1.07 m 2.91 m 16.2 MeV 0 eV 52.3 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 311, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65.4 mum -116 mum -2.41 m 7.23 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 39.8 mum -592 mum -2.4 m 5.57 MeV 0 eV 5.88 mm 5.88 mm TargetPV compt + 2 38.6 mum -580 mum -2.4 m 5.57 MeV 0 eV 99.5 mum 5.98 mm TrackerTransportation + 3 -1 cm 9.76 cm -1.6 m 5.57 MeV 0 eV 80.6 cm 81.2 cm ChamberTransportation + 4 -1.25 cm 12.2 cm -1.4 m 5.57 MeV 0 eV 20.2 cm 1.01 m TrackerTransportation + 5 -2 cm 19.6 cm -80 cm 5.57 MeV 0 eV 60.5 cm 1.62 m ChamberTransportation + 6 -2.26 cm 22 cm -60 cm 5.57 MeV 0 eV 20.2 cm 1.82 m TrackerTransportation + 7 -3.01 cm 29.4 cm -0.114 fm 5.57 MeV 0 eV 60.5 cm 2.42 m ChamberTransportation + 8 -3.26 cm 31.9 cm 20 cm 5.57 MeV 0 eV 20.2 cm 2.63 m TrackerTransportation + 9 -4.01 cm 39.2 cm 80 cm 5.57 MeV 0 eV 60.5 cm 3.23 m ChamberTransportation + 10 -4.26 cm 41.7 cm 1 m 5.57 MeV 0 eV 20.2 cm 3.43 m TrackerTransportation + 11 -5.02 cm 49 cm 1.6 m 5.57 MeV 0 eV 60.5 cm 4.04 m ChamberTransportation + 12 -5.27 cm 51.5 cm 1.8 m 5.57 MeV 0 eV 20.2 cm 4.24 m TrackerTransportation + 13 -6.02 cm 58.9 cm 2.4 m 5.57 MeV 0 eV 60.5 cm 4.84 m WorldPVTransportation + 14 -6.66 cm 65.1 cm 2.91 m 5.57 MeV 0 eV 51.4 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 311 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.8 mum -592 mum -2.4 m 1.66 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 51.6 mum -667 mum -2.4 m 1.45 MeV 212 keV 267 mum 267 mum TrackerTransportation + 2 -59.2 cm 92.3 cm -2.16 m 1.23 MeV 201 keV 1.18 m 1.18 m Tracker eIoni + 3 -1.06 m 1.33 m -2.07 m 1.11 MeV 108 keV 65.7 cm 1.83 m Tracker eIoni + 4 -1.49 m 1.9 m -1.99 m 978 keV 127 keV 75.1 cm 2.59 m Tracker eIoni + 5 -1.76 m 2.24 m -1.89 m 860 keV 76.8 keV 46.9 cm 3.05 m Tracker eIoni + 6 -1.84 m 2.28 m -1.87 m 829 keV 17.4 keV 9.45 cm 3.15 m Tracker eIoni + 7 -1.82 m 2.4 m -1.85 m 808 keV 20.8 keV 13 cm 3.28 m WorldPVTransportation + 8 -1.73 m 2.91 m -1.76 m 707 keV 101 keV 56.4 cm 3.84 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 350, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.84 m 2.28 m -1.87 m 12.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.85 m 2.28 m -1.87 m 12 keV 911 eV 1.03 mm 1.03 mm Tracker eIoni + 2 -1.85 m 2.28 m -1.87 m 9.04 keV 2.97 keV 943 mum 1.98 mm Tracker eIoni + 3 -1.85 m 2.28 m -1.87 m 7.77 keV 1.27 keV 693 mum 2.67 mm Tracker eIoni + 4 -1.85 m 2.27 m -1.87 m 7.05 keV 726 eV 599 mum 3.27 mm Tracker eIoni + 5 -1.85 m 2.27 m -1.87 m 6.33 keV 716 eV 548 mum 3.82 mm Tracker eIoni + 6 -1.85 m 2.27 m -1.87 m 5.35 keV 981 eV 501 mum 4.32 mm Tracker eIoni + 7 -1.85 m 2.27 m -1.87 m 2.48 keV 2.87 keV 439 mum 4.76 mm Tracker eIoni + 8 -1.85 m 2.27 m -1.87 m 347 eV 2.13 keV 224 mum 4.98 mm Tracker eIoni + 9 -1.85 m 2.27 m -1.87 m 0 eV 347 eV 20.2 mum 5 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 349, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.76 m 2.24 m -1.89 m 41.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m 2.25 m -1.89 m 37.6 keV 3.97 keV 6.13 mm 6.13 mm Tracker eIoni + 2 -1.76 m 2.25 m -1.89 m 31.8 keV 5.8 keV 5.17 mm 1.13 cm Tracker eIoni + 3 -1.76 m 2.25 m -1.89 m 29.7 keV 2.12 keV 3.91 mm 1.52 cm Tracker eIoni + 4 -1.76 m 2.25 m -1.89 m 25.8 keV 3.91 keV 3.48 mm 1.87 cm Tracker eIoni + 5 -1.76 m 2.25 m -1.89 m 23.1 keV 2.69 keV 2.77 mm 2.15 cm Tracker eIoni + 6 -1.77 m 2.25 m -1.89 m 20.8 keV 2.31 keV 2.33 mm 2.38 cm Tracker eIoni + 7 -1.77 m 2.25 m -1.89 m 18.3 keV 2.51 keV 1.98 mm 2.58 cm Tracker eIoni + 8 -1.77 m 2.25 m -1.89 m 16.5 keV 1.75 keV 1.64 mm 2.74 cm Tracker eIoni + 9 -1.77 m 2.25 m -1.89 m 14.1 keV 2.42 keV 1.43 mm 2.88 cm Tracker eIoni + 10 -1.77 m 2.25 m -1.89 m 11.6 keV 2.45 keV 1.15 mm 3 cm Tracker eIoni + 11 -1.77 m 2.25 m -1.89 m 10.1 keV 1.58 keV 912 mum 3.09 cm Tracker eIoni + 12 -1.77 m 2.25 m -1.89 m 8.96 keV 1.1 keV 773 mum 3.17 cm Tracker eIoni + 13 -1.77 m 2.25 m -1.89 m 7.57 keV 1.4 keV 687 mum 3.24 cm Tracker eIoni + 14 -1.77 m 2.25 m -1.89 m 6.38 keV 1.18 keV 584 mum 3.29 cm Tracker eIoni + 15 -1.77 m 2.25 m -1.89 m 3.72 keV 2.66 keV 504 mum 3.34 cm Tracker eIoni + 16 -1.77 m 2.25 m -1.89 m 2.13 keV 1.59 keV 333 mum 3.38 cm Tracker eIoni + 17 -1.77 m 2.25 m -1.89 m 0 eV 2.13 keV 179 mum 3.4 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.49 m 1.9 m -1.99 m 8.22 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.49 m 1.9 m -1.99 m 4.95 keV 3.27 keV 630 mum 630 mum Tracker eIoni + 2 -1.49 m 1.9 m -1.99 m 154 eV 4.8 keV 414 mum 1.04 mm Tracker eIoni + 3 -1.49 m 1.9 m -1.99 m 0 eV 154 eV 12.5 mum 1.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.06 m 1.33 m -2.07 m 11.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.06 m 1.33 m -2.07 m 8.92 keV 2.52 keV 894 mum 894 mum Tracker eIoni + 2 -1.06 m 1.33 m -2.07 m 6.21 keV 2.7 keV 683 mum 1.58 mm Tracker eIoni + 3 -1.06 m 1.33 m -2.07 m 4.54 keV 1.67 keV 494 mum 2.07 mm Tracker eIoni + 4 -1.06 m 1.33 m -2.07 m 2.25 keV 2.29 keV 388 mum 2.46 mm Tracker eIoni + 5 -1.06 m 1.33 m -2.07 m 0 eV 2.25 keV 195 mum 2.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 345 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.2 cm 92.3 cm -2.16 m 14.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -59.3 cm 92.2 cm -2.16 m 12.7 keV 1.34 keV 1.15 mm 1.15 mm Tracker eIoni + 2 -59.4 cm 92.2 cm -2.16 m 11.3 keV 1.47 keV 1.02 mm 2.17 mm Tracker eIoni + 3 -59.5 cm 92.2 cm -2.16 m 9.9 keV 1.37 keV 879 mum 3.05 mm Tracker eIoni + 4 -59.5 cm 92.3 cm -2.16 m 8.19 keV 1.71 keV 759 mum 3.81 mm Tracker eIoni + 5 -59.5 cm 92.3 cm -2.16 m 5.55 keV 2.64 keV 627 mum 4.43 mm Tracker eIoni + 6 -59.6 cm 92.3 cm -2.16 m 4.05 keV 1.5 keV 451 mum 4.88 mm Tracker eIoni + 7 -59.5 cm 92.3 cm -2.16 m 1.22 keV 2.82 keV 355 mum 5.24 mm Tracker eIoni + 8 -59.5 cm 92.3 cm -2.16 m 0 eV 1.22 keV 79.8 mum 5.32 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 310, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.5 mum -168 mum -2.41 m 6.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -183 mum -512 mum -2.4 m 6.03 MeV 0 eV 7.31 mm 7.31 mm TrackerTransportation + 2 -9.93 mm -3.82 cm -1.6 m 6.03 MeV 0 eV 80.1 cm 80.8 cm ChamberTransportation + 3 -1.24 cm -4.77 cm -1.4 m 6.03 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -1.97 cm -7.59 cm -80 cm 6.03 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -2.21 cm -8.54 cm -60 cm 6.03 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -2.94 cm -11.4 cm 0 fm 6.03 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -3.19 cm -12.3 cm 20 cm 6.03 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -3.92 cm -15.1 cm 80 cm 6.03 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -4.16 cm -16.1 cm 1 m 6.03 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -4.89 cm -18.9 cm 1.6 m 6.03 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -5.13 cm -19.9 cm 1.8 m 6.03 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -5.87 cm -22.7 cm 2.4 m 6.03 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -6.49 cm -25.1 cm 2.91 m 6.03 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 309, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.4 mum -150 mum -2.41 m 29.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -218 mum -228 mum -2.4 m 29.9 MeV 0 eV 7.75 mm 7.75 mm TrackerTransportation + 2 -1.44 cm -8.29 mm -1.6 m 29.9 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -1.8 cm -1.03 cm -1.4 m 29.9 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.86 cm -1.63 cm -80 cm 29.9 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -3.22 cm -1.84 cm -60 cm 29.9 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -4.28 cm -2.44 cm 0.114 fm 29.9 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -4.64 cm -2.64 cm 20 cm 29.9 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -5.7 cm -3.25 cm 80 cm 29.9 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -6.06 cm -3.45 cm 1 m 29.9 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -7.12 cm -4.05 cm 1.6 m 29.9 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -7.48 cm -4.25 cm 1.8 m 29.9 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -8.54 cm -4.86 cm 2.4 m 29.9 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -9.45 cm -5.37 cm 2.91 m 29.9 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 308, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.3 mum -150 mum -2.41 m 86.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -191 mum -250 mum -2.4 m 86.6 MeV 0 eV 7.82 mm 7.82 mm TrackerTransportation + 2 -1.16 cm -1.06 cm -1.6 m 86.6 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -1.45 cm -1.32 cm -1.4 m 86.6 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.31 cm -2.09 cm -80 cm 86.6 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -2.6 cm -2.35 cm -60 cm 86.6 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -3.45 cm -3.12 cm 0 fm 86.6 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -3.74 cm -3.38 cm 20 cm 86.6 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -4.6 cm -4.15 cm 80 cm 86.6 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -4.89 cm -4.41 cm 1 m 86.6 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -5.74 cm -5.19 cm 1.6 m 86.6 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -6.03 cm -5.44 cm 1.8 m 86.6 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -6.89 cm -6.22 cm 2.4 m 86.6 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -7.62 cm -6.88 cm 2.91 m 86.6 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 307, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -82.4 mum -133 mum -2.41 m 10.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -106 mum -295 mum -2.4 m 10.8 MeV 0 eV 8.29 mm 8.29 mm TrackerTransportation + 2 -2.41 mm -1.6 cm -1.6 m 10.8 MeV 0 eV 80 cm 80.8 cm ChamberTransportation + 3 -2.98 mm -1.99 cm -1.4 m 10.8 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -4.71 mm -3.17 cm -80 cm 10.8 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -5.28 mm -3.56 cm -60 cm 10.8 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -7.01 mm -4.74 cm -0.114 fm 10.8 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -7.59 mm -5.14 cm 20 cm 10.8 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -9.31 mm -6.31 cm 80 cm 10.8 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -9.89 mm -6.71 cm 1 m 10.8 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -1.16 cm -7.88 cm 1.6 m 10.8 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -1.22 cm -8.28 cm 1.8 m 10.8 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -1.39 cm -9.46 cm 2.4 m 10.8 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -1.54 cm -10.5 cm 2.91 m 10.8 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 306, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 165 nm -32.4 mum -2.41 m 434 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -13.3 mum -197 mum -2.41 m 0 eV 434 keV 4.47 mm 4.47 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 305, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.05 mum -24.3 mum -2.41 m 4.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -9.48 mum -352 mum -2.4 m 4.7 MeV 0 eV 1.08 cm 1.08 cm TrackerTransportation + 2 -633 mum -2.46 cm -1.6 m 4.7 MeV 0 eV 80 cm 81.1 cm ChamberTransportation + 3 -789 mum -3.07 cm -1.4 m 4.7 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -1.26 mm -4.89 cm -80 cm 4.7 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 -1.41 mm -5.49 cm -60 cm 4.7 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -1.88 mm -7.31 cm 0 fm 4.7 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 -2.04 mm -7.92 cm 20 cm 4.7 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -2.5 mm -9.74 cm 80 cm 4.7 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 -2.66 mm -10.3 cm 1 m 4.7 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -3.13 mm -12.2 cm 1.6 m 4.7 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 -3.28 mm -12.8 cm 1.8 m 4.7 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -3.75 mm -14.6 cm 2.4 m 4.7 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 -4.15 mm -16.1 cm 2.91 m 4.7 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 304, Parent ID = 303 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.19 mum -8.44 mum -2.41 m 703 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -7.6 mum -46.9 mum -2.41 m 697 keV 5.9 keV 2.14 mm 2.14 mm TargetPV compt + 2 603 mum -987 mum -2.4 m 697 keV 0 eV 9.19 mm 1.13 cm TrackerTransportation + 3 5.42 cm -8.35 cm -1.6 m 697 keV 0 eV 80.6 cm 81.7 cm ChamberTransportation + 4 6.76 cm -10.4 cm -1.4 m 697 keV 0 eV 20.2 cm 1.02 m TrackerTransportation + 5 10.8 cm -16.6 cm -80 cm 697 keV 0 eV 60.5 cm 1.62 m ChamberTransportation + 6 12.1 cm -18.7 cm -60 cm 697 keV 0 eV 20.2 cm 1.82 m TrackerTransportation + 7 16.1 cm -24.8 cm 0 fm 697 keV 0 eV 60.5 cm 2.43 m ChamberTransportation + 8 17.5 cm -26.9 cm 20 cm 697 keV 0 eV 20.2 cm 2.63 m TrackerTransportation + 9 21.5 cm -33.1 cm 80 cm 697 keV 0 eV 60.5 cm 3.24 m ChamberTransportation + 10 22.8 cm -35.2 cm 1 m 697 keV 0 eV 20.2 cm 3.44 m TrackerTransportation + 11 26.9 cm -41.3 cm 1.6 m 697 keV 0 eV 60.5 cm 4.04 m ChamberTransportation + 12 28.2 cm -43.4 cm 1.8 m 697 keV 0 eV 20.2 cm 4.24 m TrackerTransportation + 13 32.2 cm -49.6 cm 2.4 m 697 keV 0 eV 60.5 cm 4.85 m WorldPVTransportation + 14 35.6 cm -54.8 cm 2.91 m 697 keV 0 eV 51.4 cm 5.36 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 101 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.7 nm -2.92 mum -2.41 m 60.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 510 mum 305 mum -2.41 m 47.1 MeV 5.06 MeV 3.55 mm 3.55 mm TargetPV eBrem + 2 511 mum 311 mum -2.41 m 46.5 MeV 145 keV 124 mum 3.67 mm TargetPV eBrem + 3 485 mum 449 mum -2.41 m 45 MeV 914 keV 706 mum 4.38 mm TargetPV eBrem + 4 493 mum 365 mum -2.41 m 40.2 MeV 1.84 MeV 1.31 mm 5.69 mm TargetPV eBrem + 5 490 mum 370 mum -2.41 m 39.7 MeV 42.4 keV 27.9 mum 5.72 mm TargetPV eBrem + 6 466 mum 454 mum -2.41 m 38 MeV 545 keV 494 mum 6.21 mm TargetPV eBrem + 7 51.4 mum 700 mum -2.4 m 35.4 MeV 1.79 MeV 1.34 mm 7.56 mm TargetPV eBrem + 8 -65 mum 723 mum -2.4 m 33 MeV 533 keV 456 mum 8.01 mm TargetPV eBrem + 9 -78.6 mum 509 mum -2.4 m 30.7 MeV 695 keV 474 mum 8.49 mm TargetPV eBrem + 10 -99.4 mum 540 mum -2.4 m 28.2 MeV 124 keV 81.4 mum 8.57 mm TargetPV eBrem + 11 -379 mum 1.24 mm -2.4 m 25.4 MeV 1.73 MeV 1.36 mm 9.93 mm TargetPV eBrem + 12 -417 mum 1.76 mm -2.4 m 19.8 MeV 1.48 MeV 1 mm 1.09 cm TargetPV eBrem + 13 -503 mum 2.01 mm -2.4 m 17.9 MeV 579 keV 408 mum 1.13 cm TargetPV eBrem + 14 -716 mum 2.74 mm -2.4 m 13.6 MeV 4.24 MeV 1.46 mm 1.28 cm TrackerTransportation + 15 -1.33 m 34.6 cm -1.55 m 13.3 MeV 304 keV 1.61 m 1.62 m Tracker eIoni + 16 -2.4 m 52.4 cm -82.6 cm 13.1 MeV 245 keV 1.31 m 2.94 m WorldPVTransportation + 17 -2.51 m 54.2 cm -74.9 cm 13 MeV 27.9 keV 13.8 cm 3.07 m WorldPV eIoni + 18 -2.7 m 56.9 cm -63.4 cm 12.9 MeV 42 keV 22.3 cm 3.3 m WorldPV eIoni + 19 -2.75 m 57.4 cm -60.1 cm 12.8 MeV 11.5 keV 6.28 cm 3.36 m WorldPV eIoni + 20 -2.81 m 58 cm -56.8 cm 12.8 MeV 15.3 keV 6.49 cm 3.42 m WorldPV eIoni + 21 -2.91 m 58.9 cm -50.8 cm 12.8 MeV 24 keV 11.7 cm 3.54 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 368, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.81 m 58 cm -56.8 cm 11.2 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.81 m 58 cm -56.8 cm 9.24 keV 1.98 keV 875 mum 875 mum WorldPV eIoni + 2 -2.81 m 58.1 cm -56.8 cm 6.78 keV 2.46 keV 708 mum 1.58 mm WorldPV eIoni + 3 -2.81 m 58.1 cm -56.8 cm 5.15 keV 1.63 keV 530 mum 2.11 mm WorldPV eIoni + 4 -2.81 m 58.1 cm -56.8 cm 3.48 keV 1.67 keV 426 mum 2.54 mm WorldPV eIoni + 5 -2.81 m 58.1 cm -56.9 cm 1.63 keV 1.84 keV 316 mum 2.85 mm WorldPV eIoni + 6 -2.81 m 58.1 cm -56.9 cm 0 eV 1.63 keV 120 mum 2.97 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 367, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.75 m 57.4 cm -60.1 cm 36.7 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.75 m 57.3 cm -59.7 cm 21.7 keV 2.23 keV 4.19 mm 4.19 mm WorldPV eIoni + 2 -2.75 m 57.2 cm -59.7 cm 13 keV 8.72 keV 2.12 mm 6.31 mm WorldPV eIoni + 3 -2.75 m 57.1 cm -59.7 cm 11.5 keV 1.43 keV 1.04 mm 7.35 mm WorldPV eIoni + 4 -2.75 m 57.1 cm -59.7 cm 8.19 keV 3.35 keV 903 mum 8.25 mm WorldPV eIoni + 5 -2.75 m 57.1 cm -59.7 cm 7.1 keV 1.1 keV 628 mum 8.88 mm WorldPV eIoni + 6 -2.75 m 57 cm -59.7 cm 5.78 keV 1.32 keV 551 mum 9.43 mm WorldPV eIoni + 7 -2.75 m 57 cm -59.6 cm 3.62 keV 2.16 keV 465 mum 9.89 mm WorldPV eIoni + 8 -2.75 m 57 cm -59.6 cm 1.99 keV 1.63 keV 326 mum 1.02 cm WorldPV eIoni + 9 -2.75 m 57 cm -59.6 cm 0 eV 1.99 keV 161 mum 1.04 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 367 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.75 m 57.3 cm -59.7 cm 12.8 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.75 m 57.3 cm -59.6 cm 9.85 keV 2.92 keV 1.02 mm 1.02 mm WorldPV eIoni + 2 -2.75 m 57.2 cm -59.6 cm 8.79 keV 1.06 keV 755 mum 1.78 mm WorldPV eIoni + 3 -2.75 m 57.2 cm -59.6 cm 5.76 keV 3.03 keV 673 mum 2.45 mm WorldPV eIoni + 4 -2.75 m 57.2 cm -59.6 cm 4.37 keV 1.38 keV 463 mum 2.91 mm WorldPV eIoni + 5 -2.75 m 57.2 cm -59.6 cm 3.12 keV 1.26 keV 377 mum 3.29 mm WorldPV eIoni + 6 -2.75 m 57.2 cm -59.5 cm 0 eV 3.12 keV 287 mum 3.58 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 366, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 m 56.9 cm -63.4 cm 105 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.7 m 57.7 cm -63.3 cm 75.3 keV 1.66 keV 7.64 mm 7.64 mm WorldPV eIoni + 2 -2.7 m 58 cm -61.7 cm 69.8 keV 5.52 keV 1.71 cm 2.48 cm WorldPV eIoni + 3 -2.71 m 58.2 cm -60.4 cm 62.1 keV 7.62 keV 1.51 cm 3.98 cm WorldPV eIoni + 4 -2.71 m 59 cm -59.6 cm 55.7 keV 6.45 keV 1.23 cm 5.21 cm WorldPV eIoni + 5 -2.72 m 59.3 cm -58.9 cm 50.6 keV 5.11 keV 1.02 cm 6.22 cm WorldPV eIoni + 6 -2.72 m 59.2 cm -58.1 cm 46.3 keV 4.26 keV 8.59 mm 7.08 cm WorldPV eIoni + 7 -2.72 m 59.8 cm -58.5 cm 39.5 keV 6.83 keV 7.39 mm 7.82 cm WorldPV eIoni + 8 -2.72 m 60.2 cm -58.9 cm 30.8 keV 8.69 keV 5.63 mm 8.39 cm WorldPV eIoni + 9 -2.72 m 60.2 cm -59.1 cm 28.7 keV 2.09 keV 3.7 mm 8.76 cm WorldPV eIoni + 10 -2.72 m 60.4 cm -59.4 cm 24.8 keV 3.88 keV 3.3 mm 9.09 cm WorldPV eIoni + 11 -2.72 m 60.3 cm -59.5 cm 22.7 keV 2.14 keV 2.61 mm 9.35 cm WorldPV eIoni + 12 -2.73 m 60.2 cm -59.6 cm 19.7 keV 3 keV 2.28 mm 9.57 cm WorldPV eIoni + 13 -2.72 m 60.2 cm -59.8 cm 17.9 keV 1.83 keV 1.83 mm 9.76 cm WorldPV eIoni + 14 -2.72 m 60.1 cm -59.9 cm 15.6 keV 2.29 keV 1.59 mm 9.92 cm WorldPV eIoni + 15 -2.72 m 60.2 cm -60 cm 13.3 keV 2.28 keV 1.32 mm 10 cm WorldPV eIoni + 16 -2.72 m 60.1 cm -60.1 cm 11.4 keV 1.92 keV 1.07 mm 10.2 cm WorldPV eIoni + 17 -2.72 m 60 cm -60.1 cm 10.5 keV 846 eV 889 mum 10.2 cm WorldPV eIoni + 18 -2.72 m 59.9 cm -60.1 cm 9.27 keV 1.26 keV 815 mum 10.3 cm WorldPV eIoni + 19 -2.72 m 59.9 cm -60.1 cm 7.09 keV 2.18 keV 711 mum 10.4 cm WorldPV eIoni + 20 -2.72 m 59.8 cm -60.1 cm 335 eV 6.76 keV 551 mum 10.5 cm WorldPV eIoni + 21 -2.72 m 59.8 cm -60.1 cm 0 eV 335 eV 19.6 mum 10.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 370, Parent ID = 366 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.7 m 57.7 cm -63.3 cm 28.4 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.7 m 57.9 cm -63.4 cm 24.7 keV 3.63 keV 3.24 mm 3.24 mm WorldPV eIoni + 2 -2.7 m 58 cm -63.6 cm 20.2 keV 4.58 keV 2.59 mm 5.83 mm WorldPV eIoni + 3 -2.71 m 58.2 cm -63.5 cm 18.4 keV 1.72 keV 1.9 mm 7.73 mm WorldPV eIoni + 4 -2.71 m 58.3 cm -63.6 cm 16.6 keV 1.89 keV 1.67 mm 9.4 mm WorldPV eIoni + 5 -2.71 m 58.4 cm -63.6 cm 13.9 keV 2.69 keV 1.43 mm 1.08 cm WorldPV eIoni + 6 -2.7 m 58.5 cm -63.7 cm 12.5 keV 1.37 keV 1.13 mm 1.2 cm WorldPV eIoni + 7 -2.7 m 58.6 cm -63.7 cm 11.1 keV 1.36 keV 992 mum 1.29 cm WorldPV eIoni + 8 -2.7 m 58.6 cm -63.8 cm 9.34 keV 1.79 keV 867 mum 1.38 cm WorldPV eIoni + 9 -2.7 m 58.7 cm -63.8 cm 4.18 keV 5.16 keV 716 mum 1.45 cm WorldPV eIoni + 10 -2.7 m 58.7 cm -63.8 cm 1.8 keV 2.38 keV 364 mum 1.49 cm WorldPV eIoni + 11 -2.7 m 58.7 cm -63.8 cm 0 eV 1.8 keV 139 mum 1.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.51 m 54.2 cm -74.9 cm 22.7 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.51 m 54.3 cm -75.1 cm 18.5 keV 4.2 keV 2.27 mm 2.27 mm WorldPV eIoni + 2 -2.51 m 54.2 cm -75.1 cm 16.9 keV 1.52 keV 1.67 mm 3.94 mm WorldPV eIoni + 3 -2.51 m 54.2 cm -75.1 cm 14.5 keV 2.46 keV 1.48 mm 5.42 mm WorldPV eIoni + 4 -2.51 m 54.2 cm -75.2 cm 13.1 keV 1.42 keV 1.19 mm 6.61 mm WorldPV eIoni + 5 -2.51 m 54.2 cm -75.3 cm 10.8 keV 2.3 keV 1.05 mm 7.66 mm WorldPV eIoni + 6 -2.51 m 54.2 cm -75.3 cm 6.92 keV 3.85 keV 835 mum 8.5 mm WorldPV eIoni + 7 -2.51 m 54.3 cm -75.3 cm 4.7 keV 2.22 keV 539 mum 9.03 mm WorldPV eIoni + 8 -2.51 m 54.3 cm -75.3 cm 1.52 keV 3.18 keV 397 mum 9.43 mm WorldPV eIoni + 9 -2.51 m 54.3 cm -75.3 cm 0 eV 1.52 keV 108 mum 9.54 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 364, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.33 m 34.6 cm -1.55 m 13.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.33 m 34.6 cm -1.55 m 12.5 keV 1.19 keV 1.11 mm 1.11 mm Tracker eIoni + 2 -1.33 m 34.6 cm -1.55 m 11.2 keV 1.27 keV 994 mum 2.11 mm Tracker eIoni + 3 -1.33 m 34.6 cm -1.55 m 9.9 keV 1.34 keV 877 mum 2.98 mm Tracker eIoni + 4 -1.33 m 34.6 cm -1.55 m 7.67 keV 2.23 keV 760 mum 3.74 mm Tracker eIoni + 5 -1.33 m 34.7 cm -1.55 m 6.18 keV 1.49 keV 591 mum 4.34 mm Tracker eIoni + 6 -1.33 m 34.7 cm -1.55 m 5.09 keV 1.08 keV 491 mum 4.83 mm Tracker eIoni + 7 -1.33 m 34.7 cm -1.55 m 0 eV 5.09 keV 423 mum 5.25 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 363, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -503 mum 2.01 mm -2.4 m 1.28 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -685 mum 2.72 mm -2.4 m 1.28 MeV 0 eV 1.32 mm 1.32 mm TrackerTransportation + 2 -61.9 cm 2.4 m 1.35 m 1.28 MeV 0 eV 4.49 m 4.49 m WorldPVTransportation + 3 -75.1 cm 2.91 m 2.15 m 1.28 MeV 0 eV 95.6 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 362, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -417 mum 1.76 mm -2.4 m 4.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -696 mum 2.44 mm -2.4 m 4.14 MeV 0 eV 1.59 mm 1.59 mm TrackerTransportation + 2 -79.1 cm 1.93 m 1.6 m 4.14 MeV 0 eV 4.51 m 4.51 m ChamberTransportation + 3 -80.5 cm 1.97 m 1.67 m 4.14 MeV 0 eV 7.96 cm 4.59 m TrackerTransportation + 4 -94.9 cm 2.32 m 2.4 m 4.14 MeV 0 eV 82.3 cm 5.42 m WorldPVTransportation + 5 -1.05 m 2.57 m 2.91 m 4.14 MeV 0 eV 57.5 cm 5.99 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 361, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -379 mum 1.24 mm -2.4 m 1.1 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -710 mum 2.08 mm -2.4 m 1.1 MeV 0 eV 2.43 mm 2.43 mm TrackerTransportation + 2 -23.5 cm 59.9 cm -80 cm 1.1 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -26.4 cm 67.2 cm -60.3 cm 1.1 MeV 0 eV 21.2 cm 1.94 m TrackerTransportation + 4 -35.3 cm 89.7 cm 0.114 fm 1.1 MeV 0 eV 65 cm 2.59 m ChamberTransportation + 5 -38.2 cm 97.2 cm 20 cm 1.1 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 -47 cm 1.2 m 80 cm 1.1 MeV 0 eV 64.6 cm 3.45 m ChamberTransportation + 7 -50 cm 1.27 m 1 m 1.1 MeV 0 eV 21.5 cm 3.67 m TrackerTransportation + 8 -58.8 cm 1.49 m 1.6 m 1.1 MeV 0 eV 64.6 cm 4.31 m ChamberTransportation + 9 -61.7 cm 1.57 m 1.8 m 1.1 MeV 0 eV 21.5 cm 4.53 m TrackerTransportation + 10 -70.5 cm 1.79 m 2.4 m 1.1 MeV 0 eV 64.6 cm 5.17 m WorldPVTransportation + 11 -78 cm 1.98 m 2.91 m 1.1 MeV 0 eV 54.9 cm 5.72 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 360, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -99.4 mum 540 mum -2.4 m 2.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -753 mum 1.53 mm -2.4 m 645 keV 0 eV 2.94 mm 2.94 mm TargetPV compt + 2 -5.58 mum 1.46 mm -2.4 m 645 keV 0 eV 1.01 mm 3.95 mm TrackerTransportation + 3 2.4 m -21.9 cm -24.8 cm 645 keV 0 eV 3.23 m 3.23 m WorldPVTransportation + 4 2.91 m -26.6 cm 20.9 cm 645 keV 0 eV 68.7 cm 3.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 360 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -753 mum 1.53 mm -2.4 m 1.74 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.03 mm 1.57 mm -2.4 m 1.21 MeV 533 keV 555 mum 555 mum TargetPV eIoni + 2 -907 mum 1.53 mm -2.4 m 726 keV 480 keV 456 mum 1.01 mm TargetPV eIoni + 3 -885 mum 1.52 mm -2.4 m 91.2 keV 635 keV 347 mum 1.36 mm TargetPV eIoni + 4 -887 mum 1.52 mm -2.4 m 0 eV 91.2 keV 23.7 mum 1.38 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 359, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.6 mum 509 mum -2.4 m 1.56 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -894 mum 1.39 mm -2.4 m 0 eV 88 keV 2.89 mm 2.89 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 372, Parent ID = 359 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -894 mum 1.39 mm -2.4 m 1.47 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -900 mum 1.39 mm -2.4 m 846 keV 14.4 keV 11.3 mum 11.3 mum TargetPV eBrem + 2 -927 mum 1.41 mm -2.4 m 14.1 keV 832 keV 309 mum 320 mum TargetPV eBrem + 3 -927 mum 1.41 mm -2.4 m 0 eV 14.1 keV 1.19 mum 321 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 373, Parent ID = 372 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -900 mum 1.39 mm -2.4 m 611 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -934 mum 1.84 mm -2.4 m 611 keV 0 eV 918 mum 918 mum TrackerTransportation + 2 -18.4 cm 2.4 m 1.83 m 611 keV 0 eV 4.87 m 4.87 m WorldPVTransportation + 3 -22.3 cm 2.91 m 2.73 m 611 keV 0 eV 1.04 m 5.91 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 358, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -65 mum 723 mum -2.4 m 1.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -628 mum -1.49 mm -2.4 m 1.9 MeV 0 eV 4.48 mm 4.48 mm TrackerTransportation + 2 -61.1 cm -2.4 m 1.78 m 1.9 MeV 0 eV 4.86 m 4.86 m WorldPVTransportation + 3 -74.1 cm -2.91 m 2.67 m 1.9 MeV 0 eV 1.03 m 5.9 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 357, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.4 mum 700 mum -2.4 m 832 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.42 mm 657 mum -2.4 m 832 keV 0 eV 4.54 mm 4.54 mm TrackerTransportation + 2 -55.1 cm -1.53 cm -80 cm 832 keV 0 eV 1.69 m 1.7 m ChamberTransportation + 3 -61.9 cm -1.72 cm -60 cm 832 keV 0 eV 21.1 cm 1.91 m TrackerTransportation + 4 -82.5 cm -2.32 cm 0 fm 832 keV 0 eV 63.4 cm 2.54 m ChamberTransportation + 5 -89.4 cm -2.52 cm 20 cm 832 keV 0 eV 21.1 cm 2.75 m TrackerTransportation + 6 -1.1 m -3.12 cm 80 cm 832 keV 0 eV 63.4 cm 3.39 m ChamberTransportation + 7 -1.17 m -3.32 cm 1 m 832 keV 0 eV 21.1 cm 3.6 m TrackerTransportation + 8 -1.37 m -3.91 cm 1.6 m 832 keV 0 eV 63.4 cm 4.23 m ChamberTransportation + 9 -1.44 m -4.11 cm 1.8 m 832 keV 0 eV 21.1 cm 4.45 m TrackerTransportation + 10 -1.65 m -4.71 cm 2.4 m 832 keV 0 eV 63.4 cm 5.08 m WorldPVTransportation + 11 -1.82 m -5.21 cm 2.91 m 832 keV 0 eV 53.9 cm 5.62 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 356, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 466 mum 454 mum -2.41 m 1.12 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.72 mm 500 mum -2.4 m 1.12 MeV 0 eV 5.95 mm 5.95 mm TrackerTransportation + 2 -63.4 cm 1.37 cm -80 cm 1.12 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -67.2 cm 1.45 cm -70.4 cm 1.12 MeV 0 eV 10.3 cm 1.83 m TrackerTransportation + 4 -95 cm 2.04 cm 0.114 fm 1.12 MeV 0 eV 75.7 cm 2.59 m ChamberTransportation + 5 -1.03 m 2.2 cm 20 cm 1.12 MeV 0 eV 21.5 cm 2.8 m TrackerTransportation + 6 -1.27 m 2.7 cm 80 cm 1.12 MeV 0 eV 64.5 cm 3.45 m ChamberTransportation + 7 -1.35 m 2.86 cm 1 m 1.12 MeV 0 eV 21.5 cm 3.66 m TrackerTransportation + 8 -1.42 m 3.03 cm 1.2 m 258 keV 0 eV 21.6 cm 3.88 m Tracker compt + 9 -72.8 cm -41.8 cm 1 m 258 keV 0 eV 85.3 cm 4.73 m ChamberTransportation + 10 -3.4 cm -86.4 cm 80 cm 258 keV 0 eV 84.9 cm 5.58 m TrackerTransportation + 11 2.36 m -2.4 m 11.1 cm 258 keV 0 eV 2.92 m 8.5 m WorldPVTransportation + 12 2.91 m -2.76 m -4.87 cm 258 keV 0 eV 67.7 cm 9.18 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 374, Parent ID = 356 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.42 m 3.03 cm 1.2 m 867 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.65 m 8.23 cm 1.6 m 790 keV 76.2 keV 48.7 cm 48.7 cm ChamberTransportation + 2 -1.68 m 19.1 cm 1.68 m 613 keV 178 keV 23.8 cm 72.5 cm Chamber eIoni + 3 -1.62 m 17.1 cm 1.7 m 451 keV 81.4 keV 11.7 cm 84.2 cm Chamber eIoni + 4 -1.57 m 22.5 cm 1.71 m 356 keV 95.6 keV 11 cm 95.3 cm Chamber eIoni + 5 -1.58 m 17.9 cm 1.68 m 327 keV 28.8 keV 7.81 cm 1.03 m Chamber eIoni + 6 -1.58 m 14.7 cm 1.72 m 285 keV 41.7 keV 6.88 cm 1.1 m Chamber eIoni + 7 -1.58 m 17.3 cm 1.74 m 204 keV 19.1 keV 4.21 cm 1.14 m Chamber eIoni + 8 -1.57 m 19.3 cm 1.73 m 183 keV 20.8 keV 3.32 cm 1.17 m Chamber eIoni + 9 -1.58 m 17.9 cm 1.71 m 169 keV 13.9 keV 2.8 cm 1.2 m Chamber eIoni + 10 -1.58 m 18.9 cm 1.7 m 115 keV 6.75 keV 1.82 cm 1.22 m Chamber eIoni + 11 -1.57 m 19.6 cm 1.7 m 104 keV 10.5 keV 1.32 cm 1.23 m Chamber eIoni + 12 -1.57 m 19.8 cm 1.69 m 91.4 keV 12.9 keV 1.13 cm 1.25 m Chamber eIoni + 13 -1.58 m 20 cm 1.69 m 81.7 keV 9.75 keV 9.16 mm 1.25 m Chamber eIoni + 14 -1.58 m 20.3 cm 1.69 m 77.9 keV 3.73 keV 7.69 mm 1.26 m Chamber eIoni + 15 -1.58 m 20.7 cm 1.69 m 71.3 keV 6.65 keV 7.12 mm 1.27 m Chamber eIoni + 16 -1.58 m 20.3 cm 1.69 m 63.3 keV 8.01 keV 6.2 mm 1.28 m Chamber eIoni + 17 -1.58 m 20.1 cm 1.69 m 54 keV 9.31 keV 5.13 mm 1.28 m Chamber eIoni + 18 -1.58 m 20.3 cm 1.69 m 49.3 keV 4.64 keV 4.02 mm 1.28 m Chamber eIoni + 19 -1.58 m 20.2 cm 1.69 m 44.6 keV 4.74 keV 3.51 mm 1.29 m Chamber eIoni + 20 -1.58 m 20.1 cm 1.69 m 40.4 keV 4.15 keV 3.01 mm 1.29 m Chamber eIoni + 21 -1.58 m 20.1 cm 1.69 m 15.2 keV 25.2 keV 2.61 mm 1.29 m Chamber eIoni + 22 -1.58 m 20.1 cm 1.69 m 13 keV 2.22 keV 767 mum 1.29 m Chamber eIoni + 23 -1.58 m 20.1 cm 1.69 m 8.95 keV 4.03 keV 661 mum 1.3 m Chamber eIoni + 24 -1.58 m 20.1 cm 1.69 m 0 eV 8.95 keV 489 mum 1.3 m Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 377, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.58 m 18.9 cm 1.7 m 47.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.58 m 19.1 cm 1.7 m 40.2 keV 7.37 keV 3.32 mm 3.32 mm Chamber eIoni + 2 -1.57 m 19 cm 1.7 m 37.3 keV 2.9 keV 2.59 mm 5.91 mm Chamber eIoni + 3 -1.57 m 18.9 cm 1.7 m 34.3 keV 2.95 keV 2.32 mm 8.22 mm Chamber eIoni + 4 -1.57 m 18.9 cm 1.7 m 26 keV 8.3 keV 2.06 mm 1.03 cm Chamber eIoni + 5 -1.57 m 18.8 cm 1.7 m 17 keV 9.03 keV 1.42 mm 1.17 cm Chamber eIoni + 6 -1.57 m 18.9 cm 1.7 m 12.8 keV 4.19 keV 858 mum 1.26 cm Chamber eIoni + 7 -1.57 m 18.9 cm 1.7 m 10.5 keV 2.33 keV 652 mum 1.32 cm Chamber eIoni + 8 -1.57 m 18.9 cm 1.7 m 8.89 keV 1.56 keV 550 mum 1.38 cm Chamber eIoni + 9 -1.57 m 18.9 cm 1.7 m 8.03 keV 867 eV 487 mum 1.43 cm Chamber eIoni + 10 -1.57 m 18.9 cm 1.7 m 7.06 keV 963 eV 452 mum 1.47 cm Chamber eIoni + 11 -1.57 m 18.9 cm 1.7 m 5.47 keV 1.59 keV 414 mum 1.51 cm Chamber eIoni + 12 -1.57 m 18.9 cm 1.7 m 518 eV 4.95 keV 350 mum 1.55 cm Chamber eIoni + 13 -1.57 m 18.9 cm 1.7 m 0 eV 518 eV 22 mum 1.55 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 376, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.58 m 17.3 cm 1.74 m 62.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.58 m 16.9 cm 1.74 m 53.9 keV 8.28 keV 5 mm 5 mm Chamber eIoni + 2 -1.58 m 16.9 cm 1.74 m 50.6 keV 3.36 keV 4.02 mm 9.02 mm Chamber eIoni + 3 -1.58 m 17.1 cm 1.74 m 44.2 keV 6.42 keV 3.64 mm 1.27 cm Chamber eIoni + 4 -1.58 m 17.1 cm 1.74 m 37.8 keV 6.33 keV 2.97 mm 1.56 cm Chamber eIoni + 5 -1.58 m 17.2 cm 1.74 m 34.5 keV 3.33 keV 2.37 mm 1.8 cm Chamber eIoni + 6 -1.58 m 17.1 cm 1.74 m 26.8 keV 7.67 keV 2.08 mm 2.01 cm Chamber eIoni + 7 -1.58 m 17.1 cm 1.74 m 21.8 keV 5.01 keV 1.48 mm 2.15 cm Chamber eIoni + 8 -1.58 m 17.1 cm 1.74 m 15.6 keV 6.21 keV 1.14 mm 2.27 cm Chamber eIoni + 9 -1.58 m 17.1 cm 1.74 m 9.34 keV 6.26 keV 788 mum 2.35 cm Chamber eIoni + 10 -1.58 m 17.1 cm 1.74 m 8.19 keV 1.15 keV 505 mum 2.4 cm Chamber eIoni + 11 -1.58 m 17.1 cm 1.74 m 882 eV 7.31 keV 458 mum 2.44 cm Chamber eIoni + 12 -1.58 m 17.1 cm 1.74 m 0 eV 882 eV 39.8 mum 2.45 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 375, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.62 m 17.1 cm 1.7 m 79.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.62 m 17.5 cm 1.7 m 71.4 keV 8.52 keV 7.42 mm 7.42 mm Chamber eIoni + 2 -1.62 m 17.8 cm 1.71 m 52.7 keV 18.7 keV 6.21 mm 1.36 cm Chamber eIoni + 3 -1.62 m 17.9 cm 1.71 m 47.1 keV 5.56 keV 3.86 mm 1.75 cm Chamber eIoni + 4 -1.62 m 17.8 cm 1.71 m 43.3 keV 3.82 keV 3.28 mm 2.08 cm Chamber eIoni + 5 -1.62 m 17.6 cm 1.71 m 40.8 keV 2.5 keV 2.88 mm 2.37 cm Chamber eIoni + 6 -1.62 m 17.6 cm 1.7 m 36.5 keV 4.26 keV 2.64 mm 2.63 cm Chamber eIoni + 7 -1.62 m 17.7 cm 1.71 m 31.3 keV 5.26 keV 2.25 mm 2.85 cm Chamber eIoni + 8 -1.62 m 17.8 cm 1.71 m 29 keV 2.26 keV 1.81 mm 3.04 cm Chamber eIoni + 9 -1.62 m 17.9 cm 1.71 m 24.7 keV 4.35 keV 1.64 mm 3.2 cm Chamber eIoni + 10 -1.62 m 17.9 cm 1.71 m 19.8 keV 4.81 keV 1.32 mm 3.33 cm Chamber eIoni + 11 -1.62 m 17.9 cm 1.71 m 17.8 keV 2.07 keV 1.02 mm 3.43 cm Chamber eIoni + 12 -1.62 m 17.9 cm 1.71 m 9.81 keV 7.95 keV 901 mum 3.52 cm Chamber eIoni + 13 -1.62 m 17.9 cm 1.71 m 6.3 keV 3.51 keV 523 mum 3.58 cm Chamber eIoni + 14 -1.62 m 17.9 cm 1.71 m 3.44 keV 2.87 keV 384 mum 3.61 cm Chamber eIoni + 15 -1.62 m 17.9 cm 1.71 m 0 eV 3.44 keV 241 mum 3.64 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 355, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 490 mum 370 mum -2.41 m 454 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -239 mum 1.54 mm -2.4 m 454 keV 0 eV 6.18 mm 6.18 mm TrackerTransportation + 2 -9.72 cm 15.7 cm -1.6 m 454 keV 0 eV 82.1 cm 82.7 cm ChamberTransportation + 3 -12.1 cm 19.6 cm -1.4 m 454 keV 0 eV 20.5 cm 1.03 m TrackerTransportation + 4 -19.4 cm 31.3 cm -80 cm 454 keV 0 eV 61.6 cm 1.65 m ChamberTransportation + 5 -21.8 cm 35.2 cm -60 cm 454 keV 0 eV 20.5 cm 1.85 m TrackerTransportation + 6 -29.1 cm 46.9 cm 0 fm 454 keV 0 eV 61.6 cm 2.47 m ChamberTransportation + 7 -31.5 cm 50.8 cm 20 cm 454 keV 0 eV 20.5 cm 2.67 m TrackerTransportation + 8 -38.8 cm 62.5 cm 80 cm 454 keV 0 eV 61.6 cm 3.29 m ChamberTransportation + 9 -41.2 cm 66.4 cm 1 m 454 keV 0 eV 20.5 cm 3.49 m TrackerTransportation + 10 -48.5 cm 78.1 cm 1.6 m 454 keV 0 eV 61.6 cm 4.11 m ChamberTransportation + 11 -50.9 cm 82 cm 1.8 m 454 keV 0 eV 20.5 cm 4.32 m TrackerTransportation + 12 -58.2 cm 93.7 cm 2.4 m 454 keV 0 eV 61.6 cm 4.93 m WorldPVTransportation + 13 -64.4 cm 1.04 m 2.91 m 454 keV 0 eV 52.3 cm 5.45 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 354, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 493 mum 365 mum -2.41 m 2.94 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -340 mum 1.79 mm -2.4 m 2.94 MeV 0 eV 6.27 mm 6.27 mm TrackerTransportation + 2 -11 cm 19 cm -1.6 m 2.94 MeV 0 eV 82.9 cm 83.5 cm ChamberTransportation + 3 -13.8 cm 23.7 cm -1.4 m 2.94 MeV 0 eV 20.7 cm 1.04 m TrackerTransportation + 4 -22.1 cm 37.8 cm -80 cm 2.94 MeV 0 eV 62.2 cm 1.66 m ChamberTransportation + 5 -24.8 cm 42.5 cm -60 cm 2.94 MeV 0 eV 20.7 cm 1.87 m TrackerTransportation + 6 -33.1 cm 56.6 cm 0 fm 2.94 MeV 0 eV 62.2 cm 2.49 m ChamberTransportation + 7 -35.8 cm 61.3 cm 20 cm 2.94 MeV 0 eV 20.7 cm 2.7 m TrackerTransportation + 8 -44.1 cm 75.4 cm 80 cm 2.94 MeV 0 eV 62.2 cm 3.32 m ChamberTransportation + 9 -46.8 cm 80.1 cm 1 m 2.94 MeV 0 eV 20.7 cm 3.53 m TrackerTransportation + 10 -55.1 cm 94.2 cm 1.6 m 2.94 MeV 0 eV 62.2 cm 4.15 m ChamberTransportation + 11 -57.8 cm 98.9 cm 1.8 m 2.94 MeV 0 eV 20.7 cm 4.36 m TrackerTransportation + 12 -66.1 cm 1.13 m 2.4 m 2.94 MeV 0 eV 62.2 cm 4.98 m WorldPVTransportation + 13 -73.1 cm 1.25 m 2.91 m 2.94 MeV 0 eV 52.9 cm 5.51 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 353, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 485 mum 449 mum -2.41 m 594 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 56.3 mum 779 mum -2.4 m 594 keV 0 eV 7.37 mm 7.37 mm TrackerTransportation + 2 -4.27 cm 3.36 cm -1.67 m 481 keV 0 eV 73.4 cm 74.1 cm Tracker compt + 3 -10 cm 4.65 cm -1.6 m 481 keV 0 eV 9 cm 83.1 cm ChamberTransportation + 4 -24 cm 7.79 cm -1.44 m 481 keV 0 eV 21.8 cm 1.05 m TrackerTransportation + 5 -2.4 m 56.2 cm 1.11 m 481 keV 0 eV 3.38 m 4.43 m WorldPVTransportation + 6 -2.91 m 67.7 cm 1.72 m 481 keV 0 eV 79.7 cm 5.22 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 378, Parent ID = 353 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.27 cm 3.36 cm -1.67 m 114 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.23 cm 3.76 cm -1.65 m 102 keV 11.9 keV 3.5 cm 3.5 cm Tracker eIoni + 2 9.29 mm 4.76 cm -1.64 m 90.8 keV 11 keV 2.9 cm 6.41 cm Tracker eIoni + 3 1.93 cm 5.87 cm -1.62 m 77.9 keV 12.9 keV 2.37 cm 8.78 cm Tracker eIoni + 4 6.38 mm 5.25 cm -1.63 m 70.8 keV 7.03 keV 1.82 cm 10.6 cm Tracker eIoni + 5 -2.2 mm 4.14 cm -1.64 m 58 keV 12.8 keV 1.55 cm 12.1 cm Tracker eIoni + 6 -1.13 cm 3.88 cm -1.64 m 50.6 keV 7.42 keV 1.09 cm 13.2 cm Tracker eIoni + 7 -1.9 cm 3.92 cm -1.64 m 41 keV 9.59 keV 8.6 mm 14.1 cm Tracker eIoni + 8 -2.35 cm 3.64 cm -1.64 m 38 keV 3.06 keV 6 mm 14.7 cm Tracker eIoni + 9 -2.85 cm 3.63 cm -1.64 m 35.3 keV 2.63 keV 5.25 mm 15.2 cm Tracker eIoni + 10 -2.96 cm 3.59 cm -1.64 m 26.4 keV 559 eV 1.87 mm 15.4 cm Tracker eIoni + 11 -3.14 cm 3.48 cm -1.64 m 23.7 keV 2.67 keV 2.88 mm 15.7 cm Tracker eIoni + 12 -3.27 cm 3.4 cm -1.65 m 21.8 keV 1.91 keV 2.44 mm 15.9 cm Tracker eIoni + 13 -3.31 cm 3.34 cm -1.65 m 19.2 keV 2.57 keV 2.14 mm 16.2 cm Tracker eIoni + 14 -3.45 cm 3.33 cm -1.65 m 16.6 keV 2.61 keV 1.78 mm 16.3 cm Tracker eIoni + 15 -3.58 cm 3.3 cm -1.65 m 14.3 keV 2.34 keV 1.44 mm 16.5 cm Tracker eIoni + 16 -3.61 cm 3.24 cm -1.65 m 13 keV 1.29 keV 1.17 mm 16.6 cm Tracker eIoni + 17 -3.63 cm 3.19 cm -1.65 m 12.4 keV 591 eV 1.04 mm 16.7 cm Tracker eIoni + 18 -3.56 cm 3.13 cm -1.65 m 11.2 keV 1.18 keV 985 mum 16.8 cm Tracker eIoni + 19 -3.55 cm 3.1 cm -1.65 m 9.39 keV 1.85 keV 876 mum 16.9 cm Tracker eIoni + 20 -3.51 cm 3.07 cm -1.65 m 7.78 keV 1.61 keV 720 mum 17 cm Tracker eIoni + 21 -3.48 cm 3.02 cm -1.65 m 6.72 keV 1.06 keV 599 mum 17 cm Tracker eIoni + 22 -3.53 cm 2.99 cm -1.65 m 4.21 keV 2.51 keV 526 mum 17.1 cm Tracker eIoni + 23 -3.53 cm 2.97 cm -1.65 m 1.36 keV 2.85 keV 367 mum 17.1 cm Tracker eIoni + 24 -3.54 cm 2.97 cm -1.65 m 0 eV 1.36 keV 92.7 mum 17.1 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 379, Parent ID = 378 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.96 cm 3.59 cm -1.64 m 8.36 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.91 cm 3.57 cm -1.64 m 6.97 keV 1.39 keV 640 mum 640 mum Tracker eIoni + 2 -2.9 cm 3.56 cm -1.64 m 5.48 keV 1.49 keV 543 mum 1.18 mm Tracker eIoni + 3 -2.87 cm 3.59 cm -1.64 m 1.52 keV 3.97 keV 447 mum 1.63 mm Tracker eIoni + 4 -2.87 cm 3.6 cm -1.64 m 0 eV 1.52 keV 108 mum 1.74 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 352, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 511 mum 311 mum -2.41 m 442 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 482 mum 420 mum -2.41 m 0 eV 442 keV 1.02 mm 1.02 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 351, Parent ID = 302 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 510 mum 305 mum -2.41 m 8.74 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 498 mum 382 mum -2.41 m 0 eV 7.72 MeV 1.28 mm 1.28 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 380, Parent ID = 351 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 498 mum 382 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 382, Parent ID = 380 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -139 mum 5.58 mm -2.4 m 0 eV 88 keV 6.67 mm 6.67 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 383, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -139 mum 5.58 mm -2.4 m 423 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -141 mum 5.6 mm -2.4 m 0 eV 423 keV 230 mum 230 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 381, Parent ID = 380 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 498 mum 382 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 541 mum 32.4 mum -2.41 m 0 eV 511 keV 449 mum 449 mum TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.24 mum -2.78 mum -2.41 m 4.07 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 16.9 mum 41.4 mum -2.4 m 4.07 MeV 0 eV 1.38 cm 1.38 cm TrackerTransportation + 2 1.13 mm 2.6 mm -1.6 m 4.07 MeV 0 eV 80 cm 81.4 cm ChamberTransportation + 3 1.4 mm 3.24 mm -1.4 m 4.07 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 2.24 mm 5.16 mm -80 cm 4.07 MeV 0 eV 60 cm 1.61 m ChamberTransportation + 5 2.51 mm 5.8 mm -60 cm 4.07 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 3.35 mm 7.72 mm 0 fm 4.07 MeV 0 eV 60 cm 2.41 m ChamberTransportation + 7 3.62 mm 8.36 mm 20 cm 4.07 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 4.46 mm 1.03 cm 80 cm 4.07 MeV 0 eV 60 cm 3.21 m ChamberTransportation + 9 4.73 mm 1.09 cm 1 m 4.07 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 5.57 mm 1.28 cm 1.6 m 4.07 MeV 0 eV 60 cm 4.01 m ChamberTransportation + 11 5.84 mm 1.35 cm 1.8 m 4.07 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 6.68 mm 1.54 cm 2.4 m 4.07 MeV 0 eV 60 cm 4.81 m WorldPVTransportation + 13 7.38 mm 1.7 cm 2.91 m 4.07 MeV 0 eV 51 cm 5.32 m OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -48.1 nm 4.14 cm 1.24 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.5 cm -40.8 mum 4.14 cm 0 eV 1.24 keV 81.8 mum 81.8 mum Tracker eIoni + 0 -94.3 nm -850 nm -2.42 m 441 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.04 mum 8.08 mum -2.42 m 439 MeV 258 keV 218 mum 218 mum TargetPV eBrem + 2 -5.83 mum 13.8 mum -2.42 m 236 MeV 180 keV 139 mum 357 mum TargetPV eBrem + 3 -7.71 mum 19.8 mum -2.42 m 220 MeV 330 keV 155 mum 513 mum TargetPV eBrem + 4 -9.51 mum 36.2 mum -2.42 m 46.2 MeV 391 keV 286 mum 799 mum TargetPV eBrem + 5 2.57 mum 53.1 mum -2.42 m 13.7 MeV 306 keV 262 mum 1.06 mm TargetPV eBrem + 6 179 mum -656 mum -2.42 m 8.31 MeV 4.31 MeV 1.61 mm 2.68 mm TargetPV eBrem + 7 530 mum -1.82 mm -2.42 m 6.61 MeV 1.7 MeV 1.52 mm 4.2 mm TargetPV eIoni + 8 1.3 mm -1.7 mm -2.41 m 3.63 MeV 2.98 MeV 1.29 mm 5.49 mm TargetPV eIoni + 9 1.28 mm -1.66 mm -2.41 m 2.56 MeV 53.4 keV 51.6 mum 5.54 mm TargetPV eBrem + 10 1.11 mm -1.28 mm -2.41 m 1.81 MeV 757 keV 694 mum 6.23 mm TargetPV eIoni + 11 1.05 mm -1.48 mm -2.41 m 1.27 MeV 532 keV 567 mum 6.8 mm TargetPV eIoni + 12 870 mum -1.47 mm -2.41 m 738 keV 537 keV 470 mum 7.27 mm TargetPV eIoni + 13 923 mum -1.49 mm -2.41 m 345 keV 393 keV 350 mum 7.62 mm TargetPV eIoni + 14 932 mum -1.49 mm -2.41 m 0 eV 345 keV 177 mum 7.8 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 390, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.28 mm -1.66 mm -2.41 m 1.02 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 4.03 mm 947 mum -2.42 m 454 keV 562 keV 4.92 mm 4.92 mm TargetPV compt + 2 5.99 mm 3.26 mm -2.42 m 0 eV 454 keV 3.43 mm 8.35 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 389, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 179 mum -656 mum -2.42 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.26 mm -6.25 mm -2.41 m 243 keV 842 keV 1.18 cm 1.18 cm TargetPV compt + 2 1.63 mm -5.78 mm -2.41 m 0 eV 243 keV 817 mum 1.26 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 388, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.57 mum 53.1 mum -2.42 m 32.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -127 mum 4.51 mum -2.41 m 0 eV 0 eV 1.04 cm 1.04 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 392, Parent ID = 388 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -127 mum 4.51 mum -2.41 m 2.72 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -461 mum -175 mum -2.41 m 1.95 MeV 771 keV 732 mum 732 mum TargetPV eIoni + 2 -351 mum -526 mum -2.41 m 1.14 MeV 805 keV 601 mum 1.33 mm TargetPV eIoni + 3 -275 mum -588 mum -2.41 m 659 keV 156 keV 159 mum 1.49 mm TargetPV eBrem + 4 -219 mum -615 mum -2.41 m 77.2 keV 582 keV 331 mum 1.82 mm TargetPV eIoni + 5 -222 mum -616 mum -2.41 m 0 eV 77.2 keV 16.5 mum 1.84 mm TargetPV eIoni + 6 -222 mum -616 mum -2.41 m 0 eV 0 eV 0 fm 1.84 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 395, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -222 mum -616 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 6.67 mm -2.72 mm -2.41 m 273 keV 238 keV 7.61 mm 7.61 mm TargetPV compt + 2 6.2 mm -3 mm -2.41 m 0 eV 273 keV 1.98 mm 9.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 394, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -222 mum -616 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.11 cm 2.69 mm -2.4 m 0 eV 511 keV 1.2 cm 1.2 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 393, Parent ID = 392 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -275 mum -588 mum -2.41 m 326 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 357 mum -834 mum -2.41 m 0 eV 326 keV 1.15 mm 1.15 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 391, Parent ID = 388 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -127 mum 4.51 mum -2.41 m 28.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 32.7 mum -132 mum -2.41 m 5.05 MeV 1.6 MeV 1.28 mm 1.28 mm TargetPV eBrem + 2 -426 mum -130 mum -2.41 m 2.61 MeV 2.44 MeV 1.07 mm 2.35 mm TargetPV eIoni + 3 -187 mum -317 mum -2.41 m 1.67 MeV 939 keV 701 mum 3.05 mm TargetPV eIoni + 4 -311 mum -397 mum -2.41 m 1.05 MeV 620 keV 543 mum 3.59 mm TargetPV eIoni + 5 -211 mum -483 mum -2.41 m 499 keV 550 keV 424 mum 4.02 mm TargetPV eIoni + 6 -199 mum -456 mum -2.41 m 61.3 keV 437 keV 269 mum 4.28 mm TargetPV eIoni + 7 -198 mum -456 mum -2.41 m 0 eV 61.3 keV 12.5 mum 4.3 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 396, Parent ID = 391 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.7 mum -132 mum -2.41 m 21.8 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 709 mum 86.7 mum -2.4 m 21.8 MeV 0 eV 5.92 mm 5.92 mm TrackerTransportation + 2 9.27 cm 2.98 cm -1.6 m 21.8 MeV 0 eV 80.6 cm 81.2 cm ChamberTransportation + 3 11.6 cm 3.72 cm -1.4 m 21.8 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 18.5 cm 5.95 cm -80 cm 21.8 MeV 0 eV 60.4 cm 1.62 m ChamberTransportation + 5 20.8 cm 6.69 cm -60 cm 21.8 MeV 0 eV 20.1 cm 1.82 m TrackerTransportation + 6 27.7 cm 8.92 cm 0 fm 21.8 MeV 0 eV 60.4 cm 2.42 m ChamberTransportation + 7 30 cm 9.67 cm 20 cm 21.8 MeV 0 eV 20.1 cm 2.62 m TrackerTransportation + 8 36.9 cm 11.9 cm 80 cm 21.8 MeV 0 eV 60.4 cm 3.23 m ChamberTransportation + 9 39.2 cm 12.6 cm 1 m 21.8 MeV 0 eV 20.1 cm 3.43 m TrackerTransportation + 10 46.1 cm 14.9 cm 1.6 m 21.8 MeV 0 eV 60.4 cm 4.04 m ChamberTransportation + 11 48.4 cm 15.6 cm 1.8 m 21.8 MeV 0 eV 20.1 cm 4.24 m TrackerTransportation + 12 55.3 cm 17.8 cm 2.4 m 21.8 MeV 0 eV 60.4 cm 4.84 m WorldPVTransportation + 13 61.2 cm 19.7 cm 2.91 m 21.8 MeV 0 eV 51.4 cm 5.35 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 387, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.51 mum 36.2 mum -2.42 m 174 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -27 mum 222 mum -2.41 m 0 eV 0 eV 4.8 mm 4.8 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 398, Parent ID = 387 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 mum 222 mum -2.41 m 59.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -35.4 mum 258 mum -2.41 m 58.6 MeV 512 keV 434 mum 434 mum TargetPV eBrem + 2 -51.2 mum 267 mum -2.41 m 49.4 MeV 238 keV 241 mum 675 mum TargetPV eBrem + 3 -220 mum 205 mum -2.41 m 44.8 MeV 1.71 MeV 1.41 mm 2.08 mm TargetPV eBrem + 4 -604 mum 213 mum -2.41 m 38.9 MeV 1.84 MeV 1.1 mm 3.18 mm TargetPV eBrem + 5 -652 mum 224 mum -2.41 m 37.8 MeV 153 keV 133 mum 3.32 mm TargetPV eBrem + 6 -981 mum 259 mum -2.41 m 34.4 MeV 1.96 MeV 740 mum 4.06 mm TargetPV eBrem + 7 -1.98 mm 487 mum -2.41 m 6.11 MeV 2.64 MeV 2.13 mm 6.18 mm TargetPV eBrem + 8 -2.12 mm 567 mum -2.41 m 5.22 MeV 528 keV 287 mum 6.47 mm TargetPV eBrem + 9 -2.27 mm 180 mum -2.41 m 4 MeV 489 keV 470 mum 6.94 mm TargetPV eBrem + 10 -3.03 mm 139 mum -2.41 m 3.04 MeV 953 keV 936 mum 7.87 mm TargetPV eIoni + 11 -3.23 mm 472 mum -2.41 m 1.51 MeV 738 keV 618 mum 8.49 mm TargetPV eBrem + 12 -3.47 mm 646 mum -2.41 m 997 keV 516 keV 523 mum 9.01 mm TargetPV eIoni + 13 -3.33 mm 525 mum -2.41 m 560 keV 437 keV 418 mum 9.43 mm TargetPV eIoni + 14 -3.28 mm 554 mum -2.41 m 113 keV 447 keV 297 mum 9.73 mm TargetPV eIoni + 15 -3.28 mm 552 mum -2.41 m 0 eV 113 keV 31.2 mum 9.76 mm TargetPV eIoni + 16 -3.28 mm 552 mum -2.41 m 0 eV 0 eV 0 fm 9.76 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 410, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.28 mm 552 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -2.96 mm 484 mum -2.41 m 447 keV 63.7 keV 3.94 mm 3.94 mm TargetPV compt + 2 -2.95 mm -1.6 mm -2.41 m 186 keV 261 keV 3.97 mm 7.91 mm TargetPV compt + 3 -2.82 mm -1.34 mm -2.41 m 108 keV 78.3 keV 288 mum 8.19 mm TargetPV compt + 4 -2.88 mm -1.44 mm -2.41 m 0 eV 108 keV 120 mum 8.31 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 409, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.28 mm 552 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.44 mm 587 mum -2.4 m 0 eV 511 keV 2.08 mm 2.08 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 408, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.23 mm 472 mum -2.41 m 793 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -5.15 mm 1.01 cm -2.41 m 0 eV 793 keV 1.06 cm 1.06 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 407, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.27 mm 180 mum -2.41 m 737 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.95 mm 107 mum -2.4 m 277 keV 460 keV 2.89 mm 2.89 mm TargetPV compt + 2 -3.79 mm -77.8 mum -2.4 m 223 keV 54.6 keV 251 mum 3.14 mm TargetPV compt + 3 -3.99 mm -667 mum -2.4 m 136 keV 87 keV 636 mum 3.78 mm TargetPV compt + 4 -4.47 mm -163 mum -2.4 m 0 eV 136 keV 701 mum 4.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 406, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.12 mm 567 mum -2.41 m 364 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.99 mm -1.33 mm -2.41 m 196 keV 168 keV 3.66 mm 3.66 mm TargetPV compt + 2 -4.5 mm -308 mum -2.4 m 0 eV 196 keV 1.91 mm 5.57 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 405, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.98 mm 487 mum -2.41 m 25.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -6.17 mm 313 mum -2.4 m 25.7 MeV 0 eV 8.43 mm 8.43 mm TrackerTransportation + 2 -2.4 m -9.87 cm 1.78 m 25.7 MeV 0 eV 4.82 m 4.83 m WorldPVTransportation + 3 -2.91 m -12 cm 2.67 m 25.7 MeV 0 eV 1.03 m 5.85 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -981 mum 259 mum -2.41 m 1.36 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.81 mm 277 mum -2.41 m 260 keV 1.1 MeV 2.51 mm 2.51 mm TargetPV compt + 2 -1.93 mm 161 mum -2.41 m 144 keV 116 keV 271 mum 2.78 mm TargetPV compt + 3 -1.95 mm 122 mum -2.41 m 0 eV 144 keV 150 mum 2.93 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 403, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -652 mum 224 mum -2.41 m 1.03 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.19 mm 461 mum -2.4 m 1.03 MeV 0 eV 1.04 cm 1.04 cm TrackerTransportation + 2 -58.1 cm 3.9 cm -80 cm 1.03 MeV 0 eV 1.7 m 1.71 m ChamberTransportation + 3 -65.3 cm 4.39 cm -60 cm 1.03 MeV 0 eV 21.3 cm 1.92 m TrackerTransportation + 4 -87 cm 5.83 cm 0 fm 1.03 MeV 0 eV 63.8 cm 2.56 m ChamberTransportation + 5 -94.2 cm 6.32 cm 20 cm 1.03 MeV 0 eV 21.3 cm 2.78 m TrackerTransportation + 6 -1.16 m 7.76 cm 80 cm 1.03 MeV 0 eV 63.8 cm 3.41 m ChamberTransportation + 7 -1.23 m 8.25 cm 1 m 1.03 MeV 0 eV 21.3 cm 3.63 m TrackerTransportation + 8 -1.45 m 9.69 cm 1.6 m 1.03 MeV 0 eV 63.8 cm 4.26 m ChamberTransportation + 9 -1.52 m 10.2 cm 1.8 m 1.03 MeV 0 eV 21.3 cm 4.48 m TrackerTransportation + 10 -1.74 m 11.6 cm 2.4 m 1.03 MeV 0 eV 63.8 cm 5.11 m WorldPVTransportation + 11 -1.92 m 12.9 cm 2.91 m 1.03 MeV 0 eV 54.2 cm 5.66 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 402, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -604 mum 213 mum -2.41 m 3.98 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -4.56 mm 675 mum -2.4 m 3.98 MeV 0 eV 1.07 cm 1.07 cm TrackerTransportation + 2 -64.2 cm 7.51 cm -80 cm 3.98 MeV 0 eV 1.72 m 1.73 m ChamberTransportation + 3 -67.2 cm 7.87 cm -72.5 cm 3.98 MeV 0 eV 8.12 cm 1.82 m TrackerTransportation + 4 -96.1 cm 11.2 cm 0 fm 3.98 MeV 0 eV 78.1 cm 2.6 m ChamberTransportation + 5 -1.04 m 12.2 cm 20 cm 3.98 MeV 0 eV 21.5 cm 2.81 m TrackerTransportation + 6 -1.28 m 15 cm 80 cm 3.98 MeV 0 eV 64.6 cm 3.46 m ChamberTransportation + 7 -1.36 m 15.9 cm 1 m 3.98 MeV 0 eV 21.5 cm 3.67 m TrackerTransportation + 8 -1.6 m 18.7 cm 1.6 m 3.98 MeV 0 eV 64.6 cm 4.32 m ChamberTransportation + 9 -1.68 m 19.6 cm 1.8 m 3.98 MeV 0 eV 21.5 cm 4.54 m TrackerTransportation + 10 -1.92 m 22.4 cm 2.4 m 3.98 MeV 0 eV 64.6 cm 5.18 m WorldPVTransportation + 11 -2.12 m 24.8 cm 2.91 m 3.98 MeV 0 eV 54.9 cm 5.73 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 401, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -220 mum 205 mum -2.41 m 2.96 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -3.3 mm 1.13 mm -2.4 m 2.96 MeV 0 eV 1.14 cm 1.14 cm TrackerTransportation + 2 -22.8 cm 6.85 cm -1.6 m 2.96 MeV 0 eV 83.4 cm 84.5 cm ChamberTransportation + 3 -24 cm 7.2 cm -1.56 m 2.96 MeV 0 eV 4.29 cm 88.8 cm TrackerTransportation + 4 -45.4 cm 13.6 cm -80 cm 2.96 MeV 0 eV 79.1 cm 1.68 m ChamberTransportation + 5 -51 cm 15.3 cm -60 cm 2.96 MeV 0 eV 20.8 cm 1.89 m TrackerTransportation + 6 -67.9 cm 20.3 cm 0 fm 2.96 MeV 0 eV 62.5 cm 2.51 m ChamberTransportation + 7 -73.5 cm 22 cm 20 cm 2.96 MeV 0 eV 20.8 cm 2.72 m TrackerTransportation + 8 -90.4 cm 27.1 cm 80 cm 2.96 MeV 0 eV 62.5 cm 3.35 m ChamberTransportation + 9 -96 cm 28.8 cm 1 m 2.96 MeV 0 eV 20.8 cm 3.56 m TrackerTransportation + 10 -1.13 m 33.8 cm 1.6 m 2.96 MeV 0 eV 62.5 cm 4.18 m ChamberTransportation + 11 -1.19 m 35.5 cm 1.8 m 2.96 MeV 0 eV 20.8 cm 4.39 m TrackerTransportation + 12 -1.35 m 40.6 cm 2.4 m 2.96 MeV 0 eV 62.5 cm 5.01 m WorldPVTransportation + 13 -1.5 m 44.9 cm 2.91 m 2.96 MeV 0 eV 53.2 cm 5.55 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 400, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -51.2 mum 267 mum -2.41 m 8.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -580 mum 466 mum -2.41 m 1.29 MeV 7.61 MeV 3.87 mm 3.87 mm TargetPV compt + 2 6.15 mm 4.84 mm -2.4 m 1.29 MeV 0 eV 1.17 cm 1.56 cm TrackerTransportation + 3 2.4 m 1.56 m 63.3 cm 1.29 MeV 0 eV 4.17 m 4.18 m WorldPVTransportation + 4 2.91 m 1.89 m 1.28 m 1.29 MeV 0 eV 88.8 cm 5.07 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 399, Parent ID = 398 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.4 mum 258 mum -2.41 m 506 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -338 mum 327 mum -2.41 m 0 eV 506 keV 3.22 mm 3.22 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 387 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27 mum 222 mum -2.41 m 113 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -48 mum 242 mum -2.41 m 112 MeV 784 keV 581 mum 581 mum TargetPV eBrem + 2 -38.9 mum 248 mum -2.41 m 109 MeV 233 keV 184 mum 765 mum TargetPV eBrem + 3 6.04 mum 269 mum -2.41 m 107 MeV 1.89 MeV 1.06 mm 1.82 mm TargetPV eBrem + 4 140 mum 240 mum -2.41 m 95.9 MeV 1.68 MeV 1.26 mm 3.08 mm TargetPV eBrem + 5 159 mum 215 mum -2.41 m 81.6 MeV 446 keV 426 mum 3.5 mm TargetPV eBrem + 6 160 mum 212 mum -2.41 m 81.2 MeV 28.8 keV 27.4 mum 3.53 mm TargetPV eBrem + 7 164 mum 199 mum -2.41 m 80.7 MeV 112 keV 92.1 mum 3.62 mm TargetPV eBrem + 8 184 mum 164 mum -2.41 m 77.3 MeV 384 keV 253 mum 3.88 mm TargetPV eBrem + 9 183 mum 152 mum -2.41 m 74.2 MeV 77.1 keV 62.1 mum 3.94 mm TargetPV eBrem + 10 183 mum 144 mum -2.41 m 71.8 MeV 88 keV 42.6 mum 3.98 mm TargetPV eBrem + 11 218 mum -118 mum -2.41 m 56.7 MeV 1.71 MeV 1.06 mm 5.04 mm TargetPV eBrem + 12 528 mum -1.08 mm -2.41 m 48.1 MeV 3.76 MeV 2.93 mm 7.98 mm TargetPV eBrem + 13 195 mum -1.44 mm -2.4 m 42.4 MeV 3.67 MeV 2.65 mm 1.06 cm TargetPV eBrem + 14 191 mum -1.47 mm -2.4 m 32.4 MeV 76.6 keV 44.4 mum 1.07 cm TargetPV eBrem + 15 182 mum -1.63 mm -2.4 m 31.2 MeV 295 keV 220 mum 1.09 cm TargetPV eBrem + 16 164 mum -1.68 mm -2.4 m 27.7 MeV 142 keV 87.2 mum 1.1 cm TargetPV eBrem + 17 113 mum -1.9 mm -2.4 m 26.9 MeV 480 keV 330 mum 1.13 cm TargetPV eBrem + 18 7.17 mum -2.44 mm -2.4 m 14.6 MeV 858 keV 740 mum 1.2 cm TargetPV eBrem + 19 -14.1 mum -2.54 mm -2.4 m 14.1 MeV 143 keV 123 mum 1.22 cm TargetPV eBrem + 20 -14.7 mum -2.54 mm -2.4 m 12.9 MeV 1.31 keV 2.21 mum 1.22 cm TargetPV eBrem + 21 -405 mum -3.44 mm -2.4 m 10 MeV 2.93 MeV 2.13 mm 1.43 cm TargetPV eIoni + 22 -523 mum -3.58 mm -2.4 m 9.76 MeV 239 keV 231 mum 1.45 cm TrackerTransportation + 23 -18.4 cm -17.8 cm -2.29 m 9.7 MeV 49.5 keV 27.6 cm 29 cm Tracker eIoni + 24 -87.5 cm -61.3 cm -1.88 m 9.52 MeV 170 keV 91.3 cm 1.2 m Tracker eIoni + 25 -1.44 m -1.05 m -1.46 m 9.36 MeV 145 keV 83 cm 2.03 m Tracker eIoni + 26 -1.72 m -1.26 m -1.25 m 9.24 MeV 74.7 keV 41.1 cm 2.44 m Tracker eIoni + 27 -1.75 m -1.28 m -1.24 m 9.16 MeV 6.14 keV 3.61 cm 2.48 m Tracker eIoni + 28 -2.4 m -1.82 m -78.4 cm 8.97 MeV 186 keV 96.3 cm 3.44 m WorldPVTransportation + 29 -2.4 m -1.82 m -78.3 cm 8.94 MeV 135 eV 1.4 mm 3.45 m WorldPV eIoni + 30 -2.91 m -2.48 m -27.2 cm 8.77 MeV 177 keV 97.9 cm 4.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 436, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.4 m -1.82 m -78.3 cm 28.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 -2.4 m -1.82 m -78.3 cm 28.2 keV 312 eV 972 mum 972 mum TrackerTransportation + 2 -2.4 m -1.83 m -78.2 cm 25.1 keV 3.02 keV 3.2 mm 4.18 mm Tracker eIoni + 3 -2.4 m -1.83 m -78.1 cm 22.3 keV 2.85 keV 2.66 mm 6.83 mm Tracker eIoni + 4 -2.39 m -1.83 m -77.9 cm 20.1 keV 2.21 keV 2.21 mm 9.05 mm Tracker eIoni + 5 -2.39 m -1.83 m -77.7 cm 17.9 keV 2.19 keV 1.89 mm 1.09 cm Tracker eIoni + 6 -2.39 m -1.83 m -77.7 cm 14.7 keV 3.2 keV 1.6 mm 1.25 cm Tracker eIoni + 7 -2.39 m -1.83 m -77.6 cm 12.9 keV 1.8 keV 1.22 mm 1.37 cm Tracker eIoni + 8 -2.39 m -1.83 m -77.6 cm 11.5 keV 1.45 keV 1.03 mm 1.48 cm Tracker eIoni + 9 -2.39 m -1.83 m -77.6 cm 8.62 keV 2.84 keV 896 mum 1.57 cm Tracker eIoni + 10 -2.39 m -1.83 m -77.7 cm 5.8 keV 2.82 keV 660 mum 1.63 cm Tracker eIoni + 11 -2.39 m -1.83 m -77.7 cm 4.51 keV 1.29 keV 466 mum 1.68 cm Tracker eIoni + 12 -2.39 m -1.83 m -77.7 cm 2.36 keV 2.15 keV 386 mum 1.72 cm Tracker eIoni + 13 -2.39 m -1.83 m -77.7 cm 0 eV 2.36 keV 209 mum 1.74 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.75 m -1.28 m -1.24 m 78.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.76 m -1.27 m -1.23 m 71.3 keV 7.07 keV 1.84 cm 1.84 cm Tracker eIoni + 2 -1.76 m -1.25 m -1.23 m 54.6 keV 16.7 keV 1.56 cm 3.4 cm Tracker eIoni + 3 -1.77 m -1.25 m -1.23 m 47.4 keV 7.18 keV 9.81 mm 4.38 cm Tracker eIoni + 4 -1.77 m -1.24 m -1.23 m 42.8 keV 4.66 keV 7.7 mm 5.15 cm Tracker eIoni + 5 -1.78 m -1.24 m -1.23 m 39.7 keV 3.03 keV 6.42 mm 5.8 cm Tracker eIoni + 6 -1.78 m -1.23 m -1.22 m 36.7 keV 3.06 keV 5.68 mm 6.36 cm Tracker eIoni + 7 -1.78 m -1.23 m -1.22 m 32.5 keV 4.2 keV 4.94 mm 6.86 cm Tracker eIoni + 8 -1.78 m -1.23 m -1.22 m 27.5 keV 4.98 keV 4.05 mm 7.26 cm Tracker eIoni + 9 -1.78 m -1.22 m -1.22 m 25.2 keV 2.33 keV 3.08 mm 7.57 cm Tracker eIoni + 10 -1.79 m -1.22 m -1.22 m 20.3 keV 4.9 keV 2.66 mm 7.84 cm Tracker eIoni + 11 -1.79 m -1.22 m -1.22 m 18.2 keV 2.09 keV 1.91 mm 8.03 cm Tracker eIoni + 12 -1.79 m -1.22 m -1.22 m 16.9 keV 1.25 keV 1.63 mm 8.19 cm Tracker eIoni + 13 -1.79 m -1.22 m -1.22 m 15.3 keV 1.59 keV 1.47 mm 8.34 cm Tracker eIoni + 14 -1.79 m -1.22 m -1.22 m 13.1 keV 2.21 keV 1.29 mm 8.47 cm Tracker eIoni + 15 -1.79 m -1.22 m -1.22 m 12.3 keV 813 eV 1.05 mm 8.57 cm Tracker eIoni + 16 -1.79 m -1.22 m -1.22 m 10.9 keV 1.37 keV 973 mum 8.67 cm Tracker eIoni + 17 -1.79 m -1.22 m -1.22 m 9.75 keV 1.18 keV 849 mum 8.75 cm Tracker eIoni + 18 -1.79 m -1.22 m -1.22 m 7.56 keV 2.19 keV 748 mum 8.83 cm Tracker eIoni + 19 -1.79 m -1.22 m -1.22 m 5.42 keV 2.15 keV 584 mum 8.89 cm Tracker eIoni + 20 -1.79 m -1.22 m -1.22 m 3.59 keV 1.82 keV 443 mum 8.93 cm Tracker eIoni + 21 -1.79 m -1.22 m -1.22 m 2.2 keV 1.39 keV 324 mum 8.96 cm Tracker eIoni + 22 -1.79 m -1.22 m -1.22 m 0 eV 2.2 keV 188 mum 8.98 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.72 m -1.26 m -1.25 m 43.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.73 m -1.26 m -1.25 m 38.3 keV 5.17 keV 6.58 mm 6.58 mm Tracker eIoni + 2 -1.73 m -1.26 m -1.26 m 32.1 keV 6.15 keV 5.33 mm 1.19 cm Tracker eIoni + 3 -1.73 m -1.26 m -1.26 m 27.6 keV 4.5 keV 3.97 mm 1.59 cm Tracker eIoni + 4 -1.73 m -1.26 m -1.26 m 24.2 keV 3.37 keV 3.1 mm 1.9 cm Tracker eIoni + 5 -1.73 m -1.25 m -1.26 m 21 keV 3.26 keV 2.51 mm 2.15 cm Tracker eIoni + 6 -1.73 m -1.25 m -1.26 m 18.9 keV 2.04 keV 2.01 mm 2.35 cm Tracker eIoni + 7 -1.73 m -1.25 m -1.26 m 15.8 keV 3.14 keV 1.73 mm 2.52 cm Tracker eIoni + 8 -1.74 m -1.25 m -1.26 m 10.3 keV 5.52 keV 1.34 mm 2.66 cm Tracker eIoni + 9 -1.74 m -1.25 m -1.26 m 9.2 keV 1.08 keV 792 mum 2.74 cm Tracker eIoni + 10 -1.74 m -1.25 m -1.26 m 1.68 keV 7.52 keV 705 mum 2.81 cm Tracker eIoni + 11 -1.74 m -1.25 m -1.26 m 0 eV 1.68 keV 125 mum 2.82 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 433, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.44 m -1.05 m -1.46 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.44 m -1.05 m -1.46 m 9.08 keV 1.02 keV 777 mum 777 mum Tracker eIoni + 2 -1.44 m -1.05 m -1.46 m 8.14 keV 947 eV 696 mum 1.47 mm Tracker eIoni + 3 -1.44 m -1.05 m -1.46 m 7.03 keV 1.1 keV 624 mum 2.1 mm Tracker eIoni + 4 -1.44 m -1.05 m -1.46 m 5.8 keV 1.24 keV 547 mum 2.64 mm Tracker eIoni + 5 -1.44 m -1.05 m -1.46 m 2.98 keV 2.82 keV 466 mum 3.11 mm Tracker eIoni + 6 -1.44 m -1.05 m -1.46 m 0 eV 2.98 keV 275 mum 3.39 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 432, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -87.5 cm -61.3 cm -1.88 m 13.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -87.5 cm -61.4 cm -1.88 m 11.4 keV 1.85 keV 1.06 mm 1.06 mm Tracker eIoni + 2 -87.4 cm -61.4 cm -1.89 m 9.44 keV 1.91 keV 886 mum 1.95 mm Tracker eIoni + 3 -87.3 cm -61.5 cm -1.89 m 8.09 keV 1.35 keV 724 mum 2.67 mm Tracker eIoni + 4 -87.3 cm -61.4 cm -1.89 m 6.56 keV 1.54 keV 621 mum 3.29 mm Tracker eIoni + 5 -87.3 cm -61.4 cm -1.89 m 5.44 keV 1.11 keV 516 mum 3.81 mm Tracker eIoni + 6 -87.3 cm -61.4 cm -1.89 m 511 eV 4.93 keV 445 mum 4.25 mm Tracker eIoni + 7 -87.3 cm -61.4 cm -1.89 m 0 eV 511 eV 28.4 mum 4.28 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 431, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -18.4 cm -17.8 cm -2.29 m 8.21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -18.4 cm -17.8 cm -2.29 m 6.71 keV 1.5 keV 629 mum 629 mum Tracker eIoni + 2 -18.4 cm -17.9 cm -2.29 m 5.14 keV 1.57 keV 526 mum 1.15 mm Tracker eIoni + 3 -18.4 cm -17.9 cm -2.29 m 3.31 keV 1.83 keV 426 mum 1.58 mm Tracker eIoni + 4 -18.4 cm -17.9 cm -2.29 m 2.06 keV 1.25 keV 302 mum 1.88 mm Tracker eIoni + 5 -18.4 cm -17.9 cm -2.29 m 0 eV 2.06 keV 170 mum 2.05 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 430, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.7 mum -2.54 mm -2.4 m 1.21 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -903 mum -4.64 mm -2.4 m 1.21 MeV 0 eV 2.83 mm 2.83 mm TrackerTransportation + 2 -1.01 m -2.4 m -48 cm 1.21 MeV 0 eV 3.23 m 3.24 m WorldPVTransportation + 3 -1.23 m -2.91 m -7.09 cm 1.21 MeV 0 eV 68.8 cm 3.92 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 429, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.1 mum -2.54 mm -2.4 m 316 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -126 mum -2.83 mm -2.4 m 247 keV 69.2 keV 393 mum 393 mum TargetPV compt + 2 257 mum -3.69 mm -2.4 m 0 eV 247 keV 939 mum 1.33 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 428, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.17 mum -2.44 mm -2.4 m 11.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -618 mum -4.42 mm -2.4 m 11.5 MeV 0 eV 2.71 mm 2.71 mm TrackerTransportation + 2 -75.9 cm -2.4 m -27.1 cm 11.5 MeV 0 eV 3.29 m 3.3 m WorldPVTransportation + 3 -92 cm -2.91 m 18.2 cm 11.5 MeV 0 eV 70.1 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 427, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 113 mum -1.9 mm -2.4 m 293 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -259 mum -3.22 mm -2.4 m 224 keV 69.7 keV 2.13 mm 2.13 mm TargetPV compt + 2 -1.37 mm -3.24 mm -2.4 m 0 eV 224 keV 1.19 mm 3.33 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 426, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum -1.68 mm -2.4 m 3.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -573 mum -3.68 mm -2.4 m 3.38 MeV 0 eV 3.27 mm 3.27 mm TrackerTransportation + 2 -88.3 cm -2.4 m 57.1 cm 3.38 MeV 0 eV 3.92 m 3.92 m WorldPVTransportation + 3 -1.07 m -2.91 m 1.2 m 3.38 MeV 0 eV 83.4 cm 4.75 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 425, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 182 mum -1.63 mm -2.4 m 885 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -410 mum -3.64 mm -2.4 m 885 keV 0 eV 3.3 mm 3.3 mm TrackerTransportation + 2 -70.8 cm -2.4 m 64.3 cm 885 keV 0 eV 3.94 m 3.94 m WorldPVTransportation + 3 -85.8 cm -2.91 m 1.29 m 885 keV 0 eV 83.8 cm 4.78 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 424, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 191 mum -1.47 mm -2.4 m 9.95 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -268 mum -4.33 mm -2.4 m 9.95 MeV 0 eV 3.95 mm 3.95 mm TrackerTransportation + 2 -38.5 cm -2.4 m -13.7 cm 9.95 MeV 0 eV 3.32 m 3.32 m WorldPVTransportation + 3 -46.7 cm -2.91 m 34.5 cm 9.95 MeV 0 eV 70.6 cm 4.03 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 423, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 195 mum -1.44 mm -2.4 m 2.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -256 mum -4.37 mm -2.4 m 2.04 MeV 0 eV 4.02 mm 4.02 mm TrackerTransportation + 2 -37 cm -2.4 m -16.4 cm 2.04 MeV 0 eV 3.3 m 3.3 m WorldPVTransportation + 3 -44.8 cm -2.91 m 31.1 cm 2.04 MeV 0 eV 70.2 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 422, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 528 mum -1.08 mm -2.41 m 4.75 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 616 mum -2.44 mm -2.4 m 4.75 MeV 0 eV 5.48 mm 5.48 mm TrackerTransportation + 2 1.39 cm -20.8 cm -1.6 m 4.75 MeV 0 eV 82.6 cm 83.1 cm ChamberTransportation + 3 1.6 cm -24 cm -1.47 m 4.75 MeV 0 eV 13 cm 96.2 cm TrackerTransportation + 4 2.72 cm -41.3 cm -80 cm 4.75 MeV 0 eV 69.6 cm 1.66 m ChamberTransportation + 5 3.05 cm -46.4 cm -60 cm 4.75 MeV 0 eV 20.6 cm 1.86 m TrackerTransportation + 6 4.05 cm -61.8 cm 0 fm 4.75 MeV 0 eV 61.9 cm 2.48 m ChamberTransportation + 7 4.38 cm -66.9 cm 20 cm 4.75 MeV 0 eV 20.6 cm 2.69 m TrackerTransportation + 8 5.37 cm -82.3 cm 80 cm 4.75 MeV 0 eV 61.9 cm 3.31 m ChamberTransportation + 9 5.71 cm -87.4 cm 1 m 4.75 MeV 0 eV 20.6 cm 3.52 m TrackerTransportation + 10 6.7 cm -1.03 m 1.6 m 4.75 MeV 0 eV 61.9 cm 4.14 m ChamberTransportation + 11 7.03 cm -1.08 m 1.8 m 4.75 MeV 0 eV 20.6 cm 4.34 m TrackerTransportation + 12 8.03 cm -1.23 m 2.4 m 4.75 MeV 0 eV 61.9 cm 4.96 m WorldPVTransportation + 13 8.88 cm -1.36 m 2.91 m 4.75 MeV 0 eV 52.7 cm 5.49 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 421, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 218 mum -118 mum -2.41 m 13.4 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 646 mum -1.64 mm -2.4 m 13.4 MeV 0 eV 8.19 mm 8.19 mm TrackerTransportation + 2 4.33 cm -15.3 cm -1.6 m 13.4 MeV 0 eV 81.5 cm 82.4 cm ChamberTransportation + 3 5.39 cm -19.1 cm -1.4 m 13.4 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 8.59 cm -30.5 cm -80 cm 13.4 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 9.65 cm -34.3 cm -60 cm 13.4 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 12.8 cm -45.6 cm 0 fm 13.4 MeV 0 eV 61.2 cm 2.45 m ChamberTransportation + 7 13.9 cm -49.4 cm 20 cm 13.4 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 17.1 cm -60.8 cm 80 cm 13.4 MeV 0 eV 61.2 cm 3.27 m ChamberTransportation + 9 18.2 cm -64.6 cm 1 m 13.4 MeV 0 eV 20.4 cm 3.47 m TrackerTransportation + 10 21.4 cm -75.9 cm 1.6 m 13.4 MeV 0 eV 61.2 cm 4.08 m ChamberTransportation + 11 22.4 cm -79.7 cm 1.8 m 13.4 MeV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 25.6 cm -91.1 cm 2.4 m 13.4 MeV 0 eV 61.2 cm 4.9 m WorldPVTransportation + 13 28.3 cm -1.01 m 2.91 m 13.4 MeV 0 eV 52 cm 5.42 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 420, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 183 mum 144 mum -2.41 m 2.34 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 73.8 mum -1.6 mm -2.4 m 2.34 MeV 0 eV 9.23 mm 9.23 mm TrackerTransportation + 2 -9.58 mm -15.5 cm -1.6 m 2.34 MeV 0 eV 81.5 cm 82.4 cm ChamberTransportation + 3 -1.2 cm -19.4 cm -1.4 m 2.34 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 -1.92 cm -30.9 cm -80 cm 2.34 MeV 0 eV 61.1 cm 1.64 m ChamberTransportation + 5 -2.16 cm -34.8 cm -60 cm 2.34 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 -2.89 cm -46.3 cm 0.114 fm 2.34 MeV 0 eV 61.1 cm 2.45 m ChamberTransportation + 7 -2.99 cm -47.8 cm 8.12 cm 1.6 MeV 0 eV 8.27 cm 2.54 m Chamber compt + 8 2.35 cm -48.5 cm 20 cm 1.6 MeV 0 eV 13 cm 2.67 m TrackerTransportation + 9 29.3 cm -52 cm 80 cm 1.6 MeV 0 eV 65.9 cm 3.33 m ChamberTransportation + 10 38.3 cm -53.1 cm 1 m 1.6 MeV 0 eV 22 cm 3.54 m TrackerTransportation + 11 65.2 cm -56.6 cm 1.6 m 1.6 MeV 0 eV 65.9 cm 4.2 m ChamberTransportation + 12 74.2 cm -57.8 cm 1.8 m 1.6 MeV 0 eV 22 cm 4.42 m TrackerTransportation + 13 1.01 m -61.2 cm 2.4 m 1.6 MeV 0 eV 65.9 cm 5.08 m WorldPVTransportation + 14 1.24 m -64.2 cm 2.91 m 1.6 MeV 0 eV 56 cm 5.64 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 420 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.99 cm -47.8 cm 8.12 cm 737 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -12.6 cm -51 cm 14 cm 632 keV 106 keV 21.7 cm 21.7 cm Chamber eIoni + 2 -8.78 cm -50.2 cm 20 cm 581 keV 50.9 keV 11.5 cm 33.2 cm TrackerTransportation + 3 12.3 cm -19.2 cm 38.9 cm 498 keV 82.9 keV 46 cm 79.2 cm Tracker eIoni + 4 10.6 cm -10.1 cm 56.3 cm 434 keV 33.2 keV 20.2 cm 99.4 cm Tracker eIoni + 5 10.8 cm -4.87 cm 60.8 cm 374 keV 10.3 keV 6.94 cm 1.06 m Tracker eIoni + 6 21.4 cm 5.4 cm 77.2 cm 326 keV 47.3 keV 24.3 cm 1.31 m Tracker eIoni + 7 24.6 cm 6.77 cm 80 cm 319 keV 7.85 keV 4.56 cm 1.35 m ChamberTransportation + 8 27.5 cm 5.96 cm 82.3 cm 297 keV 21.6 keV 6.62 cm 1.42 m Chamber eIoni + 9 26.4 cm 5.68 cm 81.2 cm 248 keV 7.2 keV 1.66 cm 1.44 m Chamber eIoni + 10 25.1 cm 5.24 cm 80 cm 181 keV 66.6 keV 3.06 cm 1.47 m TrackerTransportation + 11 18.3 cm 3.08 cm 79.8 cm 160 keV 21.2 keV 7.72 cm 1.54 m Tracker eIoni + 12 17.4 cm 2.82 cm 79.3 cm 141 keV 1.63 keV 1.05 cm 1.55 m Tracker eIoni + 13 12.6 cm 3.47 cm 78.8 cm 130 keV 11.3 keV 5.06 cm 1.6 m Tracker eIoni + 14 8.85 cm 2.12 cm 79.6 cm 115 keV 14.6 keV 4.38 cm 1.65 m Tracker eIoni + 15 8.03 cm 2.45 cm 80 cm 111 keV 3.71 keV 1.01 cm 1.66 m ChamberTransportation + 16 7.44 cm 2.76 cm 80 cm 101 keV 10 keV 1.26 cm 1.67 m Chamber eIoni + 17 7.28 cm 2.21 cm 80 cm 93.4 keV 7.91 keV 1.08 cm 1.68 m Chamber eIoni + 18 7.25 cm 1.73 cm 80 cm 80.6 keV 12.7 keV 9.49 mm 1.69 m Chamber eIoni + 19 7.53 cm 1.75 cm 80.2 cm 66.8 keV 3.38 keV 5.11 mm 1.7 m Chamber eBrem + 20 7.64 cm 1.72 cm 80 cm 59.7 keV 7.11 keV 3.12 mm 1.7 m TrackerTransportation + 21 7.99 cm 1.23 cm 79.1 cm 52.4 keV 7.29 keV 1.15 cm 1.71 m Tracker eIoni + 22 7.94 cm 1.08 cm 78.3 cm 45.8 keV 6.63 keV 9.1 mm 1.72 m Tracker eIoni + 23 7.59 cm 6.18 mm 77.9 cm 41 keV 4.76 keV 7.23 mm 1.73 m Tracker eIoni + 24 7.25 cm 2.32 mm 77.6 cm 34.9 keV 6.11 keV 6 mm 1.73 m Tracker eIoni + 25 7.14 cm -1.9 mm 77.6 cm 32.2 keV 2.71 keV 4.55 mm 1.74 m Tracker eIoni + 26 7.36 cm -4.51 mm 77.8 cm 29.5 keV 2.7 keV 3.99 mm 1.74 m Tracker eIoni + 27 7.56 cm -2.96 mm 78 cm 26.2 keV 3.29 keV 3.44 mm 1.75 m Tracker eIoni + 28 7.62 cm -294 mum 78 cm 23.4 keV 2.77 keV 2.85 mm 1.75 m Tracker eIoni + 29 7.65 cm -2.45 mm 78.1 cm 21.8 keV 1.67 keV 2.39 mm 1.75 m Tracker eIoni + 30 7.5 cm -2.93 mm 77.9 cm 19.1 keV 2.62 keV 2.13 mm 1.75 m Tracker eIoni + 31 7.34 cm -3.22 mm 77.9 cm 15.3 keV 3.85 keV 1.76 mm 1.75 m Tracker eIoni + 32 7.27 cm -3.05 mm 77.8 cm 14.4 keV 924 eV 1.28 mm 1.76 m Tracker eIoni + 33 7.21 cm -3.53 mm 77.7 cm 13.5 keV 843 eV 1.18 mm 1.76 m Tracker eIoni + 34 7.15 cm -3.79 mm 77.6 cm 11.9 keV 1.62 keV 1.09 mm 1.76 m Tracker eIoni + 35 7.12 cm -4.32 mm 77.5 cm 7.68 keV 4.21 keV 933 mum 1.76 m Tracker eIoni + 36 7.11 cm -4.45 mm 77.5 cm 5.26 keV 2.42 keV 592 mum 1.76 m Tracker eIoni + 37 7.09 cm -4.56 mm 77.4 cm 3.32 keV 1.94 keV 433 mum 1.76 m Tracker eIoni + 38 7.08 cm -4.61 mm 77.4 cm 1.24 keV 2.08 keV 303 mum 1.76 m Tracker eIoni + 39 7.08 cm -4.63 mm 77.4 cm 0 eV 1.24 keV 81.4 mum 1.76 m Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 442, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.53 cm 1.75 cm 80.2 cm 10.5 keV 0 eV 0 fm 0 fm Chamber initStep + 1 7.41 cm 1.56 cm 80.3 cm 0 eV 10.5 keV 2.76 mm 2.76 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.4 cm 2.82 cm 79.3 cm 17.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 17.5 cm 2.71 cm 79.2 cm 16.2 keV 1.42 keV 1.56 mm 1.56 mm Tracker eIoni + 2 17.5 cm 2.58 cm 79.2 cm 15.3 keV 984 eV 1.39 mm 2.96 mm Tracker eIoni + 3 17.4 cm 2.46 cm 79.2 cm 13.8 keV 1.5 keV 1.28 mm 4.24 mm Tracker eIoni + 4 17.4 cm 2.37 cm 79.2 cm 12.6 keV 1.14 keV 1.12 mm 5.36 mm Tracker eIoni + 5 17.4 cm 2.29 cm 79.2 cm 10.5 keV 2.11 keV 1 mm 6.36 mm Tracker eIoni + 6 17.4 cm 2.23 cm 79.1 cm 6.92 keV 3.59 keV 812 mum 7.18 mm Tracker eIoni + 7 17.4 cm 2.22 cm 79.1 cm 5.36 keV 1.56 keV 539 mum 7.71 mm Tracker eIoni + 8 17.4 cm 2.2 cm 79 cm 3.05 keV 2.31 keV 439 mum 8.15 mm Tracker eIoni + 9 17.4 cm 2.19 cm 79 cm 1.42 keV 1.63 keV 282 mum 8.44 mm Tracker eIoni + 10 17.4 cm 2.18 cm 79 cm 0 eV 1.42 keV 98.7 mum 8.53 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.4 cm 5.68 cm 81.2 cm 41.9 keV 0 eV 0 fm 0 fm Chamber initStep + 1 26.5 cm 5.49 cm 81.2 cm 38.3 keV 3.65 keV 2.75 mm 2.75 mm Chamber eIoni + 2 26.6 cm 5.46 cm 81.2 cm 32.3 keV 5.94 keV 2.41 mm 5.16 mm Chamber eIoni + 3 26.7 cm 5.49 cm 81.1 cm 29.9 keV 2.41 keV 1.9 mm 7.06 mm Chamber eIoni + 4 26.8 cm 5.37 cm 81.1 cm 24.4 keV 5.5 keV 1.7 mm 8.77 mm Chamber eIoni + 5 26.8 cm 5.31 cm 81.1 cm 20.1 keV 4.36 keV 1.31 mm 1.01 cm Chamber eIoni + 6 26.8 cm 5.32 cm 81.1 cm 14.3 keV 5.8 keV 1.03 mm 1.11 cm Chamber eIoni + 7 26.8 cm 5.34 cm 81.1 cm 10.4 keV 3.82 keV 720 mum 1.18 cm Chamber eIoni + 8 26.8 cm 5.37 cm 81.1 cm 7.69 keV 2.75 keV 550 mum 1.24 cm Chamber eIoni + 9 26.9 cm 5.36 cm 81.1 cm 4.99 keV 2.7 keV 439 mum 1.28 cm Chamber eIoni + 10 26.9 cm 5.35 cm 81.1 cm 1.45 keV 3.54 keV 328 mum 1.31 cm Chamber eIoni + 11 26.9 cm 5.35 cm 81.1 cm 0 eV 1.45 keV 75.8 mum 1.32 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.8 cm -4.87 cm 60.8 cm 50.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 10.1 cm -4.52 cm 60.8 cm 46.8 keV 3.42 keV 8.49 mm 8.49 mm Tracker eIoni + 2 10.1 cm -3.85 cm 61.1 cm 43 keV 3.83 keV 7.53 mm 1.6 cm Tracker eIoni + 3 9.98 cm -3.84 cm 61.7 cm 37.8 keV 5.21 keV 6.48 mm 2.25 cm Tracker eIoni + 4 9.79 cm -3.59 cm 62.1 cm 33.5 keV 4.28 keV 5.21 mm 2.77 cm Tracker eIoni + 5 9.44 cm -3.46 cm 62.3 cm 30.3 keV 3.24 keV 4.26 mm 3.2 cm Tracker eIoni + 6 9.41 cm -3.15 cm 62.1 cm 27.2 keV 3.09 keV 3.58 mm 3.56 cm Tracker eIoni + 7 9.32 cm -2.88 cm 62.1 cm 23.8 keV 3.35 keV 3.02 mm 3.86 cm Tracker eIoni + 8 9.1 cm -2.8 cm 62.1 cm 19.1 keV 4.76 keV 2.45 mm 4.1 cm Tracker eIoni + 9 8.94 cm -2.77 cm 62.1 cm 15.4 keV 3.62 keV 1.75 mm 4.28 cm Tracker eIoni + 10 8.89 cm -2.82 cm 62 cm 9.76 keV 5.68 keV 1.3 mm 4.41 cm Tracker eIoni + 11 8.81 cm -2.82 cm 62 cm 7.49 keV 2.27 keV 748 mum 4.48 cm Tracker eIoni + 12 8.77 cm -2.84 cm 62 cm 6.11 keV 1.37 keV 579 mum 4.54 cm Tracker eIoni + 13 8.73 cm -2.86 cm 62 cm 5.06 keV 1.05 keV 487 mum 4.59 cm Tracker eIoni + 14 8.74 cm -2.83 cm 62 cm 3.74 keV 1.32 keV 421 mum 4.63 cm Tracker eIoni + 15 8.73 cm -2.8 cm 62 cm 2.22 keV 1.52 keV 335 mum 4.66 cm Tracker eIoni + 16 8.73 cm -2.81 cm 62 cm 0 eV 2.22 keV 191 mum 4.68 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 437 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.6 cm -10.1 cm 56.3 cm 30.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 10.4 cm -10.2 cm 56.7 cm 27.7 keV 2.53 keV 3.59 mm 3.59 mm Tracker eIoni + 2 10.5 cm -10.2 cm 57 cm 23.8 keV 3.95 keV 3.13 mm 6.71 mm Tracker eIoni + 3 10.5 cm -10.3 cm 57.2 cm 21.7 keV 2.09 keV 2.45 mm 9.16 mm Tracker eIoni + 4 10.4 cm -10.4 cm 57.3 cm 20.3 keV 1.37 keV 2.12 mm 1.13 cm Tracker eIoni + 5 10.2 cm -10.4 cm 57.4 cm 16.6 keV 3.7 keV 1.92 mm 1.32 cm Tracker eIoni + 6 10.2 cm -10.3 cm 57.5 cm 15.1 keV 1.56 keV 1.44 mm 1.46 cm Tracker eIoni + 7 10.1 cm -10.4 cm 57.5 cm 13.3 keV 1.77 keV 1.26 mm 1.59 cm Tracker eIoni + 8 10.1 cm -10.5 cm 57.4 cm 11.5 keV 1.76 keV 1.07 mm 1.7 cm Tracker eIoni + 9 10 cm -10.6 cm 57.4 cm 10.1 keV 1.39 keV 903 mum 1.79 cm Tracker eIoni + 10 10 cm -10.6 cm 57.3 cm 7.67 keV 2.48 keV 780 mum 1.87 cm Tracker eIoni + 11 10 cm -10.6 cm 57.3 cm 5.92 keV 1.75 keV 591 mum 1.92 cm Tracker eIoni + 12 9.97 cm -10.7 cm 57.3 cm 4.57 keV 1.35 keV 474 mum 1.97 cm Tracker eIoni + 13 9.96 cm -10.6 cm 57.3 cm 3.17 keV 1.4 keV 389 mum 2.01 cm Tracker eIoni + 14 9.94 cm -10.6 cm 57.3 cm 710 eV 2.46 keV 291 mum 2.04 cm Tracker eIoni + 15 9.94 cm -10.6 cm 57.3 cm 0 eV 710 eV 40.4 mum 2.04 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 419, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 183 mum 152 mum -2.41 m 2.97 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 284 mum -1.68 mm -2.4 m 2.97 MeV 0 eV 9.29 mm 9.29 mm TrackerTransportation + 2 9.18 mm -16.2 cm -1.6 m 2.97 MeV 0 eV 81.6 cm 82.5 cm ChamberTransportation + 3 1.14 cm -20.3 cm -1.4 m 2.97 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 1.81 cm -32.3 cm -80 cm 2.97 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 2.03 cm -36.3 cm -60 cm 2.97 MeV 0 eV 20.4 cm 1.85 m TrackerTransportation + 6 2.7 cm -48.4 cm -0.114 fm 2.97 MeV 0 eV 61.2 cm 2.46 m ChamberTransportation + 7 2.92 cm -52.4 cm 20 cm 2.97 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 3.59 cm -64.5 cm 80 cm 2.97 MeV 0 eV 61.2 cm 3.27 m ChamberTransportation + 9 3.81 cm -68.5 cm 1 m 2.97 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 4.47 cm -80.6 cm 1.6 m 2.97 MeV 0 eV 61.2 cm 4.09 m ChamberTransportation + 11 4.7 cm -84.6 cm 1.8 m 2.97 MeV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 5.36 cm -96.6 cm 2.4 m 2.97 MeV 0 eV 61.2 cm 4.91 m WorldPVTransportation + 13 5.68 cm -1.02 m 2.69 m 743 keV 0 eV 29.5 cm 5.2 m WorldPV compt + 14 48.4 cm -1.1 m 2.91 m 743 keV 0 eV 48.6 cm 5.69 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 419 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.68 cm -1.02 m 2.69 m 2.22 MeV 0 eV 0 fm 0 fm WorldPV initStep + 1 3.52 mm -1.07 m 2.91 m 2.18 MeV 42.6 keV 23.3 cm 23.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 418, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 184 mum 164 mum -2.41 m 3.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 189 mum -1.72 mm -2.4 m 3.09 MeV 0 eV 9.35 mm 9.35 mm TrackerTransportation + 2 609 mum -16.6 cm -1.6 m 3.09 MeV 0 eV 81.7 cm 82.6 cm ChamberTransportation + 3 714 mum -20.7 cm -1.4 m 3.09 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 1.03 mm -33 cm -80 cm 3.09 MeV 0 eV 61.2 cm 1.64 m ChamberTransportation + 5 1.13 mm -37.1 cm -60 cm 3.09 MeV 0 eV 20.4 cm 1.85 m TrackerTransportation + 6 1.45 mm -49.4 cm 0 fm 3.09 MeV 0 eV 61.2 cm 2.46 m ChamberTransportation + 7 1.55 mm -53.5 cm 20 cm 3.09 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 1.87 mm -65.8 cm 80 cm 3.09 MeV 0 eV 61.2 cm 3.28 m ChamberTransportation + 9 1.97 mm -69.9 cm 1 m 3.09 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 2.29 mm -82.2 cm 1.6 m 3.09 MeV 0 eV 61.2 cm 4.09 m ChamberTransportation + 11 2.39 mm -86.3 cm 1.8 m 3.09 MeV 0 eV 20.4 cm 4.3 m TrackerTransportation + 12 2.71 mm -98.6 cm 2.4 m 3.09 MeV 0 eV 61.2 cm 4.91 m WorldPVTransportation + 13 2.98 mm -1.09 m 2.91 m 3.09 MeV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 417, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum 199 mum -2.41 m 390 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 380 mum -825 mum -2.4 m 0 eV 390 keV 6.12 mm 6.12 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 416, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 160 mum 212 mum -2.41 m 334 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 386 mum -454 mum -2.4 m 0 eV 334 keV 5.59 mm 5.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 415, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 159 mum 215 mum -2.41 m 13.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 608 mum -1.09 mm -2.4 m 13.9 MeV 0 eV 9.63 mm 9.63 mm TrackerTransportation + 2 3.83 cm -11.1 cm -1.6 m 13.9 MeV 0 eV 80.8 cm 81.8 cm ChamberTransportation + 3 4.78 cm -13.9 cm -1.4 m 13.9 MeV 0 eV 20.2 cm 1.02 m TrackerTransportation + 4 7.61 cm -22.1 cm -80 cm 13.9 MeV 0 eV 60.6 cm 1.63 m ChamberTransportation + 5 8.55 cm -24.8 cm -60 cm 13.9 MeV 0 eV 20.2 cm 1.83 m TrackerTransportation + 6 11.4 cm -33.1 cm 0 fm 13.9 MeV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 12.3 cm -35.8 cm 20 cm 13.9 MeV 0 eV 20.2 cm 2.64 m TrackerTransportation + 8 15.2 cm -44.1 cm 80 cm 13.9 MeV 0 eV 60.6 cm 3.24 m ChamberTransportation + 9 16.1 cm -46.8 cm 1 m 13.9 MeV 0 eV 20.2 cm 3.45 m TrackerTransportation + 10 18.9 cm -55.1 cm 1.6 m 13.9 MeV 0 eV 60.6 cm 4.05 m ChamberTransportation + 11 19.9 cm -57.8 cm 1.8 m 13.9 MeV 0 eV 20.2 cm 4.25 m TrackerTransportation + 12 22.7 cm -66.1 cm 2.4 m 13.9 MeV 0 eV 60.6 cm 4.86 m WorldPVTransportation + 13 25.1 cm -73.1 cm 2.91 m 13.9 MeV 0 eV 51.5 cm 5.38 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 414, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 140 mum 240 mum -2.41 m 9.65 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 142 mum 232 mum -2.41 m 0 eV 8.63 MeV 155 mum 155 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 444, Parent ID = 414 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep + 1 142 mum 232 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 446, Parent ID = 444 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -586 mum -6.22 mm -2.42 m 0 eV 511 keV 1.42 cm 1.42 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 445, Parent ID = 444 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 142 mum 232 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 706 mum 5.23 mm -2.4 m 511 keV 0 eV 1.1 cm 1.1 cm TrackerTransportation + 2 27.1 cm 2.4 m 2.29 m 511 keV 0 eV 5.28 m 5.29 m WorldPVTransportation + 3 30.6 cm 2.71 m 2.91 m 511 keV 0 eV 69.3 cm 5.98 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 413, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.04 mum 269 mum -2.41 m 319 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 193 mum 201 mum -2.41 m 0 eV 319 keV 3.59 mm 3.59 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 412, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.9 mum 248 mum -2.41 m 2.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 391 mum -93.8 mum -2.4 m 2.08 MeV 0 eV 1.23 cm 1.23 cm TrackerTransportation + 2 2.84 cm -2.24 cm -1.6 m 2.08 MeV 0 eV 80.1 cm 81.3 cm ChamberTransportation + 3 3.54 cm -2.8 cm -1.4 m 2.08 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 5.65 cm -4.47 cm -80 cm 2.08 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 6.35 cm -5.03 cm -60 cm 2.08 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 8.45 cm -6.7 cm 0 fm 2.08 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 9.15 cm -7.26 cm 20 cm 2.08 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 11.3 cm -8.93 cm 80 cm 2.08 MeV 0 eV 60.1 cm 3.22 m ChamberTransportation + 9 12 cm -9.49 cm 1 m 2.08 MeV 0 eV 20 cm 3.42 m TrackerTransportation + 10 14.1 cm -11.2 cm 1.6 m 2.08 MeV 0 eV 60.1 cm 4.02 m ChamberTransportation + 11 14.8 cm -11.7 cm 1.8 m 2.08 MeV 0 eV 20 cm 4.22 m TrackerTransportation + 12 16.9 cm -13.4 cm 2.4 m 2.08 MeV 0 eV 60.1 cm 4.82 m WorldPVTransportation + 13 18.6 cm -14.8 cm 2.91 m 2.08 MeV 0 eV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 411, Parent ID = 397 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -48 mum 242 mum -2.41 m 431 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 31.6 mum 309 mum -2.41 m 421 keV 9.96 keV 2.74 mm 2.74 mm TargetPV compt + 2 64.8 mum 288 mum -2.41 m 0 eV 421 keV 161 mum 2.9 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 386, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.71 mum 19.8 mum -2.42 m 15.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -74.2 mum 645 mum -2.4 m 0 eV 4.5 MeV 1.45 cm 1.45 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 447, Parent ID = 386 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -74.2 mum 645 mum -2.4 m 10.2 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -298 mum 1.59 mm -2.4 m 7.62 MeV 2.53 MeV 1.82 mm 1.82 mm TargetPV eIoni + 2 291 mum 2.05 mm -2.4 m 6.08 MeV 1.1 MeV 807 mum 2.62 mm TargetPV eBrem + 3 330 mum 1.95 mm -2.4 m 3.29 MeV 1.41 MeV 1.04 mm 3.66 mm TargetPV eBrem + 4 383 mum 1.47 mm -2.4 m 2.32 MeV 969 keV 825 mum 4.49 mm TargetPV eIoni + 5 284 mum 1.39 mm -2.4 m 1.75 MeV 173 keV 151 mum 4.64 mm TargetPV eBrem + 6 38.8 mum 1.5 mm -2.4 m 1.06 MeV 684 keV 566 mum 5.21 mm TargetPV eIoni + 7 238 mum 1.48 mm -2.4 m 690 keV 373 keV 433 mum 5.64 mm TargetPV eIoni + 8 230 mum 1.44 mm -2.4 m 0 eV 690 keV 340 mum 5.98 mm TargetPV eIoni + 9 230 mum 1.44 mm -2.4 m 0 eV 0 eV 0 fm 5.98 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 452, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum 1.44 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.29 mm -565 mum -2.4 m 435 keV 75.9 keV 3.66 mm 3.66 mm TargetPV compt + 2 4.51 mm -665 mum -2.4 m 357 keV 78.5 keV 1.29 mm 4.95 mm TargetPV compt + 3 5.08 mm -369 mum -2.4 m 0 eV 357 keV 1.02 mm 5.97 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 451, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 230 mum 1.44 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.8 cm 1.34 cm -2.4 m 0 eV 511 keV 2.18 cm 2.18 cm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 450, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 284 mum 1.39 mm -2.4 m 400 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.61 mm 1.8 mm -2.4 m 0 eV 400 keV 1.98 mm 1.98 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 449, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 330 mum 1.95 mm -2.4 m 1.38 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 308 mum 1.98 mm -2.4 m 1.38 MeV 0 eV 1.37 mm 1.37 mm TrackerTransportation + 2 -1.25 cm 2.16 cm -1.6 m 1.38 MeV 0 eV 80 cm 80.2 cm ChamberTransportation + 3 -1.57 cm 2.65 cm -1.4 m 1.38 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.54 cm 4.12 cm -80 cm 1.38 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -2.86 cm 4.61 cm -60 cm 1.38 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -3.82 cm 6.08 cm 0 fm 1.38 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -4.14 cm 6.57 cm 20 cm 1.38 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -5.11 cm 8.05 cm 80 cm 1.38 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -5.43 cm 8.54 cm 1 m 1.38 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -6.39 cm 10 cm 1.6 m 1.38 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -6.71 cm 10.5 cm 1.8 m 1.38 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -7.67 cm 12 cm 2.4 m 1.38 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -8.49 cm 13.2 cm 2.91 m 1.38 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 448, Parent ID = 447 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 291 mum 2.05 mm -2.4 m 447 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.58 mm 795 mum -2.4 m 447 keV 0 eV 2.93 mm 2.93 mm TrackerTransportation + 2 2.4 m -2.34 m 1.89 m 447 keV 0 eV 5.44 m 5.45 m WorldPVTransportation + 3 2.91 m -2.84 m 2.8 m 447 keV 0 eV 1.16 m 6.6 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 385, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.83 mum 13.8 mum -2.42 m 203 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.3 mum 502 mum -2.41 m 0 eV 0 eV 1.15 cm 1.15 cm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 454, Parent ID = 385 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 502 mum -2.41 m 52.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -64.3 mum 513 mum -2.41 m 28.8 MeV 405 keV 398 mum 398 mum TargetPV eBrem + 2 198 mum 427 mum -2.4 m 25.2 MeV 2.93 MeV 2.2 mm 2.6 mm TargetPV eBrem + 3 161 mum 414 mum -2.4 m 23.1 MeV 1.82 MeV 987 mum 3.59 mm TargetPV eBrem + 4 164 mum 415 mum -2.4 m 8.44 MeV 12.9 keV 15.3 mum 3.6 mm TargetPV eBrem + 5 690 mum 864 mum -2.4 m 5.49 MeV 1.37 MeV 1.2 mm 4.8 mm TargetPV eBrem + 6 973 mum 1.17 mm -2.4 m 612 keV 4.88 MeV 1.16 mm 5.96 mm TargetPV eIoni + 7 1.01 mm 1.21 mm -2.4 m 228 keV 384 keV 316 mum 6.28 mm TargetPV eIoni + 8 1.03 mm 1.21 mm -2.4 m 0 eV 228 keV 95.5 mum 6.37 mm TargetPV eIoni + 9 1.03 mm 1.21 mm -2.4 m 0 eV 0 eV 0 fm 6.37 mm TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 461, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.03 mm 1.21 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.59 mm 3.91 mm -2.41 m 251 keV 260 keV 7.02 mm 7.02 mm TargetPV compt + 2 -1.93 mm 4.01 mm -2.41 m 0 eV 251 keV 410 mum 7.43 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 460, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.03 mm 1.21 mm -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.68 mm 537 mum -2.4 m 511 keV 0 eV 1.76 mm 1.76 mm TrackerTransportation + 2 1.06 m -1.09 m 0 fm 511 keV 0 eV 2.84 m 2.84 m ChamberTransportation + 3 1.07 m -1.1 m 2.39 cm 511 keV 0 eV 2.84 cm 2.87 m TrackerTransportation + 4 1.42 m -1.46 m 80 cm 511 keV 0 eV 91.9 cm 3.79 m ChamberTransportation + 5 1.49 m -1.54 m 97.2 cm 511 keV 0 eV 20.4 cm 4 m TrackerTransportation + 6 1.77 m -1.82 m 1.6 m 511 keV 0 eV 74.4 cm 4.74 m ChamberTransportation + 7 1.86 m -1.91 m 1.8 m 511 keV 0 eV 23.7 cm 4.98 m TrackerTransportation + 8 2.12 m -2.19 m 2.4 m 511 keV 0 eV 71.1 cm 5.69 m WorldPVTransportation + 9 2.35 m -2.42 m 2.91 m 511 keV 0 eV 60.4 cm 6.29 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 459, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 690 mum 864 mum -2.4 m 1.57 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 952 mum 1.27 mm -2.4 m 0 eV 88 keV 2.28 mm 2.28 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 462, Parent ID = 459 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 952 mum 1.27 mm -2.4 m 1.48 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 960 mum 1.28 mm -2.4 m 1.21 MeV 274 keV 98.9 mum 98.9 mum TrackerTransportation + 2 1.03 m 14.6 cm -2.02 m 1.01 MeV 198 keV 1.2 m 1.2 m Tracker eIoni + 3 1.78 m -18.8 cm -1.6 m 843 keV 164 keV 95.9 cm 2.16 m Tracker eIoni + 4 2.37 m 8.63 cm -1.37 m 698 keV 135 keV 75.4 cm 2.91 m Tracker eIoni + 5 2.4 m 7.96 cm -1.36 m 693 keV 5.12 keV 3.05 cm 2.94 m WorldPVTransportation + 6 2.72 m 3 cm -1.28 m 533 keV 52.5 keV 33.6 cm 3.28 m WorldPV eIoni + 7 2.85 m -3.49 cm -1.17 m 492 keV 31.2 keV 19.7 cm 3.47 m WorldPV eIoni + 8 2.86 m -3.79 cm -1.16 m 477 keV 4.06 keV 1.32 cm 3.49 m WorldPV eIoni + 9 2.91 m -3.55 cm -1.1 m 457 keV 19.3 keV 8.37 cm 3.57 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 466, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.86 m -3.79 cm -1.16 m 11 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.86 m -3.84 cm -1.16 m 7.51 keV 3.45 keV 852 mum 852 mum WorldPV eIoni + 2 2.86 m -3.85 cm -1.16 m 6.54 keV 971 eV 580 mum 1.43 mm WorldPV eIoni + 3 2.86 m -3.83 cm -1.16 m 5.62 keV 919 eV 514 mum 1.95 mm WorldPV eIoni + 4 2.86 m -3.83 cm -1.16 m 0 eV 5.62 keV 455 mum 2.4 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 465, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.85 m -3.49 cm -1.17 m 10.1 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.85 m -3.54 cm -1.17 m 8.09 keV 2 keV 776 mum 776 mum WorldPV eIoni + 2 2.85 m -3.58 cm -1.17 m 6.96 keV 1.13 keV 621 mum 1.4 mm WorldPV eIoni + 3 2.85 m -3.53 cm -1.17 m 5.96 keV 999 eV 542 mum 1.94 mm WorldPV eIoni + 4 2.85 m -3.49 cm -1.17 m 4.08 keV 1.89 keV 477 mum 2.42 mm WorldPV eIoni + 5 2.85 m -3.46 cm -1.17 m 1.38 keV 2.7 keV 357 mum 2.77 mm WorldPV eIoni + 6 2.85 m -3.46 cm -1.17 m 0 eV 1.38 keV 94.7 mum 2.87 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 464, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.72 m 3 cm -1.28 m 107 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.72 m 2.8 cm -1.29 m 94.4 keV 1.29 keV 4.88 mm 4.88 mm WorldPV eIoni + 2 2.72 m 4.2 mm -1.29 m 82.2 keV 12.1 keV 2.54 cm 3.03 cm WorldPV eIoni + 3 2.72 m -6.8 mm -1.31 m 73.3 keV 8.94 keV 2 cm 5.04 cm WorldPV eIoni + 4 2.72 m -1.12 cm -1.32 m 66.3 keV 6.96 keV 1.64 cm 6.67 cm WorldPV eIoni + 5 2.72 m -9.17 mm -1.34 m 55.3 keV 11 keV 1.38 cm 8.05 cm WorldPV eIoni + 6 2.71 m -6.68 mm -1.34 m 48.3 keV 7.01 keV 1 cm 9.06 cm WorldPV eIoni + 7 2.7 m -7.6 mm -1.34 m 39 keV 9.3 keV 7.95 mm 9.85 cm WorldPV eIoni + 8 2.7 m -5.06 mm -1.35 m 32.1 keV 6.92 keV 5.51 mm 10.4 cm WorldPV eIoni + 9 2.7 m -3.97 mm -1.35 m 29.6 keV 2.47 keV 3.97 mm 10.8 cm WorldPV eIoni + 10 2.69 m -3.4 mm -1.34 m 24.4 keV 5.25 keV 3.47 mm 11.1 cm WorldPV eIoni + 11 2.69 m -3.37 mm -1.35 m 21.7 keV 2.69 keV 2.54 mm 11.4 cm WorldPV eIoni + 12 2.69 m -3.87 mm -1.34 m 20.5 keV 1.14 keV 2.12 mm 11.6 cm WorldPV eIoni + 13 2.69 m -4.75 mm -1.34 m 17.1 keV 3.42 keV 1.95 mm 11.8 cm WorldPV eIoni + 14 2.69 m -5.62 mm -1.34 m 14.8 keV 2.36 keV 1.5 mm 12 cm WorldPV eIoni + 15 2.69 m -6.6 mm -1.34 m 12.5 keV 2.28 keV 1.22 mm 12.1 cm WorldPV eIoni + 16 2.69 m -7.18 mm -1.34 m 11.3 keV 1.23 keV 991 mum 12.2 cm WorldPV eIoni + 17 2.69 m -7.66 mm -1.34 m 8.55 keV 2.7 keV 878 mum 12.3 cm WorldPV eIoni + 18 2.69 m -7.63 mm -1.34 m 6.68 keV 1.87 keV 655 mum 12.3 cm WorldPV eIoni + 19 2.69 m -7.81 mm -1.34 m 4.58 keV 2.11 keV 524 mum 12.4 cm WorldPV eIoni + 20 2.69 m -7.68 mm -1.34 m 3 keV 1.57 keV 390 mum 12.4 cm WorldPV eIoni + 21 2.69 m -7.48 mm -1.34 m 892 eV 2.11 keV 277 mum 12.4 cm WorldPV eIoni + 22 2.69 m -7.5 mm -1.34 m 0 eV 892 eV 52.9 mum 12.5 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 467, Parent ID = 464 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.72 m 2.8 cm -1.29 m 11.5 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 2.72 m 2.81 cm -1.29 m 10.1 keV 1.36 keV 897 mum 897 mum WorldPV eIoni + 2 2.72 m 2.86 cm -1.29 m 6.31 keV 3.8 keV 777 mum 1.67 mm WorldPV eIoni + 3 2.72 m 2.84 cm -1.29 m 4.01 keV 2.29 keV 500 mum 2.17 mm WorldPV eIoni + 4 2.72 m 2.83 cm -1.29 m 0 eV 4.01 keV 353 mum 2.53 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 463, Parent ID = 462 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 m 8.63 cm -1.37 m 9.81 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.37 m 8.65 cm -1.37 m 6.58 keV 3.23 keV 753 mum 753 mum Tracker eIoni + 2 2.37 m 8.67 cm -1.37 m 6.01 keV 568 eV 517 mum 1.27 mm Tracker eIoni + 3 2.37 m 8.66 cm -1.37 m 4.87 keV 1.14 keV 480 mum 1.75 mm Tracker eIoni + 4 2.37 m 8.69 cm -1.37 m 3.23 keV 1.64 keV 408 mum 2.16 mm Tracker eIoni + 5 2.37 m 8.68 cm -1.37 m 2.28 keV 944 eV 296 mum 2.45 mm Tracker eIoni + 6 2.37 m 8.68 cm -1.37 m 0 eV 2.28 keV 199 mum 2.65 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 458, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 164 mum 415 mum -2.4 m 14.6 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 778 mum 676 mum -2.4 m 14.6 MeV 0 eV 3.24 mm 3.24 mm TrackerTransportation + 2 15.6 cm 6.64 cm -1.6 m 14.6 MeV 0 eV 81.7 cm 82.1 cm ChamberTransportation + 3 19.4 cm 8.29 cm -1.4 m 14.6 MeV 0 eV 20.4 cm 1.03 m TrackerTransportation + 4 31 cm 13.2 cm -80 cm 14.6 MeV 0 eV 61.3 cm 1.64 m ChamberTransportation + 5 34.9 cm 14.9 cm -60 cm 14.6 MeV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 46.5 cm 19.8 cm 0 fm 14.6 MeV 0 eV 61.3 cm 2.46 m ChamberTransportation + 7 50.4 cm 21.4 cm 20 cm 14.6 MeV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 62 cm 26.4 cm 80 cm 14.6 MeV 0 eV 61.3 cm 3.27 m ChamberTransportation + 9 65.9 cm 28 cm 1 m 14.6 MeV 0 eV 20.4 cm 3.48 m TrackerTransportation + 10 77.5 cm 32.9 cm 1.6 m 14.6 MeV 0 eV 61.3 cm 4.09 m ChamberTransportation + 11 81.3 cm 34.6 cm 1.8 m 14.6 MeV 0 eV 20.4 cm 4.3 m TrackerTransportation + 12 92.9 cm 39.5 cm 2.4 m 14.6 MeV 0 eV 61.3 cm 4.91 m WorldPVTransportation + 13 1.03 m 43.7 cm 2.91 m 14.6 MeV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 457, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 161 mum 414 mum -2.4 m 303 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 831 mum 774 mum -2.4 m 303 keV 0 eV 3.28 mm 3.28 mm TrackerTransportation + 2 16.9 cm 9.1 cm -1.6 m 303 keV 0 eV 82.2 cm 82.6 cm ChamberTransportation + 3 21.1 cm 11.4 cm -1.4 m 303 keV 0 eV 20.6 cm 1.03 m TrackerTransportation + 4 33.7 cm 18.1 cm -80 cm 303 keV 0 eV 61.7 cm 1.65 m ChamberTransportation + 5 38 cm 20.4 cm -60 cm 303 keV 0 eV 20.6 cm 1.85 m TrackerTransportation + 6 50.6 cm 27.2 cm 0 fm 303 keV 0 eV 61.7 cm 2.47 m ChamberTransportation + 7 54.8 cm 29.4 cm 20 cm 303 keV 0 eV 20.6 cm 2.68 m TrackerTransportation + 8 67.4 cm 36.2 cm 80 cm 303 keV 0 eV 61.7 cm 3.29 m ChamberTransportation + 9 71.6 cm 38.4 cm 1 m 303 keV 0 eV 20.6 cm 3.5 m TrackerTransportation + 10 84.2 cm 45.2 cm 1.6 m 303 keV 0 eV 61.7 cm 4.12 m ChamberTransportation + 11 88.4 cm 47.5 cm 1.8 m 303 keV 0 eV 20.6 cm 4.32 m TrackerTransportation + 12 1.01 m 54.2 cm 2.4 m 303 keV 0 eV 61.7 cm 4.94 m WorldPVTransportation + 13 1.12 m 60 cm 2.91 m 303 keV 0 eV 52.4 cm 5.46 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 456, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 198 mum 427 mum -2.4 m 724 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 718 mum 175 mum -2.4 m 724 keV 0 eV 4.2 mm 4.2 mm TrackerTransportation + 2 10.1 cm -4.82 cm -1.6 m 724 keV 0 eV 80.8 cm 81.2 cm ChamberTransportation + 3 12.6 cm -6.04 cm -1.4 m 724 keV 0 eV 20.2 cm 1.01 m TrackerTransportation + 4 20 cm -9.67 cm -80 cm 724 keV 0 eV 60.6 cm 1.62 m ChamberTransportation + 5 22.5 cm -10.9 cm -60 cm 724 keV 0 eV 20.2 cm 1.82 m TrackerTransportation + 6 30 cm -14.5 cm 0 fm 724 keV 0 eV 60.6 cm 2.43 m ChamberTransportation + 7 32.5 cm -15.7 cm 20 cm 724 keV 0 eV 20.2 cm 2.63 m TrackerTransportation + 8 40 cm -19.4 cm 80 cm 724 keV 0 eV 60.6 cm 3.23 m ChamberTransportation + 9 42.5 cm -20.6 cm 1 m 724 keV 0 eV 20.2 cm 3.44 m TrackerTransportation + 10 50 cm -24.2 cm 1.6 m 724 keV 0 eV 60.6 cm 4.04 m ChamberTransportation + 11 52.5 cm -25.4 cm 1.8 m 724 keV 0 eV 20.2 cm 4.24 m TrackerTransportation + 12 60 cm -29 cm 2.4 m 724 keV 0 eV 60.6 cm 4.85 m WorldPVTransportation + 13 66.3 cm -32.1 cm 2.91 m 724 keV 0 eV 51.5 cm 5.37 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 455, Parent ID = 454 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.3 mum 513 mum -2.41 m 23.5 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 269 mum 1.5 mm -2.4 m 0 eV 0 eV 4.84 mm 4.84 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 469, Parent ID = 455 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum 1.5 mm -2.4 m 9.77 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 514 mum 1.7 mm -2.4 m 7.58 MeV 2.2 MeV 1.76 mm 1.76 mm TargetPV eIoni + 2 557 mum 1.72 mm -2.4 m 5.44 MeV 48.1 keV 48.5 mum 1.81 mm TargetPV eBrem + 3 681 mum 1.78 mm -2.4 m 4.8 MeV 195 keV 207 mum 2.02 mm TargetPV eBrem + 4 741 mum 1.77 mm -2.4 m 4.72 MeV 81.4 keV 73.7 mum 2.09 mm TrackerTransportation + 5 13.9 cm 878 mum -2.34 m 4.66 MeV 28.8 keV 15.1 cm 15.3 cm Tracker eIoni + 6 1.9 m -11.7 cm -1.23 m 4.28 MeV 369 keV 2.11 m 2.26 m Tracker eIoni + 7 2.15 m -10.7 cm -1.01 m 4.21 MeV 64.5 keV 33.2 cm 2.59 m Tracker eIoni + 8 2.4 m -9.05 cm -80.9 cm 4.16 MeV 47.3 keV 32.1 cm 2.91 m WorldPVTransportation + 9 2.91 m -6.52 cm -27.5 cm 4.03 MeV 127 keV 74.4 cm 3.66 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.15 m -10.7 cm -1.01 m 8.45 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.15 m -10.6 cm -1.01 m 7.15 keV 1.3 keV 647 mum 647 mum Tracker eIoni + 2 2.15 m -10.7 cm -1.01 m 5.49 keV 1.66 keV 555 mum 1.2 mm Tracker eIoni + 3 2.15 m -10.7 cm -1.01 m 4.42 keV 1.07 keV 447 mum 1.65 mm Tracker eIoni + 4 2.15 m -10.7 cm -1.01 m 3.08 keV 1.34 keV 380 mum 2.03 mm Tracker eIoni + 5 2.15 m -10.6 cm -1.01 m 834 eV 2.25 keV 284 mum 2.31 mm Tracker eIoni + 6 2.15 m -10.6 cm -1.01 m 0 eV 834 eV 48.9 mum 2.36 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 473, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.9 m -11.7 cm -1.23 m 11.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.9 m -11.8 cm -1.23 m 10.6 keV 1.1 keV 917 mum 917 mum Tracker eIoni + 2 1.9 m -11.9 cm -1.23 m 9.26 keV 1.34 keV 821 mum 1.74 mm Tracker eIoni + 3 1.9 m -11.9 cm -1.23 m 4.53 keV 4.73 keV 710 mum 2.45 mm Tracker eIoni + 4 1.9 m -11.9 cm -1.23 m 1.85 keV 2.68 keV 387 mum 2.84 mm Tracker eIoni + 5 1.9 m -11.9 cm -1.23 m 0 eV 1.85 keV 144 mum 2.98 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 472, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.9 cm 878 mum -2.34 m 24.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 14 cm 2.9 mm -2.34 m 22.6 keV 2.33 keV 2.62 mm 2.62 mm Tracker eIoni + 2 14 cm 5.07 mm -2.34 m 20.8 keV 1.72 keV 2.26 mm 4.87 mm Tracker eIoni + 3 14.1 cm 6.22 mm -2.34 m 16.6 keV 4.29 keV 1.99 mm 6.86 mm Tracker eIoni + 4 14.2 cm 7.58 mm -2.34 m 12.7 keV 3.88 keV 1.43 mm 8.29 mm Tracker eIoni + 5 14.1 cm 7.68 mm -2.34 m 11.3 keV 1.36 keV 1.01 mm 9.3 mm Tracker eIoni + 6 14.1 cm 8.38 mm -2.34 m 10.3 keV 1.04 keV 884 mum 1.02 cm Tracker eIoni + 7 14.1 cm 8.89 mm -2.34 m 7.71 keV 2.57 keV 792 mum 1.1 cm Tracker eIoni + 8 14.2 cm 8.69 mm -2.34 m 6.54 keV 1.16 keV 594 mum 1.16 cm Tracker eIoni + 9 14.2 cm 8.24 mm -2.34 m 5.4 keV 1.15 keV 515 mum 1.21 cm Tracker eIoni + 10 14.2 cm 7.91 mm -2.34 m 3.95 keV 1.44 keV 442 mum 1.25 cm Tracker eIoni + 11 14.2 cm 7.72 mm -2.34 m 1.95 keV 2 keV 349 mum 1.29 cm Tracker eIoni + 12 14.2 cm 7.69 mm -2.34 m 0 eV 1.95 keV 157 mum 1.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 471, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 681 mum 1.78 mm -2.4 m 449 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 764 mum 1.79 mm -2.4 m 449 keV 0 eV 91.7 mum 91.7 mum TrackerTransportation + 2 2.4 m 23.8 cm -1.3 m 449 keV 0 eV 2.65 m 2.65 m WorldPVTransportation + 3 2.91 m 28.8 cm -1.07 m 449 keV 0 eV 56.3 cm 3.21 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 470, Parent ID = 469 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 557 mum 1.72 mm -2.4 m 2.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 824 mum 1.8 mm -2.4 m 2.09 MeV 0 eV 336 mum 336 mum TrackerTransportation + 2 2.4 m 77.9 cm -76 cm 2.09 MeV 0 eV 3.01 m 3.01 m WorldPVTransportation + 3 2.91 m 94.4 cm -41.1 cm 2.09 MeV 0 eV 64 cm 3.65 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 468, Parent ID = 455 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 269 mum 1.5 mm -2.4 m 12.7 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 330 mum 1.58 mm -2.4 m 11.9 MeV 411 keV 261 mum 261 mum TargetPV eBrem + 2 338 mum 1.39 mm -2.4 m 9.19 MeV 640 keV 580 mum 840 mum TargetPV eBrem + 3 7.39 mum 637 mum -2.4 m 6.48 MeV 2.71 MeV 1.56 mm 2.4 mm TrackerTransportation + 4 66.6 cm -43.7 cm -2.19 m 6.33 MeV 141 keV 82.5 cm 82.7 cm Tracker eIoni + 5 70.8 cm -46.2 cm -2.16 m 6.3 MeV 7.11 keV 6.2 cm 88.9 cm Tracker eIoni + 6 1.28 m -82.7 cm -1.58 m 6.14 MeV 158 keV 89.4 cm 1.78 m Tracker eIoni + 7 1.65 m -1.03 m -1.21 m 6.03 MeV 99.7 keV 55.8 cm 2.34 m Tracker eIoni + 8 2.37 m -1.45 m -56.3 cm 5.82 MeV 187 keV 1.06 m 3.4 m Tracker eIoni + 9 2.4 m -1.47 m -53 cm 5.81 MeV 7.33 keV 5.37 cm 3.45 m WorldPVTransportation + 10 2.91 m -1.86 m -1.33 cm 5.66 MeV 148 keV 82.4 cm 4.28 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 481, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.37 m -1.45 m -56.3 cm 23.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.36 m -1.45 m -56.2 cm 20.8 keV 2.65 keV 2.39 mm 2.39 mm Tracker eIoni + 2 2.36 m -1.45 m -56 cm 19 keV 1.8 keV 1.98 mm 4.37 mm Tracker eIoni + 3 2.36 m -1.45 m -55.9 cm 17 keV 2 keV 1.74 mm 6.11 mm Tracker eIoni + 4 2.36 m -1.45 m -55.8 cm 15 keV 1.98 keV 1.48 mm 7.59 mm Tracker eIoni + 5 2.36 m -1.45 m -55.7 cm 12 keV 2.99 keV 1.25 mm 8.84 mm Tracker eIoni + 6 2.36 m -1.45 m -55.6 cm 9.38 keV 2.62 keV 943 mum 9.78 mm Tracker eIoni + 7 2.36 m -1.45 m -55.6 cm 7.84 keV 1.54 keV 720 mum 1.05 cm Tracker eIoni + 8 2.36 m -1.45 m -55.5 cm 7.17 keV 673 eV 604 mum 1.11 cm Tracker eIoni + 9 2.36 m -1.45 m -55.5 cm 5.7 keV 1.47 keV 557 mum 1.17 cm Tracker eIoni + 10 2.36 m -1.45 m -55.5 cm 4.92 keV 781 eV 460 mum 1.21 cm Tracker eIoni + 11 2.36 m -1.45 m -55.5 cm 3.16 keV 1.76 keV 412 mum 1.25 cm Tracker eIoni + 12 2.36 m -1.45 m -55.5 cm 2.08 keV 1.08 keV 291 mum 1.28 cm Tracker eIoni + 13 2.36 m -1.45 m -55.5 cm 0 eV 2.08 keV 174 mum 1.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 480, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.65 m -1.03 m -1.21 m 8.16 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.65 m -1.03 m -1.21 m 5.94 keV 2.22 keV 625 mum 625 mum Tracker eIoni + 2 1.65 m -1.03 m -1.21 m 4.43 keV 1.51 keV 475 mum 1.1 mm Tracker eIoni + 3 1.65 m -1.03 m -1.21 m 2.64 keV 1.79 keV 381 mum 1.48 mm Tracker eIoni + 4 1.65 m -1.03 m -1.21 m 1.28 keV 1.35 keV 242 mum 1.72 mm Tracker eIoni + 5 1.65 m -1.03 m -1.21 m 0 eV 1.28 keV 85.4 mum 1.81 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 479, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.28 m -82.7 cm -1.58 m 8.67 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.28 m -82.7 cm -1.58 m 6.28 keV 2.38 keV 664 mum 664 mum Tracker eIoni + 2 1.28 m -82.6 cm -1.58 m 4.49 keV 1.79 keV 498 mum 1.16 mm Tracker eIoni + 3 1.28 m -82.6 cm -1.58 m 2.28 keV 2.21 keV 384 mum 1.55 mm Tracker eIoni + 4 1.28 m -82.6 cm -1.58 m 0 eV 2.28 keV 198 mum 1.74 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 478, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 70.8 cm -46.2 cm -2.16 m 15.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 70.9 cm -46.2 cm -2.16 m 14.2 keV 1.48 keV 1.33 mm 1.33 mm Tracker eIoni + 2 71 cm -46.2 cm -2.16 m 12.9 keV 1.3 keV 1.17 mm 2.5 mm Tracker eIoni + 3 71.1 cm -46.2 cm -2.16 m 10.3 keV 2.59 keV 1.04 mm 3.53 mm Tracker eIoni + 4 71.1 cm -46.2 cm -2.16 m 8.41 keV 1.92 keV 797 mum 4.33 mm Tracker eIoni + 5 71.2 cm -46.2 cm -2.16 m 6.78 keV 1.64 keV 644 mum 4.97 mm Tracker eIoni + 6 71.2 cm -46.2 cm -2.16 m 5.93 keV 842 eV 530 mum 5.5 mm Tracker eIoni + 7 71.2 cm -46.1 cm -2.16 m 4.62 keV 1.31 keV 475 mum 5.98 mm Tracker eIoni + 8 71.2 cm -46.1 cm -2.16 m 3.14 keV 1.48 keV 393 mum 6.37 mm Tracker eIoni + 9 71.2 cm -46.1 cm -2.16 m 2.27 keV 870 eV 289 mum 6.66 mm Tracker eIoni + 10 71.2 cm -46.1 cm -2.16 m 0 eV 2.27 keV 197 mum 6.86 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 477, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.6 cm -43.7 cm -2.19 m 8.75 keV 0 eV 0 fm 0 fm Tracker initStep + 1 66.6 cm -43.7 cm -2.19 m 6.29 keV 2.45 keV 670 mum 670 mum Tracker eIoni + 2 66.6 cm -43.6 cm -2.19 m 5 keV 1.29 keV 499 mum 1.17 mm Tracker eIoni + 3 66.6 cm -43.6 cm -2.19 m 3.68 keV 1.33 keV 417 mum 1.59 mm Tracker eIoni + 4 66.6 cm -43.6 cm -2.19 m 1.92 keV 1.75 keV 330 mum 1.92 mm Tracker eIoni + 5 66.6 cm -43.6 cm -2.19 m 0 eV 1.92 keV 153 mum 2.07 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 476, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 338 mum 1.39 mm -2.4 m 2.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 22.2 mum 634 mum -2.4 m 2.04 MeV 0 eV 1.16 mm 1.16 mm TrackerTransportation + 2 -99.9 cm -2.4 m 21.2 cm 2.04 MeV 0 eV 3.69 m 3.69 m WorldPVTransportation + 3 -1.21 m -2.91 m 76.7 cm 2.04 MeV 0 eV 78.3 cm 4.47 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 475, Parent ID = 468 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 330 mum 1.58 mm -2.4 m 396 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 579 mum 1.45 mm -2.4 m 396 keV 0 eV 1.39 mm 1.39 mm TrackerTransportation + 2 14.7 cm -7.76 cm -1.6 m 396 keV 0 eV 81.7 cm 81.9 cm ChamberTransportation + 3 18.4 cm -9.73 cm -1.4 m 396 keV 0 eV 20.4 cm 1.02 m TrackerTransportation + 4 29.4 cm -15.7 cm -80 cm 396 keV 0 eV 61.3 cm 1.64 m ChamberTransportation + 5 33.1 cm -17.6 cm -60 cm 396 keV 0 eV 20.4 cm 1.84 m TrackerTransportation + 6 44.1 cm -23.6 cm 0 fm 396 keV 0 eV 61.3 cm 2.45 m ChamberTransportation + 7 47.8 cm -25.5 cm 20 cm 396 keV 0 eV 20.4 cm 2.66 m TrackerTransportation + 8 58.8 cm -31.5 cm 80 cm 396 keV 0 eV 61.3 cm 3.27 m ChamberTransportation + 9 62.5 cm -33.4 cm 1 m 396 keV 0 eV 20.4 cm 3.47 m TrackerTransportation + 10 73.5 cm -39.4 cm 1.6 m 396 keV 0 eV 61.3 cm 4.09 m ChamberTransportation + 11 77.1 cm -41.3 cm 1.8 m 396 keV 0 eV 20.4 cm 4.29 m TrackerTransportation + 12 88.1 cm -47.3 cm 2.4 m 396 keV 0 eV 61.3 cm 4.9 m WorldPVTransportation + 13 97.5 cm -52.3 cm 2.91 m 396 keV 0 eV 52.1 cm 5.43 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 453, Parent ID = 385 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 502 mum -2.41 m 149 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -42.3 mum 503 mum -2.41 m 147 MeV 31.8 keV 27.9 mum 27.9 mum TargetPV eBrem + 2 -73.2 mum 565 mum -2.41 m 130 MeV 16 MeV 887 mum 915 mum TargetPV eBrem + 3 -107 mum 543 mum -2.4 m 119 MeV 1.06 MeV 829 mum 1.74 mm TargetPV eBrem + 4 -95 mum 534 mum -2.4 m 78.3 MeV 1.84 MeV 1.12 mm 2.86 mm TargetPV eBrem + 5 -94.6 mum 535 mum -2.4 m 76.3 MeV 6.29 keV 4.9 mum 2.86 mm TargetPV eBrem + 6 -5.08 mum 604 mum -2.4 m 67.5 MeV 1.22 MeV 721 mum 3.59 mm TargetPV eBrem + 7 -26.8 mum 566 mum -2.4 m 61.8 MeV 2.12 MeV 1.43 mm 5.01 mm TargetPV eBrem + 8 -86 mum 585 mum -2.4 m 49.9 MeV 6.74 MeV 1.3 mm 6.31 mm TargetPV eBrem + 9 -30.4 mum 724 mum -2.4 m 49.3 MeV 572 keV 457 mum 6.77 mm TrackerTransportation + 10 15.4 cm 36.5 cm -1.46 m 49.1 MeV 226 keV 1.02 m 1.02 m Tracker eIoni + 11 15.5 cm 36.7 cm -1.46 m 49.1 MeV 601 eV 5.57 mm 1.03 m Tracker eIoni + 12 25.4 cm 58 cm -90 cm 48.9 MeV 130 keV 60.6 cm 1.63 m Tracker eIoni + 13 26.3 cm 60 cm -84.6 cm 48.9 MeV 10.6 keV 5.85 cm 1.69 m Tracker eIoni + 14 27 cm 61.7 cm -80 cm 48.9 MeV 13.9 keV 4.94 cm 1.74 m ChamberTransportation + 15 29.4 cm 67.2 cm -65.1 cm 48.8 MeV 119 keV 16.1 cm 1.9 m TrackerTransportation + 16 37.7 cm 86.8 cm 0 fm 48.6 MeV 146 keV 68.5 cm 2.59 m ChamberTransportation + 17 40.2 cm 92.9 cm 20 cm 48.4 MeV 146 keV 21.1 cm 2.8 m TrackerTransportation + 18 42.1 cm 98.1 cm 35.9 cm 48.4 MeV 39.5 keV 16.8 cm 2.97 m Tracker eIoni + 19 47.4 cm 1.13 m 80 cm 48.3 MeV 99.7 keV 46.9 cm 3.44 m ChamberTransportation + 20 50 cm 1.2 m 1 m 48.1 MeV 143 keV 21.4 cm 3.65 m TrackerTransportation + 21 56.9 cm 1.41 m 1.6 m 48 MeV 140 keV 64 cm 4.29 m ChamberTransportation + 22 59 cm 1.48 m 1.8 m 47.8 MeV 130 keV 21.2 cm 4.5 m TrackerTransportation + 23 61.1 cm 1.72 m 2.4 m 47.7 MeV 141 keV 64.7 cm 5.15 m WorldPVTransportation + 24 61.9 cm 1.82 m 2.65 m 47.6 MeV 57 keV 27.2 cm 5.42 m WorldPV eIoni + 25 62.9 cm 1.93 m 2.91 m 47.5 MeV 68.3 keV 27.9 cm 5.7 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 499, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.9 cm 1.82 m 2.65 m 25.6 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 62.1 cm 1.82 m 2.65 m 22.4 keV 3.18 keV 2.74 mm 2.74 mm WorldPV eIoni + 2 62.3 cm 1.82 m 2.65 m 20.1 keV 2.29 keV 2.23 mm 4.97 mm WorldPV eIoni + 3 62.5 cm 1.82 m 2.66 m 18.8 keV 1.35 keV 1.89 mm 6.86 mm WorldPV eIoni + 4 62.6 cm 1.82 m 2.65 m 17.5 keV 1.24 keV 1.71 mm 8.57 mm WorldPV eIoni + 5 62.8 cm 1.82 m 2.66 m 16.1 keV 1.45 keV 1.55 mm 1.01 cm WorldPV eIoni + 6 62.8 cm 1.82 m 2.66 m 14.4 keV 1.68 keV 1.38 mm 1.15 cm WorldPV eIoni + 7 62.8 cm 1.82 m 2.66 m 11.8 keV 2.55 keV 1.18 mm 1.27 cm WorldPV eIoni + 8 62.7 cm 1.82 m 2.65 m 8.98 keV 2.87 keV 929 mum 1.36 cm WorldPV eIoni + 9 62.7 cm 1.82 m 2.65 m 7.59 keV 1.38 keV 688 mum 1.43 cm WorldPV eIoni + 10 62.7 cm 1.82 m 2.65 m 5.48 keV 2.11 keV 586 mum 1.49 cm WorldPV eIoni + 11 62.7 cm 1.82 m 2.65 m 1.72 keV 3.76 keV 447 mum 1.53 cm WorldPV eIoni + 12 62.7 cm 1.82 m 2.65 m 0 eV 1.72 keV 130 mum 1.55 cm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 498, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.7 cm 1.47 m 1.77 m 22.2 keV 0 eV 0 fm 0 fm Chamber initStep + 1 58.7 cm 1.47 m 1.77 m 17.6 keV 4.56 keV 1.17 mm 1.17 mm Chamber eIoni + 2 58.6 cm 1.47 m 1.77 m 13.8 keV 3.89 keV 894 mum 2.06 mm Chamber eIoni + 3 58.6 cm 1.47 m 1.77 m 12 keV 1.79 keV 697 mum 2.76 mm Chamber eIoni + 4 58.6 cm 1.47 m 1.77 m 8.58 keV 3.39 keV 614 mum 3.37 mm Chamber eIoni + 5 58.6 cm 1.47 m 1.77 m 6.22 keV 2.37 keV 474 mum 3.85 mm Chamber eIoni + 6 58.6 cm 1.47 m 1.77 m 4.98 keV 1.24 keV 381 mum 4.23 mm Chamber eIoni + 7 58.6 cm 1.47 m 1.77 m 2.09 keV 2.89 keV 327 mum 4.55 mm Chamber eIoni + 8 58.6 cm 1.47 m 1.77 m 0 eV 2.09 keV 125 mum 4.68 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 497, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.5 cm 1.13 m 81.4 cm 14.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 47.5 cm 1.13 m 81.4 cm 12.6 keV 1.71 keV 723 mum 723 mum Chamber eIoni + 2 47.5 cm 1.13 m 81.4 cm 10.1 keV 2.56 keV 644 mum 1.37 mm Chamber eIoni + 3 47.5 cm 1.13 m 81.4 cm 6.93 keV 3.13 keV 533 mum 1.9 mm Chamber eIoni + 4 47.5 cm 1.13 m 81.4 cm 4.43 keV 2.5 keV 409 mum 2.31 mm Chamber eIoni + 5 47.5 cm 1.13 m 81.4 cm 1.87 keV 2.56 keV 301 mum 2.61 mm Chamber eIoni + 6 47.5 cm 1.13 m 81.4 cm 0 eV 1.87 keV 107 mum 2.72 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 496, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 42.1 cm 98.1 cm 35.9 cm 12.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 42.2 cm 98 cm 35.9 cm 9.86 keV 2.32 keV 961 mum 961 mum Tracker eIoni + 2 42.2 cm 98 cm 35.9 cm 8.38 keV 1.48 keV 757 mum 1.72 mm Tracker eIoni + 3 42.3 cm 98 cm 36 cm 6.44 keV 1.94 keV 641 mum 2.36 mm Tracker eIoni + 4 42.3 cm 98.1 cm 36 cm 4.87 keV 1.57 keV 508 mum 2.87 mm Tracker eIoni + 5 42.3 cm 98.1 cm 36 cm 3.81 keV 1.06 keV 408 mum 3.28 mm Tracker eIoni + 6 42.3 cm 98.1 cm 36 cm 2.12 keV 1.69 keV 339 mum 3.61 mm Tracker eIoni + 7 42.3 cm 98.1 cm 36 cm 0 eV 2.12 keV 178 mum 3.79 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 495, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 39.8 cm 91.9 cm 16.7 cm 37.6 keV 0 eV 0 fm 0 fm Chamber initStep + 1 39.9 cm 91.8 cm 16.7 cm 28.7 keV 8.88 keV 2.35 mm 2.35 mm Chamber eIoni + 2 39.9 cm 91.8 cm 16.8 cm 23.8 keV 4.96 keV 1.62 mm 3.97 mm Chamber eIoni + 3 39.8 cm 91.8 cm 16.7 cm 19.1 keV 4.74 keV 1.27 mm 5.24 mm Chamber eIoni + 4 39.8 cm 91.8 cm 16.8 cm 14.2 keV 4.83 keV 975 mum 6.21 mm Chamber eIoni + 5 39.8 cm 91.7 cm 16.8 cm 9.85 keV 4.37 keV 718 mum 6.93 mm Chamber eIoni + 6 39.8 cm 91.7 cm 16.8 cm 8.75 keV 1.09 keV 525 mum 7.45 mm Chamber eIoni + 7 39.8 cm 91.7 cm 16.7 cm 7.62 keV 1.14 keV 481 mum 7.94 mm Chamber eIoni + 8 39.8 cm 91.7 cm 16.8 cm 5.66 keV 1.95 keV 436 mum 8.37 mm Chamber eIoni + 9 39.8 cm 91.7 cm 16.8 cm 2.73 keV 2.93 keV 357 mum 8.73 mm Chamber eIoni + 10 39.8 cm 91.7 cm 16.8 cm 0 eV 2.73 keV 180 mum 8.91 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 494, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.2 cm 66.8 cm -66.2 cm 11.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 29.2 cm 66.8 cm -66.1 cm 8.07 keV 3.01 keV 577 mum 577 mum Chamber eIoni + 2 29.2 cm 66.8 cm -66.1 cm 5.45 keV 2.62 keV 454 mum 1.03 mm Chamber eIoni + 3 29.2 cm 66.8 cm -66.2 cm 3.19 keV 2.26 keV 349 mum 1.38 mm Chamber eIoni + 4 29.2 cm 66.8 cm -66.2 cm 0 eV 3.19 keV 222 mum 1.6 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 493, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.3 cm 60 cm -84.6 cm 29.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 26.4 cm 60.3 cm -84.7 cm 27.5 keV 2.38 keV 3.51 mm 3.51 mm Tracker eIoni + 2 26.7 cm 60.4 cm -84.8 cm 23.9 keV 3.54 keV 3.08 mm 6.58 mm Tracker eIoni + 3 26.9 cm 60.5 cm -84.8 cm 21.8 keV 2.08 keV 2.47 mm 9.05 mm Tracker eIoni + 4 27 cm 60.7 cm -84.9 cm 19.2 keV 2.66 keV 2.14 mm 1.12 cm Tracker eIoni + 5 27.1 cm 60.8 cm -84.9 cm 17.9 keV 1.27 keV 1.77 mm 1.3 cm Tracker eIoni + 6 27.1 cm 60.9 cm -85 cm 12.9 keV 5.02 keV 1.6 mm 1.46 cm Tracker eIoni + 7 27.1 cm 60.9 cm -85.1 cm 9.9 keV 3 keV 1.03 mm 1.56 cm Tracker eIoni + 8 27 cm 60.9 cm -85.1 cm 7.15 keV 2.74 keV 759 mum 1.63 cm Tracker eIoni + 9 27 cm 60.9 cm -85.2 cm 6.04 keV 1.11 keV 555 mum 1.69 cm Tracker eIoni + 10 27 cm 60.9 cm -85.2 cm 4.14 keV 1.9 keV 482 mum 1.74 cm Tracker eIoni + 11 27 cm 60.9 cm -85.2 cm 1.32 keV 2.83 keV 362 mum 1.77 cm Tracker eIoni + 12 27 cm 60.9 cm -85.2 cm 0 eV 1.32 keV 88.3 mum 1.78 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 492, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.4 cm 58 cm -90 cm 9.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 25.4 cm 58 cm -90 cm 6.8 keV 2.6 keV 721 mum 721 mum Tracker eIoni + 2 25.4 cm 57.9 cm -89.9 cm 4.86 keV 1.94 keV 531 mum 1.25 mm Tracker eIoni + 3 25.4 cm 58 cm -90 cm 3.92 keV 949 eV 408 mum 1.66 mm Tracker eIoni + 4 25.4 cm 58 cm -90 cm 2.2 keV 1.71 keV 346 mum 2.01 mm Tracker eIoni + 5 25.4 cm 58 cm -90 cm 0 eV 2.2 keV 188 mum 2.19 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 491, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.5 cm 36.7 cm -1.46 m 10.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 15.4 cm 36.8 cm -1.46 m 6.57 keV 3.52 keV 775 mum 775 mum Tracker eIoni + 2 15.4 cm 36.8 cm -1.46 m 1.69 keV 4.88 keV 517 mum 1.29 mm Tracker eIoni + 3 15.4 cm 36.8 cm -1.46 m 0 eV 1.69 keV 127 mum 1.42 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 490, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.4 cm 36.5 cm -1.46 m 12.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 15.4 cm 36.4 cm -1.46 m 10.9 keV 1.64 keV 999 mum 999 mum Tracker eIoni + 2 15.4 cm 36.4 cm -1.46 m 8.9 keV 2.02 keV 848 mum 1.85 mm Tracker eIoni + 3 15.4 cm 36.4 cm -1.46 m 7.85 keV 1.05 keV 682 mum 2.53 mm Tracker eIoni + 4 15.3 cm 36.4 cm -1.46 m 5.79 keV 2.06 keV 604 mum 3.13 mm Tracker eIoni + 5 15.3 cm 36.3 cm -1.46 m 4.04 keV 1.75 keV 466 mum 3.6 mm Tracker eIoni + 6 15.3 cm 36.4 cm -1.46 m 1.48 keV 2.56 keV 355 mum 3.95 mm Tracker eIoni + 7 15.3 cm 36.3 cm -1.46 m 0 eV 1.48 keV 105 mum 4.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 489, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -86 mum 585 mum -2.4 m 5.14 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -78.5 mum 601 mum -2.4 m 0 eV 0 eV 54.3 mum 54.3 mum TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 501, Parent ID = 489 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.5 mum 601 mum -2.4 m 1.24 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 3.73 mum 652 mum -2.4 m 0 eV 1.24 MeV 470 mum 470 mum TargetPV eIoni + 2 3.73 mum 652 mum -2.4 m 0 eV 0 eV 0 fm 470 mum TargetPV annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 503, Parent ID = 501 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.73 mum 652 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 2.69 mm -119 mum -2.41 m 510 keV 1.19 keV 5.72 mm 5.72 mm TargetPV compt + 2 3.01 mm -204 mum -2.41 m 403 keV 107 keV 606 mum 6.33 mm TargetPV compt + 3 2.99 mm -158 mum -2.41 m 0 eV 403 keV 200 mum 6.53 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 502, Parent ID = 501 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.73 mum 652 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -145 mum 695 mum -2.4 m 511 keV 0 eV 318 mum 318 mum TrackerTransportation + 2 -2.4 m 69 cm 2.06 m 511 keV 0 eV 5.11 m 5.11 m WorldPVTransportation + 3 -2.86 m 82.1 cm 2.91 m 511 keV 0 eV 97.2 cm 6.09 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 500, Parent ID = 489 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.5 mum 601 mum -2.4 m 2.87 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -142 mum 555 mum -2.4 m 888 keV 770 keV 574 mum 574 mum TargetPV eBrem + 2 -116 mum 585 mum -2.4 m 474 keV 415 keV 388 mum 962 mum TargetPV eIoni + 3 -117 mum 599 mum -2.4 m 0 eV 474 keV 257 mum 1.22 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 504, Parent ID = 500 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -142 mum 555 mum -2.4 m 1.22 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -586 mum 1.59 mm -2.4 m 237 keV 979 keV 2.6 mm 2.6 mm TargetPV compt + 2 -757 mum 1.36 mm -2.4 m 127 keV 110 keV 372 mum 2.97 mm TargetPV compt + 3 -697 mum 1.38 mm -2.4 m 0 eV 127 keV 70.7 mum 3.04 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 488, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.8 mum 566 mum -2.4 m 3.55 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 10.8 mum 721 mum -2.4 m 3.55 MeV 0 eV 1.73 mm 1.73 mm TrackerTransportation + 2 1.74 cm 7.25 cm -1.6 m 3.55 MeV 0 eV 80.3 cm 80.5 cm ChamberTransportation + 3 2.18 cm 9.05 cm -1.4 m 3.55 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 3.49 cm 14.4 cm -80 cm 3.55 MeV 0 eV 60.3 cm 1.61 m ChamberTransportation + 5 3.92 cm 16.2 cm -60 cm 3.55 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 5.23 cm 21.6 cm 0 fm 3.55 MeV 0 eV 60.3 cm 2.41 m ChamberTransportation + 7 5.67 cm 23.4 cm 20 cm 3.55 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 6.97 cm 28.8 cm 80 cm 3.55 MeV 0 eV 60.3 cm 3.22 m ChamberTransportation + 9 7.41 cm 30.6 cm 1 m 3.55 MeV 0 eV 20.1 cm 3.42 m TrackerTransportation + 10 8.72 cm 36 cm 1.6 m 3.55 MeV 0 eV 60.3 cm 4.02 m ChamberTransportation + 11 9.15 cm 37.8 cm 1.8 m 3.55 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 10.5 cm 43.2 cm 2.4 m 3.55 MeV 0 eV 60.3 cm 4.82 m WorldPVTransportation + 13 11.6 cm 47.7 cm 2.91 m 3.55 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 487, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.08 mum 604 mum -2.4 m 7.65 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 64.2 mum 797 mum -2.4 m 7.65 MeV 0 eV 3.15 mm 3.15 mm TrackerTransportation + 2 1.77 cm 4.99 cm -1.6 m 7.65 MeV 0 eV 80.2 cm 80.5 cm ChamberTransportation + 3 2.21 cm 6.21 cm -1.4 m 7.65 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 3.53 cm 9.89 cm -80 cm 7.65 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 3.97 cm 11.1 cm -60 cm 7.65 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 5.29 cm 14.8 cm 0 fm 7.65 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 5.74 cm 16 cm 20 cm 7.65 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 7.06 cm 19.7 cm 80 cm 7.65 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 7.5 cm 20.9 cm 1 m 7.65 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 8.82 cm 24.6 cm 1.6 m 7.65 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 9.26 cm 25.8 cm 1.8 m 7.65 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 10.6 cm 29.5 cm 2.4 m 7.65 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 11.7 cm 32.7 cm 2.91 m 7.65 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 486, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.6 mum 535 mum -2.4 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 173 mum 694 mum -2.4 m 1.93 MeV 0 eV 3.87 mm 3.87 mm TrackerTransportation + 2 5.56 cm 3.37 cm -1.6 m 1.93 MeV 0 eV 80.3 cm 80.6 cm ChamberTransportation + 3 6.95 cm 4.19 cm -1.4 m 1.93 MeV 0 eV 20.1 cm 1.01 m TrackerTransportation + 4 11.1 cm 6.66 cm -80 cm 1.93 MeV 0 eV 60.2 cm 1.61 m ChamberTransportation + 5 12.5 cm 7.49 cm -60 cm 1.93 MeV 0 eV 20.1 cm 1.81 m TrackerTransportation + 6 16.6 cm 9.96 cm 0.114 fm 1.93 MeV 0 eV 60.2 cm 2.41 m ChamberTransportation + 7 18 cm 10.8 cm 20 cm 1.93 MeV 0 eV 20.1 cm 2.61 m TrackerTransportation + 8 22.2 cm 13.3 cm 80 cm 1.93 MeV 0 eV 60.2 cm 3.21 m ChamberTransportation + 9 23.6 cm 14.1 cm 1 m 1.93 MeV 0 eV 20.1 cm 3.41 m TrackerTransportation + 10 27.7 cm 16.6 cm 1.6 m 1.93 MeV 0 eV 60.2 cm 4.02 m ChamberTransportation + 11 29.1 cm 17.4 cm 1.8 m 1.93 MeV 0 eV 20.1 cm 4.22 m TrackerTransportation + 12 33.3 cm 19.9 cm 2.4 m 1.93 MeV 0 eV 60.2 cm 4.82 m WorldPVTransportation + 13 36.8 cm 22 cm 2.91 m 1.93 MeV 0 eV 51.2 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 485, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -95 mum 534 mum -2.4 m 39.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 122 mum 707 mum -2.4 m 0 eV 0 eV 2.76 mm 2.76 mm TargetPV conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 506, Parent ID = 485 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 122 mum 707 mum -2.4 m 20.9 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 206 mum 775 mum -2.4 m 18.7 MeV 2.25 MeV 1.16 mm 1.16 mm TrackerTransportation + 2 -3.59 mm -204 mum -2.28 m 18.6 MeV 21 keV 12 cm 12.1 cm Tracker eIoni + 3 -2.44 cm -7.99 mm -1.6 m 18.5 MeV 131 keV 68.1 cm 80.2 cm ChamberTransportation + 4 -2.23 cm -1.38 cm -1.4 m 18.3 MeV 166 keV 20.1 cm 1 m TrackerTransportation + 5 4.06 cm -4.64 cm -80 cm 18.2 MeV 120 keV 60.4 cm 1.61 m ChamberTransportation + 6 6.35 cm -5.47 cm -60 cm 18.1 MeV 95 keV 20.2 cm 1.81 m TrackerTransportation + 7 8.79 cm -2.63 cm 0 fm 17.9 MeV 123 keV 60.1 cm 2.41 m ChamberTransportation + 8 9.41 cm -1.8 cm 20 cm 17.8 MeV 130 keV 20.1 cm 2.61 m TrackerTransportation + 9 11.2 cm -1.53 cm 44.6 cm 17.7 MeV 52.6 keV 24.7 cm 2.86 m Tracker eIoni + 10 13.9 cm -2.64 cm 80 cm 17.6 MeV 60.3 keV 35.5 cm 3.21 m ChamberTransportation + 11 14.3 cm -2.74 cm 91.1 cm 17.5 MeV 83.2 keV 11.2 cm 3.33 m Chamber eIoni + 12 15.1 cm -2.9 cm 97.2 cm 17.3 MeV 39.5 keV 6.14 cm 3.39 m Chamber eIoni + 13 15.5 cm -2.89 cm 1 m 17.3 MeV 10.3 keV 2.8 cm 3.41 m TrackerTransportation + 14 22.1 cm -1.49 cm 1.6 m 17.2 MeV 118 keV 60.4 cm 4.02 m ChamberTransportation + 15 24.3 cm -7.13 mm 1.8 m 17.1 MeV 88.5 keV 20.2 cm 4.22 m TrackerTransportation + 16 25.4 cm -6.41 mm 1.95 m 17 MeV 27.1 keV 15.2 cm 4.37 m Tracker eIoni + 17 28 cm 4.1 mm 2.4 m 16.9 MeV 88.3 keV 44.9 cm 4.82 m WorldPVTransportation + 18 30.9 cm 2.32 cm 2.91 m 16.8 MeV 99.9 keV 51.1 cm 5.33 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 515, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.4 cm -6.41 mm 1.95 m 22.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 25.3 cm -7.44 mm 1.95 m 17.8 keV 4.42 keV 2.2 mm 2.2 mm Tracker eIoni + 2 25.1 cm -7.58 mm 1.95 m 15.7 keV 2.08 keV 1.58 mm 3.79 mm Tracker eIoni + 3 25.1 cm -8.79 mm 1.95 m 10.6 keV 5.13 keV 1.34 mm 5.12 mm Tracker eIoni + 4 25.1 cm -9.61 mm 1.95 m 5.11 keV 5.49 keV 820 mum 5.94 mm Tracker eIoni + 5 25.1 cm -9.53 mm 1.95 m 841 eV 4.27 keV 424 mum 6.37 mm Tracker eIoni + 6 25.1 cm -9.53 mm 1.95 m 0 eV 841 eV 49.3 mum 6.41 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 514, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.3 cm -1.08 cm 1.7 m 14.7 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23.3 cm -1.11 cm 1.71 m 5.34 keV 5.78 keV 708 mum 708 mum Chamber eBrem + 2 23.3 cm -1.12 cm 1.7 m 3.27 keV 2.07 keV 344 mum 1.05 mm Chamber eIoni + 3 23.3 cm -1.12 cm 1.7 m 190 eV 3.08 keV 228 mum 1.28 mm Chamber eIoni + 4 23.3 cm -1.12 cm 1.7 m 0 eV 190 eV 10.6 mum 1.29 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 516, Parent ID = 514 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.3 cm -1.11 cm 1.71 m 3.56 keV 0 eV 0 fm 0 fm Chamber initStep + 1 23.3 cm -8.02 mm 1.7 m 0 eV 3.56 keV 3.72 mm 3.72 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 513, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.1 cm -2.9 cm 97.2 cm 109 keV 0 eV 0 fm 0 fm Chamber initStep + 1 15.4 cm -3.7 cm 97.4 cm 99.8 keV 9.71 keV 1.22 cm 1.22 cm Chamber eIoni + 2 16 cm -3.33 cm 97 cm 84.4 keV 15.3 keV 1.06 cm 2.28 cm Chamber eIoni + 3 16 cm -3.84 cm 96.7 cm 75.1 keV 9.35 keV 8.1 mm 3.09 cm Chamber eIoni + 4 16 cm -4.28 cm 96.9 cm 66.4 keV 8.65 keV 6.7 mm 3.76 cm Chamber eIoni + 5 16 cm -4.65 cm 96.7 cm 59.1 keV 7.35 keV 5.55 mm 4.32 cm Chamber eIoni + 6 16.1 cm -4.9 cm 96.5 cm 55 keV 4.1 keV 4.63 mm 4.78 cm Chamber eIoni + 7 16.2 cm -5.15 cm 96.6 cm 48.9 keV 6.05 keV 4.14 mm 5.19 cm Chamber eIoni + 8 16.3 cm -5.08 cm 96.8 cm 41.7 keV 7.17 keV 3.47 mm 5.54 cm Chamber eIoni + 9 16.4 cm -5 cm 96.7 cm 37 keV 4.77 keV 2.73 mm 5.81 cm Chamber eIoni + 10 16.5 cm -4.85 cm 96.6 cm 34 keV 2.96 keV 2.29 mm 6.04 cm Chamber eIoni + 11 16.4 cm -4.97 cm 96.5 cm 29.6 keV 4.37 keV 2.04 mm 6.25 cm Chamber eIoni + 12 16.5 cm -5.07 cm 96.5 cm 26.5 keV 3.12 keV 1.68 mm 6.41 cm Chamber eIoni + 13 16.5 cm -5.14 cm 96.5 cm 23.2 keV 3.29 keV 1.46 mm 6.56 cm Chamber eIoni + 14 16.5 cm -5.14 cm 96.6 cm 16.7 keV 6.51 keV 1.23 mm 6.68 cm Chamber eIoni + 15 16.5 cm -5.1 cm 96.5 cm 13.3 keV 3.38 keV 846 mum 6.77 cm Chamber eIoni + 16 16.5 cm -5.09 cm 96.5 cm 9.56 keV 3.78 keV 678 mum 6.83 cm Chamber eIoni + 17 16.5 cm -5.06 cm 96.5 cm 7.72 keV 1.84 keV 513 mum 6.89 cm Chamber eIoni + 18 16.5 cm -5.06 cm 96.5 cm 4.12 keV 3.61 keV 441 mum 6.93 cm Chamber eIoni + 19 16.5 cm -5.06 cm 96.5 cm 256 eV 3.86 keV 284 mum 6.96 cm Chamber eIoni + 20 16.5 cm -5.06 cm 96.5 cm 0 eV 256 eV 12.5 mum 6.96 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 512, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.3 cm -2.74 cm 91.1 cm 95.8 keV 0 eV 0 fm 0 fm Chamber initStep + 1 13.9 cm -3.16 cm 91.5 cm 63.4 keV 32.4 keV 9.91 mm 9.91 mm Chamber eIoni + 2 13.9 cm -2.97 cm 91.9 cm 55.3 keV 8.1 keV 5.15 mm 1.51 cm Chamber eIoni + 3 13.9 cm -2.7 cm 91.7 cm 50 keV 5.35 keV 4.18 mm 1.92 cm Chamber eIoni + 4 13.9 cm -2.56 cm 91.5 cm 35.3 keV 14.6 keV 3.58 mm 2.28 cm Chamber eIoni + 5 13.9 cm -2.43 cm 91.6 cm 30.1 keV 5.24 keV 2.15 mm 2.5 cm Chamber eIoni + 6 13.9 cm -2.51 cm 91.5 cm 9.74 keV 20.3 keV 1.72 mm 2.67 cm Chamber eIoni + 7 13.9 cm -2.49 cm 91.6 cm 8.33 keV 1.42 keV 521 mum 2.72 cm Chamber eIoni + 8 13.9 cm -2.46 cm 91.6 cm 6.91 keV 1.42 keV 463 mum 2.77 cm Chamber eIoni + 9 13.9 cm -2.45 cm 91.6 cm 5.46 keV 1.44 keV 408 mum 2.81 cm Chamber eIoni + 10 13.9 cm -2.45 cm 91.6 cm 832 eV 4.63 keV 349 mum 2.84 cm Chamber eIoni + 11 13.9 cm -2.45 cm 91.6 cm 0 eV 832 eV 37.1 mum 2.85 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 511, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.2 cm -1.53 cm 44.6 cm 51.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 11.8 cm -9.11 mm 44.6 cm 40.5 keV 10.8 keV 8.79 mm 8.79 mm Tracker eIoni + 2 12.2 cm -7.62 mm 45.1 cm 37.4 keV 3.19 keV 5.88 mm 1.47 cm Tracker eIoni + 3 12.3 cm -3.35 mm 45.2 cm 33.1 keV 4.21 keV 5.11 mm 1.98 cm Tracker eIoni + 4 12.4 cm -1.17 mm 45.6 cm 30.9 keV 2.26 keV 4.19 mm 2.4 cm Tracker eIoni + 5 12.3 cm 1.83 mm 45.7 cm 27.9 keV 3.03 keV 3.71 mm 2.77 cm Tracker eIoni + 6 12.2 cm 4.41 mm 45.8 cm 24.7 keV 3.16 keV 3.15 mm 3.08 cm Tracker eIoni + 7 12.2 cm 6.72 mm 45.9 cm 22.2 keV 2.47 keV 2.59 mm 3.34 cm Tracker eIoni + 8 12.2 cm 8.26 mm 46 cm 18.7 keV 3.49 keV 2.2 mm 3.56 cm Tracker eIoni + 9 12.1 cm 9.41 mm 46 cm 12.8 keV 5.99 keV 1.71 mm 3.73 cm Tracker eIoni + 10 12.1 cm 1.01 cm 45.9 cm 11.4 keV 1.32 keV 1.02 mm 3.83 cm Tracker eIoni + 11 12 cm 9.7 mm 45.9 cm 8.85 keV 2.58 keV 893 mum 3.92 cm Tracker eIoni + 12 12 cm 1.03 cm 46 cm 6.66 keV 2.19 keV 678 mum 3.99 cm Tracker eIoni + 13 12.1 cm 1.07 cm 46 cm 4.26 keV 2.4 keV 522 mum 4.04 cm Tracker eIoni + 14 12 cm 1.07 cm 45.9 cm 2.08 keV 2.18 keV 370 mum 4.08 cm Tracker eIoni + 15 12 cm 1.08 cm 45.9 cm 0 eV 2.08 keV 173 mum 4.1 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 510, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.84 cm -2.57 cm 1.42 cm 12.3 keV 0 eV 0 fm 0 fm Chamber initStep + 1 8.8 cm -2.58 cm 1.4 cm 9.92 keV 2.33 keV 627 mum 627 mum Chamber eIoni + 2 8.8 cm -2.6 cm 1.4 cm 0 eV 9.92 keV 528 mum 1.15 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 509, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.12 cm -5.39 cm -61.9 cm 18 keV 0 eV 0 fm 0 fm Chamber initStep + 1 6.08 cm -5.43 cm -61.9 cm 17.3 keV 648 eV 913 mum 913 mum Chamber eIoni + 2 6.05 cm -5.44 cm -62 cm 16.4 keV 953 eV 876 mum 1.79 mm Chamber eIoni + 3 6.04 cm -5.42 cm -62 cm 12.7 keV 3.63 keV 827 mum 2.62 mm Chamber eIoni + 4 6.03 cm -5.41 cm -62.1 cm 11 keV 1.73 keV 650 mum 3.27 mm Chamber eIoni + 5 6.04 cm -5.42 cm -62 cm 7.98 keV 3.02 keV 574 mum 3.84 mm Chamber eIoni + 6 6.06 cm -5.43 cm -62 cm 3.56 keV 4.43 keV 451 mum 4.29 mm Chamber eIoni + 7 6.06 cm -5.42 cm -62 cm 786 eV 2.77 keV 249 mum 4.54 mm Chamber eIoni + 8 6.06 cm -5.42 cm -62 cm 0 eV 786 eV 34.7 mum 4.57 mm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 508, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.27 cm -1.26 cm -1.44 m 9.83 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -2.27 cm -1.28 cm -1.44 m 0 eV 9.83 keV 524 mum 524 mum Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 507, Parent ID = 506 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.59 mm -204 mum -2.28 m 22.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -5.2 mm 1.18 mm -2.28 m 17.3 keV 5.01 keV 2.22 mm 2.22 mm Tracker eIoni + 2 -5.61 mm 2.54 mm -2.28 m 14.3 keV 3.04 keV 1.52 mm 3.74 mm Tracker eIoni + 3 -6.53 mm 2.63 mm -2.28 m 12.3 keV 1.93 keV 1.17 mm 4.91 mm Tracker eIoni + 4 -7.2 mm 2.37 mm -2.28 m 10.8 keV 1.56 keV 977 mum 5.88 mm Tracker eIoni + 5 -7.91 mm 2.4 mm -2.28 m 9.77 keV 1.01 keV 836 mum 6.72 mm Tracker eIoni + 6 -8.28 mm 1.81 mm -2.28 m 7.43 keV 2.34 keV 749 mum 7.47 mm Tracker eIoni + 7 -8.53 mm 1.43 mm -2.28 m 4.57 keV 2.86 keV 575 mum 8.04 mm Tracker eIoni + 8 -8.38 mm 1.48 mm -2.28 m 2.84 keV 1.73 keV 389 mum 8.43 mm Tracker eIoni + 9 -8.33 mm 1.67 mm -2.28 m 902 eV 1.94 keV 262 mum 8.7 mm Tracker eIoni + 10 -8.34 mm 1.68 mm -2.28 m 0 eV 902 eV 53.6 mum 8.75 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 505, Parent ID = 485 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 122 mum 707 mum -2.4 m 17.3 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 115 mum 657 mum -2.4 m 10.9 MeV 563 keV 505 mum 505 mum TargetPV eBrem + 2 114 mum 657 mum -2.4 m 9.83 MeV 151 eV 4.49 mum 509 mum TargetPV eBrem + 3 220 mum 663 mum -2.4 m 8.84 MeV 629 keV 550 mum 1.06 mm TargetPV eBrem + 4 250 mum 721 mum -2.4 m 8.69 MeV 146 keV 133 mum 1.19 mm TrackerTransportation + 5 9.67 mm 5.96 cm -2.29 m 8.65 MeV 24.4 keV 12.3 cm 12.5 cm Tracker eIoni + 6 7.2 cm 48.5 cm -1.34 m 8.44 MeV 200 keV 1.05 m 1.17 m Tracker eIoni + 7 20.7 cm 84 cm -57.7 cm 8.27 MeV 159 keV 85 cm 2.02 m Tracker eIoni + 8 24.7 cm 93.3 cm -40.3 cm 8.21 MeV 45.9 keV 20.2 cm 2.23 m Tracker eIoni + 9 26.2 cm 96.5 cm -34.5 cm 8.19 MeV 10.9 keV 6.8 cm 2.29 m Tracker eIoni + 10 48.2 cm 1.39 m 44.2 cm 7.99 MeV 165 keV 92.3 cm 3.22 m Tracker eIoni + 11 59.5 cm 1.56 m 74.2 cm 7.91 MeV 76.9 keV 36.2 cm 3.58 m Tracker eIoni + 12 70.7 cm 1.79 m 1.09 m 7.82 MeV 76.5 keV 43.1 cm 4.01 m Tracker eIoni + 13 97 cm 2.4 m 1.9 m 7.63 MeV 188 keV 1.06 m 5.07 m WorldPVTransportation + 14 1.21 m 2.8 m 2.73 m 7.44 MeV 174 keV 94.9 cm 6.01 m WorldPV eIoni + 15 1.27 m 2.88 m 2.88 m 7.4 MeV 28.4 keV 17.6 cm 6.19 m WorldPV eIoni + 16 1.28 m 2.89 m 2.91 m 7.39 MeV 7.77 keV 3.96 cm 6.23 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 529, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.27 m 2.88 m 2.88 m 8.38 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 1.27 m 2.88 m 2.88 m 6.9 keV 1.48 keV 641 mum 641 mum WorldPV eIoni + 2 1.27 m 2.88 m 2.88 m 5.16 keV 1.74 keV 537 mum 1.18 mm WorldPV eIoni + 3 1.27 m 2.88 m 2.88 m 2.97 keV 2.19 keV 427 mum 1.61 mm WorldPV eIoni + 4 1.27 m 2.88 m 2.88 m 357 eV 2.61 keV 274 mum 1.88 mm WorldPV eIoni + 5 1.27 m 2.88 m 2.88 m 0 eV 357 eV 20.6 mum 1.9 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 528, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.21 m 2.8 m 2.73 m 24 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 1.21 m 2.81 m 2.72 m 21.5 keV 2.49 keV 2.48 mm 2.48 mm WorldPV eIoni + 2 1.21 m 2.81 m 2.72 m 17.6 keV 3.9 keV 2.1 mm 4.58 mm WorldPV eIoni + 3 1.21 m 2.81 m 2.72 m 13.8 keV 3.81 keV 1.56 mm 6.14 mm WorldPV eIoni + 4 1.21 m 2.81 m 2.72 m 12.2 keV 1.66 keV 1.13 mm 7.26 mm WorldPV eIoni + 5 1.21 m 2.81 m 2.72 m 7.83 keV 4.33 keV 960 mum 8.22 mm WorldPV eIoni + 6 1.21 m 2.81 m 2.72 m 0 eV 7.83 keV 603 mum 8.83 mm WorldPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 527, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 70.7 cm 1.79 m 1.09 m 10.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 70.8 cm 1.79 m 1.09 m 7.09 keV 3.07 keV 781 mum 781 mum Tracker eIoni + 2 70.8 cm 1.79 m 1.09 m 5.1 keV 1.99 keV 551 mum 1.33 mm Tracker eIoni + 3 70.8 cm 1.79 m 1.09 m 4.01 keV 1.09 keV 423 mum 1.75 mm Tracker eIoni + 4 70.8 cm 1.79 m 1.09 m 1.82 keV 2.19 keV 353 mum 2.11 mm Tracker eIoni + 5 70.8 cm 1.79 m 1.09 m 0 eV 1.82 keV 141 mum 2.25 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 526, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 59.5 cm 1.56 m 74.2 cm 8.29 keV 0 eV 0 fm 0 fm Tracker initStep + 1 59.5 cm 1.56 m 74.2 cm 6.09 keV 2.2 keV 635 mum 635 mum Tracker eIoni + 2 59.5 cm 1.56 m 74.2 cm 3.84 keV 2.25 keV 486 mum 1.12 mm Tracker eIoni + 3 59.5 cm 1.56 m 74.3 cm 1.22 keV 2.62 keV 341 mum 1.46 mm Tracker eIoni + 4 59.5 cm 1.56 m 74.3 cm 0 eV 1.22 keV 79.6 mum 1.54 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 525, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.2 cm 1.39 m 44.2 cm 26.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 48.3 cm 1.39 m 44.3 cm 22.8 keV 4.04 keV 2.96 mm 2.96 mm Tracker eIoni + 2 48.4 cm 1.39 m 44.4 cm 19.5 keV 3.31 keV 2.29 mm 5.25 mm Tracker eIoni + 3 48.5 cm 1.38 m 44.4 cm 16.9 keV 2.54 keV 1.8 mm 7.05 mm Tracker eIoni + 4 48.4 cm 1.38 m 44.3 cm 11.3 keV 5.62 keV 1.47 mm 8.52 mm Tracker eIoni + 5 48.5 cm 1.38 m 44.3 cm 9.68 keV 1.63 keV 882 mum 9.4 mm Tracker eIoni + 6 48.5 cm 1.38 m 44.3 cm 6.87 keV 2.81 keV 742 mum 1.01 cm Tracker eIoni + 7 48.4 cm 1.38 m 44.4 cm 3.91 keV 2.96 keV 535 mum 1.07 cm Tracker eIoni + 8 48.4 cm 1.38 m 44.4 cm 2.12 keV 1.79 keV 346 mum 1.1 cm Tracker eIoni + 9 48.4 cm 1.38 m 44.4 cm 0 eV 2.12 keV 178 mum 1.12 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 524, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.2 cm 96.5 cm -34.5 cm 13 keV 0 eV 0 fm 0 fm Tracker initStep + 1 26.2 cm 96.4 cm -34.4 cm 9.85 keV 3.18 keV 1.05 mm 1.05 mm Tracker eIoni + 2 26.2 cm 96.4 cm -34.4 cm 7.83 keV 2.03 keV 756 mum 1.8 mm Tracker eIoni + 3 26.1 cm 96.3 cm -34.4 cm 5.81 keV 2.01 keV 603 mum 2.41 mm Tracker eIoni + 4 26.1 cm 96.3 cm -34.3 cm 4.53 keV 1.29 keV 467 mum 2.87 mm Tracker eIoni + 5 26.1 cm 96.3 cm -34.3 cm 3.12 keV 1.41 keV 387 mum 3.26 mm Tracker eIoni + 6 26.1 cm 96.3 cm -34.3 cm 1.53 keV 1.59 keV 287 mum 3.55 mm Tracker eIoni + 7 26.1 cm 96.3 cm -34.3 cm 0 eV 1.53 keV 109 mum 3.66 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 523, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.7 cm 93.3 cm -40.3 cm 16.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 24.8 cm 93.2 cm -40.3 cm 15.6 keV 968 eV 1.43 mm 1.43 mm Tracker eIoni + 2 24.9 cm 93.1 cm -40.2 cm 12.1 keV 3.5 keV 1.32 mm 2.74 mm Tracker eIoni + 3 24.9 cm 93.1 cm -40.2 cm 10.4 keV 1.68 keV 949 mum 3.69 mm Tracker eIoni + 4 24.9 cm 93 cm -40.2 cm 7.48 keV 2.9 keV 801 mum 4.5 mm Tracker eIoni + 5 24.9 cm 92.9 cm -40.1 cm 6.28 keV 1.2 keV 578 mum 5.07 mm Tracker eIoni + 6 24.9 cm 92.9 cm -40.1 cm 4.96 keV 1.32 keV 498 mum 5.57 mm Tracker eIoni + 7 24.9 cm 92.9 cm -40.2 cm 0 eV 4.96 keV 414 mum 5.99 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 522, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.7 cm 84 cm -57.7 cm 8.93 keV 0 eV 0 fm 0 fm Tracker initStep + 1 20.7 cm 84.1 cm -57.7 cm 6.84 keV 2.09 keV 684 mum 684 mum Tracker eIoni + 2 20.7 cm 84.1 cm -57.7 cm 5.84 keV 996 eV 533 mum 1.22 mm Tracker eIoni + 3 20.6 cm 84.1 cm -57.7 cm 4.65 keV 1.19 keV 469 mum 1.69 mm Tracker eIoni + 4 20.6 cm 84.1 cm -57.8 cm 3.46 keV 1.19 keV 394 mum 2.08 mm Tracker eIoni + 5 20.6 cm 84.1 cm -57.8 cm 2.42 keV 1.05 keV 314 mum 2.4 mm Tracker eIoni + 6 20.6 cm 84.1 cm -57.8 cm 0 eV 2.42 keV 217 mum 2.61 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 521, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.2 cm 48.5 cm -1.34 m 8.37 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.25 cm 48.5 cm -1.34 m 6.11 keV 2.26 keV 641 mum 641 mum Tracker eIoni + 2 7.26 cm 48.5 cm -1.34 m 4.11 keV 2 keV 487 mum 1.13 mm Tracker eIoni + 3 7.23 cm 48.5 cm -1.34 m 168 eV 3.94 keV 360 mum 1.49 mm Tracker eIoni + 4 7.23 cm 48.5 cm -1.34 m 0 eV 168 eV 13 mum 1.5 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 520, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.67 mm 5.96 cm -2.29 m 20.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.09 cm 5.85 cm -2.29 m 18.1 keV 2.59 keV 1.97 mm 1.97 mm Tracker eIoni + 2 1.18 cm 5.79 cm -2.29 m 15.6 keV 2.53 keV 1.62 mm 3.59 mm Tracker eIoni + 3 1.29 cm 5.84 cm -2.29 m 14.1 keV 1.51 keV 1.32 mm 4.91 mm Tracker eIoni + 4 1.33 cm 5.86 cm -2.29 m 11.5 keV 2.53 keV 1.15 mm 6.06 mm Tracker eIoni + 5 1.38 cm 5.83 cm -2.29 m 9.45 keV 2.08 keV 902 mum 6.96 mm Tracker eIoni + 6 1.43 cm 5.87 cm -2.29 m 6.28 keV 3.17 keV 725 mum 7.68 mm Tracker eIoni + 7 1.47 cm 5.87 cm -2.29 m 1.73 keV 4.55 keV 498 mum 8.18 mm Tracker eIoni + 8 1.47 cm 5.87 cm -2.29 m 0 eV 1.73 keV 131 mum 8.31 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 519, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 220 mum 663 mum -2.4 m 362 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 257 mum 725 mum -2.4 m 362 keV 0 eV 133 mum 133 mum TrackerTransportation + 2 1.42 m 2.4 m 1.93 m 362 keV 0 eV 5.15 m 5.15 m WorldPVTransportation + 3 1.73 m 2.91 m 2.85 m 362 keV 0 eV 1.1 m 6.25 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 518, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 114 mum 657 mum -2.4 m 1.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 104 mum 656 mum -2.4 m 1.09 MeV 0 eV 614 mum 614 mum TrackerTransportation + 2 -1.38 cm -1.12 mm -1.6 m 1.09 MeV 0 eV 80 cm 80.1 cm ChamberTransportation + 3 -1.72 cm -1.56 mm -1.4 m 1.09 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 -2.76 cm -2.9 mm -80 cm 1.09 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 -3.11 cm -3.34 mm -60 cm 1.09 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 -4.15 cm -4.67 mm 0.114 fm 1.09 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 -4.5 cm -5.11 mm 20 cm 1.09 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 -5.54 cm -6.45 mm 80 cm 1.09 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 -5.89 cm -6.89 mm 1 m 1.09 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 -6.93 cm -8.22 mm 1.6 m 1.09 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 -7.27 cm -8.66 mm 1.8 m 1.09 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 -8.32 cm -10 mm 2.4 m 1.09 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 -9.2 cm -1.11 cm 2.91 m 1.09 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 517, Parent ID = 505 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 115 mum 657 mum -2.4 m 5.86 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 120 mum 648 mum -2.4 m 5.86 MeV 0 eV 618 mum 618 mum TrackerTransportation + 2 7.46 mm -1.14 cm -1.6 m 5.86 MeV 0 eV 80 cm 80.1 cm ChamberTransportation + 3 9.3 mm -1.45 cm -1.4 m 5.86 MeV 0 eV 20 cm 1 m TrackerTransportation + 4 1.48 cm -2.35 cm -80 cm 5.86 MeV 0 eV 60 cm 1.6 m ChamberTransportation + 5 1.66 cm -2.66 cm -60 cm 5.86 MeV 0 eV 20 cm 1.8 m TrackerTransportation + 6 2.21 cm -3.56 cm 0 fm 5.86 MeV 0 eV 60 cm 2.4 m ChamberTransportation + 7 2.4 cm -3.87 cm 20 cm 5.86 MeV 0 eV 20 cm 2.6 m TrackerTransportation + 8 2.95 cm -4.77 cm 80 cm 5.86 MeV 0 eV 60 cm 3.2 m ChamberTransportation + 9 3.13 cm -5.08 cm 1 m 5.86 MeV 0 eV 20 cm 3.4 m TrackerTransportation + 10 3.68 cm -5.98 cm 1.6 m 5.86 MeV 0 eV 60 cm 4 m ChamberTransportation + 11 3.87 cm -6.28 cm 1.8 m 5.86 MeV 0 eV 20 cm 4.2 m TrackerTransportation + 12 4.42 cm -7.19 cm 2.4 m 5.86 MeV 0 eV 60 cm 4.8 m WorldPVTransportation + 13 4.88 cm -7.96 cm 2.91 m 5.86 MeV 0 eV 51 cm 5.31 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 484, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -107 mum 543 mum -2.4 m 9.78 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -120 mum 607 mum -2.4 m 3.68 MeV 0 eV 1.14 mm 1.14 mm TargetPV compt + 2 408 mum 2.48 mm -2.4 m 3.68 MeV 0 eV 4.3 mm 5.44 mm TrackerTransportation + 3 55.1 cm 1.95 m 1.6 m 3.68 MeV 0 eV 4.48 m 4.49 m ChamberTransportation + 4 55.5 cm 1.97 m 1.63 m 3.68 MeV 0 eV 3.42 cm 4.52 m TrackerTransportation + 5 66.1 cm 2.34 m 2.4 m 3.68 MeV 0 eV 86.3 cm 5.39 m WorldPVTransportation + 6 73.1 cm 2.59 m 2.91 m 3.68 MeV 0 eV 57.2 cm 5.96 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 530, Parent ID = 484 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -120 mum 607 mum -2.4 m 6.09 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -503 mum -61.8 mum -2.4 m 4.73 MeV 1.36 MeV 1.22 mm 1.22 mm TargetPV eIoni + 2 -207 mum 623 mum -2.4 m 3.01 MeV 1.06 MeV 949 mum 2.17 mm TargetPV eBrem + 3 -153 mum 312 mum -2.4 m 1.56 MeV 414 keV 388 mum 2.56 mm TargetPV eBrem + 4 -22.9 mum 324 mum -2.4 m 330 keV 145 keV 178 mum 2.73 mm TargetPV eBrem + 5 -16.6 mum 328 mum -2.4 m 0 eV 330 keV 166 mum 2.9 mm TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 533, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.9 mum 324 mum -2.4 m 1.08 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.61 mm 1.41 mm -2.4 m 0 eV 88 keV 3.48 mm 3.48 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 534, Parent ID = 533 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.61 mm 1.41 mm -2.4 m 995 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -1.74 mm 1.46 mm -2.4 m 538 keV 457 keV 412 mum 412 mum TargetPV eIoni + 2 -1.75 mm 1.48 mm -2.4 m 0 eV 538 keV 285 mum 697 mum TargetPV eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 532, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -153 mum 312 mum -2.4 m 1.04 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 8.42 mm 1.11 cm -2.4 m 889 keV 150 keV 1.39 cm 1.39 cm TargetPV compt + 2 9.73 mm 1.45 cm -2.4 m 889 keV 0 eV 3.99 mm 1.79 cm TrackerTransportation + 3 92 cm 2.4 m -1.31 m 889 keV 0 eV 2.78 m 2.8 m WorldPVTransportation + 4 1.11 m 2.91 m -1.07 m 889 keV 0 eV 59.4 cm 3.39 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 531, Parent ID = 530 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -207 mum 623 mum -2.4 m 660 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 1.52 mm -3.26 mm -2.4 m 660 keV 0 eV 5.33 mm 5.33 mm TrackerTransportation + 2 1.07 m -2.4 m -41 cm 660 keV 0 eV 3.29 m 3.3 m WorldPVTransportation + 3 1.29 m -2.91 m 1.3 cm 660 keV 0 eV 70.1 cm 4 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 483, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -73.2 mum 565 mum -2.41 m 845 keV 0 eV 0 fm 0 fm TargetPV initStep + 1 -228 mum 614 mum -2.4 m 268 keV 577 keV 4.87 mm 4.87 mm TargetPV compt + 2 -653 mum 751 mum -2.4 m 0 eV 268 keV 474 mum 5.34 mm TargetPV phot + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 482, Parent ID = 453 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -42.3 mum 503 mum -2.41 m 1.93 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -139 mum 818 mum -2.4 m 1.93 MeV 0 eV 6.7 mm 6.7 mm TrackerTransportation + 2 -1.17 cm 3.86 cm -1.6 m 1.93 MeV 0 eV 80.1 cm 80.8 cm ChamberTransportation + 3 -1.46 cm 4.8 cm -1.4 m 1.93 MeV 0 eV 20 cm 1.01 m TrackerTransportation + 4 -2.33 cm 7.63 cm -80 cm 1.93 MeV 0 eV 60.1 cm 1.61 m ChamberTransportation + 5 -2.62 cm 8.58 cm -60 cm 1.93 MeV 0 eV 20 cm 1.81 m TrackerTransportation + 6 -3.49 cm 11.4 cm 0 fm 1.93 MeV 0 eV 60.1 cm 2.41 m ChamberTransportation + 7 -3.78 cm 12.4 cm 20 cm 1.93 MeV 0 eV 20 cm 2.61 m TrackerTransportation + 8 -4.65 cm 15.2 cm 80 cm 1.93 MeV 0 eV 60.1 cm 3.21 m ChamberTransportation + 9 -4.94 cm 16.1 cm 1 m 1.93 MeV 0 eV 20 cm 3.41 m TrackerTransportation + 10 -5.81 cm 19 cm 1.6 m 1.93 MeV 0 eV 60.1 cm 4.01 m ChamberTransportation + 11 -6.1 cm 19.9 cm 1.8 m 1.93 MeV 0 eV 20 cm 4.21 m TrackerTransportation + 12 -6.97 cm 22.7 cm 2.4 m 1.93 MeV 0 eV 60.1 cm 4.81 m WorldPVTransportation + 13 -7.71 cm 25.1 cm 2.91 m 1.93 MeV 0 eV 51.1 cm 5.32 m OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 384, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.04 mum 8.08 mum -2.42 m 1.37 MeV 0 eV 0 fm 0 fm TargetPV initStep + 1 -50.1 mum 147 mum -2.42 m 1.31 MeV 57 keV 3.04 mm 3.04 mm TargetPV compt + 2 2.16 mm 1.53 mm -2.4 m 214 keV 1.1 MeV 1.41 cm 1.71 cm TargetPV compt + 3 2.13 mm 1.49 mm -2.4 m 0 eV 214 keV 364 mum 1.75 cm TargetPV phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.5 cm -17 nm 3.09 cm 6.34 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.54 cm 262 mum 3.09 cm 4.72 keV 1.63 keV 519 mum 519 mum Tracker eIoni - 2 -2.57 cm 543 mum 3.08 cm 3.15 keV 1.57 keV 406 mum 925 mum Tracker eIoni - 3 -2.58 cm 674 mum 3.09 cm 193 eV 2.95 keV 292 mum 1.22 mm Tracker eIoni - 4 -2.58 cm 676 mum 3.09 cm 0 eV 193 eV 14 mum 1.23 mm Tracker eIoni + 0 -3.88 Ang -8.52 Ang -2.9 m 9.39 keV 0 eV 0 fm 0 fm WorldPV initStep + 1 148 mum -670 mum -2.9 m 7.47 keV 1.93 keV 720 mum 720 mum WorldPV eIoni + 2 637 mum -680 mum -2.9 m 6.39 keV 1.07 keV 577 mum 1.3 mm WorldPV eIoni + 3 861 mum -614 mum -2.9 m 5.08 keV 1.32 keV 505 mum 1.8 mm WorldPV eIoni + 4 658 mum -355 mum -2.9 m 3.21 keV 1.87 keV 422 mum 2.22 mm WorldPV eIoni + 5 624 mum -181 mum -2.9 m 299 eV 2.91 keV 294 mum 2.52 mm WorldPV eIoni + 6 620 mum -186 mum -2.9 m 0 eV 299 eV 18 mum 2.54 mm WorldPV eIoni >>> Event 0 - 480 trajectories stored in this event. + 0 trajectories stored in this event. ### Run 2 start. >>> Event 0 - 93 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 1 - 174 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 2 - 144 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 3 - 329 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 4 - 84 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 5 - 158 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 6 - 89 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 7 - 96 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 8 - 114 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 9 - 98 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 10 - 106 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 11 - 110 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 12 - 191 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 13 - 119 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 14 - 102 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 15 - 75 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 16 - 393 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 17 - 209 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 18 - 169 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 19 - 204 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 20 - 109 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 21 - 103 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 22 - 107 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 23 - 215 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 24 - 92 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 25 - 85 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 26 - 100 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 27 - 103 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 28 - 76 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 29 - 168 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 30 - 133 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 31 - 204 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 32 - 84 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 33 - 83 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 34 - 132 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 35 - 105 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 36 - 213 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 37 - 247 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 38 - 96 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 39 - 94 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 40 - 122 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 41 - 135 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 42 - 92 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 43 - 240 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 44 - 240 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 45 - 90 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 46 - 105 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 47 - 111 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 48 - 79 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 49 - 93 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 50 - 224 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 51 - 114 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 52 - 89 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 53 - 140 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 54 - 99 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 55 - 388 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 56 - 110 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 57 - 89 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 58 - 93 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 59 - 171 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 60 - 112 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 61 - 97 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 62 - 133 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 63 - 179 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 64 - 69 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 65 - 96 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 66 - 79 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 67 - 94 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 68 - 232 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 69 - 153 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 70 - 119 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 71 - 253 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 72 - 285 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 73 - 262 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 74 - 252 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 75 - 100 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 76 - 116 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 77 - 103 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 78 - 106 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 79 - 155 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 80 - 89 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 81 - 82 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 82 - 148 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 83 - 125 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 84 - 118 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 85 - 119 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 86 - 76 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 87 - 79 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 88 - 95 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 89 - 194 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 90 - 104 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 91 - 157 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 92 - 120 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 93 - 88 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 94 - 99 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 95 - 247 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 96 - 236 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 97 - 107 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 98 - 123 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 99 - 108 trajectories stored in this event. + 0 trajectories stored in this event. ### Run 3 start. >>> Event 0 - 136 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 1 - 183 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 2 - 157 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 3 - 136 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 4 - 1187 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 5 - 1141 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 6 - 1495 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 7 - 128 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 8 - 138 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 9 - 626 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 10 - 693 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 11 - 388 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 12 - 206 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 13 - 366 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 14 - 142 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 15 - 104 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 16 - 278 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 17 - 106 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 18 - 226 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 19 - 263 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 20 - 181 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 21 - 168 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 22 - 176 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 23 - 97 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 24 - 254 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 25 - 383 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 26 - 224 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 27 - 302 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 28 - 227 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 29 - 135 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 30 - 105 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 31 - 230 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 32 - 134 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 33 - 108 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 34 - 560 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 35 - 150 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 36 - 96 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 37 - 801 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 38 - 299 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 39 - 172 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 40 - 121 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 41 - 822 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 42 - 115 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 43 - 156 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 44 - 488 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 45 - 119 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 46 - 1464 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 47 - 115 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 48 - 142 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 49 - 4512 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 50 - 258 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 51 - 476 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 52 - 135 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 53 - 326 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 54 - 598 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 55 - 263 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 56 - 177 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 57 - 1385 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 58 - 111 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 59 - 193 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 60 - 1933 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 61 - 492 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 62 - 157 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 63 - 229 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 64 - 264 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 65 - 107 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 66 - 121 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 67 - 2637 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 68 - 344 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 69 - 156 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 70 - 554 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 71 - 211 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 72 - 291 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 73 - 354 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 74 - 110 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 75 - 87 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 76 - 138 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 77 - 1020 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 78 - 470 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 79 - 836 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 80 - 137 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 81 - 253 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 82 - 133 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 83 - 143 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 84 - 242 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 85 - 626 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 86 - 124 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 87 - 278 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 88 - 238 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 89 - 250 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 90 - 115 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 91 - 316 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 92 - 146 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 93 - 177 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 94 - 739 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 95 - 251 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 96 - 167 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 97 - 164 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 98 - 353 trajectories stored in this event. + 0 trajectories stored in this event. >>> Event 99 - 221 trajectories stored in this event. + 0 trajectories stored in this event. diff --git a/examples/novice/N02/include/ExN02ChamberParameterisation.hh b/examples/novice/N02/include/ExN02ChamberParameterisation.hh index 16aa3928a2..75e35d79a0 100644 --- a/examples/novice/N02/include/ExN02ChamberParameterisation.hh +++ b/examples/novice/N02/include/ExN02ChamberParameterisation.hh @@ -5,44 +5,51 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02ChamberParameterisation.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02ChamberParameterisation.hh,v 1.3 2000/12/04 16:24:04 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // A parameterisation that describes a series of boxes along Z // The boxes have equal width, & their lengths are a linear equation. // They are spaced an equal distance apart, starting from given location. // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #ifndef ExN02ChamberParameterisation_H #define ExN02ChamberParameterisation_H 1 #include "globals.hh" #include "G4VPVParameterisation.hh" + class G4VPhysicalVolume; class G4Box; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02ChamberParameterisation : public G4VPVParameterisation { public: + ExN02ChamberParameterisation(G4int NoChambers, G4double startZ, G4double spacing, G4double widthChamber, G4double lengthInitial, G4double lengthFinal ); - ~ExN02ChamberParameterisation(); - void ComputeTransformation - (const G4int copyNo,G4VPhysicalVolume *physVol) const; - void ComputeDimensions - (G4Box & trackerLayer, const G4int copyNo, - const G4VPhysicalVolume * physVol) const; + + ~ExN02ChamberParameterisation(); + + void ComputeTransformation (const G4int copyNo, + G4VPhysicalVolume* physVol) const; + + void ComputeDimensions (G4Box & trackerLayer, const G4int copyNo, + const G4VPhysicalVolume* physVol) const; - // Functions to get the parameters would be nice. - // eg G4int GetNoChambers(); private: - G4int fNoChambers; // + G4int fNoChambers; G4double fStartZ; G4double fHalfWidth; // The half-width of each tracker chamber G4double fSpacing; // The distance between the chambers' center diff --git a/examples/novice/N02/include/ExN02DetectorConstruction.hh b/examples/novice/N02/include/ExN02DetectorConstruction.hh index e2cedbd642..f65d106fdb 100644 --- a/examples/novice/N02/include/ExN02DetectorConstruction.hh +++ b/examples/novice/N02/include/ExN02DetectorConstruction.hh @@ -5,17 +5,17 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02DetectorConstruction.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02DetectorConstruction.hh,v 1.3 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02DetectorConstruction_h #define ExN02DetectorConstruction_h 1 #include "globals.hh" #include "G4VUserDetectorConstruction.hh" -// class G4UniformMagField; #include "ExN02MagneticField.hh" class G4Box; @@ -24,53 +24,59 @@ class G4VPhysicalVolume; class G4Material; class ExN02DetectorMessenger; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02DetectorConstruction : public G4VUserDetectorConstruction { public: - ExN02DetectorConstruction(); + + ExN02DetectorConstruction(); ~ExN02DetectorConstruction(); public: G4VPhysicalVolume* Construct(); - const G4VPhysicalVolume* GetTracker() {return physiTracker;}; - G4double GetTargetFullLength() {return fTargetLength;}; - G4double GetWorldFullLength() {return fWorldLength;}; + const + G4VPhysicalVolume* GetTracker() {return physiTracker;}; + G4double GetTrackerFullLength() {return fTrackerLength;}; + G4double GetTargetFullLength() {return fTargetLength;}; + G4double GetWorldFullLength() {return fWorldLength;}; + + void setTargetMaterial (G4String); + void setChamberMaterial(G4String); + void SetMagField(G4double); - void SetDetectorLength(G4double length); - // void setMaterial(G4String val); - void SetMagField(G4double val); private: G4Box* solidWorld; //pointer to the solid enveloppe G4LogicalVolume* logicWorld; //pointer to the logical enveloppe G4VPhysicalVolume* physiWorld; //pointer to the physical enveloppe - G4double fullSizeWorld; //full size of the enveloppe - - G4Box* solidTracker; //pointer to the solid Tracker - G4LogicalVolume* logicTracker; //pointer to the logical Tracker - G4VPhysicalVolume* physiTracker; //pointer to the physical Tracker G4Box* solidTarget; //pointer to the solid Target G4LogicalVolume* logicTarget; //pointer to the logical Target G4VPhysicalVolume* physiTarget; //pointer to the physical Target + + G4Box* solidTracker; //pointer to the solid Tracker + G4LogicalVolume* logicTracker; //pointer to the logical Tracker + G4VPhysicalVolume* physiTracker; //pointer to the physical Tracker G4Box* solidChamber; //pointer to the solid Chamber G4LogicalVolume* logicChamber; //pointer to the logical Chamber G4VPhysicalVolume* physiChamber; //pointer to the physical Chamber - G4Material* myMaterial; //pointer to the material - ExN02MagneticField* fpMagField; //pointer to the mag field + G4Material* TargetMater; //pointer to the target material + G4Material* ChamberMater; //pointer to the chamber material + ExN02MagneticField* fpMagField; //pointer to the magnetic field - ExN02DetectorMessenger* detectorMessenger; //pointer to the Messenger object - G4double fWorldLength; // Full length of the world volume - // Sizes of pieces of the detector - G4double fDetectorLength; // Full length of the detector - - G4double fTrackerLength; // Full length of Tracker - G4double fTargetLength; // Full length of Target - + ExN02DetectorMessenger* detectorMessenger; //pointer to the Messenger + + G4double fWorldLength; // Full length of the world volume + G4double fTargetLength; // Full length of Target + G4double fTrackerLength; // Full length of Tracker + G4int NbOfChambers; // Nb of chambers in the tracker region + G4double ChamberWidth; // width of the chambers + G4double ChamberSpacing; // distance between chambers }; #endif diff --git a/examples/novice/N02/include/ExN02DetectorMessenger.hh b/examples/novice/N02/include/ExN02DetectorMessenger.hh index 57b6bd6136..719f462cc9 100644 --- a/examples/novice/N02/include/ExN02DetectorMessenger.hh +++ b/examples/novice/N02/include/ExN02DetectorMessenger.hh @@ -5,10 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02DetectorMessenger.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02DetectorMessenger.hh,v 1.3 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02DetectorMessenger_h #define ExN02DetectorMessenger_h 1 @@ -21,20 +22,22 @@ class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02DetectorMessenger: public G4UImessenger { public: - ExN02DetectorMessenger(ExN02DetectorConstruction * myDet); - ~ExN02DetectorMessenger(); + ExN02DetectorMessenger(ExN02DetectorConstruction*); + ~ExN02DetectorMessenger(); - void SetNewValue(G4UIcommand * command,G4String newValues); + void SetNewValue(G4UIcommand*, G4String); private: ExN02DetectorConstruction* myDetector; G4UIdirectory* mydetDir; - G4UIcmdWithAString* MatCmd; - G4UIcmdWithADoubleAndUnit* SizeCmd; + G4UIcmdWithAString* TargMatCmd; + G4UIcmdWithAString* ChamMatCmd; G4UIcmdWithADoubleAndUnit* FieldCmd; }; diff --git a/examples/novice/N02/include/ExN02EventAction.hh b/examples/novice/N02/include/ExN02EventAction.hh index aa1f7b1bf6..a805f78759 100644 --- a/examples/novice/N02/include/ExN02EventAction.hh +++ b/examples/novice/N02/include/ExN02EventAction.hh @@ -5,11 +5,12 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02EventAction.hh,v 1.3 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02EventAction.hh,v 1.4 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #ifndef ExN02EventAction_h #define ExN02EventAction_h 1 @@ -17,18 +18,17 @@ class G4Event; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02EventAction : public G4UserEventAction { public: ExN02EventAction(); - ~ExN02EventAction(); + ~ExN02EventAction(); public: void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); - - private: - }; #endif diff --git a/examples/novice/N02/include/ExN02MagneticField.hh b/examples/novice/N02/include/ExN02MagneticField.hh index 1f1158529d..4427226ac6 100644 --- a/examples/novice/N02/include/ExN02MagneticField.hh +++ b/examples/novice/N02/include/ExN02MagneticField.hh @@ -5,37 +5,39 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02MagneticField.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02MagneticField.hh,v 1.3 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // A class for control of the Magnetic Field of the detector. // The field is assumed to be uniform. // -// $ Id: $ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -// Should this be a: -// i) messenger -// ii) user class that creates the field ? -// iii) simply a derived class of Uniform field ? <== I have chosen this now. -// iv) a field manager that creates/updates field (Prefered?) #ifndef ExN02MagneticField_H #define ExN02MagneticField_H #include "G4UniformMagField.hh" + class G4FieldManager; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + + class ExN02MagneticField: public G4UniformMagField { public: - ExN02MagneticField(G4ThreeVector); // The value of the field - ExN02MagneticField(); // A zero field - ~ExN02MagneticField(); + + ExN02MagneticField(G4ThreeVector); // The value of the field + ExN02MagneticField(); // A zero field + ~ExN02MagneticField(); - // Set the field to (0, 0, fieldValue) - void SetFieldValue(G4ThreeVector fieldVector); - void SetFieldValue(G4double fieldValue); - G4ThreeVector GetConstantFieldValue(); + //Set the field (fieldValue,0,0) + void SetFieldValue(G4double fieldValue); + void SetFieldValue(G4ThreeVector fieldVector); + + G4ThreeVector GetConstantFieldValue(); protected: diff --git a/examples/novice/N02/include/ExN02PhysicsList.hh b/examples/novice/N02/include/ExN02PhysicsList.hh index 8fd4fc69b4..c7c89e48e1 100644 --- a/examples/novice/N02/include/ExN02PhysicsList.hh +++ b/examples/novice/N02/include/ExN02PhysicsList.hh @@ -5,85 +5,47 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02PhysicsList.hh,v 1.6 2000/02/29 12:01:52 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02PhysicsList.hh,v 1.7 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -// ------------------------------------------------------------ -// GEANT 4 class header file -// -// This class is a class derived from G4VUserPhysicsList -// for constructing all particles and processes. -// -// History -// first version 10 Jan. 1998 by H.Kurashige -// ------------------------------------------------------------ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #ifndef ExN02PhysicsList_h #define ExN02PhysicsList_h 1 #include "G4VUserPhysicsList.hh" #include "globals.hh" -class G4PhotoElectricEffect; -class G4ComptonScattering; -class G4GammaConversion; - -class G4MultipleScattering; - -class G4eIonisation; -class G4eBremsstrahlung; -class G4eplusAnnihilation; - -class G4MuIonisation; -class G4MuBremsstrahlung; -class G4MuPairProduction; - -class G4hIonisation; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class ExN02PhysicsList: public G4VUserPhysicsList { public: ExN02PhysicsList(); - virtual ~ExN02PhysicsList(); + ~ExN02PhysicsList(); protected: // Construct particle and physics - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - // - virtual void SetCuts(); + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); protected: // these methods Construct particles - virtual void ConstructBosons(); - virtual void ConstructLeptons(); - virtual void ConstructMesons(); - virtual void ConstructBaryons(); + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); protected: // these methods Construct physics processes and register them - virtual void ConstructGeneral(); - virtual void ConstructEM(); - - private: - - G4PhotoElectricEffect* thePhotoElectricEffect; - G4ComptonScattering* theComptonScattering; - G4GammaConversion* theGammaConversion; - - G4MultipleScattering* theeminusMultipleScattering; - G4eIonisation* theeminusIonisation; - G4eBremsstrahlung* theeminusBremsstrahlung; - - G4MultipleScattering* theeplusMultipleScattering; - G4eIonisation* theeplusIonisation; - G4eBremsstrahlung* theeplusBremsstrahlung; - G4eplusAnnihilation* theeplusAnnihilation; + void ConstructGeneral(); + void ConstructEM(); }; #endif - - + diff --git a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh index e376962069..3074987065 100644 --- a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh +++ b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh @@ -5,38 +5,35 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02PrimaryGeneratorAction.hh,v 1.3 2000/12/04 16:24:05 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #ifndef ExN02PrimaryGeneratorAction_h #define ExN02PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" class ExN02DetectorConstruction; class G4ParticleGun; class G4Event; -class ExN02PrimaryGeneratorMessenger; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - ExN02PrimaryGeneratorAction(ExN02DetectorConstruction* myDC); - ~ExN02PrimaryGeneratorAction(); + ExN02PrimaryGeneratorAction(ExN02DetectorConstruction*); + ~ExN02PrimaryGeneratorAction(); public: - void GeneratePrimaries(G4Event* anEvent); - void SetRndmFlag(G4String val) { rndmFlag = val;} + void GeneratePrimaries(G4Event*); private: G4ParticleGun* particleGun; ExN02DetectorConstruction* myDetector; - - ExN02PrimaryGeneratorMessenger* gunMessenger; - G4String rndmFlag; }; #endif diff --git a/examples/novice/N02/include/ExN02PrimaryGeneratorMessenger.hh b/examples/novice/N02/include/ExN02PrimaryGeneratorMessenger.hh deleted file mode 100644 index 9d55fa6eac..0000000000 --- a/examples/novice/N02/include/ExN02PrimaryGeneratorMessenger.hh +++ /dev/null @@ -1,37 +0,0 @@ -// 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: ExN02PrimaryGeneratorMessenger.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// - -#ifndef ExN02PrimaryGeneratorMessenger_h -#define ExN02PrimaryGeneratorMessenger_h 1 - -#include "globals.hh" -#include "G4UImessenger.hh" - -class ExN02PrimaryGeneratorAction; -class G4UIcmdWithAString; - -class ExN02PrimaryGeneratorMessenger: public G4UImessenger -{ - public: - ExN02PrimaryGeneratorMessenger(ExN02PrimaryGeneratorAction* myGun); - ~ExN02PrimaryGeneratorMessenger(); - - void SetNewValue(G4UIcommand * command,G4String newValues); - - private: - ExN02PrimaryGeneratorAction* myAction; - - G4UIcmdWithAString* RndmCmd; -}; - -#endif - diff --git a/examples/novice/N02/include/ExN02RunAction.hh b/examples/novice/N02/include/ExN02RunAction.hh index 94374df1e0..014a1fe0bc 100644 --- a/examples/novice/N02/include/ExN02RunAction.hh +++ b/examples/novice/N02/include/ExN02RunAction.hh @@ -5,10 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02RunAction.hh,v 1.3 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02RunAction.hh,v 1.4 2000/12/04 16:24:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02RunAction_h #define ExN02RunAction_h 1 @@ -16,20 +17,19 @@ #include "G4UserRunAction.hh" #include "globals.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class G4Run; class ExN02RunAction : public G4UserRunAction { public: ExN02RunAction(); - virtual ~ExN02RunAction(); + ~ExN02RunAction(); public: - virtual void BeginOfRunAction(const G4Run* aRun); - virtual void EndOfRunAction(const G4Run* aRun); - - private: - G4int runIDcounter; + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); }; #endif diff --git a/examples/novice/N02/include/ExN02SteppingAction.hh b/examples/novice/N02/include/ExN02SteppingAction.hh index b78ee40e20..182e85dbf0 100644 --- a/examples/novice/N02/include/ExN02SteppingAction.hh +++ b/examples/novice/N02/include/ExN02SteppingAction.hh @@ -5,31 +5,26 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02SteppingAction.hh,v 1.3 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02SteppingAction.hh,v 1.4 2000/12/04 16:24:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02SteppingAction_h #define ExN02SteppingAction_h 1 #include "G4UserSteppingAction.hh" -#include "globals.hh" -class ExN02DetectorConstruction; -class ExN02EventAction; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class ExN02SteppingAction : public G4UserSteppingAction { public: - ExN02SteppingAction(ExN02DetectorConstruction* myDC,ExN02EventAction* myEA); - virtual ~ExN02SteppingAction(){}; + ExN02SteppingAction(); + ~ExN02SteppingAction(){}; - virtual void UserSteppingAction(const G4Step*); - - private: - ExN02DetectorConstruction* myDetector; - ExN02EventAction* eventAction; + void UserSteppingAction(const G4Step*); }; #endif diff --git a/examples/novice/N02/include/ExN02SteppingVerbose.hh b/examples/novice/N02/include/ExN02SteppingVerbose.hh index edd68dda08..da33f808f9 100644 --- a/examples/novice/N02/include/ExN02SteppingVerbose.hh +++ b/examples/novice/N02/include/ExN02SteppingVerbose.hh @@ -5,19 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02SteppingVerbose.hh,v 1.3 2000/02/28 17:58:49 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02SteppingVerbose.hh,v 1.4 2000/12/04 16:24:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. // -// ExN02SteppingVerbose.hh -// -// Description: -// This class manages the vervose outputs in G4SteppingManager. -// It inherits from G4SteppingVerbose -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... class ExN02SteppingVerbose; @@ -26,16 +22,17 @@ class ExN02SteppingVerbose; #include "G4SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02SteppingVerbose : public G4SteppingVerbose { -public: -// Constructor/Destructor + +public: + ExN02SteppingVerbose(); ~ExN02SteppingVerbose(); -// + void StepInfo(); void TrackingStarted(); -// - }; diff --git a/examples/novice/N02/include/ExN02TrackerHit.hh b/examples/novice/N02/include/ExN02TrackerHit.hh index 77df4b1b73..60822a29e3 100644 --- a/examples/novice/N02/include/ExN02TrackerHit.hh +++ b/examples/novice/N02/include/ExN02TrackerHit.hh @@ -5,9 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02TrackerHit.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02TrackerHit.hh,v 1.3 2000/12/04 16:24:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02TrackerHit_h #define ExN02TrackerHit_h 1 @@ -17,43 +19,52 @@ #include "G4Allocator.hh" #include "G4ThreeVector.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02TrackerHit : public G4VHit { public: ExN02TrackerHit(); - ~ExN02TrackerHit(); - ExN02TrackerHit(const ExN02TrackerHit &right); - const ExN02TrackerHit& operator=(const ExN02TrackerHit &right); - int operator==(const ExN02TrackerHit &right) const; + ~ExN02TrackerHit(); + ExN02TrackerHit(const ExN02TrackerHit&); + const ExN02TrackerHit& operator=(const ExN02TrackerHit&); + int operator==(const ExN02TrackerHit&) const; - - inline void *operator new(size_t); - inline void operator delete(void *aHit); + inline void* operator new(size_t); + inline void operator delete(void*); void Draw(); void Print(); - private: - G4double edep; - G4ThreeVector pos; - public: - inline void SetEdep(G4double de) - { edep = de; }; - inline G4double GetEdep() - { return edep; }; - inline void SetPos(G4ThreeVector xyz) - { pos = xyz; }; - inline G4ThreeVector GetPos() - { return pos; }; - + + void SetTrackID (G4int track) { trackID = track; }; + void SetChamberNb(G4int chamb) { chamberNb = chamb; }; + void SetEdep (G4double de) { edep = de; }; + void SetPos (G4ThreeVector xyz){ pos = xyz; }; + + G4int GetTrackID() { return trackID; }; + G4int GetChamberNb() { return chamberNb; }; + G4double GetEdep() { return edep; }; + G4ThreeVector GetPos(){ return pos; }; + + private: + + G4int trackID; + G4int chamberNb; + G4double edep; + G4ThreeVector pos; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + typedef G4THitsCollection ExN02TrackerHitsCollection; extern G4Allocator ExN02TrackerHitAllocator; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + inline void* ExN02TrackerHit::operator new(size_t) { void *aHit; @@ -61,11 +72,15 @@ inline void* ExN02TrackerHit::operator new(size_t) return aHit; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + inline void ExN02TrackerHit::operator delete(void *aHit) { ExN02TrackerHitAllocator.FreeSingle((ExN02TrackerHit*) aHit); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #endif diff --git a/examples/novice/N02/include/ExN02TrackerSD.hh b/examples/novice/N02/include/ExN02TrackerSD.hh index d60a32adb1..6ce0148b5b 100644 --- a/examples/novice/N02/include/ExN02TrackerSD.hh +++ b/examples/novice/N02/include/ExN02TrackerSD.hh @@ -5,40 +5,38 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02TrackerSD.hh,v 1.2 1999/12/15 14:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02TrackerSD.hh,v 1.3 2000/12/04 16:24:06 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #ifndef ExN02TrackerSD_h #define ExN02TrackerSD_h 1 #include "G4VSensitiveDetector.hh" -#include "G4ThreeVector.hh" #include "ExN02TrackerHit.hh" + class G4Step; class G4HCofThisEvent; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + class ExN02TrackerSD : public G4VSensitiveDetector { public: - ExN02TrackerSD(G4String name); - ~ExN02TrackerSD(); + ExN02TrackerSD(G4String); + ~ExN02TrackerSD(); - void Initialize(G4HCofThisEvent*HCE); - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); - void EndOfEvent(G4HCofThisEvent*HCE); - void clear(); - void DrawAll(); - void PrintAll(); + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); private: - ExN02TrackerHitsCollection *trackerCollection; + ExN02TrackerHitsCollection* trackerCollection; }; - - - #endif diff --git a/examples/novice/N02/include/ExN02VisManager.hh b/examples/novice/N02/include/ExN02VisManager.hh index f443ee751d..c93dcec9d1 100644 --- a/examples/novice/N02/include/ExN02VisManager.hh +++ b/examples/novice/N02/include/ExN02VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN02VisManager.hh,v 1.3 1999/12/15 14:49:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N02/initInter.mac b/examples/novice/N02/initInter.mac new file mode 100644 index 0000000000..b4b4ceb608 --- /dev/null +++ b/examples/novice/N02/initInter.mac @@ -0,0 +1,29 @@ +# +# 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 +#/vis/open DAWNFILE +# +# draw scene +# +/vis/camera/zoom 1.4 +/vis/camera/viewpoint 90 180 +/vis/drawVolume +# +# for drawing the tracks +# (if too many tracks cause core dump => storeTrajectory 0) +/tracking/storeTrajectory 1 +/vis/scene/add/trajectories diff --git a/examples/novice/N02/prerun.g4mac b/examples/novice/N02/prerun.g4mac deleted file mode 100644 index 12f18c9b50..0000000000 --- a/examples/novice/N02/prerun.g4mac +++ /dev/null @@ -1,4 +0,0 @@ -/control/verbose 2 -/tracking/verbose 2 -/tracking/verbose 1 -/run/initialize diff --git a/examples/novice/N02/run1.mac b/examples/novice/N02/run1.mac new file mode 100644 index 0000000000..14da452afd --- /dev/null +++ b/examples/novice/N02/run1.mac @@ -0,0 +1,23 @@ +# $Id: run1.mac,v 1.1 2000/12/04 16:24:04 maire Exp $ +# +# Macro file for "exampleN02.cc" +# +# can be run in batch, without graphic +# or interactively: Idle> /control/execute run1.mac +# +/run/verbose 2 +/event/verbose 0 +# +# proton 3 GeV to the direction (0.,0.,1.) (default kinematic) +# 1 event with detailled printing +# +/tracking/verbose 1 +/run/beamOn 1 +# +# muon 300 MeV to the direction (0.,0.,1.) +# 3 events (no printing) +# +/gun/particle mu- +/gun/energy 300 MeV +/tracking/verbose 0 +/run/beamOn 3 diff --git a/examples/novice/N02/run2.mac b/examples/novice/N02/run2.mac new file mode 100644 index 0000000000..bc927df407 --- /dev/null +++ b/examples/novice/N02/run2.mac @@ -0,0 +1,23 @@ +# $Id: run2.mac,v 1.1 2000/12/04 16:24:04 maire Exp $ +# +# Macro file for "exampleN02.cc" +# +# can be run in batch, without graphic +# or interactively: Idle> /control/execute run2.mac +# +/run/verbose 2 +/event/verbose 0 +# +# proton 3 GeV to the direction (0.,0.,1.) (default kinematic) +# 1 event with detailled printing +# +/tracking/verbose 1 +/run/beamOn 1 +# +# set a magnetic field +# 1 events; print the hits +# +/mydet/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 36e7d53a8e..cb061a8aae 100644 --- a/examples/novice/N02/src/ExN02ChamberParameterisation.cc +++ b/examples/novice/N02/src/ExN02ChamberParameterisation.cc @@ -5,9 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02ChamberParameterisation.cc,v 1.2 1999/12/15 14:49:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02ChamberParameterisation.cc,v 1.3 2000/12/04 16:24:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02ChamberParameterisation.hh" @@ -15,6 +17,8 @@ #include "G4ThreeVector.hh" #include "G4Box.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02ChamberParameterisation::ExN02ChamberParameterisation( G4int NoChambers, G4double startZ, // Z of center of first @@ -23,14 +27,14 @@ ExN02ChamberParameterisation::ExN02ChamberParameterisation( G4double lengthInitial, G4double lengthFinal ) { - fNoChambers= NoChambers; - fStartZ= startZ; - fHalfWidth= widthChamber*0.5; - fSpacing= spacingZ; - fHalfLengthFirst= 0.5 * lengthInitial; - // fHalfLengthLast= lengthFinal; + fNoChambers = NoChambers; + fStartZ = startZ; + fHalfWidth = widthChamber*0.5; + fSpacing = spacingZ; + fHalfLengthFirst = 0.5 * lengthInitial; + // fHalfLengthLast = lengthFinal; if( NoChambers > 1 ){ - fHalfLengthIncr= 0.5 * (lengthFinal-lengthInitial)/(NoChambers-1); + fHalfLengthIncr = 0.5 * (lengthFinal-lengthInitial)/(NoChambers-1); if( spacingZ < widthChamber ) { G4Exception( "ExN02ChamberParameterisation construction: Width > Spacing" ); @@ -39,9 +43,13 @@ ExN02ChamberParameterisation::ExN02ChamberParameterisation( } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02ChamberParameterisation::~ExN02ChamberParameterisation() {} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02ChamberParameterisation::ComputeTransformation (const G4int copyNo,G4VPhysicalVolume *physVol) const { @@ -51,6 +59,8 @@ void ExN02ChamberParameterisation::ComputeTransformation physVol->SetRotation(0); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02ChamberParameterisation::ComputeDimensions (G4Box & trackerChamber, const G4int copyNo, const G4VPhysicalVolume * physVol) const @@ -60,3 +70,5 @@ void ExN02ChamberParameterisation::ComputeDimensions trackerChamber.SetYHalfLength(halfLength); trackerChamber.SetZHalfLength(fHalfWidth); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02DetectorConstruction.cc b/examples/novice/N02/src/ExN02DetectorConstruction.cc index ccffb2fc72..bbb9384e40 100644 --- a/examples/novice/N02/src/ExN02DetectorConstruction.cc +++ b/examples/novice/N02/src/ExN02DetectorConstruction.cc @@ -5,53 +5,57 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02DetectorConstruction.cc,v 1.4 2000/05/15 14:02:10 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02DetectorConstruction.cc,v 1.5 2000/12/04 16:24:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #include "ExN02DetectorConstruction.hh" #include "ExN02DetectorMessenger.hh" #include "ExN02ChamberParameterisation.hh" +#include "ExN02MagneticField.hh" +#include "ExN02TrackerSD.hh" #include "G4Material.hh" -#include "G4MaterialTable.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" -#include "G4GeometryManager.hh" -#include "ExN02MagneticField.hh" #include "G4PVParameterised.hh" -#include "G4FieldManager.hh" -#include "G4TransportationManager.hh" -///#include "G4UserLimits.hh" #include "G4SDManager.hh" -#include "ExN02TrackerSD.hh" + +///#include "G4UserLimits.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" #include "G4ios.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02DetectorConstruction::ExN02DetectorConstruction() -:solidWorld(NULL),logicWorld(NULL),physiWorld(NULL), +:solidWorld(NULL), logicWorld(NULL), physiWorld(NULL), + solidTarget(NULL), logicTarget(NULL), physiTarget(NULL), solidTracker(NULL),logicTracker(NULL),physiTracker(NULL), - solidTarget(NULL),logicTarget(NULL),physiTarget(NULL), solidChamber(NULL),logicChamber(NULL),physiChamber(NULL), - myMaterial(NULL), fDetectorLength(0.),fWorldLength(0.) + TargetMater(NULL), ChamberMater(NULL),fpMagField(NULL), + fWorldLength(0.), fTargetLength(0.), fTrackerLength(0.), + NbOfChambers(0) , ChamberWidth(0.), ChamberSpacing(0.) { + fpMagField = new ExN02MagneticField(); detectorMessenger = new ExN02DetectorMessenger(this); - fpMagField = new ExN02MagneticField(); // G4FieldManager(); - // magFieldManager = new G4FieldManager(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02DetectorConstruction::~ExN02DetectorConstruction() { - delete detectorMessenger; - delete fpMagField; - // delete magFieldManager; + delete fpMagField; + delete detectorMessenger; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + G4VPhysicalVolume* ExN02DetectorConstruction::Construct() { //--------- Material definition --------- @@ -81,13 +85,12 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() density = 11.35*g/cm3; G4Material* Pb = new G4Material(name="Pb", z=82., a, density); - //Vacuum - density = universe_mean_density; //from PhysicalConstants.h - pressure = 3.e-18*pascal; - temperature = 2.73*kelvin; - G4Material* Vacuum = - new G4Material(name="Vacuum", z=1., a=1.01*g/mole, density, - kStateGas,temperature,pressure); + //Xenon gas + density = 5.458*mg/cm3; + pressure = 1*atmosphere; + temperature = 293.15*kelvin; + G4Material* Xenon = new G4Material(name="XenonGas", z=54., a=131.29*g/mole, + density, kStateGas,temperature,pressure); // Print all the materials defined. // @@ -96,22 +99,27 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() //--------- Sizes of the principal geometrical components (solids) --------- - fDetectorLength = 1250.*cm ; // Full length of the detector - fTrackerLength = 500. * cm; // Full length of the Tracker - fTargetLength = 5.0 * cm; // Full length of the Target + NbOfChambers = 6; + ChamberWidth = 20*cm; + ChamberSpacing = 80*cm; - G4double detectorSize = 0.5*fDetectorLength; - G4double trackerSize = fTrackerLength * 0.5; // Half length of the Tracker - G4double targetSize = fTargetLength * 0.5; // Half length of the Target + fTrackerLength = NbOfChambers*ChamberSpacing; // Full length of the Tracker + fTargetLength = 5.0 * cm; // Full length of the Target + TargetMater = Pb; + ChamberMater = Xenon; + fWorldLength= 1.2 *(fTargetLength+fTrackerLength); + + G4double targetSize = 0.5*fTargetLength; // Half length of the Target + G4double trackerSize = 0.5*fTrackerLength; // Half length of the Tracker + //--------- Definitions of Solids, Logical Volumes, Physical Volumes --------- - myMaterial = Aluminium; //------------------------------ // World //------------------------------ - fWorldLength= 1.2 * fDetectorLength; + G4double HalfWorldLength = 0.5*fWorldLength; solidWorld= new G4Box("World",HalfWorldLength,HalfWorldLength,HalfWorldLength); @@ -126,32 +134,36 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() 0, // its mother volume false, // no boolean operations 0); // no field specific to volume - + //------------------------------ // Target - //------------------------------ + //------------------------------ + + G4ThreeVector positionTarget = G4ThreeVector(0,0,-(targetSize+trackerSize)); + solidTarget = new G4Box("TargetSolid",targetSize,targetSize,targetSize); - logicTarget = new G4LogicalVolume(solidTarget ,myMaterial,"TargetLV",0,0,0); + logicTarget = new G4LogicalVolume(solidTarget,TargetMater,"TargetLV",0,0,0); physiTarget = new G4PVPlacement(0, // no rotation - G4ThreeVector(), // at (0,0,0) + positionTarget, // at (x,y,z) "TargetPV", // its name logicTarget, // its logical volume physiWorld, // its mother volume false, // no boolean operations 0); // no particular field - G4cout << "Target is " << 2*targetSize/cm << " cm of Al " << G4endl; + G4cout << "Target is " << fTargetLength/cm << " cm of " + << TargetMater->GetName() << G4endl; //------------------------------ // Tracker - //------------------------------ - G4ThreeVector positionTracker; - solidTracker = new G4Box("Tracker",trackerSize,trackerSize,trackerSize); - logicTracker = new G4LogicalVolume(solidTracker , Air, "Tracker",0,0,0); - positionTracker= G4ThreeVector(0,0,trackerSize+targetSize); + //------------------------------ + G4ThreeVector positionTracker = G4ThreeVector(0,0,0); + + solidTracker = new G4Box("Tracker",trackerSize,trackerSize,trackerSize); + logicTracker = new G4LogicalVolume(solidTracker , Air, "Tracker",0,0,0); physiTracker = new G4PVPlacement(0, // no rotation - positionTracker, // at (0,0,0) + positionTracker, // at (x,y,z) "Tracker", // its name logicTracker, // its logical volume physiWorld, // its mother volume @@ -160,35 +172,41 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() //------------------------------ // Tracker segments - //------------------------------ + //------------------------------ + // // An example of Parameterised volumes // dummy values for G4Box -- modified by parameterised volume - G4VSolid * solidChamber - = new G4Box("chamberBox", 100*cm, 100*cm, 10*cm); - // chamberWidth, chamberWidth, chamberDepth); - - G4LogicalVolume * trackerChamberLV - = new G4LogicalVolume(solidChamber, Aluminium, "trackerChamberLV",0,0,0); - G4VPVParameterisation * chamberParam - = new ExN02ChamberParameterisation( - 6, // NoChambers, - -240.*cm, // Z of center of first - 80*cm, // Z spacing of centers - 20*cm, // Width Chamber, - 50*cm, // lengthInitial, - trackerSize*2.); // lengthFinal - // dummy value : kXAxis -- modified by parameterised volume - G4VPhysicalVolume *trackerChamber_phys - = new G4PVParameterised("trkChamber", // TrackerChamber parameterised - trackerChamberLV, // Its logical volume - physiTracker, // Mother physical volume - kZAxis, // Are placed along this axis - 6, // Number of chambers - chamberParam); // The parametrisation - G4VisAttributes* trackerChamber_logVisAtt - = new G4VisAttributes(G4Colour(0.5,0.0,1.0)); - trackerChamberLV->SetVisAttributes(trackerChamber_logVisAtt); + solidChamber = new G4Box("chamber", 100*cm, 100*cm, 10*cm); + logicChamber = new G4LogicalVolume(solidChamber,ChamberMater,"Chamber",0,0,0); + + G4double firstPosition = -trackerSize + 0.5*ChamberWidth; + G4double firstLength = fTrackerLength/10; + G4double lastLength = fTrackerLength; + + G4VPVParameterisation* chamberParam = new ExN02ChamberParameterisation( + NbOfChambers, // NoChambers + firstPosition, // Z of center of first + ChamberSpacing, // Z spacing of centers + ChamberWidth, // Width Chamber + firstLength, // lengthInitial + lastLength); // lengthFinal + + // dummy value : kZAxis -- modified by parameterised volume + // + physiChamber = new G4PVParameterised( + "Chamber", // their name + logicChamber, // their logical volume + physiTracker, // Mother physical volume + kZAxis, // Are placed along this axis + NbOfChambers, // Number of chambers + chamberParam); // The parametrisation + + G4cout << "There are " << NbOfChambers << " chambers in the tracker region. " + << "The chambers are " << ChamberWidth/mm << " mm of " + << ChamberMater->GetName() << "\n The distance between chamber is " + << ChamberSpacing/cm << " cm" << G4endl; + //------------------------------------------------ // Sensitive detectors //------------------------------------------------ @@ -198,68 +216,65 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() G4String trackerChamberSDname = "ExN02/TrackerChamberSD"; ExN02TrackerSD* aTrackerSD = new ExN02TrackerSD( trackerChamberSDname ); SDman->AddNewDetector( aTrackerSD ); - trackerChamberLV->SetSensitiveDetector( aTrackerSD ); + logicChamber->SetSensitiveDetector( aTrackerSD ); //--------- Visualization attributes ------------------------------- - logicWorld->SetVisAttributes (G4VisAttributes::Invisible); + G4VisAttributes* BoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + logicWorld ->SetVisAttributes(BoxVisAtt); + logicTarget ->SetVisAttributes(BoxVisAtt); + logicTracker->SetVisAttributes(BoxVisAtt); + + G4VisAttributes* ChamberVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); + logicChamber->SetVisAttributes(ChamberVisAtt); + +//--------- example of User Limits ------------------------------- - G4VisAttributes * simpleBoxVisAtt - = new G4VisAttributes(G4Colour(1.0,1.0,1.0)); - simpleBoxVisAtt->SetVisibility(true); - logicTracker->SetVisAttributes(simpleBoxVisAtt); - - //set a max Step length in the absorber - ///G4double maxStep = fDetectorLength/0.7, maxLength=fDetectorLength/0.7; + //below is an example of how to set tracking constraints in a given + //logical volume(see also in N02PhysicsList how to setup the process + //G4UserSpecialCuts). + //set a max Step length in the tracker region + ///G4double maxStep = 0.5*ChamberWidth, maxLength = 2*fTrackerLength; ///G4double maxTime = 0.1*ns, minEkin = 10*MeV; - ///logicAbsorber->SetUserLimits(new G4UserLimits(maxStep,maxLength,maxTime, + ///logicTracker->SetUserLimits(new G4UserLimits(maxStep,maxLength,maxTime, /// minEkin)); return physiWorld; } -#if 0 -void ExN02DetectorConstruction::setMaterial(G4String materialChoice) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +void ExN02DetectorConstruction::setTargetMaterial(G4String materialName) { - const G4MaterialTable* - theMaterialTable = G4Material::GetMaterialTable(); - - G4Material* pttoMaterial; - for (G4int J=0 ; Jlength() ; J++) - { pttoMaterial = (*theMaterialTable)(J); - if(pttoMaterial->GetName() == materialChoice) - {myMaterial = pttoMaterial; - logicTracker->SetMaterial(pttoMaterial); - G4cout << "Absorber is " << fDetectorLength/cm << " cm of " << materialChoice - << G4endl;} - } - + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialName); + if (pttoMaterial) + {TargetMater = pttoMaterial; + logicTarget->SetMaterial(pttoMaterial); + G4cout << "\n----> The target is " << fTargetLength/cm << " cm of " + << materialName << G4endl; + } } -#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void ExN02DetectorConstruction::SetDetectorLength(G4double length) +void ExN02DetectorConstruction::setChamberMaterial(G4String materialName) { - G4GeometryManager::GetInstance()->OpenGeometry(); - - fDetectorLength = length; - fWorldLength = 1.2*fDetectorLength; - - G4double halfSize = 0.5 * fDetectorLength; - G4double halfWorldLength = 0.5*fWorldLength; - - solidWorld -> SetXHalfLength(halfWorldLength); - solidWorld -> SetYHalfLength(halfWorldLength); - solidWorld -> SetZHalfLength(halfWorldLength); - - solidTracker -> SetXHalfLength(halfSize); - solidTracker -> SetYHalfLength(halfSize); - solidTracker -> SetZHalfLength(halfSize); - - G4cout << "Absorber is " << fDetectorLength/cm << " cm of " << myMaterial->GetName() - << G4endl; -} - + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialName); + if (pttoMaterial) + {ChamberMater = pttoMaterial; + logicChamber->SetMaterial(pttoMaterial); + G4cout << "\n----> The chambers are " << ChamberWidth/cm << " cm of " + << materialName << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02DetectorConstruction::SetMagField(G4double fieldValue) { fpMagField->SetFieldValue(fieldValue); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02DetectorMessenger.cc b/examples/novice/N02/src/ExN02DetectorMessenger.cc index 28a4d15b35..c9495efaaa 100644 --- a/examples/novice/N02/src/ExN02DetectorMessenger.cc +++ b/examples/novice/N02/src/ExN02DetectorMessenger.cc @@ -5,10 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02DetectorMessenger.cc,v 1.2 1999/12/15 14:49:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02DetectorMessenger.cc,v 1.3 2000/12/04 16:24:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02DetectorMessenger.hh" @@ -18,6 +19,8 @@ #include "G4UIcmdWithADoubleAndUnit.hh" #include "globals.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02DetectorMessenger::ExN02DetectorMessenger(ExN02DetectorConstruction * myDet) :myDetector(myDet) { @@ -25,47 +28,47 @@ ExN02DetectorMessenger::ExN02DetectorMessenger(ExN02DetectorConstruction * myDet mydetDir = new G4UIdirectory("/mydet/"); mydetDir->SetGuidance("ExN02 detector control."); - MatCmd = new G4UIcmdWithAString("/mydet/setMaterial",this); - MatCmd->SetGuidance("Select Material of the SimpleBox."); - MatCmd->SetGuidance(" Choice : Air, Al(default), Pb, Vacuum"); - MatCmd->SetParameterName("choice",true); - MatCmd->SetDefaultValue("Al"); - MatCmd->SetCandidates("Air Al Pb Vacuum"); - MatCmd->AvailableForStates(PreInit,Idle); + TargMatCmd = new G4UIcmdWithAString("/mydet/setTargetMate",this); + TargMatCmd->SetGuidance("Select Material of the Target."); + TargMatCmd->SetParameterName("choice",false); + TargMatCmd->AvailableForStates(PreInit,Idle); - SizeCmd = new G4UIcmdWithADoubleAndUnit("/mydet/setSize",this); - SizeCmd->SetGuidance("Set full Size of the Box"); - SizeCmd->SetParameterName("Size",false,false); - SizeCmd->SetDefaultUnit("cm"); - SizeCmd->SetUnitCategory("Length"); - SizeCmd->AvailableForStates(PreInit,Idle); + ChamMatCmd = new G4UIcmdWithAString("/mydet/setChamberMate",this); + ChamMatCmd->SetGuidance("Select Material of the Target."); + ChamMatCmd->SetParameterName("choice",false); + ChamMatCmd->AvailableForStates(PreInit,Idle); FieldCmd = new G4UIcmdWithADoubleAndUnit("/mydet/setField",this); FieldCmd->SetGuidance("Define magnetic field."); FieldCmd->SetGuidance("Magnetic field will be in Z direction."); - FieldCmd->SetParameterName("Bz",false,false); + FieldCmd->SetParameterName("Bz",false); FieldCmd->SetDefaultUnit("tesla"); FieldCmd->SetUnitCategory("Magnetic flux density"); FieldCmd->AvailableForStates(PreInit,Idle); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02DetectorMessenger::~ExN02DetectorMessenger() { - delete MatCmd; - delete SizeCmd; + delete TargMatCmd; + delete ChamMatCmd; delete FieldCmd; delete mydetDir; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02DetectorMessenger::SetNewValue(G4UIcommand * command,G4String newValues) { - // if( command == MatCmd ) - // { myDetector->setMaterial(newValues);} - - if( command == SizeCmd ) - { myDetector->SetDetectorLength(SizeCmd->GetNewDoubleValue(newValues));} + if( command == TargMatCmd ) + { myDetector->setTargetMaterial(newValues);} + + if( command == ChamMatCmd ) + { myDetector->setChamberMaterial(newValues);} if( command == FieldCmd ) { myDetector->SetMagField(FieldCmd->GetNewDoubleValue(newValues));} } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02EventAction.cc b/examples/novice/N02/src/ExN02EventAction.cc index 312a2b8487..a93b163963 100644 --- a/examples/novice/N02/src/ExN02EventAction.cc +++ b/examples/novice/N02/src/ExN02EventAction.cc @@ -5,31 +5,37 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02EventAction.cc,v 1.4 2000/01/24 14:45:51 stesting Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02EventAction.cc,v 1.5 2000/12/04 16:24:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #include "ExN02EventAction.hh" #include "G4Event.hh" #include "G4EventManager.hh" #include "G4TrajectoryContainer.hh" #include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4UImanager.hh" #include "G4ios.hh" - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02EventAction::ExN02EventAction() {} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02EventAction::~ExN02EventAction() {} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02EventAction::BeginOfEventAction(const G4Event*) {} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02EventAction::EndOfEventAction(const G4Event* evt) { G4int event_id = evt->GetEventID(); @@ -45,12 +51,6 @@ void ExN02EventAction::EndOfEventAction(const G4Event* evt) G4cout << " " << n_trajectories << " trajectories stored in this event." << G4endl; } - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - for(G4int i=0; iGetTrajectoryContainer()))[i]->DrawTrajectory(50); } - } } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02MagneticField.cc b/examples/novice/N02/src/ExN02MagneticField.cc index 31a7ab2d8d..4a0cdcfefd 100644 --- a/examples/novice/N02/src/ExN02MagneticField.cc +++ b/examples/novice/N02/src/ExN02MagneticField.cc @@ -5,36 +5,46 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02MagneticField.cc,v 1.2 1999/12/15 14:49:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02MagneticField.cc,v 1.4 2000/12/04 16:24:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // User Field class implementation. // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #include "ExN02MagneticField.hh" #include "G4FieldManager.hh" -// Constructors: +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... ExN02MagneticField::ExN02MagneticField() : G4UniformMagField(G4ThreeVector()) { + GetGlobalFieldManager()->SetDetectorField(this); GetGlobalFieldManager()->CreateChordFinder(this); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02MagneticField::ExN02MagneticField(G4ThreeVector fieldVector) : G4UniformMagField(fieldVector) -{ +{ + GetGlobalFieldManager()->SetDetectorField(this); GetGlobalFieldManager()->CreateChordFinder(this); } -// Set the value of the Global Field to fieldValue along Z +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +// Set the value of the Global Field to fieldValue along X // void ExN02MagneticField::SetFieldValue(G4double fieldValue) { - G4UniformMagField::SetFieldValue(G4ThreeVector(0,0,fieldValue)); + G4UniformMagField::SetFieldValue(G4ThreeVector(fieldValue,0,0)); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + // Set the value of the Global Field // void ExN02MagneticField::SetFieldValue(G4ThreeVector fieldVector) @@ -54,17 +64,19 @@ void ExN02MagneticField::SetFieldValue(G4ThreeVector fieldVector) } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02MagneticField::~ExN02MagneticField() { // GetGlobalFieldManager()->SetDetectorField(0); } -// Utility method +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + #include "G4TransportationManager.hh" G4FieldManager* ExN02MagneticField::GetGlobalFieldManager() { - return G4TransportationManager::GetTransportationManager() - ->GetFieldManager(); + return G4TransportationManager::GetTransportationManager()->GetFieldManager(); } - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02PhysicsList.cc b/examples/novice/N02/src/ExN02PhysicsList.cc index c47d9ab460..4552495a86 100644 --- a/examples/novice/N02/src/ExN02PhysicsList.cc +++ b/examples/novice/N02/src/ExN02PhysicsList.cc @@ -5,15 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02PhysicsList.cc,v 1.7 2000/02/29 12:03:30 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02PhysicsList.cc,v 1.8 2000/12/04 16:24:08 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -// ------------------------------------------------------------ -// GEANT 4 class header file -// -// This is a version for maximum particle set -// ------------------------------------------------------------ +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "globals.hh" #include "ExN02PhysicsList.hh" @@ -25,27 +21,23 @@ #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" #include "G4Material.hh" -#include "G4MaterialTable.hh" #include "G4ios.hh" #include "g4std/iomanip" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -ExN02PhysicsList::ExN02PhysicsList(): G4VUserPhysicsList(), - thePhotoElectricEffect(NULL),theComptonScattering(NULL), - theGammaConversion(NULL), - theeminusMultipleScattering(NULL),theeminusIonisation(NULL), - theeminusBremsstrahlung(NULL), - theeplusMultipleScattering(NULL),theeplusIonisation(NULL), - theeplusBremsstrahlung(NULL), - theeplusAnnihilation(NULL) +ExN02PhysicsList::ExN02PhysicsList(): G4VUserPhysicsList() { - defaultCutValue = 2.0*mm; + defaultCutValue = 1.0*cm; SetVerboseLevel(1); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + ExN02PhysicsList::~ExN02PhysicsList() -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void ExN02PhysicsList::ConstructParticle() { @@ -61,6 +53,8 @@ void ExN02PhysicsList::ConstructParticle() } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void ExN02PhysicsList::ConstructBosons() { // pseudo-particles @@ -71,6 +65,8 @@ void ExN02PhysicsList::ConstructBosons() G4Gamma::GammaDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void ExN02PhysicsList::ConstructLeptons() { // leptons @@ -88,6 +84,8 @@ void ExN02PhysicsList::ConstructLeptons() G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void ExN02PhysicsList::ConstructMesons() { // mesons @@ -105,6 +103,8 @@ void ExN02PhysicsList::ConstructMesons() G4KaonZeroShort::KaonZeroShortDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void ExN02PhysicsList::ConstructBaryons() { // barions @@ -115,6 +115,7 @@ void ExN02PhysicsList::ConstructBaryons() G4AntiNeutron::AntiNeutronDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void ExN02PhysicsList::ConstructProcess() { @@ -123,6 +124,8 @@ void ExN02PhysicsList::ConstructProcess() ConstructGeneral(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" @@ -138,7 +141,10 @@ void ExN02PhysicsList::ConstructProcess() #include "G4MuPairProduction.hh" #include "G4hIonisation.hh" -///#include "G4UserSpecialCuts.hh" + +////#include "G4UserSpecialCuts.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void ExN02PhysicsList::ConstructEM() { @@ -150,101 +156,116 @@ void ExN02PhysicsList::ConstructEM() if (particleName == "gamma") { // gamma - thePhotoElectricEffect = new G4PhotoElectricEffect(); - theComptonScattering = new G4ComptonScattering(); - theGammaConversion = new G4GammaConversion(); - // add processes - pmanager->AddDiscreteProcess(thePhotoElectricEffect); - pmanager->AddDiscreteProcess(theComptonScattering); - pmanager->AddDiscreteProcess(theGammaConversion); - + pmanager->AddDiscreteProcess(new G4GammaConversion()); + pmanager->AddDiscreteProcess(new G4ComptonScattering()); + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); + } else if (particleName == "e-") { //electron - // Construct processes for electron - theeminusMultipleScattering = new G4MultipleScattering(); - theeminusIonisation = new G4eIonisation(); - theeminusBremsstrahlung = new G4eBremsstrahlung(); + G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeminusIonisation = new G4eIonisation(); + G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); + // // add processes pmanager->AddProcess(theeminusMultipleScattering); pmanager->AddProcess(theeminusIonisation); - pmanager->AddProcess(theeminusBremsstrahlung); + pmanager->AddProcess(theeminusBremsstrahlung); + // // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep, 1); - pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep, 2); + 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); + pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2); + pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3); } else if (particleName == "e+") { //positron - // Construct processes for positron - theeplusMultipleScattering = new G4MultipleScattering(); - theeplusIonisation = new G4eIonisation(); - theeplusBremsstrahlung = new G4eBremsstrahlung(); - theeplusAnnihilation = new G4eplusAnnihilation(); + 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); + 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); + 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 - // Construct processes for muon+ - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); - G4VProcess* aPairProduction = new G4MuPairProduction(); - G4VProcess* anIonisation = new G4MuIonisation(); + 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); + 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); + 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); + 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(); - //>>G4VProcess* theUserSpecialCuts = new G4UserSpecialCuts(); + G4VProcess* anIonisation = new G4hIonisation(); + + ////G4VProcess* theUserCuts = new G4UserSpecialCuts(); + + // // add processes pmanager->AddProcess(anIonisation); pmanager->AddProcess(aMultipleScattering); - /// pmanager->AddProcess(theUserSpecialCuts); + + /// pmanager->AddProcess(theUserCuts); + + // // set ordering for AtRestDoIt - //>>pmanager->SetProcessOrderingToFirst(theUserSpecialCuts, idxAtRest); + ////pmanager->SetProcessOrderingToFirst(theUserCuts,idxAtRest); + + // // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep, 1); - pmanager->SetProcessOrdering(anIonisation, idxAlongStep, 2); + 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(theUserSpecialCuts, idxPostStep, 3); + pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); + ////pmanager->SetProcessOrdering(theUserCuts, idxPostStep,3); } } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #include "G4Decay.hh" void ExN02PhysicsList::ConstructGeneral() { @@ -263,13 +284,17 @@ void ExN02PhysicsList::ConstructGeneral() } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + void ExN02PhysicsList::SetCuts() { - if (verboseLevel >1){ - G4cout << "ExN02PhysicsList::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - SetCutsWithDefault(); - + //G4VUserPhysicsList::SetCutsWithDefault method sets + //the default cut value for all particle types + // + SetCutsWithDefault(); + + if (verboseLevel>0) DumpCutValuesTable(); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc index 9f48a5deca..eaff21a17f 100644 --- a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc +++ b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc @@ -5,66 +5,55 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02PrimaryGeneratorAction.cc,v 1.3 2000/12/04 16:24:08 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -// $ Id: $ -// -// From exampleEmPhys2/MyPrimaryGeneratorAction.cc,v 1.1 1998/02/06 maire +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02PrimaryGeneratorAction.hh" - #include "ExN02DetectorConstruction.hh" -#include "ExN02PrimaryGeneratorMessenger.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" #include "globals.hh" -#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... ExN02PrimaryGeneratorAction::ExN02PrimaryGeneratorAction(ExN02DetectorConstruction* myDC) -:myDetector(myDC),rndmFlag("off") +:myDetector(myDC) { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); - gunMessenger = new ExN02PrimaryGeneratorMessenger(this); // default particle G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="proton"); + G4ParticleDefinition* particle = particleTable->FindParticle("proton"); + particleGun->SetParticleDefinition(particle); - particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); particleGun->SetParticleEnergy(3.0*GeV); - G4double position = -0.5*(myDetector->GetWorldFullLength()); - particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); - } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02PrimaryGeneratorAction::~ExN02PrimaryGeneratorAction() { delete particleGun; - delete gunMessenger; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - // The Target is a box placed at (0,0,0) - // - G4double x0 = -0.5*(myDetector->GetTargetFullLength()); - G4double y0 = 0.*cm, z0 = 0.*cm; - if (rndmFlag == "on") - {y0 = (myDetector->GetTargetFullLength())*(G4UniformRand()-0.5); - z0 = (myDetector->GetTargetFullLength())*(G4UniformRand()-0.5); - } - particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); - + G4double position = -0.5*(myDetector->GetWorldFullLength()); + particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,position)); + particleGun->GeneratePrimaryVertex(anEvent); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02PrimaryGeneratorMessenger.cc b/examples/novice/N02/src/ExN02PrimaryGeneratorMessenger.cc deleted file mode 100644 index 5adbae6ef9..0000000000 --- a/examples/novice/N02/src/ExN02PrimaryGeneratorMessenger.cc +++ /dev/null @@ -1,42 +0,0 @@ -// 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: ExN02PrimaryGeneratorMessenger.cc,v 1.2 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// - -#include "ExN02PrimaryGeneratorMessenger.hh" - -#include "ExN02PrimaryGeneratorAction.hh" -#include "G4UIcmdWithAString.hh" -#include "globals.hh" - -ExN02PrimaryGeneratorMessenger::ExN02PrimaryGeneratorMessenger(ExN02PrimaryGeneratorAction* myGun) -:myAction(myGun) -{ - - RndmCmd = new G4UIcmdWithAString("/gun/random",this); - RndmCmd->SetGuidance("Shoot randomly the incident particle."); - RndmCmd->SetGuidance(" Choice : on, off(default)"); - RndmCmd->SetParameterName("choice",true); - RndmCmd->SetDefaultValue("off"); - RndmCmd->SetCandidates("on off"); - RndmCmd->AvailableForStates(PreInit,Idle); -} - -ExN02PrimaryGeneratorMessenger::~ExN02PrimaryGeneratorMessenger() -{ - delete RndmCmd; -} - -void ExN02PrimaryGeneratorMessenger::SetNewValue(G4UIcommand * command,G4String newValues) -{ - if( command == RndmCmd ) - { myAction->SetRndmFlag(newValues);} -} - diff --git a/examples/novice/N02/src/ExN02RunAction.cc b/examples/novice/N02/src/ExN02RunAction.cc index e47dddbe82..9d99578bee 100644 --- a/examples/novice/N02/src/ExN02RunAction.cc +++ b/examples/novice/N02/src/ExN02RunAction.cc @@ -5,10 +5,11 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02RunAction.cc,v 1.3 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02RunAction.cc,v 1.4 2000/12/04 16:24:08 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02RunAction.hh" @@ -17,45 +18,42 @@ #include "G4VVisManager.hh" #include "G4ios.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02RunAction::ExN02RunAction() -{ - runIDcounter = 0; -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... ExN02RunAction::~ExN02RunAction() -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... void ExN02RunAction::BeginOfRunAction(const G4Run* aRun) { - ((G4Run *)(aRun))->SetRunID(runIDcounter++); - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/tracking/storeTrajectory 1"); - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - - if(pVVisManager) - { - UI->ApplyCommand("/vis~/clear/view"); - UI->ApplyCommand("/vis~/draw/current"); - } + if (G4VVisManager::GetConcreteInstance()) + { + G4UImanager* UI = G4UImanager::GetUIpointer(); + UI->ApplyCommand("/vis/scene/notifyHandlers"); + } } - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... void ExN02RunAction::EndOfRunAction(const G4Run*) { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - if(pVVisManager) + if(G4VVisManager::GetConcreteInstance()) { - G4UImanager::GetUIpointer()->ApplyCommand("/vis~/show/view"); + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02SteppingAction.cc b/examples/novice/N02/src/ExN02SteppingAction.cc index e6d371adcf..4fdd2dea19 100644 --- a/examples/novice/N02/src/ExN02SteppingAction.cc +++ b/examples/novice/N02/src/ExN02SteppingAction.cc @@ -5,35 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02SteppingAction.cc,v 1.3 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// +// $Id: ExN02SteppingAction.cc,v 1.4 2000/12/04 16:24:08 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02SteppingAction.hh" -#include "ExN02DetectorConstruction.hh" -#include "ExN02EventAction.hh" #include "G4SteppingManager.hh" -ExN02SteppingAction::ExN02SteppingAction(ExN02DetectorConstruction* myDC, ExN02EventAction* myEA) -:myDetector(myDC), eventAction(myEA) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +ExN02SteppingAction::ExN02SteppingAction() { } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02SteppingAction::UserSteppingAction(const G4Step* aStep) -{ - // collect the energy deposited in the absorber - - const G4VPhysicalVolume* currentVolume = aStep->GetPreStepPoint()-> GetPhysicalVolume(); - -#if 0 - const G4VPhysicalVolume* absorber = myDetector->getAbsorber(); - - if (currentVolume == absorber) - { - G4double EdepStep = aStep->GetTotalEnergyDeposit(); - eventAction->addEdep(EdepStep); - } -#endif +{ + const G4VPhysicalVolume* currentVolume = + aStep->GetPreStepPoint()->GetPhysicalVolume(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02SteppingVerbose.cc b/examples/novice/N02/src/ExN02SteppingVerbose.cc index 1897df6607..f85bf9488f 100644 --- a/examples/novice/N02/src/ExN02SteppingVerbose.cc +++ b/examples/novice/N02/src/ExN02SteppingVerbose.cc @@ -5,39 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02SteppingVerbose.cc,v 1.3 2000/02/28 17:58:50 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02SteppingVerbose.cc,v 1.4 2000/12/04 16:24:08 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// -//--------------------------------------------------------------- -// -// ExN02SteppingVerbose.cc -// -// Description: -// Implementation of the ExN02SteppingVerbose class -// -//--------------------------------------------------------------- +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02SteppingVerbose.hh" -#include "G4SteppingManager.hh" +#include "G4SteppingManager.hh" #include "G4UnitsTable.hh" -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02SteppingVerbose::ExN02SteppingVerbose() -//////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -////////////////////////////////////////////////// ExN02SteppingVerbose::~ExN02SteppingVerbose() -////////////////////////////////////////////////// -{ -} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -///////////////////////////////////////// void ExN02SteppingVerbose::StepInfo() -///////////////////////////////////////// { CopyState(); @@ -126,9 +117,9 @@ void ExN02SteppingVerbose::StepInfo() G4cout.precision(prec); } -//////////////////////////////////////////////// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02SteppingVerbose::TrackingStarted() -//////////////////////////////////////////////// { CopyState(); @@ -164,3 +155,5 @@ G4int prec = G4cout.precision(3); } G4cout.precision(prec); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02TrackerHit.cc b/examples/novice/N02/src/ExN02TrackerHit.cc index faebcfcb34..3d6f5521b6 100644 --- a/examples/novice/N02/src/ExN02TrackerHit.cc +++ b/examples/novice/N02/src/ExN02TrackerHit.cc @@ -5,43 +5,59 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02TrackerHit.cc,v 1.2 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02TrackerHit.cc,v 1.4 2000/12/06 07:54:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02TrackerHit.hh" +#include "G4UnitsTable.hh" #include "G4VVisManager.hh" #include "G4Circle.hh" #include "G4Colour.hh" #include "G4VisAttributes.hh" - G4Allocator ExN02TrackerHitAllocator; -ExN02TrackerHit::ExN02TrackerHit() -{;} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -ExN02TrackerHit::~ExN02TrackerHit() -{;} +ExN02TrackerHit::ExN02TrackerHit() {} -ExN02TrackerHit::ExN02TrackerHit(const ExN02TrackerHit &right) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +ExN02TrackerHit::~ExN02TrackerHit() {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +ExN02TrackerHit::ExN02TrackerHit(const ExN02TrackerHit& right) { - edep = right.edep; - pos = right.pos; + trackID = right.trackID; + chamberNb = right.chamberNb; + edep = right.edep; + pos = right.pos; } -const ExN02TrackerHit& ExN02TrackerHit::operator=(const ExN02TrackerHit &right) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +const ExN02TrackerHit& ExN02TrackerHit::operator=(const ExN02TrackerHit& right) { - edep = right.edep; - pos = right.pos; + trackID = right.trackID; + chamberNb = right.chamberNb; + edep = right.edep; + pos = right.pos; return *this; } -int ExN02TrackerHit::operator==(const ExN02TrackerHit &right) const +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +int ExN02TrackerHit::operator==(const ExN02TrackerHit& right) const { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02TrackerHit::Draw() { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); @@ -57,17 +73,14 @@ void ExN02TrackerHit::Draw() } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + void ExN02TrackerHit::Print() { + G4cout << " trackID: " << trackID << " chamberNb: " << chamberNb + << " energy deposit: " << G4BestUnit(edep,"Energy") + << " position: " << G4BestUnit(pos,"Length") << G4endl; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -// This is a forward declarations of an instantiated G4Allocator object. -// It has been added in order to make code portable for the GNU g++ -// (release 2.7.2) compiler. -// Whenever a new Type is instantiated via G4Allocator, it has to be forward -// declared to make object code (compiled with GNU g++) link successfully. -// -#ifdef GNU_GCC - template class G4Allocator; -#endif diff --git a/examples/novice/N02/src/ExN02TrackerSD.cc b/examples/novice/N02/src/ExN02TrackerSD.cc index f2ce27063e..d9d3ceb208 100644 --- a/examples/novice/N02/src/ExN02TrackerSD.cc +++ b/examples/novice/N02/src/ExN02TrackerSD.cc @@ -5,18 +5,21 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN02TrackerSD.cc,v 1.2 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN02TrackerSD.cc,v 1.3 2000/12/04 16:24:09 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... #include "ExN02TrackerSD.hh" -#include "ExN02TrackerHit.hh" -#include "G4Step.hh" #include "G4HCofThisEvent.hh" -#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ThreeVector.hh" #include "G4SDManager.hh" #include "G4ios.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + ExN02TrackerSD::ExN02TrackerSD(G4String name) :G4VSensitiveDetector(name) { @@ -24,9 +27,13 @@ ExN02TrackerSD::ExN02TrackerSD(G4String name) collectionName.insert(HCname="trackerCollection"); } -ExN02TrackerSD::~ExN02TrackerSD(){;} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void ExN02TrackerSD::Initialize(G4HCofThisEvent*HCE) +ExN02TrackerSD::~ExN02TrackerSD(){ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +void ExN02TrackerSD::Initialize(G4HCofThisEvent* HCE) { trackerCollection = new ExN02TrackerHitsCollection (SensitiveDetectorName,collectionName[0]); @@ -36,34 +43,38 @@ void ExN02TrackerSD::Initialize(G4HCofThisEvent*HCE) HCE->AddHitsCollection( HCID, trackerCollection ); } -G4bool ExN02TrackerSD::ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +G4bool ExN02TrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) { - G4Track* aTrack = aStep->GetTrack(); G4double edep = aStep->GetTotalEnergyDeposit(); - if(edep==0.) return true; + if(edep==0.) return false; ExN02TrackerHit* newHit = new ExN02TrackerHit(); - newHit->SetEdep( edep ); - newHit->SetPos( aStep->GetPreStepPoint()->GetPosition() ); + newHit->SetTrackID (aStep->GetTrack()->GetTrackID()); + newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchable()->GetReplicaNumber()); + newHit->SetEdep (edep); + newHit->SetPos (aStep->GetPostStepPoint()->GetPosition()); trackerCollection->insert( newHit ); + + //newHit->Print(); + //newHit->Draw(); return true; } -void ExN02TrackerSD::EndOfEvent(G4HCofThisEvent*HCE) +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +void ExN02TrackerSD::EndOfEvent(G4HCofThisEvent* HCE) { + if (verboseLevel>0) { + G4int NbHits = trackerCollection->entries(); + G4cout << "\n-------->Hits Collection: in this event they are " << NbHits + << " hits in the tracker chambers: " << G4endl; + for (G4int i=0;iPrint(); + } } -void ExN02TrackerSD::clear() -{ -} - -void ExN02TrackerSD::DrawAll() -{ -} - -void ExN02TrackerSD::PrintAll() -{ -} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/novice/N02/src/ExN02VisManager.cc b/examples/novice/N02/src/ExN02VisManager.cc index 9657e04019..036b9cda7f 100644 --- a/examples/novice/N02/src/ExN02VisManager.cc +++ b/examples/novice/N02/src/ExN02VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN02VisManager.cc,v 1.3 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/novice/N03/GNUmakefile b/examples/novice/N03/GNUmakefile index bfeadb0922..f35e579b62 100644 --- a/examples/novice/N03/GNUmakefile +++ b/examples/novice/N03/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:51 gunter Exp $ +# $Id: GNUmakefile,v 1.2 2000/10/19 12:22:10 stanaka Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -15,3 +15,8 @@ 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/N03/History b/examples/novice/N03/History index 7cd82e2107..a2c29691b3 100644 --- a/examples/novice/N03/History +++ b/examples/novice/N03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.23 2000/06/17 12:28:17 stesting Exp $ +$Id: History,v 1.32 2000/11/27 02:58:04 stanaka Exp $ -------------------------------------------------- ========================================================= @@ -15,6 +15,51 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +21-11-27, Satoshi Tanake (exampleN03-V02-00-04) +- The macro initInter.mac (by Michel) is revised. + 1) The command "/vis/scene/create" is removed, + since it is already included in "/vis/drawVolume". + 2) /vis/viewer/update is added, since it becomes necessary + when the OpenGL driver is switched to another driver. +- In visTutor/exN03Vis5,6.mac (by Guy) + "/vis/include/trajectories" is renamed into + "/vis/scene/add/trajectories" and also commented out. + (All other "/vis/scene/add/trajectories"'s are already commented out + by Michel, since the C++ method DrawTrajectory() is now described + in the event action. +- Unnecessary "/vis/scene/create" are removed from + visTutor/exN03VisX.mac when it is already included in + "/vis/drawVolume" or "/vis/specify". +- The command /vis/camera/viewpoint is removed from visTutor/exN03Vis0.mac + in order to avoid crushing in reading it in execution of + the G4 executable: $(G4BINDIR)/exampleN03 exN03Vis0.mac . +- Comments updated in visTutor/exN03VisX.mac. + + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut +- Update test outputs for energy cut table only for e- and gamma +- Update test outputs for new tags in em processes. + Note we skip round work in progress + +21-11-00, mma (exampleN03-V02-00-02) +- introduce G4UItcsh in exampleN03.cc +- put all vis macros in a new subdirectory visTutor +- prerunN03 simplified (compound vis commands) and renamed initInter.mac +- code to control the drawing of tracks reinstalled in eventAction +- bug corrected in PhysicsList::GetCutForProton() +- PrimaryGenerator : default particle e- 50 MeV + +October 19, 2000 Satoshi Tanaka (exampleN03-V02-00-01) +- Updated exN03Vis0-4.mac, incorporating recent development + of vis commands +- Updated format of comments in exN03Vis0-4.mac. +- Created exN03Vis7.mac: demo of the VRMLFILE driver +- Created exN03Vis8.mac: demo of multi-page PS file generation + +June 24, 2000 John Allison (exampleN03-V01-01-09) +- Updated exampleN03.out for stand-V01-01-05 and utils-V01-01-03. + June 17, 2000 John Allison (exampleN03-V01-01-08) - Updated exampleN03.out for geant4-01-01-ref-06. diff --git a/examples/novice/N03/README b/examples/novice/N03/README index 855475c5f4..c958ee5c59 100644 --- a/examples/novice/N03/README +++ b/examples/novice/N03/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 1999/09/14 02:34:09 stanaka Exp $ +$Id: README,v 1.6 2000/11/21 11:43:31 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -74,16 +74,16 @@ $Id: README,v 1.4 1999/09/14 02:34:09 stanaka Exp $ 4- VISUALIZATION The Visualization Manager is set in the main(). - The initialisation of the drawing is done via the command - a set of /vis commands in the macro prerunN03.mac. This macro is - automatically read from the main in case of interactive running mode. + The initialisation of the drawing is done via a set of /vis commands + in the macro initInter.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 calorimeter. The tracks are drawn at the end of event, and erased at the end of run. - Optionaly one can choose to draw all particles, only the charged one, - or none. This command is defined in EventActionMessenger class. + Optionaly one can choose to draw all particles, only the charged, + or neutral or none. This command is defined in EventActionMessenger class. NB 1: the visualization (with OpenGL driver) assumes two things: 1- the visualisation & interfaces categories have been compiled @@ -95,9 +95,10 @@ $Id: README,v 1.4 1999/09/14 02:34:09 stanaka Exp $ with the environment variable G4VIS_BUILD_DAWNFILE_DRIVER. 2- exampleN03.cc has been compiled with G4VIS_USE_DAWNFILE. - NN 3: The macros "exN03VisX.mac" are tutorial macros for + NN 3: The macros "visTutor/exN03VisX.mac" are tutorial macros for visualization. They can be tried as: - % $G4BINDIR/exampleN03 exN03VisX.mac + % $G4BINDIR/exampleN03 + idle > /control/execute visTutor/exN03VisX.mac For details, see comment lines described in the macro files. These macros are designed to help your understanding the User's Guide. @@ -107,7 +108,8 @@ $Id: README,v 1.4 1999/09/14 02:34:09 stanaka Exp $ The particle's type and the physic processes which will be available in this example are set in PhysicsList class. - In addition a build-in interactive command (/process/inactivate proname) + In addition the build-in interactive command: + /process/(in)activate processName allows to activate/inactivate the processes one by one. Then one can well visualize the processes one by one, especially in the bubble chamber setup with a transverse magnetic field. @@ -119,6 +121,8 @@ $Id: README,v 1.4 1999/09/14 02:34:09 stanaka Exp $ The default command interface, called G4UIterminal, is done via standart cin/G4cout. + On Linux and Sun-cc on can use a smarter command interface G4UItcsh. + It is enough to set the environment variable G4UI_USE_TCSH On can use a Motif driven command interface (called G4UIXm) if: 1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION diff --git a/examples/novice/N03/exampleN03.cc b/examples/novice/N03/exampleN03.cc index 9e0bf17348..c7b3e47398 100644 --- a/examples/novice/N03/exampleN03.cc +++ b/examples/novice/N03/exampleN03.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: exampleN03.cc,v 1.12 2000/06/14 09:10:57 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: exampleN03.cc,v 1.13 2000/11/21 10:59:41 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- @@ -22,6 +22,7 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #ifdef G4UI_USE_XM #include "G4UIXm.hh" @@ -64,8 +65,12 @@ int main(int argc,char** argv) { // G4UIterminal is a (dumb) terminal. #ifdef G4UI_USE_XM session = new G4UIXm(argc,argv); +#else +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); #else - session = new G4UIterminal; + session = new G4UIterminal(); +#endif #endif } @@ -90,7 +95,7 @@ int main(int argc,char** argv) { if (session) // Define UI session for interactive mode. { // G4UIterminal is a (dumb) terminal. - UI->ApplyCommand("/control/execute prerunN03.mac"); + UI->ApplyCommand("/control/execute initInter.mac"); #ifdef G4UI_USE_XM // Customize the G4UIXm menubar with a macro file : UI->ApplyCommand("/control/execute gui.mac"); diff --git a/examples/novice/N03/exampleN03.out b/examples/novice/N03/exampleN03.out index 7b7dbe2fc7..0cf07fbbaa 100644 --- a/examples/novice/N03/exampleN03.out +++ b/examples/novice/N03/exampleN03.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -87,21 +87,22 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - Aluminium 125.07 - liquidArgon 78.381 - Copper 238.3 - Lead 229.66 - Water 81.518 - Scintillator 82.869 - quartz 115.31 + Aluminium 125.06 + liquidArgon 78.362 + Copper 238.25 + Lead 229.55 + Water 81.507 + Scintillator 82.859 + quartz 115.29 Air 0.99 - Aerogel 30.103 - CarbonicGas 9.4284 + Aerogel 30.097 + CarbonicGas 9.427 WaterSteam 0.99 Galactic 0.99 Beam 0.99 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -114,16 +115,16 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons) material min.delta energy(keV) - Aluminium 125.07 - liquidArgon 78.381 - Copper 238.3 - Lead 229.66 - Water 81.518 - Scintillator 82.869 - quartz 115.31 + Aluminium 125.06 + liquidArgon 78.362 + Copper 238.25 + Lead 229.55 + Water 81.507 + Scintillator 82.859 + quartz 115.29 Air 0.99 - Aerogel 30.103 - CarbonicGas 9.4284 + Aerogel 30.097 + CarbonicGas 9.427 WaterSteam 0.99 Galactic 0.99 Beam 0.99 @@ -156,22 +157,22 @@ 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- mu- proton neutron -Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm + gamma e- +Cut in range 1 mm 1 mm Cut in energy - Aluminium 6.89 keV 597 keV 5.02 MeV 13.1 MeV 990 eV - liquidArgon 6.18 keV 343 keV 3.24 MeV 8.32 MeV 990 eV - Copper 24.6 keV 1.4 MeV 8.95 MeV 23 MeV 990 eV - Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV - Water 2.9 keV 347 keV 3.39 MeV 8.95 MeV 990 eV - Scintillator 2.37 keV 356 keV 3.43 MeV 9.06 MeV 990 eV - quartz 5.52 keV 534 keV 4.66 MeV 12.2 MeV 990 eV - Air 990 eV 990 eV 48.4 keV 83.2 keV 990 eV - Aerogel 1.71 keV 119 keV 1.28 MeV 3.18 MeV 990 eV - CarbonicGas 990 eV 36.5 keV 393 keV 853 keV 990 eV - WaterSteam 990 eV 990 eV 11.9 keV 14.9 keV 990 eV - Galactic 990 eV 990 eV 990 eV 990 eV 990 eV - Beam 990 eV 990 eV 990 eV 990 eV 990 eV + Aluminium 6.89 keV 597 keV + liquidArgon 6.18 keV 343 keV + Copper 24.6 keV 1.4 MeV + 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 =================================================== # e+ 300MeV ### Run 0 start. @@ -183,10 +184,10 @@ Cut in energy Current couple of seeds = 9876, 54321 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 278.67 MeV total track length: 17.078 cm - Gap: total energy: 12.938 MeV total track length: 6.3775 cm + Absorber: total energy: 273.44 MeV total track length: 16.757 cm + Gap: total energy: 17.368 MeV total track length: 9.3656 cm - 9 hits are stored in ExN03CalorHitsCollection. + 8 hits are stored in ExN03CalorHitsCollection. # # list the existing physics processes Transportation, hIoni, msc, eIoni @@ -201,11 +202,11 @@ Cut in energy --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1105568778, 682814057 + Current couple of seeds = 1102932771, 1917444181 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 276.15 MeV total track length: 15.41 cm - Gap: total energy: 21.932 MeV total track length: 11.454 cm + Absorber: total energy: 271.92 MeV total track length: 15.041 cm + Gap: total energy: 19.422 MeV total track length: 9.2045 cm 10 hits are stored in ExN03CalorHitsCollection. # @@ -230,10 +231,10 @@ Cut in energy --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 656008347, 35818481 + Current couple of seeds = 1963963117, 1351553931 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 347.62 MeV total track length: 78.847 cm - Gap: total energy: 79.849 MeV total track length: 2.2713 m + Absorber: total energy: 337.86 MeV total track length: 77.616 cm + Gap: total energy: 64.609 MeV total track length: 1.801 m - 28 hits are stored in ExN03CalorHitsCollection. + 21 hits are stored in ExN03CalorHitsCollection. diff --git a/examples/novice/N03/include/ExN03CalorHit.hh b/examples/novice/N03/include/ExN03CalorHit.hh index 7f53e8acba..7fa8eebe17 100644 --- a/examples/novice/N03/include/ExN03CalorHit.hh +++ b/examples/novice/N03/include/ExN03CalorHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03CalorHit.hh,v 1.2 1999/12/15 14:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03CalorimeterSD.hh b/examples/novice/N03/include/ExN03CalorimeterSD.hh index dbed4bfbe5..a1a0f9217b 100644 --- a/examples/novice/N03/include/ExN03CalorimeterSD.hh +++ b/examples/novice/N03/include/ExN03CalorimeterSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03CalorimeterSD.hh,v 1.2 1999/12/15 14:49:23 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03DetectorConstruction.hh b/examples/novice/N03/include/ExN03DetectorConstruction.hh index a23f0e8cb2..5a19aec473 100644 --- a/examples/novice/N03/include/ExN03DetectorConstruction.hh +++ b/examples/novice/N03/include/ExN03DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03DetectorConstruction.hh,v 1.2 1999/12/15 14:49:23 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03DetectorMessenger.hh b/examples/novice/N03/include/ExN03DetectorMessenger.hh index 84ef9814a6..2aa2726436 100644 --- a/examples/novice/N03/include/ExN03DetectorMessenger.hh +++ b/examples/novice/N03/include/ExN03DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03DetectorMessenger.hh,v 1.2 1999/12/15 14:49:23 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03EventAction.hh b/examples/novice/N03/include/ExN03EventAction.hh index 0cf43957de..8947f75c90 100644 --- a/examples/novice/N03/include/ExN03EventAction.hh +++ b/examples/novice/N03/include/ExN03EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03EventAction.hh,v 1.4 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03EventActionMessenger.hh b/examples/novice/N03/include/ExN03EventActionMessenger.hh index fc51aa9094..9331110c4a 100644 --- a/examples/novice/N03/include/ExN03EventActionMessenger.hh +++ b/examples/novice/N03/include/ExN03EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03EventActionMessenger.hh,v 1.3 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03PhysicsList.hh b/examples/novice/N03/include/ExN03PhysicsList.hh index 87fedb00ca..c860f5b155 100644 --- a/examples/novice/N03/include/ExN03PhysicsList.hh +++ b/examples/novice/N03/include/ExN03PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03PhysicsList.hh,v 1.6 2000/06/05 09:54:37 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh index dc5d7bbafb..8eb76952a9 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh index 9bdce9b2d1..dd2c7967a0 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.2 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03RunAction.hh b/examples/novice/N03/include/ExN03RunAction.hh index 4a3fc0769f..84dc62fe45 100644 --- a/examples/novice/N03/include/ExN03RunAction.hh +++ b/examples/novice/N03/include/ExN03RunAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03RunAction.hh,v 1.4 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/include/ExN03SteppingAction.hh b/examples/novice/N03/include/ExN03SteppingAction.hh index b088803afb..65d7345d52 100644 --- a/examples/novice/N03/include/ExN03SteppingAction.hh +++ b/examples/novice/N03/include/ExN03SteppingAction.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN03SteppingAction.hh,v 1.3 1999/12/15 14:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN03SteppingAction.hh,v 1.4 2000/12/05 14:52:48 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -24,9 +24,9 @@ class ExN03SteppingAction : public G4UserSteppingAction { public: ExN03SteppingAction(); - virtual ~ExN03SteppingAction(); + ~ExN03SteppingAction(); - virtual void UserSteppingAction(const G4Step*); + void UserSteppingAction(const G4Step*); }; #endif diff --git a/examples/novice/N03/include/ExN03SteppingVerbose.hh b/examples/novice/N03/include/ExN03SteppingVerbose.hh index 24e6c7db40..2e8ce0ec54 100644 --- a/examples/novice/N03/include/ExN03SteppingVerbose.hh +++ b/examples/novice/N03/include/ExN03SteppingVerbose.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03SteppingVerbose.hh,v 1.3 2000/02/28 18:09:58 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- diff --git a/examples/novice/N03/include/ExN03VisManager.hh b/examples/novice/N03/include/ExN03VisManager.hh index ad155c39c7..ebe61909a7 100644 --- a/examples/novice/N03/include/ExN03VisManager.hh +++ b/examples/novice/N03/include/ExN03VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03VisManager.hh,v 1.3 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/initInter.mac b/examples/novice/N03/initInter.mac new file mode 100644 index 0000000000..10ed0b91d4 --- /dev/null +++ b/examples/novice/N03/initInter.mac @@ -0,0 +1,28 @@ +# +# Macro file for the initialization phase of "exampleN03.cc" +# when runing in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/control/saveHistory +/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 +#/vis/open DAWNFILE +# +# draw scene +# +/vis/drawVolume +/vis/viewer/update +# +# for drawing the tracks +# (if too many tracks cause core dump => storeTrajectory 0) +/tracking/storeTrajectory 1 diff --git a/examples/novice/N03/newgeom.mac b/examples/novice/N03/newgeom.mac index 9ab312d69b..0d519c06df 100644 --- a/examples/novice/N03/newgeom.mac +++ b/examples/novice/N03/newgeom.mac @@ -20,7 +20,8 @@ # /calor/update # -/calor/setField 5 tesla +/calor/setField 3 tesla # +/vis/camera/zoom 1.3 /vis/drawVolume -/vis/scene/add/trajectories + diff --git a/examples/novice/N03/prerunN03.mac b/examples/novice/N03/prerunN03.mac deleted file mode 100644 index e03b33b53d..0000000000 --- a/examples/novice/N03/prerunN03.mac +++ /dev/null @@ -1,35 +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 -# -# 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 diff --git a/examples/novice/N03/run1.mac b/examples/novice/N03/run1.mac index 567406e566..578c8a1e33 100644 --- a/examples/novice/N03/run1.mac +++ b/examples/novice/N03/run1.mac @@ -1,8 +1,9 @@ -# $Id: run1.mac,v 1.1 1999/01/07 16:05:53 gunter Exp $ +# $Id: run1.mac,v 1.2 2000/11/21 10:59:42 maire Exp $ # # Macro file for "exampleN03.cc" # -# (can be run in batch, without graphic) +# can be run in batch, without graphic +# or interactively: Idle> /control/execute run1.mac # /control/verbose 2 /control/saveHistory diff --git a/examples/novice/N03/run2.mac b/examples/novice/N03/run2.mac index c1d3c6c037..362a54e544 100644 --- a/examples/novice/N03/run2.mac +++ b/examples/novice/N03/run2.mac @@ -1,10 +1,9 @@ -# $Id: run2.mac,v 1.4 2000/06/05 09:54:36 maire Exp $ +# $Id: run2.mac,v 1.5 2000/11/21 10:59:43 maire 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) +# can be run in batch, without graphic +# or interactively: Idle> /control/execute run2.mac # /control/verbose 2 # diff --git a/examples/novice/N03/src/ExN03CalorHit.cc b/examples/novice/N03/src/ExN03CalorHit.cc index c0ccaeb9c3..73a8254dd3 100644 --- a/examples/novice/N03/src/ExN03CalorHit.cc +++ b/examples/novice/N03/src/ExN03CalorHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03CalorHit.cc,v 1.2 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03CalorimeterSD.cc b/examples/novice/N03/src/ExN03CalorimeterSD.cc index 1836f0feed..5e81e08708 100644 --- a/examples/novice/N03/src/ExN03CalorimeterSD.cc +++ b/examples/novice/N03/src/ExN03CalorimeterSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03CalorimeterSD.cc,v 1.3 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03DetectorConstruction.cc b/examples/novice/N03/src/ExN03DetectorConstruction.cc index 4386b63d01..49823b16b9 100644 --- a/examples/novice/N03/src/ExN03DetectorConstruction.cc +++ b/examples/novice/N03/src/ExN03DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03DetectorConstruction.cc,v 1.4 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03DetectorMessenger.cc b/examples/novice/N03/src/ExN03DetectorMessenger.cc index c26c12f05b..703af420c9 100644 --- a/examples/novice/N03/src/ExN03DetectorMessenger.cc +++ b/examples/novice/N03/src/ExN03DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03DetectorMessenger.cc,v 1.3 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03EventAction.cc b/examples/novice/N03/src/ExN03EventAction.cc index 856e24f6a6..426a676e08 100644 --- a/examples/novice/N03/src/ExN03EventAction.cc +++ b/examples/novice/N03/src/ExN03EventAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN03EventAction.cc,v 1.10 2000/06/05 09:54:37 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN03EventAction.cc,v 1.11 2000/11/21 10:59:44 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -31,7 +31,6 @@ #include "G4UImanager.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" -#include "Randomize.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -73,6 +72,9 @@ void ExN03EventAction::BeginOfEventAction(const G4Event* evt) void ExN03EventAction::EndOfEventAction(const G4Event* evt) { G4int evtNb = evt->GetEventID(); + + // extracted from hits, compute the total energy deposit (and total charged + // track length) in all absorbers and in all gaps G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); ExN03CalorHitsCollection* CHC = NULL; @@ -91,7 +93,9 @@ void ExN03EventAction::EndOfEventAction(const G4Event* evt) totEGap += (*CHC)[i]->GetEdepGap(); totLGap += (*CHC)[i]->GetTrakGap(); } - } + } + + // print this information event by event (modulo n) if (evtNb%printModulo == 0) { G4cout << "---> End of event: " << evtNb << G4endl; @@ -106,7 +110,25 @@ void ExN03EventAction::EndOfEventAction(const G4Event* evt) G4cout << "\n " << n_hit << " hits are stored in ExN03CalorHitsCollection." << G4endl; - } + } + + // extract the trajectories and draw them + + if (G4VVisManager::GetConcreteInstance()) + { + G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); + + for (G4int i=0; iGetTrajectoryContainer()))[i]); + if (drawFlag == "all") trj->DrawTrajectory(50); + else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(50); + else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) + trj->DrawTrajectory(50); + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/novice/N03/src/ExN03EventActionMessenger.cc b/examples/novice/N03/src/ExN03EventActionMessenger.cc index fce76a3188..9d211f7ee3 100644 --- a/examples/novice/N03/src/ExN03EventActionMessenger.cc +++ b/examples/novice/N03/src/ExN03EventActionMessenger.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN03EventActionMessenger.cc,v 1.3 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN03EventActionMessenger.cc,v 1.4 2000/11/21 10:59:44 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -27,10 +27,10 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) { DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); DrawCmd->SetGuidance("Draw the tracks in the event"); - DrawCmd->SetGuidance(" Choice : none, charged(default), all"); + DrawCmd->SetGuidance(" Choice : none, charged(default),neutral, all"); DrawCmd->SetParameterName("choice",true); - DrawCmd->SetDefaultValue("charged"); - DrawCmd->SetCandidates("none charged all"); + DrawCmd->SetDefaultValue("all"); + DrawCmd->SetCandidates("none charged neutral all"); DrawCmd->AvailableForStates(Idle); PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this); diff --git a/examples/novice/N03/src/ExN03PhysicsList.cc b/examples/novice/N03/src/ExN03PhysicsList.cc index 558e567977..888e64e6d4 100644 --- a/examples/novice/N03/src/ExN03PhysicsList.cc +++ b/examples/novice/N03/src/ExN03PhysicsList.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN03PhysicsList.cc,v 1.8 2000/05/24 09:53:05 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN03PhysicsList.cc,v 1.9 2000/11/10 19:41:01 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -339,7 +339,7 @@ G4double ExN03PhysicsList::GetCutForElectron() const G4double ExN03PhysicsList::GetCutForProton() const { - return cutForGamma; + return cutForProton; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc index 0aeb04a47e..92cd3b0dc0 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN03PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN03PrimaryGeneratorAction.cc,v 1.3 2000/11/21 10:59:45 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -44,7 +44,7 @@ ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( = particleTable->FindParticle(particleName="e-"); particleGun->SetParticleDefinition(particle); particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); - particleGun->SetParticleEnergy(30.*MeV); + particleGun->SetParticleEnergy(50.*MeV); G4double position = -0.5*(ExN03Detector->GetWorldSizeX()); particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc index 054946569c..12c6de34cc 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.3 1999/12/15 14:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03RunAction.cc b/examples/novice/N03/src/ExN03RunAction.cc index ea933b22c1..aa8674ca9e 100644 --- a/examples/novice/N03/src/ExN03RunAction.cc +++ b/examples/novice/N03/src/ExN03RunAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03RunAction.cc,v 1.7 1999/12/15 14:49:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03SteppingAction.cc b/examples/novice/N03/src/ExN03SteppingAction.cc index 61b784c01d..cef2110566 100644 --- a/examples/novice/N03/src/ExN03SteppingAction.cc +++ b/examples/novice/N03/src/ExN03SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03SteppingAction.cc,v 1.3 1999/12/15 14:49:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N03/src/ExN03SteppingVerbose.cc b/examples/novice/N03/src/ExN03SteppingVerbose.cc index 530861ed48..8ae353e8f5 100644 --- a/examples/novice/N03/src/ExN03SteppingVerbose.cc +++ b/examples/novice/N03/src/ExN03SteppingVerbose.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03SteppingVerbose.cc,v 1.3 2000/02/28 18:10:15 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- diff --git a/examples/novice/N03/src/ExN03VisManager.cc b/examples/novice/N03/src/ExN03VisManager.cc index 13b04026e6..4fe265ea6d 100644 --- a/examples/novice/N03/src/ExN03VisManager.cc +++ b/examples/novice/N03/src/ExN03VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN03VisManager.cc,v 1.4 2000/06/29 07:16:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // John Allison 24th January 1998. diff --git a/examples/novice/N03/exN03Vis0.mac b/examples/novice/N03/visTutor/exN03Vis0.mac similarity index 75% rename from examples/novice/N03/exN03Vis0.mac rename to examples/novice/N03/visTutor/exN03Vis0.mac index 8790479258..1f471f3472 100644 --- a/examples/novice/N03/exN03Vis0.mac +++ b/examples/novice/N03/visTutor/exN03Vis0.mac @@ -6,21 +6,24 @@ # DATE: November 10, 1999 # # May 20, 2000 # # June 06, 2000 # +# October 17, 2000 # +# November 26, 2000 # # # # CONTENTS: A simplest macro to demonstrate visualization of # # detector geometry and events # # # -# USAGE: % $G4BINDIR/exampleN03 # -# Idle> /control/execute exN03Vis0.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis0.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # +# DAWN (version 3.85 or after) # # gv (Ghostview), Tcl/Tk # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv OGLHOME ... (e.g. /usr/local) # +# % setenv OGLHOME ... (e.g. /usr/X11R6) # # % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # # % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # # # @@ -30,7 +33,7 @@ # % setenv G4VIS_USE_OPENGLX 1 # # % setenv G4VIS_USE_DAWNFILE 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # The compound command "/vis/open " # # is equivalent to the following set of commands: # # # @@ -44,7 +47,12 @@ # /vis/scene/add/volume $1 # # /vis/sceneHandler/attach # # /vis/viewer/refresh # -# /vis/viewer/update # +# # +# WARNING: You need one more command "/vis/viewer/update" for # +# flushing in using post-processin visualization drivers # +# such as the DAWNFILE, VRMLFILE, OpenGL Motif drivers. # +# You can execute, e.g. "/vis/draw/axes" before executing # +# "/vis/viewer/update" to visualize coordinate axes. # # # ####################################################################### @@ -60,10 +68,11 @@ # Note: Camera setting should be done # for each scene handler. /vis/camera/reset -/vis/camera/viewpoint 70 20 +#/vis/camera/viewpoint 70 20 # Visualize of the whole detector geometry /vis/drawVolume +/vis/viewer/update ######################################################### # Visualization of events with the DAWNFILE driver @@ -76,13 +85,11 @@ # You can do it with the 4th page of the DAWN GUI panel # or by editing the file by hand. # -# * Set as follows to skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" +# * Set an environmental variable if you wish to +# skip DAWN GUI: +# % setenv G4DAWNFILE_VIEWER "dawn -d" ########################################################## -# Store particle trajactories for visualization -/tracking/storeTrajectory 1 - # Invoke the DAWNFILE driver /vis/open DAWNFILE @@ -92,8 +99,14 @@ # Add the world volume to the current scene /vis/scene/add/volume +# Add trajectories to the current scene +# Note: This command is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories + # Attach the current scene handler -# to the current scene +# to the current scene (omitable) /vis/sceneHandler/attach # Set camera @@ -103,11 +116,7 @@ /vis/camera/zoom 1.2 /vis/camera/viewpoint 20 70 -# Visualize one event added to the current scene -# * Command "/vis/scene/notifyHandlers" is written in -# ExN03RunAction::BeginOfRunAction() -# * Command "/vis/viewer/update" is written in -# ExN03RunAction::EndOfRunAction() -/vis/scene/add/trajectories +# Visualize events added to the current scene +/tracking/storeTrajectory 1 /run/beamOn 10 diff --git a/examples/novice/N03/exN03Vis1.mac b/examples/novice/N03/visTutor/exN03Vis1.mac similarity index 76% rename from examples/novice/N03/exN03Vis1.mac rename to examples/novice/N03/visTutor/exN03Vis1.mac index 41dcad9a37..3c521e92ff 100644 --- a/examples/novice/N03/exN03Vis1.mac +++ b/examples/novice/N03/visTutor/exN03Vis1.mac @@ -6,20 +6,23 @@ # DATE: November 10, 1999 # # May 20, 2000 # # June 06, 2000 # +# October 17, 2000 # +# November 26, 2000 # # # # CONTENTS: A basic macro for visualization of detector geometry # # # -# USAGE: % $G4BINDIR/exampleN03 # -# Idle> /control/execute exN03Vis1.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis1.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # +# DAWN (version 3.85 or after) # # gv (Ghostview), Tcl/Tk # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv OGLHOME ... (e.g. /usr/local) # +# % setenv OGLHOME ... (e.g. /usr/X11R6) # # % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # # % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # # # @@ -29,7 +32,7 @@ # % setenv G4VIS_USE_OPENGLX 1 # # % setenv G4VIS_USE_DAWNFILE 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # The compound command "/vis/open " # # is equivalent to the following set of commands: # # # @@ -43,7 +46,12 @@ # /vis/scene/add/volume $1 # # /vis/sceneHandler/attach # # /vis/viewer/refresh # -# /vis/viewer/update # +# # +# WARNING: You need one more command "/vis/viewer/update" for # +# flushing in using post-processin visualization drivers # +# such as the DAWNFILE, VRMLFILE, OpenGL Motif drivers. # +# You can execute, e.g. "/vis/draw/axes" before executing # +# "/vis/viewer/update" to visualize coordinate axes. # # # ####################################################################### @@ -59,6 +67,7 @@ # with the defalut camera parameters /vis/camera/reset /vis/drawVolume +/vis/viewer/update # Slide show (spinning) of the view visualized above. # Draw 60 frames with steps of 3 degrees. @@ -75,20 +84,12 @@ # x-axis:red, y-axis:green, z-axis:blue # origin: (0,0,0), length: 500 # -# Note: The visualization commands are under reconstruction. -# In future, the lines below should be rewritten, -# replacing /vis/draw/... with /vis/add/... . -# For the commands /vis/draw/..., use /vis/show/view -# instead of /vis/viewer/update -# in order to flush visualization. -# /vis/camera/reset /vis/camera/viewpoint 20 70 /vis/camera/zoom 0.8 -/vis/draw/current +/vis/drawVolume /vis/draw/axes 0 0 0 500 -/vis/show/view - +/vis/viewer/update ########################################################## # Visualization with DAWNFILE driver @@ -101,64 +102,37 @@ # You can do it with the 4th page of the DAWN GUI panel # or by editing the file by hand. # -# * Set as follows to skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" +# * Set an environmental variable if you wish to +# skip DAWN GUI: +# % setenv G4DAWNFILE_VIEWER "dawn -d" ########################################################## -#----- # Invoke the DAWNFILE driver /vis/open DAWNFILE -#----- -# Create a new scene -/vis/scene/create - -# Attach the current visualization driver -# to the current scene -/vis/sceneHandler/attach - -# Bird's-eye view of a detector component (Absorber.0) +# Bird's-eye view of a detector component (Absorber) # viewpoint : (theta,phi) = (35*deg, 35*deg), # zoom factor: 0.9 of the full screen size # coordinate axes: # x-axis:red, y-axis:green, z-axis:blue # origin: (0,0,0), length: 500 # -/vis/scene/add/volume Absorber 0 /vis/camera/reset /vis/camera/zoom 0.9 /vis/camera/viewpoint 35 35 -/vis/draw/current +/vis/drawVolume Absorber /vis/draw/axes 0 0 0 500 -/vis/draw/text 0 0 0 mm 50 -100 -200 Absorber.0 -/vis/show/view +/vis/draw/text 0 0 0 mm 50 -100 -200 Absorber +/vis/viewer/update -#----- -# Create a new scene -/vis/scene/create - -# Attach the current visualization driver -# to the current scene. -/vis/sceneHandler/attach - -# Bird's-eye view of a detector component (Gap.0) -# -/vis/scene/add/volume Gap 0 +# Bird's-eye view of a detector component (Gap) /vis/camera/reset /vis/camera/zoom 0.9 /vis/camera/viewpoint 35 35 -/vis/draw/current +/vis/drawVolume Gap /vis/draw/axes 0 0 0 500 -/vis/draw/text 0 0 0 mm 50 -100 -200 Gap.0 -/vis/show/view - -#----- -# Create a new scene -/vis/scene/create - -# Attach the current visualization driver -# to the current scene. -/vis/sceneHandler/attach +/vis/draw/text 0 0 0 mm 50 -100 -200 Gap +/vis/viewer/update # Bird's-eye view of the whole detector components # * The argument "world" of the command @@ -167,12 +141,14 @@ # world volume visible. # (The invisibility of the world volume is set # in ExN03DetectorConstruction.cc.) -/vis/scene/add/volume world /vis/camera/reset /vis/camera/zoom 0.9 /vis/camera/viewpoint 35 35 /vis/set/culling off -/vis/draw/current +/vis/drawVolume /vis/draw/axes 0 0 0 500 /vis/draw/text 0 0 0 mm 50 -50 -200 world -/vis/show/view +/vis/viewer/update + +# Make the culling on for next visualization +/vis/set/culling on diff --git a/examples/novice/N03/exN03Vis2.mac b/examples/novice/N03/visTutor/exN03Vis2.mac similarity index 80% rename from examples/novice/N03/exN03Vis2.mac rename to examples/novice/N03/visTutor/exN03Vis2.mac index 7c9f92cb75..d8ec12a813 100644 --- a/examples/novice/N03/exN03Vis2.mac +++ b/examples/novice/N03/visTutor/exN03Vis2.mac @@ -6,20 +6,23 @@ # DATE: November 10, 1999 # # May 20, 2000 # # June 06, 2000 # +# October 17, 2000 # +# November 26, 2000 # # # # CONTENTS: A basic macro for visualization of events # # # -# USAGE: % $G4BINDIR/exampleN03 # -# Idle> /control/execute exN03Vis2.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis2.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # +# DAWN (version 3.85 or after) # # gv (Ghostview), Tcl/Tk # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv OGLHOME ... (e.g. /usr/local) # +# % setenv OGLHOME ... (e.g. /usr/X11R6) # # % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # # % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # # # @@ -29,7 +32,7 @@ # % setenv G4VIS_USE_OPENGLX 1 # # % setenv G4VIS_USE_DAWNFILE 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # The compound command "/vis/open " # # is equivalent to the following set of commands: # # # @@ -43,7 +46,6 @@ ################################################# /tracking/storeTrajectory 1 - ##################################################### # Visualization with OGLSX (OpenGL Stored X) driver ##################################################### @@ -54,23 +56,21 @@ # Create a new scene /vis/scene/create -# Attach the current visualization driver -# to the current scene -/vis/sceneHandler/attach - # Add detector geometry to the current scene /vis/scene/add/volume -# Add trajectories to the current scene -/vis/scene/add/trajectories +# Attach the current visualization driver +# to the current scene (omitable) +/vis/sceneHandler/attach -# Set drawing style -# The drawing style is "hidden-surface removal". -# The commonly-used drawing styles are: -# 0: wireframe -# 1: hidden-line removal -# 2: hidden-surface removal -/vis/set/drawing_style 2 +# Add trajectories to the current scene +# Note: This command is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories + +# Set drawing style to "surface" +/vis/viewer/set/style surface # Set camera # viewpoint : (theta,phi) = (10*deg, 10*deg). @@ -80,10 +80,6 @@ /vis/camera/zoom 0.9 # Generate one event and visualize it. -# * Command "/vis/scene/notifyHandlers" is written in -# ExN03RunAction::BeginOfRunAction() -# * Command "/vis/viewer/update" is written in -# ExN03RunAction::EndOfRunAction() /run/beamOn 1 # Slide show (spinning). @@ -106,8 +102,9 @@ # You can do it with the 4th page of the DAWN GUI panel # or by editing the file by hand. # -# * Set as follows to skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" +# * Set an environmental variable if you wish to +# skip DAWN GUI: +# % setenv G4DAWNFILE_VIEWER "dawn -d" ########################################################## # Invoke the DAWNFILE driver @@ -116,21 +113,21 @@ # Create a new scene /vis/scene/create -# Attach the current visualization driver -# to the current scene -/vis/sceneHandler/attach - # Add detector geometry to the current scene /vis/scene/add/volume +# Attach the current visualization driver +# to the current scene (omitable) +/vis/sceneHandler/attach + # Add trajectories to the current scene -/vis/scene/add/trajectories +# Note: This command is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories # Set the drawing style to "wireframe". -# 0: wireframe -# 1: hidden-line removal -# 2: hidden-surface removal -/vis/set/drawing_style 0 +/vis/viewer/set/style wireframe # Visualize many events (bird's eye view) # viewpoint : (theta,phi) = (45*deg, 45*deg) diff --git a/examples/novice/N03/exN03Vis3.mac b/examples/novice/N03/visTutor/exN03Vis3.mac similarity index 72% rename from examples/novice/N03/exN03Vis3.mac rename to examples/novice/N03/visTutor/exN03Vis3.mac index 15ec80ef2f..a236f1bb2f 100644 --- a/examples/novice/N03/exN03Vis3.mac +++ b/examples/novice/N03/visTutor/exN03Vis3.mac @@ -6,14 +6,17 @@ # DATE: November 10, 1999 # # May 20, 2000 # # June 06, 2000 # +# October 17, 2000 # +# November 26, 2000 # # # # CONTENTS: A basic macro for demonstrating various drawing styles # # # -# USAGE: % $G4BINDIR/exampleN03 # -# Idle> /control/execute exN03Vis3.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis3.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # +# DAWN (version 3.85 or after) # # gv (Ghostview), Tcl/Tk # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # @@ -29,7 +32,7 @@ # % setenv G4VIS_USE_OPENGLX 1 # # % setenv G4VIS_USE_DAWNFILE 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # The compound command "/vis/open " # # is equivalent to the following set of commands: # # # @@ -39,7 +42,7 @@ ####################################################################### ############################################## -Store particle trajactories for visualization +# Store particle trajactories for visualization ############################################## /tracking/storeTrajectory 1 @@ -53,21 +56,24 @@ Store particle trajactories for visualization # Create a new scene /vis/scene/create -# Attach the current visualization driver -# to the current scene -/vis/sceneHandler/attach - # Add detector geometry to the current scene /vis/scene/add/volume -# Add trajectories to the current scene -/vis/scene/add/trajectories +# Attach the current visualization driver +# to the current scene (omitable) +/vis/sceneHandler/attach -# Bird-eye view of events with the hidden-surface -# drawing style. +# Add trajectories to the current scene +# Note: This command is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories + +# Bird-eye view of events with +# the hidden-surface drawing style /vis/camera/reset /vis/camera/viewpoint 45 45 -/vis/set/drawing_style 2 +/vis/viewer/set/style surface /run/beamOn 10 ########################################################## @@ -81,8 +87,9 @@ Store particle trajactories for visualization # You can do it with the 4th page of the DAWN GUI panel # or by editing the file by hand. # -# * Set as follows to skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" +# * Set an environmental variable if you wish to +# skip DAWN GUI: +# % setenv G4DAWNFILE_VIEWER "dawn -d" # ########################################################## @@ -92,15 +99,18 @@ Store particle trajactories for visualization # Create a new scene /vis/scene/create -# Attach the current visualization driver -# to the current scene -/vis/sceneHandler/attach - # Add detector geometry to the current scene /vis/scene/add/volume +# Attach the current visualization driver +# to the current scene (omitable) +/vis/sceneHandler/attach + # Add trajectories to the current scene -/vis/scene/add/trajectories +# Note: This command is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories # Set camera # Camera is zoomed up by 1.5 times of the standard setting. @@ -108,18 +118,28 @@ Store particle trajactories for visualization /vis/camera/zoom 1.5 /vis/camera/viewpoint 45 45 -# Bird-eye view of events with the wireframe drawing style -/vis/set/drawing_style 0 +# Bird-eye view of events with the +# wireframe drawing style +/vis/viewer/set/style wireframe /run/beamOn 5 -# Bird-eye view of events with the hidden-surface -# drawing style. -/vis/set/drawing_style 2 +# Bird-eye view of events with the +# hidden-surface drawing style +/vis/viewer/set/style surface /run/beamOn 50 # Cull detector geometry and show only trajectories. /vis/camera/reset /vis/set/culling on /vis/set/cull_by_density on 999 -/vis/set/drawing_style 0 +/vis/viewer/set/style wireframe /run/beamOn 10 + +# Reset the culling policy for next visualization +# The default culling policy is: +# global : on +# invisible : on +# low density : off +# covered daughter: off +/vis/set/cull_by_density off + diff --git a/examples/novice/N03/exN03Vis4.mac b/examples/novice/N03/visTutor/exN03Vis4.mac similarity index 71% rename from examples/novice/N03/exN03Vis4.mac rename to examples/novice/N03/visTutor/exN03Vis4.mac index 9e8fe2715d..4ea46ca390 100644 --- a/examples/novice/N03/exN03Vis4.mac +++ b/examples/novice/N03/visTutor/exN03Vis4.mac @@ -4,31 +4,31 @@ # AUTHOR(S): Satoshi Tanaka # # # # DATE: June 06, 2000 # +# October 17, 2000 # +# November 26, 2000 # # # # CONTENTS: An example for the compound command, # # "/vis/specify " # # # -# USAGE: % $G4BINDIR/exampleN03 # -# Idle> /control/execute exN03Vis4.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis4.mac # # # -# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL, # -# DAWN (version 3.80 or after) # +# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # +# DAWN (version 3.85 or after) # # gv (Ghostview), Tcl/Tk # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv OGLHOME ... (e.g. /usr/local) # -# % setenv G4VIS_BUILD_OPENGLX_DRIVER 1 # # % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv G4VIS_USE_OPENGLX 1 # # % setenv G4VIS_USE_DAWNFILE 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # The compound command "/vis/open " # # is equivalent to the following set of commands: # # # @@ -42,29 +42,16 @@ # /vis/scene/add/logicalVolume $1 # # /vis/sceneHandler/attach # # /vis/viewer/refresh # -# /vis/viewer/update # # /geometry/print $1 # # # +# WARNING: You need one more command "/vis/viewer/update" for # +# flushing in using post-processin visualization drivers # +# such as the DAWNFILE, VRMLFILE, OpenGL Motif drivers. # +# You can execute, e.g. "/vis/draw/axes" before executing # +# "/vis/viewer/update" to visualize coordinate axes. # +# # ####################################################################### - -###################################################### -# Visualization with OGLIX (OpenGL Immediate X) driver -###################################################### - -# Invoke the OGLIX driver -/vis/open OGLIX - -# Set camera -# Note: Camera setting should be done -# for each scene handler. -/vis/camera/reset -/vis/camera/zoom 0.9 -/vis/camera/viewpoint 35 35 - -# Visualize a selected logical volume -/vis/specify Absorber - ########################################################## # Visualization with DAWNFILE driver # @@ -76,8 +63,9 @@ # You can do it with the 4th page of the DAWN GUI panel # or by editing the file by hand. # -# * Set as follows to skip DAWN GUI: -# % setenv G4DAWNFILE_VIEWER "dawn -d" +# * Set an environmental variable if you wish to +# skip DAWN GUI: +# % setenv G4DAWNFILE_VIEWER "dawn -d" ########################################################## @@ -91,5 +79,14 @@ /vis/camera/zoom 0.9 /vis/camera/viewpoint 35 35 -# Visualize a selected logical volume -/vis/specify Gap +# Visualize a selected logical volume (1) +/vis/specify Absorber +/vis/draw/axes 0 0 0 500 +/vis/draw/text 0 0 0 mm 40 -100 -200 LogVol:Absorber +/vis/viewer/update + +# Visualize a selected logical volume (2) +/vis/specify Gap +/vis/draw/axes 0 0 0 500 +/vis/draw/text 0 0 0 mm 40 -100 -200 LogVol:Gap +/vis/viewer/update diff --git a/examples/novice/N03/exN03Vis5.mac b/examples/novice/N03/visTutor/exN03Vis5.mac similarity index 94% rename from examples/novice/N03/exN03Vis5.mac rename to examples/novice/N03/visTutor/exN03Vis5.mac index 7f44c06f2e..269ca16581 100644 --- a/examples/novice/N03/exN03Vis5.mac +++ b/examples/novice/N03/visTutor/exN03Vis5.mac @@ -7,7 +7,8 @@ # # # CONTENTS: A basic macro for demonstrating OPACS/Xo driver # # # -# USAGE: % $G4BINDIR/exampleN03 exN03Vis5.mac # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 visTutor/exN03Vis5.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL, # # OPACS (version 3.0) # @@ -22,7 +23,7 @@ # # # % setenv G4VIS_USE_OPACS 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # # Controls on a Xo window are : # # - Ctrl + left-button1 + move pointer : # # move things (default is scale). # @@ -46,7 +47,7 @@ # Add detector geometry to the current scene /vis/scene/add/volume /tracking/storeTrajectory 1 -/vis/scene/include/trajectories +#/vis/scene/add/trajectories # Bird-eye view of events /vis/camera/reset diff --git a/examples/novice/N03/exN03Vis6.mac b/examples/novice/N03/visTutor/exN03Vis6.mac similarity index 93% rename from examples/novice/N03/exN03Vis6.mac rename to examples/novice/N03/visTutor/exN03Vis6.mac index c1649f5043..0e088b4bf4 100644 --- a/examples/novice/N03/exN03Vis6.mac +++ b/examples/novice/N03/visTutor/exN03Vis6.mac @@ -7,7 +7,7 @@ # # # CONTENTS: A basic macro for demonstrating Inventor driver # # # -# USAGE: % $G4BINDIR/exampleN03 exN03Vis6.mac # +# USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis6.mac # # # # REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL, # # HEPVis # @@ -23,7 +23,8 @@ # # # % setenv G4VIS_USE_OIX 1 # # # -# Addional Notes: # +# ADDITIONAL NOTES: # +# # ####################################################################### # Create "scene-0" @@ -35,7 +36,7 @@ # Add detector geometry to the current scene /vis/scene/add/volume -/vis/scene/include/trajectories +#/vis/scene/add/trajectories /tracking/storeTrajectory 1 # Bird-eye view of events diff --git a/examples/novice/N03/visTutor/exN03Vis7.mac b/examples/novice/N03/visTutor/exN03Vis7.mac new file mode 100644 index 0000000000..818da78b85 --- /dev/null +++ b/examples/novice/N03/visTutor/exN03Vis7.mac @@ -0,0 +1,73 @@ +####################################################################### +# MACRO FILE NAME: exN03Vis7.mac # +# # +# AUTHOR(S): Satoshi Tanaka # +# # +# DATE: October 17, 2000 # +# November 26, 2000 # +# # +# CONTENTS: A macro to demonstrate the VRMLFILE driver # +# # +# USAGE: % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis7.mac # +# # +# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # +# VRML viewer (e.g. VRMLview) # +# # +# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_BUILD_VRMLFILE_DRIVER 1 # +# # +# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_USE_VRMLFILE 1 # +# # +# RECOMMENDED ENVIRONMENTAL VARIABLES FOR VISUALIZATION: # +# # +# % setenv G4VRMLFILE_VIEWER vrmlview # +# ( The default value is "NONE".) # +# # +# % setenv G4VRMLFILE_MAX_FILE_NUM 100 # +# ( The default value is "1".) # +# # +# ADDITIONAL NOTES: # +# # +####################################################################### + +################################################### +# Visualization of detector geometry and events +# with the VRML2FILE driver. +# +# Note: "/vis/viewer/set/style wireframe" means +# "half-transparent" in the VRML2FILE driver. +# It is a convention of this driver. +################################################### + +# Store particle trajactories for visualization +/tracking/storeTrajectory 1 + +# Invoke the VRML2FILE driver +/vis/open VRML2FILE + +# Create a new scene +/vis/scene/create + +# Attach the current scene handler +# to the current scene +/vis/sceneHandler/attach + +# Add the world volume to the current scene +/vis/scene/add/volume + +# Visualize one event added to the current scene +# Note: The command /vis/scene/add/trajectories +# is not necessary in exampleN03, +# since the C++ method DrawTrajectory() is +# described in the event action. +#/vis/scene/add/trajectories +/vis/viewer/set/style wireframe +/run/beamOn 3 + diff --git a/examples/novice/N03/visTutor/exN03Vis8.mac b/examples/novice/N03/visTutor/exN03Vis8.mac new file mode 100644 index 0000000000..50afac18c1 --- /dev/null +++ b/examples/novice/N03/visTutor/exN03Vis8.mac @@ -0,0 +1,81 @@ +####################################################################### +# MACRO FILE NAME: exN03Vis8.mac # +# # +# AUTHOR(S): Satoshi Tanaka # +# # +# DATE: # +# October 17, 2000 # +# November 26, 2000 # +# # +# CONTENTS: A macro to demonstrate creation of a "multi-page" # +# PostScript file # +# # +# USAGE: % setenv G4DAWNFILE_MAX_FILE_NUM 1 # +# % setenv DAWN_BATCH a # +# % gmake visclean # +# % $G4BINDIR/exampleN03 # +# Idle> /control/execute visTutor/exN03Vis8.mac # +# Idle> exit # +# % gv g4_00.eps # +# # +# Then click, "<<", ">>" etc to traverse pages # +# # +# REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, # +# DAWN (version 3.85 or after) # +# gv (Ghostview), Tcl/Tk # +# # +# ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_BUILD_DAWNFILE_DRIVER 1 # +# # +# ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # +# (See geant4/source/visualization/README for details.) # +# # +# % setenv G4VIS_USE_DAWNFILE 1 # +# # +# ADDITIONAL NOTES: # +# * If you execute this macro plural times, all the views are # +# sequentially appended to the file "g4_00.eps". # +# For example if you execute it two times, a 6-page (3+3 page) # +# PostScript file is made. # +# # +####################################################################### + +#################################################################### +# Creation of a multi-page PostScript file with the DAWNFILE driver +#################################################################### + +# Invoke the DAWNFILE driver +/vis/open DAWNFILE + +# Generate page 1 +/vis/camera/reset +/vis/camera/zoom 0.9 +/vis/camera/viewpoint 35 35 +/vis/drawVolume Absorber +/vis/draw/axes 0 0 0 500 +/vis/draw/text 0 0 0 mm 50 -150 -200 Page1/3:Absorber +/vis/viewer/update + +# Generate page 2 +/vis/camera/reset +/vis/camera/zoom 0.9 +/vis/camera/viewpoint 35 35 +/vis/drawVolume Gap +/vis/draw/axes 0 0 0 500 +/vis/draw/text 0 0 0 mm 50 -100 -200 Page2/3:Gap +/vis/viewer/update + +# Generate page 3 +/vis/camera/reset +/vis/camera/zoom 0.9 +/vis/camera/viewpoint 35 35 +/vis/set/culling off +/vis/drawVolume +/vis/draw/axes 0 0 0 500 +/vis/draw/text 0 0 0 mm 50 -100 -200 Page3/3:world +/vis/viewer/update + +# Make the culling on for next visualization +/vis/set/culling on diff --git a/examples/novice/N03/g4Xt.xrm b/examples/novice/N03/visTutor/g4Xt.xrm similarity index 100% rename from examples/novice/N03/g4Xt.xrm rename to examples/novice/N03/visTutor/g4Xt.xrm diff --git a/examples/novice/N03/gui.mac b/examples/novice/N03/visTutor/gui.mac similarity index 100% rename from examples/novice/N03/gui.mac rename to examples/novice/N03/visTutor/gui.mac diff --git a/examples/novice/N04/History b/examples/novice/N04/History index 706e54cd7d..cd53a1a532 100644 --- a/examples/novice/N04/History +++ b/examples/novice/N04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.7 2000/06/22 09:39:28 stesting Exp $ +$Id: History,v 1.10 2000/11/24 09:54:52 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,16 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut +- Update test outputs for small"ish" changes from em tags + +August 18, 2000 Michel Maire +- standard G4ionIonisation removed from the PhysicsList + +June 24, 2000 John Allison (exampleN04-V01-01-03) +- Updated exampleN04*.out for stand-V01-01-05 and utils-V01-01-03. + June 19, 2000 John Allison (exampleN04-V01-01-02) - Updated exampleN04.out for geant4-01-01-cand-07. diff --git a/examples/novice/N04/exampleN04.EMtest.out b/examples/novice/N04/exampleN04.EMtest.out index 281d866cac..b10913a67f 100644 --- a/examples/novice/N04/exampleN04.EMtest.out +++ b/examples/novice/N04/exampleN04.EMtest.out @@ -1,13 +1,9 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** -ionIoni: Knock-on electron cross sections . - MeanFreePath is computed at tracking time. - delta ray energy sampled from differential Xsection. - 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. @@ -34,13 +30,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 0.99 - Lead 229.66 + Lead 229.54 ArgonGas 0.99 - Silicon 116.08 - Scintillator 82.869 + Silicon 116.06 + Scintillator 82.859 dummyMat 129.45 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -54,10 +51,10 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons) material min.delta energy(keV) Air 0.99 - Lead 229.66 + Lead 229.54 ArgonGas 0.99 - Silicon 116.08 - Scintillator 82.869 + Silicon 116.06 + Scintillator 82.859 dummyMat 129.45 hIoni: Knock-on electron cross sections . @@ -92,19 +89,19 @@ Stage 1->2 : 1 isolated muon found. >>> Event 0 5 hits are stored in ExN04TrackerHitsCollection. 4 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.29547 (GeV) + Total energy deposition in calorimeter : 0.29801 (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 - 25 hits are stored in ExN04TrackerHitsCollection. - 35 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 5.1923 (GeV) + 21 hits are stored in ExN04TrackerHitsCollection. + 19 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 10.856 (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 5 hits are stored in ExN04TrackerHitsCollection. - 22 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 16.225 (GeV) + 17 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 11.4 (GeV) 1 hits are stored in ExN04MuonHitsCollection. diff --git a/examples/novice/N04/exampleN04.cc b/examples/novice/N04/exampleN04.cc index 3a5b139704..1823c54400 100644 --- a/examples/novice/N04/exampleN04.cc +++ b/examples/novice/N04/exampleN04.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: exampleN04.cc,v 1.2 1999/12/15 14:49:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N04/exampleN04.out b/examples/novice/N04/exampleN04.out index 81292df328..3f3f378024 100644 --- a/examples/novice/N04/exampleN04.out +++ b/examples/novice/N04/exampleN04.out @@ -1,13 +1,9 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** -ionIoni: Knock-on electron cross sections . - MeanFreePath is computed at tracking time. - delta ray energy sampled from differential Xsection. - 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. @@ -34,13 +30,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 0.99 - Lead 229.66 + Lead 229.55 ArgonGas 0.99 - Silicon 116.08 - Scintillator 82.869 + Silicon 116.06 + Scintillator 82.859 dummyMat 129.45 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -54,10 +51,10 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons) material min.delta energy(keV) Air 0.99 - Lead 229.66 + Lead 229.55 ArgonGas 0.99 - Silicon 116.08 - Scintillator 82.869 + Silicon 116.06 + Scintillator 82.859 dummyMat 129.45 hIoni: Knock-on electron cross sections . @@ -91,9 +88,9 @@ MuPairProd: theoretical cross sections Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 138 hits are stored in ExN04TrackerHitsCollection. - 65 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.96905 (GeV) + 144 hits are stored in ExN04TrackerHitsCollection. + 53 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.66269 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted @@ -106,8 +103,8 @@ Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 0 isolated muon found. ++++++++ event aborted >>> Event 2 - 88 hits are stored in ExN04TrackerHitsCollection. + 85 hits are stored in ExN04TrackerHitsCollection. 13 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.34298 (GeV) + Total energy deposition in calorimeter : 0.34233 (GeV) 1 hits are stored in ExN04MuonHitsCollection. # diff --git a/examples/novice/N04/src/ExN04PhysicsList.cc b/examples/novice/N04/src/ExN04PhysicsList.cc index cf12517ec7..89a28a9642 100644 --- a/examples/novice/N04/src/ExN04PhysicsList.cc +++ b/examples/novice/N04/src/ExN04PhysicsList.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN04PhysicsList.cc,v 1.7 1999/12/15 14:49:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN04PhysicsList.cc,v 1.8 2000/08/16 11:35:07 maire Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -86,7 +86,6 @@ void ExN04PhysicsList::ConstructProcess() #include "G4MuPairProduction.hh" #include "G4hIonisation.hh" -#include "G4ionIonisation.hh" void ExN04PhysicsList::ConstructEM() { @@ -167,7 +166,7 @@ void ExN04PhysicsList::ConstructEM() pmanager->SetProcessOrdering(aPairProduction, idxPostStep, 4); } else if( particleName == "GenericIon" ) { - G4VProcess* aionIonization = new G4ionIonisation; + G4VProcess* aionIonization = new G4hIonisation; G4VProcess* aMultipleScattering = new G4MultipleScattering(); pmanager->AddProcess(aionIonization); pmanager->AddProcess(aMultipleScattering); diff --git a/examples/novice/N05/History b/examples/novice/N05/History index 86fc2074e9..6706dd7cf0 100644 --- a/examples/novice/N05/History +++ b/examples/novice/N05/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2000/06/17 12:32:21 stesting Exp $ +$Id: History,v 1.10 2000/11/24 10:11:42 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,24 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut +- The changes in deposited energy in HAD cal towers upto 20 per cent +- The changes in deposited energy in EM cry(s)tals about 1 part in 10**5 + +August 03, 2000 Gabriele Cosmo (exampleN05-V02-00-01r) +- Changed RandGauss to G4RandGauss in ExN05PionShowerModel.cc to fix problem + of events' reproducibility. + +July 28, 2000 Gabriele Cosmo (exampleN05-V02-00-01) +- Includes also new ExN05VisManager class. + +June 26, 2000 John Allison (exampleN05-V02-00-00) +- Reduced no. of events per run from 500 to 250 in exampleN05.large_N.in. + +June 24, 2000 John Allison (exampleN05-V01-01-01) +- Updated exampleN05.out for stand-V01-01-05 and utils-V01-01-03. + June 17, 2000 John Allison (exampleN05-V01-01-00) - Updated exampleN05.out for geant4-01-01-ref-06. diff --git a/examples/novice/N05/exampleN05.cc b/examples/novice/N05/exampleN05.cc index 7cbb54c20a..60c19bb28f 100644 --- a/examples/novice/N05/exampleN05.cc +++ b/examples/novice/N05/exampleN05.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: exampleN05.cc,v 1.6 2000/06/29 07:42:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/exampleN05.large_N.in b/examples/novice/N05/exampleN05.large_N.in index 1ca357285d..5037a23bb7 100644 --- a/examples/novice/N05/exampleN05.large_N.in +++ b/examples/novice/N05/exampleN05.large_N.in @@ -7,16 +7,16 @@ #/tracking/verbose 1 # /gun/direction 0 .6 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 .3 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 -.3 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 -.6 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/particle pi- /gun/energy 1 GeV @@ -25,16 +25,16 @@ # # /gun/direction 0 .6 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 .3 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 -.3 1. -/run/beamOn 500 +/run/beamOn 250 # /gun/direction 0 -.6 1. -/run/beamOn 500 +/run/beamOn 250 # # # switch off Fast Simulation @@ -47,13 +47,13 @@ /exN05/detector/switchUserLimits off # /gun/direction 0 .6 1. -/run/beamOn 500 +/run/beamOn 250 # # switch on UserLimits /exN05/detector/switchUserLimits on # /gun/direction 0 .6 1. -/run/beamOn 500 +/run/beamOn 250 # exit diff --git a/examples/novice/N05/exampleN05.out b/examples/novice/N05/exampleN05.out index 5ba5563937..32429743e5 100644 --- a/examples/novice/N05/exampleN05.out +++ b/examples/novice/N05/exampleN05.out @@ -1,7 +1,7 @@ RunManager construction starting.... ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** @@ -33,14 +33,15 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) - CsI 136.11 + CsI 136 He 0.99 - Aluminium 125.07 - Lead 229.66 - Fer 224.12 + Aluminium 125.06 + Lead 229.55 + Fer 224.07 Air 0.99 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -53,11 +54,11 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons) material min.delta energy(keV) - CsI 136.11 + CsI 136 He 0.99 - Aluminium 125.07 - Lead 229.66 - Fer 224.12 + Aluminium 125.06 + Lead 229.55 + Fer 224.07 Air 0.99 hIoni: Knock-on electron cross sections . @@ -95,112 +96,112 @@ Closing FastSimulation # ### Run 0 start. >>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9899 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98988 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99993 (GeV) + Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 3 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99988 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98989 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 # ### Run 1 start. >>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. + 9 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. + 8 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 3 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99993 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99984 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99989 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 # ### Run 2 start. >>> Event 0 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 9 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) >>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. + 11 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. + 8 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 3 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) + 9 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) >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 # ### Run 3 start. >>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) + 12 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98988 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99958 (GeV) + Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 3 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99989 (GeV) + Total energy deposition in EM calorimeter crytals : 0.98988 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99993 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -212,112 +213,112 @@ number of event = 5 >>> Event 0 8 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.19999 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.57997 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.41997 (GeV) >>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.31998 (GeV) + 17 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.39998 (GeV) 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 1.2599 (GeV) + Total energy deposition in HAD calorimeter towers : 0.97994 (GeV) >>> Event 2 - 16 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.49997 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 1.7199 (GeV) ->>> Event 3 23 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.78047 (GeV) - 15 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 1.9997 (GeV) + Total energy deposition in EM calorimeter crytals : 0.55997 (GeV) + 17 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 1.5599 (GeV) +>>> Event 3 + 26 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.71996 (GeV) + 18 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 2.1199 (GeV) >>> Event 4 - 25 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99973 (GeV) - 16 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 2.5196 (GeV) + 29 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.91995 (GeV) + 20 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 2.5599 (GeV) number of event = 5 # ### Run 5 start. >>> Event 0 - 27 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.0397 (GeV) - 27 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 3.3596 (GeV) + 30 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.93995 (GeV) + 33 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 3.4398 (GeV) >>> Event 1 - 32 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.1397 (GeV) - 29 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 4.1195 (GeV) + 33 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99994 (GeV) + 34 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 4.1798 (GeV) >>> Event 2 34 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.1997 (GeV) - 30 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 4.9795 (GeV) + Total energy deposition in EM calorimeter crytals : 1.0599 (GeV) + 34 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 4.9797 (GeV) >>> Event 3 - 35 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.2397 (GeV) - 31 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 5.8595 (GeV) + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.25271 (GeV) + 3 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.48247 (GeV) >>> Event 4 - 36 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.2997 (GeV) - 32 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 6.6994 (GeV) + 34 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.0599 (GeV) + 36 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 5.8397 (GeV) number of event = 5 # ### Run 6 start. >>> Event 0 - 37 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.3197 (GeV) + 35 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.0799 (GeV) 47 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 7.4994 (GeV) + Total energy deposition in HAD calorimeter towers : 6.7396 (GeV) >>> Event 1 - 39 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.3597 (GeV) + 36 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.0999 (GeV) 50 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 8.2993 (GeV) + Total energy deposition in HAD calorimeter towers : 7.6796 (GeV) >>> Event 2 - 40 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.3797 (GeV) - 51 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 9.0392 (GeV) + 38 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.1399 (GeV) + 55 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 8.5595 (GeV) >>> Event 3 - 43 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.4397 (GeV) - 51 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 9.8192 (GeV) + 39 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.1599 (GeV) + 57 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 9.4595 (GeV) >>> Event 4 - 45 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.4997 (GeV) - 53 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 10.639 (GeV) + 43 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.2399 (GeV) + 57 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 10.259 (GeV) number of event = 5 # ### Run 7 start. >>> Event 0 - 55 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.7597 (GeV) - 62 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 11.139 (GeV) + 51 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.4599 (GeV) + 64 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 10.659 (GeV) >>> Event 1 59 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.9197 (GeV) - 64 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 11.799 (GeV) + Total energy deposition in EM calorimeter crytals : 1.7199 (GeV) + 66 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 11.059 (GeV) >>> Event 2 - 64 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 2.1197 (GeV) - 65 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 12.279 (GeV) + 66 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.9599 (GeV) + 68 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 11.559 (GeV) >>> Event 3 69 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 2.2997 (GeV) - 66 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 12.699 (GeV) + Total energy deposition in EM calorimeter crytals : 2.0999 (GeV) + 71 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 12.019 (GeV) >>> Event 4 - 73 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 2.5396 (GeV) - 67 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 12.959 (GeV) + 70 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 2.2399 (GeV) + 71 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 12.479 (GeV) number of event = 5 # # @@ -329,30 +330,30 @@ number of event = 5 # ### Run 8 start. >>> Event 0 - 36 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99046 (GeV) + 30 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99941 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 - 34 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99536 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0011673 (GeV) + 37 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99508 (GeV) + 1 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.0016043 (GeV) >>> Event 2 - 44 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99157 (GeV) + 35 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98933 (GeV) 1 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0045047 (GeV) + Total energy deposition in HAD calorimeter towers : 0.001435 (GeV) >>> Event 3 - 39 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.963 (GeV) - 1 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0016588 (GeV) ->>> Event 4 - 38 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99325 (GeV) + 36 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99741 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) +>>> Event 4 + 38 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99374 (GeV) + 1 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.002585 (GeV) number of event = 5 # # switch on UserLimits @@ -360,28 +361,28 @@ number of event = 5 ### Run 9 start. >>> Event 0 22 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9939 (GeV) - 1 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0056358 (GeV) + Total energy deposition in EM calorimeter crytals : 0.99842 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 - 19 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99466 (GeV) + 22 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99586 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 - 23 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99342 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0048977 (GeV) ->>> Event 3 - 25 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99585 (GeV) + 19 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98875 (GeV) 1 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0024477 (GeV) + Total energy deposition in HAD calorimeter towers : 0.0013276 (GeV) +>>> Event 3 + 16 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.98984 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 22 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99564 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0018529 (GeV) + 31 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99074 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 # diff --git a/examples/novice/N05/include/ExN05CalorimeterHit.hh b/examples/novice/N05/include/ExN05CalorimeterHit.hh index fcc1ebdc55..7602efe01d 100644 --- a/examples/novice/N05/include/ExN05CalorimeterHit.hh +++ b/examples/novice/N05/include/ExN05CalorimeterHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05CalorimeterHit.hh,v 1.3 1999/12/15 14:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05CalorimeterHit_h diff --git a/examples/novice/N05/include/ExN05CalorimeterSD.hh b/examples/novice/N05/include/ExN05CalorimeterSD.hh index ae01a6112a..dd47814bc8 100644 --- a/examples/novice/N05/include/ExN05CalorimeterSD.hh +++ b/examples/novice/N05/include/ExN05CalorimeterSD.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05CalorimeterSD.hh,v 1.2 1999/12/15 14:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05CalorimeterSD_h diff --git a/examples/novice/N05/include/ExN05DetectorConstruction.hh b/examples/novice/N05/include/ExN05DetectorConstruction.hh index 9ee0b36df6..de2eb032c1 100644 --- a/examples/novice/N05/include/ExN05DetectorConstruction.hh +++ b/examples/novice/N05/include/ExN05DetectorConstruction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05DetectorConstruction.hh,v 1.2 1999/12/15 14:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05DetectorConstruction_h #define ExN05DetectorConstruction_h 1 diff --git a/examples/novice/N05/include/ExN05DetectorMessenger.hh b/examples/novice/N05/include/ExN05DetectorMessenger.hh index 5904a91905..231bb56825 100644 --- a/examples/novice/N05/include/ExN05DetectorMessenger.hh +++ b/examples/novice/N05/include/ExN05DetectorMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05DetectorMessenger.hh,v 1.2 1999/12/15 14:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N05/include/ExN05EMShowerModel.hh b/examples/novice/N05/include/ExN05EMShowerModel.hh index 01c4754706..8a2941e3ef 100644 --- a/examples/novice/N05/include/ExN05EMShowerModel.hh +++ b/examples/novice/N05/include/ExN05EMShowerModel.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EMShowerModel.hh,v 1.3 1999/12/15 14:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05EnergySpot.hh b/examples/novice/N05/include/ExN05EnergySpot.hh index 2e0b3c05b1..48a4baa470 100644 --- a/examples/novice/N05/include/ExN05EnergySpot.hh +++ b/examples/novice/N05/include/ExN05EnergySpot.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EnergySpot.hh,v 1.3 1999/12/15 14:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05EnergySpot_h #define ExN05EnergySpot_h diff --git a/examples/novice/N05/include/ExN05EventAction.hh b/examples/novice/N05/include/ExN05EventAction.hh index 9237fc9089..9b025952fd 100644 --- a/examples/novice/N05/include/ExN05EventAction.hh +++ b/examples/novice/N05/include/ExN05EventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EventAction.hh,v 1.3 1999/12/15 14:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05EventAction_h diff --git a/examples/novice/N05/include/ExN05EventActionMessenger.hh b/examples/novice/N05/include/ExN05EventActionMessenger.hh index fcc618fd8b..220206be73 100644 --- a/examples/novice/N05/include/ExN05EventActionMessenger.hh +++ b/examples/novice/N05/include/ExN05EventActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EventActionMessenger.hh,v 1.2 1999/12/15 14:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05EventActionMessenger_h diff --git a/examples/novice/N05/include/ExN05MaxTimeCuts.hh b/examples/novice/N05/include/ExN05MaxTimeCuts.hh index ac6f4901df..14dffc99cf 100644 --- a/examples/novice/N05/include/ExN05MaxTimeCuts.hh +++ b/examples/novice/N05/include/ExN05MaxTimeCuts.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MaxTimeCuts.hh,v 1.3 1999/12/15 14:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05MinEkineCuts.hh b/examples/novice/N05/include/ExN05MinEkineCuts.hh index 50a440beb6..b5a8809c68 100644 --- a/examples/novice/N05/include/ExN05MinEkineCuts.hh +++ b/examples/novice/N05/include/ExN05MinEkineCuts.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MinEkineCuts.hh,v 1.3 1999/12/15 14:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05MinRangeCuts.hh b/examples/novice/N05/include/ExN05MinRangeCuts.hh index 69cc07118b..48a8b23b26 100644 --- a/examples/novice/N05/include/ExN05MinRangeCuts.hh +++ b/examples/novice/N05/include/ExN05MinRangeCuts.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MinRangeCuts.hh,v 1.3 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05PhysicsList.hh b/examples/novice/N05/include/ExN05PhysicsList.hh index 41f91bf047..9e220c9152 100644 --- a/examples/novice/N05/include/ExN05PhysicsList.hh +++ b/examples/novice/N05/include/ExN05PhysicsList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PhysicsList.hh,v 1.5 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // #ifndef ExN05PhysicsList_h diff --git a/examples/novice/N05/include/ExN05PiModel.hh b/examples/novice/N05/include/ExN05PiModel.hh index 02f97e99de..e17c4a53fc 100644 --- a/examples/novice/N05/include/ExN05PiModel.hh +++ b/examples/novice/N05/include/ExN05PiModel.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PiModel.hh,v 1.2 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //---------------------------------------- diff --git a/examples/novice/N05/include/ExN05PionShowerModel.hh b/examples/novice/N05/include/ExN05PionShowerModel.hh index 7a89de2dfc..95c93cf6a8 100644 --- a/examples/novice/N05/include/ExN05PionShowerModel.hh +++ b/examples/novice/N05/include/ExN05PionShowerModel.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PionShowerModel.hh,v 1.3 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh index 7f5729036a..bcef82120e 100644 --- a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh +++ b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05PrimaryGeneratorAction_h diff --git a/examples/novice/N05/include/ExN05RunAction.hh b/examples/novice/N05/include/ExN05RunAction.hh index 21e5852a03..2fda4debd1 100644 --- a/examples/novice/N05/include/ExN05RunAction.hh +++ b/examples/novice/N05/include/ExN05RunAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05RunAction.hh,v 1.6 2000/01/06 15:06:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05RunAction_h diff --git a/examples/novice/N05/include/ExN05SpecialCuts.hh b/examples/novice/N05/include/ExN05SpecialCuts.hh index 77ca4bbef7..5bda1382e0 100644 --- a/examples/novice/N05/include/ExN05SpecialCuts.hh +++ b/examples/novice/N05/include/ExN05SpecialCuts.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SpecialCuts.hh,v 1.3 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05SteppingAction.hh b/examples/novice/N05/include/ExN05SteppingAction.hh index 73438cdd49..d5180cbc7b 100644 --- a/examples/novice/N05/include/ExN05SteppingAction.hh +++ b/examples/novice/N05/include/ExN05SteppingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SteppingAction.hh,v 1.3 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05SteppingAction_h diff --git a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh index 77ec52bbe3..0d135e92f1 100644 --- a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh +++ b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SteppingActionMessenger.hh,v 1.2 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef ExN05SteppingActionMessenger_h diff --git a/examples/novice/N05/include/ExN05VisManager.hh b/examples/novice/N05/include/ExN05VisManager.hh index cf792afdf1..32892c850a 100644 --- a/examples/novice/N05/include/ExN05VisManager.hh +++ b/examples/novice/N05/include/ExN05VisManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05VisManager.hh,v 1.1 2000/06/29 07:42:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N05/src/ExN05CalorimeterHit.cc b/examples/novice/N05/src/ExN05CalorimeterHit.cc index 8cfd894165..4fa218dd8e 100644 --- a/examples/novice/N05/src/ExN05CalorimeterHit.cc +++ b/examples/novice/N05/src/ExN05CalorimeterHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05CalorimeterHit.cc,v 1.2 1999/12/15 14:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05CalorimeterHit.hh" diff --git a/examples/novice/N05/src/ExN05CalorimeterSD.cc b/examples/novice/N05/src/ExN05CalorimeterSD.cc index 415ce0c54d..0624d773d7 100644 --- a/examples/novice/N05/src/ExN05CalorimeterSD.cc +++ b/examples/novice/N05/src/ExN05CalorimeterSD.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05CalorimeterSD.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05DetectorConstruction.cc b/examples/novice/N05/src/ExN05DetectorConstruction.cc index 1db8e87beb..5e2289be7c 100644 --- a/examples/novice/N05/src/ExN05DetectorConstruction.cc +++ b/examples/novice/N05/src/ExN05DetectorConstruction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05DetectorConstruction.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05DetectorConstruction.hh" #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05DetectorMessenger.cc b/examples/novice/N05/src/ExN05DetectorMessenger.cc index 72250bd173..b29ead9d60 100644 --- a/examples/novice/N05/src/ExN05DetectorMessenger.cc +++ b/examples/novice/N05/src/ExN05DetectorMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05DetectorMessenger.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N05/src/ExN05EMShowerModel.cc b/examples/novice/N05/src/ExN05EMShowerModel.cc index c905f265e0..dabf657ca6 100644 --- a/examples/novice/N05/src/ExN05EMShowerModel.cc +++ b/examples/novice/N05/src/ExN05EMShowerModel.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EMShowerModel.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05EMShowerModel.hh" #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EnergySpot.cc b/examples/novice/N05/src/ExN05EnergySpot.cc index 06f16ba338..a70f372389 100644 --- a/examples/novice/N05/src/ExN05EnergySpot.cc +++ b/examples/novice/N05/src/ExN05EnergySpot.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EnergySpot.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EventAction.cc b/examples/novice/N05/src/ExN05EventAction.cc index 93e7959cff..3b72f1d856 100644 --- a/examples/novice/N05/src/ExN05EventAction.cc +++ b/examples/novice/N05/src/ExN05EventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EventAction.cc,v 1.4 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05EventAction.hh" diff --git a/examples/novice/N05/src/ExN05EventActionMessenger.cc b/examples/novice/N05/src/ExN05EventActionMessenger.cc index c1b2848486..7ae68adb96 100644 --- a/examples/novice/N05/src/ExN05EventActionMessenger.cc +++ b/examples/novice/N05/src/ExN05EventActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05EventActionMessenger.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05EventActionMessenger.hh" diff --git a/examples/novice/N05/src/ExN05MaxTimeCuts.cc b/examples/novice/N05/src/ExN05MaxTimeCuts.cc index 6bdccce13b..e719d0bcd4 100644 --- a/examples/novice/N05/src/ExN05MaxTimeCuts.cc +++ b/examples/novice/N05/src/ExN05MaxTimeCuts.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MaxTimeCuts.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05MinEkineCuts.cc b/examples/novice/N05/src/ExN05MinEkineCuts.cc index 3f51b149a3..97ae5f0ddf 100644 --- a/examples/novice/N05/src/ExN05MinEkineCuts.cc +++ b/examples/novice/N05/src/ExN05MinEkineCuts.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MinEkineCuts.cc,v 1.2 1999/12/15 14:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05MinRangeCuts.cc b/examples/novice/N05/src/ExN05MinRangeCuts.cc index 4fb69ff65a..074a37f8ab 100644 --- a/examples/novice/N05/src/ExN05MinRangeCuts.cc +++ b/examples/novice/N05/src/ExN05MinRangeCuts.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05MinRangeCuts.cc,v 1.2 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05PhysicsList.cc b/examples/novice/N05/src/ExN05PhysicsList.cc index b59cc8ee07..050d6c09aa 100644 --- a/examples/novice/N05/src/ExN05PhysicsList.cc +++ b/examples/novice/N05/src/ExN05PhysicsList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PhysicsList.cc,v 1.5 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/examples/novice/N05/src/ExN05PiModel.cc b/examples/novice/N05/src/ExN05PiModel.cc index d2c8052b1e..8769c876f5 100644 --- a/examples/novice/N05/src/ExN05PiModel.cc +++ b/examples/novice/N05/src/ExN05PiModel.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PiModel.cc,v 1.2 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05PiModel.hh" diff --git a/examples/novice/N05/src/ExN05PionShowerModel.cc b/examples/novice/N05/src/ExN05PionShowerModel.cc index 5c3152886b..ecacb785e2 100644 --- a/examples/novice/N05/src/ExN05PionShowerModel.cc +++ b/examples/novice/N05/src/ExN05PionShowerModel.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: ExN05PionShowerModel.cc,v 1.2 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: ExN05PionShowerModel.cc,v 1.3 2000/08/03 09:09:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05PionShowerModel.hh" #include "ExN05EnergySpot.hh" @@ -115,8 +115,8 @@ void ExN05PionShowerModel::Explode(const G4FastTrack& fastTrack) G4double z, r, phi; for (int i = 0; i < nSpot; i++) { - z = RandGauss::shoot(0,20*cm); - r = RandGauss::shoot(0,10*cm); + z = G4RandGauss::shoot(0,20*cm); + r = G4RandGauss::shoot(0,10*cm); phi = RandFlat::shoot()*twopi; ePoint = showerCenter + z*zShower + diff --git a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc index 44c5cb7ef1..82e33f6202 100644 --- a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc +++ b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05PrimaryGeneratorAction.hh" diff --git a/examples/novice/N05/src/ExN05RunAction.cc b/examples/novice/N05/src/ExN05RunAction.cc index 219ef39b16..55bb012901 100644 --- a/examples/novice/N05/src/ExN05RunAction.cc +++ b/examples/novice/N05/src/ExN05RunAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05RunAction.cc,v 1.5 2000/01/06 15:06:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Make this appear first! diff --git a/examples/novice/N05/src/ExN05SpecialCuts.cc b/examples/novice/N05/src/ExN05SpecialCuts.cc index fbfe3ea765..e74bb315fa 100644 --- a/examples/novice/N05/src/ExN05SpecialCuts.cc +++ b/examples/novice/N05/src/ExN05SpecialCuts.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SpecialCuts.cc,v 1.3 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/src/ExN05SteppingAction.cc b/examples/novice/N05/src/ExN05SteppingAction.cc index 88ae563942..e0bba6f322 100644 --- a/examples/novice/N05/src/ExN05SteppingAction.cc +++ b/examples/novice/N05/src/ExN05SteppingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SteppingAction.cc,v 1.3 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05SteppingAction.hh" diff --git a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc index 474af2f4b8..f961d65c38 100644 --- a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc +++ b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05SteppingActionMessenger.cc,v 1.2 1999/12/15 14:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "ExN05SteppingActionMessenger.hh" diff --git a/examples/novice/N05/src/ExN05VisManager.cc b/examples/novice/N05/src/ExN05VisManager.cc index 7a5c974839..30914370b9 100644 --- a/examples/novice/N05/src/ExN05VisManager.cc +++ b/examples/novice/N05/src/ExN05VisManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: ExN05VisManager.cc,v 1.1 2000/06/29 07:42:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/novice/N06/History b/examples/novice/N06/History index 88fd19b68c..b37a31a8a2 100644 --- a/examples/novice/N06/History +++ b/examples/novice/N06/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2000/06/17 12:34:01 stesting Exp $ +$Id: History,v 1.4 2000/11/24 10:23:43 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,10 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25th November 2000 Steve O'Neale (tagset210) +- Updated exampleN06.out for em tags (checked with developer) +- Changes attributed to precision and change in random sequence/decision + June 17, 2000 John Allison (exampleN06-V01-01-00) - Updated exampleN06.out for geant4-01-01-ref-06. diff --git a/examples/novice/N06/exampleN06.out b/examples/novice/N06/exampleN06.out index 446b389b5d..51c2071e82 100644 --- a/examples/novice/N06/exampleN06.out +++ b/examples/novice/N06/exampleN06.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-02-00 $ - (10-Mar-2000) + Geant4 version $Name: geant4-03-00 $ + (30-Jun-2000) Copyright : Geant4 Collaboration ********************************************** /run/initialize @@ -31,9 +31,10 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to material min.delta energy(keV) Air 0.99 - Water 81.518 + Water 81.507 -eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV. +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. @@ -52,7 +53,7 @@ msc: Tables of transport mean free paths. material min.delta energy(keV) Air 0.99 - Water 81.518 + Water 81.507 hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -86,18457 +87,15127 @@ MuPairProd: theoretical cross sections !!!!!!! Now start processing an event !!!!!!! ### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 280 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 302 Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 303 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73988,0.574,0.35084) + Old Polarization: (-0.67273,0.6313,0.38586) + New Momentum Direction: (0.41391,0.77672,0.47475) + New Polarization: (-0.91032,0.35316,0.21586) + *** FresnelRefraction *** +Track (trackID 303, parentID 1) is processed with stopping code 2 +### pop requested out of 302 stacked tracks. + +** Photon absorbed! ** +Track (trackID 302, parentID 1) is processed with stopping code 2 +### pop requested out of 301 stacked tracks. + +** Photon absorbed! ** +Track (trackID 301, parentID 1) is processed with stopping code 2 +### pop requested out of 300 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74386,0.63219,0.21681) + Old Polarization: (-0.66834,0.70363,0.24131) + New Momentum Direction: (0.43684,0.85089,0.29182) + New Polarization: (-0.89954,0.41322,0.14172) + *** FresnelRefraction *** +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.74493,0.66385,-0.066164) + Old Polarization: (-0.66714,0.74126,-0.07388) + New Momentum Direction: (0.44279,0.89221,-0.088924) + New Polarization: (-0.89663,0.4406,-0.043914) + *** FresnelRefraction *** +Track (trackID 299, parentID 1) is processed with stopping code 2 +### pop requested out of 298 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73743,-0.38845,-0.55254) +Old Polarization: (-0.67542,-0.42411,-0.60327) +New Polarization: (-0.040065,0.36918,-0.85702) +Polarization Change: (-0.042895,0.39526,-0.91757) +New Momentum Direction: (-0.8352,0.4465,0.23138) +Momentum Change: (-0.85669,0.45799,0.23734) + Photon at Boundary! + Old Momentum Direction: (-0.85669,0.45799,0.23734) + Old Polarization: (-0.042895,0.39526,-0.91757) + New Momentum Direction: (-0.71383,0.62179,0.32222) + New Polarization: (0.081015,0.53033,-0.84391) + *** FresnelRefraction *** +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.73912,0.056002,0.67124) + Old Polarization: (-0.67357,0.061452,0.73657) + New Momentum Direction: (0.40933,0.075857,0.90923) + New Polarization: (-0.91239,0.034032,0.40791) + *** FresnelRefraction *** +Track (trackID 296, parentID 1) is processed with stopping code 2 +### pop requested out of 295 stacked tracks. + +** Photon absorbed! ** +Track (trackID 295, parentID 1) is processed with stopping code 2 +### pop requested out of 294 stacked tracks. + +** Photon absorbed! ** +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.74161,0.54495,-0.39121) + Old Polarization: (-0.67083,0.60245,-0.43249) + New Momentum Direction: (-0.74161,0.54495,-0.39121) + New Polarization: (-0.67083,-0.60245,0.43249) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74161,0.54495,-0.39121) + Old Polarization: (-0.67083,-0.60245,0.43249) + New Momentum Direction: (-0.74161,-0.54495,-0.39121) + New Polarization: (0.67083,-0.60245,-0.43249) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74161,-0.54495,-0.39121) + Old Polarization: (0.67083,-0.60245,-0.43249) + New Momentum Direction: (-0.74161,-0.54495,0.39121) + New Polarization: (-0.67083,0.60245,-0.43249) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74161,-0.54495,0.39121) + Old Polarization: (-0.67083,0.60245,-0.43249) + New Momentum Direction: (-0.42406,-0.73569,0.52814) + New Polarization: (0.90563,-0.34448,0.2473) + *** 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.73936,0.67147,-0.049807) + Old Polarization: (-0.67331,0.73733,-0.054693) + New Momentum Direction: (0.41076,0.90925,-0.067444) + New Polarization: (-0.91174,0.40963,-0.030385) + *** 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.74322,0.47628,0.46987) + Old Polarization: (-0.66905,0.52908,0.52197) + New Momentum Direction: (0.43326,0.64159,0.63296) + New Polarization: (-0.90127,0.30843,0.30428) + *** 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.73693,0.57423,-0.35665) + Old Polarization: (-0.67597,0.62601,-0.38881) + New Momentum Direction: (0.39571,0.78015,-0.48455) + New Polarization: (-0.91838,0.33615,-0.20878) + *** FresnelRefraction *** +Track (trackID 290, parentID 1) is processed with stopping code 2 +### pop requested out of 289 stacked tracks. + +** Photon absorbed! ** +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.73875,0.13058,0.66121) + Old Polarization: (-0.67398,0.14313,0.72476) + New Momentum Direction: (0.40707,0.17696,0.89609) + New Polarization: (-0.9134,0.078867,0.39936) + *** FresnelRefraction *** +Track (trackID 288, parentID 1) is processed with stopping code 2 +### pop requested out of 287 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74021,-0.66243,0.1152) + Old Polarization: (-0.67237,-0.72927,0.12682) + New Momentum Direction: (0.41586,-0.89598,0.15581) + New Polarization: (-0.90943,-0.40971,0.071249) + *** FresnelRefraction *** +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.74152,-0.053634,-0.66878) + Old Polarization: (-0.67093,-0.059277,-0.73915) + New Momentum Direction: (0.42355,-0.072415,-0.90297) + New Polarization: (-0.90587,-0.033859,-0.4222) + *** 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.7445,0.66741,0.016796) + Old Polarization: (-0.66762,0.74427,0.01873) + New Momentum Direction: (0.44041,0.89751,0.022586) + New Polarization: (-0.8978,0.44027,0.01108) + *** FresnelRefraction *** +Track (trackID 285, parentID 1) is processed with stopping code 2 +### pop requested out of 284 stacked tracks. + +** 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.73733,-0.40746,0.53882) + Old Polarization: (-0.67554,-0.44473,0.5881) + New Momentum Direction: (0.39824,-0.55328,0.73164) + New Polarization: (-0.91728,-0.2402,0.31764) + *** FresnelRefraction *** +Track (trackID 283, parentID 1) is processed with stopping code 2 +### pop requested out of 282 stacked tracks. + +** 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.73597,0.39746,-0.54805) - Old Polarization: (-0.67701,0.43208,-0.59579) - New Momentum Direction: (0.38964,0.54069,-0.74555) - New Polarization: (-0.92097,0.22875,-0.31542) + Old Momentum Direction: (0.73872,0.41996,-0.52718) + Old Polarization: (-0.67401,0.46028,-0.5778) + New Momentum Direction: (0.4069,0.56917,-0.71448) + New Polarization: (-0.91347,0.25353,-0.31826) *** FresnelRefraction *** -No Absorbtion length specified 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.74469,-0.63501,0.20541) - Old Polarization: (-0.66741,-0.70854,0.2292) - New Momentum Direction: (0.44146,-0.85373,0.27616) - New Polarization: (-0.89728,-0.42003,0.13587) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 280, parentID 1) is processed with stopping code 2 ### pop requested out of 279 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73698,0.65407,-0.17043) -Old Polarization: (-0.67591,0.71317,-0.18583) -New Polarization: (-0.45604,0.65208,0.34181) -Polarization Change: (-0.52658,0.75295,0.39468) -New Momentum Direction: (0.84092,0.51665,0.13633) -Momentum Change: (0.84403,0.51855,0.13683) -** Photon Absorbed! ** +** Photon absorbed! ** 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.74373,0.43384,0.50857) - Old Polarization: (-0.66848,0.48268,0.56583) - New Momentum Direction: (0.43614,0.58402,0.68462) - New Polarization: (-0.89988,0.28306,0.33181) + Old Momentum Direction: (0.73915,-0.046027,-0.67197) + Old Polarization: (-0.67354,-0.05051,-0.73742) + New Momentum Direction: (0.40949,-0.062344,-0.91018) + New Polarization: (-0.91231,-0.027983,-0.40853) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 278, parentID 1) is processed with stopping code 2 ### pop requested out of 277 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73652,0.62262,-0.26436) + Old Polarization: (-0.67641,0.67794,-0.28785) + New Momentum Direction: (0.39314,0.84635,-0.35935) + New Polarization: (-0.91948,0.36187,-0.15365) + *** FresnelRefraction *** Track (trackID 277, parentID 1) is processed with stopping code 2 ### pop requested out of 276 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74096,-0.53783,-0.40213) + Old Polarization: (-0.67154,-0.59343,-0.4437) + New Momentum Direction: (0.4203,-0.72672,-0.54335) + New Polarization: (-0.90738,-0.33662,-0.25168) + *** 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.7363,0.67584,0.033169) - Old Polarization: (-0.67666,0.73541,0.036092) - New Momentum Direction: (0.39172,0.91898,0.045101) - New Polarization: (-0.92009,0.39125,0.019201) + Old Momentum Direction: (0.73867,-0.29,0.60849) + Old Polarization: (-0.67406,-0.3178,0.66682) + New Momentum Direction: (0.40659,-0.39306,0.82473) + New Polarization: (-0.91361,-0.17493,0.36704) *** FresnelRefraction *** -No Absorbtion length specified 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.74157,0.57791,-0.34074) - Old Polarization: (-0.67088,0.6388,-0.37664) - New Momentum Direction: (0.4238,0.78023,-0.46003) - New Polarization: (-0.90575,0.36507,-0.21525) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 274, parentID 1) is processed with stopping code 2 ### pop requested out of 273 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73922,-0.15843,-0.65456) - Old Polarization: (-0.67346,-0.17391,-0.71848) - New Momentum Direction: (0.40994,-0.21458,-0.88651) - New Polarization: (-0.91211,-0.096439,-0.39843) + Old Momentum Direction: (0.73759,0.39385,0.54849) + Old Polarization: (-0.67525,0.43021,0.59913) + New Momentum Direction: (0.39988,0.5346,0.74451) + New Polarization: (-0.91657,0.23324,0.32482) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 273, parentID 1) is processed with stopping code 2 ### pop requested out of 272 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74118,-0.0098924,-0.67124) + Old Polarization: (-0.67131,-0.010922,-0.7411) + New Momentum Direction: (0.42155,-0.013363,-0.90671) + New Polarization: (-0.9068,-0.006212,-0.42151) + *** FresnelRefraction *** Track (trackID 272, parentID 1) is processed with stopping code 2 ### pop requested out of 271 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74091,0.44627,-0.50189) - Old Polarization: (-0.67161,0.49232,-0.55368) - New Momentum Direction: (0.41998,0.60304,-0.6782) - New Polarization: (-0.90753,0.27907,-0.31385) + Old Momentum Direction: (0.73922,-0.48749,-0.46465) + Old Polarization: (-0.67346,-0.53509,-0.51002) + New Momentum Direction: (0.40992,-0.66025,-0.62931) + New Polarization: (-0.91212,-0.29672,-0.28282) *** FresnelRefraction *** -No Absorbtion length specified 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.73683,-0.65536,-0.16606) - Old Polarization: (-0.67607,-0.71426,-0.18099) - New Momentum Direction: (0.39513,-0.89048,-0.22564) - New Polarization: (-0.91862,-0.38303,-0.097057) + Old Momentum Direction: (0.73955,-0.67307,-0.0070698) + Old Polarization: (-0.67311,-0.73951,-0.0077676) + New Momentum Direction: (0.41188,-0.91119,-0.0095709) + New Polarization: (-0.91124,-0.41186,-0.0043261) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 270, parentID 1) is processed with stopping code 2 ### pop requested out of 269 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.7378,0.40606,0.53923) + Old Polarization: (-0.67502,0.44383,0.58938) + New Momentum Direction: (0.40119,0.55102,0.73173) + New Polarization: (-0.916,0.24134,0.32048) + *** FresnelRefraction *** Track (trackID 269, parentID 1) is processed with stopping code 2 ### pop requested out of 268 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73742,0.62425,0.25794) - Old Polarization: (-0.67544,0.68153,0.28161) - New Momentum Direction: (0.3988,0.84754,0.3502) - New Polarization: (-0.91704,0.36857,0.15229) + Old Momentum Direction: (0.74385,-0.64846,0.16179) + Old Polarization: (-0.66834,-0.72173,0.18007) + New Momentum Direction: (0.43682,-0.87279,0.21776) + New Polarization: (-0.89955,-0.42383,0.10574) *** FresnelRefraction *** -No Absorbtion length specified 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.73987,-0.35574,-0.571) - Old Polarization: (-0.67275,-0.39123,-0.62797) - New Momentum Direction: (0.4138,-0.48139,-0.77268) - New Polarization: (-0.91037,-0.21881,-0.35121) + Old Momentum Direction: (0.73745,0.078603,0.67081) + Old Polarization: (-0.6754,0.085824,0.73244) + New Momentum Direction: (-0.73745,0.078603,0.67081) + New Polarization: (-0.6754,-0.085824,-0.73244) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73745,0.078603,0.67081) + Old Polarization: (-0.6754,-0.085824,-0.73244) + New Momentum Direction: (-0.73745,0.078603,-0.67081) + New Polarization: (0.6754,0.085824,-0.73244) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73745,0.078603,-0.67081) + Old Polarization: (0.6754,0.085824,-0.73244) + New Momentum Direction: (-0.399,0.10671,-0.91072) + New Polarization: (0.91695,0.046436,-0.39629) *** FresnelRefraction *** -No Absorbtion length specified 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.73964,-0.64716,0.18469) - Old Polarization: (-0.673,-0.71125,0.20298) - New Momentum Direction: (0.41246,-0.876,0.25) - New Polarization: (-0.91097,-0.39663,0.11319) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73851,0.58381,-0.3373) - Old Polarization: (-0.67424,0.63946,-0.36945) - New Momentum Direction: (0.40558,0.79146,-0.45727) - New Polarization: (-0.91406,0.35118,-0.20289) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73944,-0.63033,0.23647) - Old Polarization: (-0.67323,-0.69232,0.25973) - New Momentum Direction: (0.41123,-0.85345,0.32018) - New Polarization: (-0.91153,-0.38502,0.14444) + Old Momentum Direction: (0.7378,-0.54358,-0.40021) + Old Polarization: (-0.67502,-0.59414,-0.43743) + New Momentum Direction: (0.40118,-0.73764,-0.54309) + New Polarization: (-0.916,-0.32306,-0.23786) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 264, parentID 1) is processed with stopping code 2 ### pop requested out of 263 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73641,0.59258,-0.32642) + Old Polarization: (-0.67653,0.64503,-0.35531) + New Momentum Direction: (0.39246,0.80563,-0.44378) + New Polarization: (-0.91977,0.34375,-0.18936) + *** FresnelRefraction *** Track (trackID 263, parentID 1) is processed with stopping code 2 ### pop requested out of 262 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73911,-0.28866,0.6086) + Old Polarization: (-0.67358,-0.31674,0.6678) + New Momentum Direction: (0.40925,-0.39101,0.82439) + New Polarization: (-0.91242,-0.17538,0.36977) + *** 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.74127,-0.21901,-0.63447) - Old Polarization: (-0.67121,-0.24188,-0.7007) - New Momentum Direction: (0.42209,-0.29581,-0.85694) - New Polarization: (-0.90656,-0.13773,-0.39898) + Old Momentum Direction: (0.74398,-0.65963,-0.1067) + Old Polarization: (-0.66821,-0.73443,-0.1188) + New Momentum Direction: (0.4375,-0.88768,-0.14358) + New Polarization: (-0.89922,-0.43188,-0.069858) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 261, parentID 1) is processed with stopping code 2 ### pop requested out of 260 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73836,-0.39509,-0.54656) - Old Polarization: (-0.67441,-0.43255,-0.59839) - New Momentum Direction: (0.40465,-0.53572,-0.74112) - New Polarization: (-0.91447,-0.23706,-0.32795) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 260, parentID 1) is processed with stopping code 2 ### pop requested out of 259 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73709,-0.67577,0.005142) - Old Polarization: (-0.67579,-0.73707,0.0056084) - New Momentum Direction: (0.39676,-0.9179,0.0069843) - New Polarization: (-0.91792,-0.39675,0.0030188) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 259, parentID 1) is processed with stopping code 2 ### pop requested out of 258 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73862,0.21636,0.63846) -Old Polarization: (-0.67412,0.23706,0.69954) -New Polarization: (-0.66616,0.58826,-0.28736) -Polarization Change: (-0.71322,0.62982,-0.30766) -New Momentum Direction: (-0.65194,-0.46776,0.55375) -Momentum Change: (-0.66871,-0.4798,0.568) Photon at Boundary! - Old Momentum Direction: (-0.66871,-0.4798,0.568) - Old Polarization: (-0.71322,0.62982,-0.30766) - New Momentum Direction: (-0.66871,-0.4798,-0.568) - New Polarization: (0.71322,-0.62982,-0.30766) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66871,-0.4798,-0.568) - Old Polarization: (0.71322,-0.62982,-0.30766) - New Momentum Direction: (0.66871,-0.4798,-0.568) - New Polarization: (0.71322,0.62982,0.30766) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66871,-0.4798,-0.568) - Old Polarization: (0.71322,0.62982,0.30766) - New Momentum Direction: (0.66871,0.4798,-0.568) - New Polarization: (-0.71322,0.62982,-0.30766) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** + Old Momentum Direction: (0.73768,0.58733,0.33298) + Old Polarization: (-0.67515,0.64172,0.36382) + New Momentum Direction: (0.40044,0.79712,0.45193) + New Polarization: (-0.91632,0.34835,0.1975) + *** FresnelRefraction *** Track (trackID 258, parentID 1) is processed with stopping code 2 ### pop requested out of 257 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73883,0.23991,0.62974) - Old Polarization: (-0.6739,0.26303,0.69042) - New Momentum Direction: (0.40752,0.32511,0.85337) - New Polarization: (-0.9132,0.14508,0.38082) + Old Momentum Direction: (0.74271,0.66785,-0.0486) + Old Polarization: (-0.66961,0.74075,-0.053905) + New Momentum Direction: (0.43039,0.90026,-0.065513) + New Polarization: (-0.90264,0.42925,-0.031237) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 257, parentID 1) is processed with stopping code 2 ### pop requested out of 256 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 256, parentID 1) is processed with stopping code 2 ### pop requested out of 255 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74052,0.036074,0.67106) - Old Polarization: (-0.67203,0.039751,0.73946) - New Momentum Direction: (0.41772,0.048771,0.90727) - New Polarization: (-0.90858,0.022422,0.41711) + Old Momentum Direction: (0.74108,0.57021,-0.35448) + Old Polarization: (-0.67141,0.62938,-0.39126) + New Momentum Direction: (0.421,0.77034,-0.47889) + New Polarization: (-0.90706,0.35755,-0.22227) *** FresnelRefraction *** -No Absorbtion length specified 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.74235,0.24998,-0.62163) - Old Polarization: (-0.67001,0.27697,-0.68875) - New Momentum Direction: (0.42834,0.33714,-0.83837) - New Polarization: (-0.90362,0.15981,-0.39741) + Old Momentum Direction: (0.73942,0.62983,-0.23784) + Old Polarization: (-0.67325,0.69174,-0.26122) + New Momentum Direction: (0.41111,0.85281,-0.32205) + New Polarization: (-0.91159,0.3846,-0.14524) *** FresnelRefraction *** -No Absorbtion length specified 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.73689,-0.39039,-0.5519) - Old Polarization: (-0.67602,-0.42554,-0.6016) - New Momentum Direction: (0.39546,-0.53041,-0.74985) - New Polarization: (-0.91848,-0.22837,-0.32286) + Old Momentum Direction: (0.74032,0.099384,0.66487) + Old Polarization: (-0.67226,0.10945,0.73218) + New Momentum Direction: (0.41649,0.1344,0.89915) + New Polarization: (-0.90914,0.061572,0.41191) *** FresnelRefraction *** -No Absorbtion length specified 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.7436,0.48102,-0.46441) - Old Polarization: (-0.66862,0.53496,-0.51649) - New Momentum Direction: (0.43541,0.64764,-0.62528) - New Polarization: (-0.90023,0.31324,-0.30243) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 252, parentID 1) is processed with stopping code 2 ### pop requested out of 251 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 251, parentID 1) is processed with stopping code 2 ### pop requested out of 250 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74122,0.53412,-0.40657) + Old Polarization: (-0.67126,0.5898,-0.44895) + New Momentum Direction: (0.42182,0.72145,-0.54916) + New Polarization: (-0.90668,0.33565,-0.25549) + *** FresnelRefraction *** Track (trackID 250, parentID 1) is processed with stopping code 2 ### pop requested out of 249 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 249, parentID 1) is processed with stopping code 2 ### pop requested out of 248 stacked tracks. -** Photon Absorbed! ** +** 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.73738,-0.063004,-0.67253) - Old Polarization: (-0.67548,-0.068778,-0.73417) - New Momentum Direction: (0.39857,-0.085545,-0.91314) - New Polarization: (-0.91714,-0.037176,-0.39683) - *** FresnelRefraction *** -No Absorbtion length specified + Old Momentum Direction: (0.73737,-0.36456,0.56867) + Old Polarization: (-0.67549,-0.39795,0.62076) + New Momentum Direction: (-0.73737,-0.36456,0.56867) + New Polarization: (-0.67549,0.39795,-0.62076) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73737,-0.36456,0.56867) + Old Polarization: (-0.67549,0.39795,-0.62076) + New Momentum Direction: (-0.73737,-0.36456,-0.56867) + New Polarization: (0.67549,-0.39795,-0.62076) + *** TotalInternalReflection *** + +** Photon absorbed! ** 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.73744,-0.24738,-0.62847) - Old Polarization: (-0.67541,-0.2701,-0.6862) - New Momentum Direction: (0.39898,-0.33585,-0.85324) - New Polarization: (-0.91696,-0.14613,-0.37125) + Old Momentum Direction: (0.73936,0.6192,0.26446) + Old Polarization: (-0.67331,0.67994,0.2904) + New Momentum Direction: (0.41075,0.83848,0.35811) + New Polarization: (-0.91175,0.37774,0.16133) *** FresnelRefraction *** -No Absorbtion length specified 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.74506,0.40094,-0.53305) - Old Polarization: (-0.667,0.44786,-0.59542) - New Momentum Direction: (0.44345,0.53877,-0.71629) - New Polarization: (-0.8963,0.26656,-0.35439) + Old Momentum Direction: (0.74401,0.52778,-0.40974) + Old Polarization: (-0.66816,0.58769,-0.45626) + New Momentum Direction: (0.43771,0.71021,-0.55137) + New Polarization: (-0.89912,0.34575,-0.26842) *** FresnelRefraction *** -No Absorbtion length specified 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.74,-0.1113,0.66333) - Old Polarization: (-0.6726,-0.12245,0.7298) - New Momentum Direction: (0.41462,-0.15058,0.89745) - New Polarization: (-0.91,-0.068607,0.4089) + Old Momentum Direction: (0.73937,-0.58845,0.3272) + Old Polarization: (-0.6733,-0.64619,0.35931) + New Momentum Direction: (0.41082,-0.79682,0.44306) + New Polarization: (-0.91172,-0.35905,0.19964) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 244, parentID 1) is processed with stopping code 2 ### pop requested out of 243 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73597,0.47867,0.47877) +Old Polarization: (-0.67701,0.52036,0.52046) +New Polarization: (-0.78871,0.32111,0.2426) +Polarization Change: (-0.89074,0.36266,0.27399) +New Momentum Direction: (-0.36186,-0.30446,-0.77343) +Momentum Change: (-0.39916,-0.33584,-0.85316) +Scattering Photon! +Old Momentum Direction: (-0.39916,-0.33584,-0.85316) +Old Polarization: (-0.89074,0.36266,0.27399) +New Polarization: (-0.88637,0.36382,0.25555) +Polarization Change: (-0.89386,0.36689,0.25771) +New Momentum Direction: (0.32126,0.92474,-0.20223) +Momentum Change: (0.32138,0.92509,-0.20231) Photon at Boundary! - Old Momentum Direction: (0.73682,-0.057729,0.67362) - Old Polarization: (-0.67608,-0.062915,0.73413) - New Momentum Direction: (0.39507,-0.078441,0.9153) - New Polarization: (-0.91865,-0.033734,0.39363) + Old Momentum Direction: (0.32138,0.92509,-0.20231) + Old Polarization: (-0.89386,0.36689,0.25771) + New Momentum Direction: (0.4372,0.85622,-0.27521) + New Polarization: (0.60984,-0.50715,-0.60901) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 243, parentID 1) is processed with stopping code 2 ### pop requested out of 242 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73574,-0.037718,-0.67621) + Old Polarization: (-0.67726,-0.040974,-0.7346) + New Momentum Direction: (0.38812,-0.051326,-0.92018) + New Polarization: (-0.92161,-0.021615,-0.38752) + *** FresnelRefraction *** Track (trackID 242, parentID 1) is processed with stopping code 2 ### pop requested out of 241 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73659,-0.48991,-0.46629) + Old Polarization: (-0.67634,-0.53355,-0.50783) + New Momentum Direction: (0.39356,-0.66589,-0.63379) + New Polarization: (-0.9193,-0.28508,-0.27133) + *** FresnelRefraction *** Track (trackID 241, parentID 1) is processed with stopping code 2 ### pop requested out of 240 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74154,-0.63255,0.2236) - Old Polarization: (-0.6709,-0.69915,0.24715) - New Momentum Direction: (0.42369,-0.85402,0.30189) - New Polarization: (-0.90581,-0.39946,0.14121) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 240, parentID 1) is processed with stopping code 2 ### pop requested out of 239 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73964,-0.52904,0.41599) + Old Polarization: (-0.673,-0.58143,0.45718) + New Momentum Direction: (0.41246,-0.71611,0.56308) + New Polarization: (-0.91097,-0.32423,0.25495) + *** FresnelRefraction *** Track (trackID 239, parentID 1) is processed with stopping code 2 ### pop requested out of 238 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73659,0.07483,0.67219) + Old Polarization: (-0.67634,0.081496,0.73207) + New Momentum Direction: (0.39356,0.10171,0.91365) + New Polarization: (-0.9193,0.043544,0.39115) + *** FresnelRefraction *** Track (trackID 238, parentID 1) is processed with stopping code 2 ### pop requested out of 237 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73624,-0.67219,0.078155) -Old Polarization: (-0.67672,-0.73132,0.08503) -New Polarization: (-0.28433,-0.81349,0.16632) -Polarization Change: (-0.32396,-0.9269,0.18951) -New Momentum Direction: (-0.94053,0.33675,0.039221) -Momentum Change: (-0.94075,0.33683,0.039231) - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73868,0.45381,-0.4984) + Old Polarization: (-0.67405,0.49732,-0.54619) + New Momentum Direction: (0.40665,0.61508,-0.67551) + New Polarization: (-0.91358,0.27378,-0.30068) + *** FresnelRefraction *** Track (trackID 237, parentID 1) is processed with stopping code 2 ### pop requested out of 236 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73786,0.67409,-0.034248) - Old Polarization: (-0.67496,0.7369,-0.037439) - New Momentum Direction: (0.40154,0.91466,-0.04647) - New Polarization: (-0.91584,0.40103,-0.020375) + Old Momentum Direction: (0.74347,0.34505,-0.57288) + Old Polarization: (-0.66877,0.3836,-0.63687) + New Momentum Direction: (0.43468,0.46466,-0.77146) + New Polarization: (-0.90058,0.22428,-0.37236) *** FresnelRefraction *** -No Absorbtion length specified 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.73929,-0.39716,0.54379) - Old Polarization: (-0.67338,-0.43603,0.59702) - New Momentum Direction: (0.41035,-0.53785,0.73643) - New Polarization: (-0.91193,-0.24202,0.33138) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 235, parentID 1) is processed with stopping code 2 ### pop requested out of 234 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73913,-0.15801,0.65477) + Old Polarization: (-0.67356,-0.17339,0.71851) + New Momentum Direction: (0.40938,-0.21403,0.88691) + New Polarization: (-0.91236,-0.096033,0.39796) + *** FresnelRefraction *** Track (trackID 234, parentID 1) is processed with stopping code 2 ### pop requested out of 233 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74496,0.20685,-0.63422) + Old Polarization: (-0.66711,0.231,-0.70825) + New Momentum Direction: (0.44295,0.278,-0.85236) + New Polarization: (-0.89655,0.13735,-0.42111) + *** FresnelRefraction *** Track (trackID 233, parentID 1) is processed with stopping code 2 ### pop requested out of 232 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73644,-0.66476,0.12546) + Old Polarization: (-0.6765,-0.72367,0.13658) + New Momentum Direction: (0.39265,-0.90374,0.17056) + New Polarization: (-0.91969,-0.38583,0.072818) + *** FresnelRefraction *** Track (trackID 232, parentID 1) is processed with stopping code 2 ### pop requested out of 231 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 231, parentID 1) is processed with stopping code 2 ### pop requested out of 230 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73598,-0.40492,-0.54256) -Old Polarization: (-0.677,-0.4402,-0.58983) -New Polarization: (-0.71281,-0.23715,-0.53096) -Polarization Change: (-0.77486,-0.25779,-0.57718) -New Momentum Direction: (-0.59319,0.30065,0.66206) -Momentum Change: (-0.63213,0.32039,0.70552) Photon at Boundary! - Old Momentum Direction: (-0.63213,0.32039,0.70552) - Old Polarization: (-0.77486,-0.25779,-0.57718) - New Momentum Direction: (-0.85991,0.43584,0.26572) - New Polarization: (-0.40323,-0.26078,-0.87716) + Old Momentum Direction: (0.73968,-0.55897,0.37474) + Old Polarization: (-0.67296,-0.61439,0.41189) + New Momentum Direction: (0.41268,-0.75659,0.50722) + New Polarization: (-0.91087,-0.34278,0.2298) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 230, parentID 1) is processed with stopping code 2 ### pop requested out of 229 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.742,0.29776,-0.60065) - Old Polarization: (-0.6704,0.32956,-0.66479) - New Momentum Direction: (0.4263,0.40178,-0.81046) - New Polarization: (-0.90458,0.18934,-0.38194) + Old Momentum Direction: (0.74001,-0.27616,0.61329) + Old Polarization: (-0.6726,-0.30384,0.67476) + New Momentum Direction: (0.41465,-0.37363,0.82974) + New Polarization: (-0.90998,-0.17025,0.37809) *** FresnelRefraction *** -No Absorbtion length specified 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.73797,0.38599,-0.55354) - Old Polarization: (-0.67483,0.42211,-0.60533) - New Momentum Direction: (0.40227,0.52367,-0.75097) - New Polarization: (-0.91552,0.23009,-0.32997) + Old Momentum Direction: (0.74431,0.1819,-0.64259) + Old Polarization: (-0.66784,0.20272,-0.71617) + New Momentum Direction: (0.43934,0.24467,-0.86436) + New Polarization: (-0.89832,0.11966,-0.42273) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 227, parentID 1) is processed with stopping code 2 ### pop requested out of 226 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73593,0.20342,0.64578) - Old Polarization: (-0.67706,0.22111,0.70193) - New Momentum Direction: (-0.73593,0.20342,0.64578) - New Polarization: (-0.67706,-0.22111,-0.70193) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73593,0.20342,0.64578) - Old Polarization: (-0.67706,-0.22111,-0.70193) - New Momentum Direction: (-0.73593,0.20342,-0.64578) - New Polarization: (0.67706,0.22111,-0.70193) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73593,0.20342,-0.64578) - Old Polarization: (0.67706,0.22111,-0.70193) - New Momentum Direction: (-0.38933,0.27674,-0.87854) - New Polarization: (0.9211,0.11697,-0.37134) + Old Momentum Direction: (0.73796,-0.31504,0.5968) + Old Polarization: (-0.67485,-0.3445,0.65261) + New Momentum Direction: (0.40217,-0.42742,0.80968) + New Polarization: (-0.91557,-0.18775,0.35565) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 226, parentID 1) is processed with stopping code 2 ### pop requested out of 225 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 225, parentID 1) is processed with stopping code 2 ### pop requested out of 224 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73758,0.20305,-0.64401) - Old Polarization: (-0.67526,0.22179,-0.70344) - New Momentum Direction: (0.39982,0.27562,-0.87417) - New Polarization: (-0.91659,0.12023,-0.38132) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 224, parentID 1) is processed with stopping code 2 ### pop requested out of 223 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74277,0.46697,0.47983) - Old Polarization: (-0.66955,0.51804,0.5323) - New Momentum Direction: (0.43072,0.62943,0.64676) - New Polarization: (-0.90249,0.3004,0.30867) + Old Momentum Direction: (0.7425,0.66474,0.082613) + Old Polarization: (-0.66985,0.73683,0.091573) + New Momentum Direction: (0.42916,0.89633,0.1114) + New Polarization: (-0.90323,0.42588,0.052928) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 223, parentID 1) is processed with stopping code 2 ### pop requested out of 222 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73713,-0.032581,-0.67496) - Old Polarization: (-0.67575,-0.03554,-0.73627) - New Momentum Direction: (0.397,-0.044252,-0.91675) - New Polarization: (-0.91782,-0.019141,-0.39654) + Old Momentum Direction: (0.73812,-0.30239,-0.60311) + Old Polarization: (-0.67467,-0.33083,-0.65983) + New Momentum Direction: (0.40317,-0.41016,-0.81806) + New Polarization: (-0.91513,-0.1807,-0.36041) *** FresnelRefraction *** -No Absorbtion length specified 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.73618,-0.38499,-0.55661) - Old Polarization: (-0.67678,-0.41878,-0.60547) - New Momentum Direction: (0.39098,-0.52357,-0.75697) - New Polarization: (-0.9204,-0.22241,-0.32156) + Old Momentum Direction: (0.73861,-0.63748,0.21925) + Old Polarization: (-0.67413,-0.69846,0.24022) + New Momentum Direction: (0.40621,-0.8641,0.29719) + New Polarization: (-0.91378,-0.38413,0.13211) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 221, parentID 1) is processed with stopping code 2 ### pop requested out of 220 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73658,-0.674,-0.056332) -Old Polarization: (-0.67635,-0.73403,-0.061349) -New Polarization: (-0.76185,-0.324,-0.27047) -Polarization Change: (-0.87474,-0.37201,-0.31055) -New Momentum Direction: (0.035042,-0.63587,0.66301) -Momentum Change: (0.038118,-0.69168,0.7212) - Photon at Boundary! - Old Momentum Direction: (0.038118,-0.69168,0.7212) - Old Polarization: (-0.87474,-0.37201,-0.31055) - New Momentum Direction: (0.038118,0.69168,0.7212) - New Polarization: (0.90927,0.27534,-0.31213) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.038118,0.69168,0.7212) - Old Polarization: (0.90927,0.27534,-0.31213) - New Momentum Direction: (0.038118,0.69168,-0.7212) - New Polarization: (-0.98183,-0.10832,-0.15578) - *** FresnelReflection *** -No Absorbtion length specified -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 220, parentID 1) is processed with stopping code 2 ### pop requested out of 219 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73623,-0.0013534,-0.67673) + Old Polarization: (-0.67673,-0.0014724,-0.73623) + New Momentum Direction: (0.39129,-0.0018404,-0.92027) + New Polarization: (-0.92027,-0.00078252,-0.39129) + *** FresnelRefraction *** 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.73832,0.045599,0.67291) - Old Polarization: (-0.67445,0.049917,0.73663) - New Momentum Direction: (0.40441,0.061834,0.91248) - New Polarization: (-0.91458,0.027342,0.40349) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 218, parentID 1) is processed with stopping code 2 ### pop requested out of 217 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73644,0.67636,0.0138) -Old Polarization: (-0.6765,0.73629,0.015022) -New Polarization: (-0.74503,0.50417,0.11458) -Polarization Change: (-0.82155,0.55596,0.12634) -New Momentum Direction: (0.061566,-0.1131,0.89801) -Momentum Change: (0.067864,-0.12467,0.98987) - Photon at Boundary! - Old Momentum Direction: (0.067864,-0.12467,0.98987) - Old Polarization: (-0.82155,0.55596,0.12634) - New Momentum Direction: (0.09226,-0.16949,0.9812) - New Polarization: (0.12986,-0.97494,-0.18062) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 217, parentID 1) is processed with stopping code 2 ### pop requested out of 216 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73894,-0.48039,-0.47243) - Old Polarization: (-0.67377,-0.52686,-0.51812) - New Momentum Direction: (0.40821,-0.65088,-0.64009) - New Polarization: (-0.91289,-0.29105,-0.28622) + Old Momentum Direction: (0.74257,0.6549,0.14032) + Old Polarization: (-0.66976,0.7261,0.15557) + New Momentum Direction: (0.42961,0.88298,0.18919) + New Polarization: (-0.90302,0.42007,0.090005) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 216, parentID 1) is processed with stopping code 2 ### pop requested out of 215 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74254,-0.10177,-0.66203) -Old Polarization: (-0.6698,-0.11282,-0.73392) -New Polarization: (-0.84439,0.30998,0.035855) -Polarization Change: (-0.938,0.34435,0.039829) -New Momentum Direction: (-0.31995,-0.8226,-0.42309) -Momentum Change: (-0.32688,-0.84042,-0.43225) Photon at Boundary! - Old Momentum Direction: (-0.32688,-0.84042,-0.43225) - Old Polarization: (-0.938,0.34435,0.039829) - New Momentum Direction: (-0.32688,0.84042,-0.43225) - New Polarization: (0.71309,-0.080827,-0.6964) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.32688,0.84042,-0.43225) - Old Polarization: (0.71309,-0.080827,-0.6964) - New Momentum Direction: (-0.32688,0.84042,0.43225) - New Polarization: (-0.71309,0.080827,-0.6964) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** + Old Momentum Direction: (0.7366,0.024063,-0.6759) + Old Polarization: (-0.67633,0.026207,-0.73613) + New Momentum Direction: (0.39364,0.032706,-0.91868) + New Polarization: (-0.91927,0.014005,-0.39339) + *** FresnelRefraction *** Track (trackID 215, parentID 1) is processed with stopping code 2 ### pop requested out of 214 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74306,0.58443,-0.32604) + Old Polarization: (-0.66922,0.64891,-0.36201) + New Momentum Direction: (0.43237,0.78745,-0.4393) + New Polarization: (-0.9017,0.37759,-0.21065) + *** 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.73807,0.51123,-0.44033) - Old Polarization: (-0.67472,0.55923,-0.48168) - New Momentum Direction: (0.40288,0.69348,-0.59731) - New Polarization: (-0.91525,0.30526,-0.26293) + Old Momentum Direction: (0.73633,0.67654,0.010306) + Old Polarization: (-0.67662,0.73624,0.011216) + New Momentum Direction: (0.39192,0.91989,0.014013) + New Polarization: (-0.92,0.39187,0.0059696) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 213, parentID 1) is processed with stopping code 2 ### pop requested out of 212 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74026,-0.62658,0.24373) - Old Polarization: (-0.67232,-0.6899,0.26837) - New Momentum Direction: (0.41616,-0.84743,0.32964) - New Polarization: (-0.90929,-0.38785,0.15087) + Old Momentum Direction: (0.73879,0.078842,0.66931) + Old Polarization: (-0.67394,0.086428,0.73371) + New Momentum Direction: (0.40727,0.10684,0.90704) + New Polarization: (-0.91331,0.047645,0.40448) *** FresnelRefraction *** -No Absorbtion length specified 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.74376,-0.64772,-0.16514) - Old Polarization: (-0.66844,-0.72071,-0.18375) - New Momentum Direction: (0.43632,-0.8719,-0.2223) - New Polarization: (-0.89979,-0.42279,-0.10779) + Old Momentum Direction: (0.73985,-0.0038688,0.67276) + Old Polarization: (-0.67277,-0.0042545,0.73984) + New Momentum Direction: (0.41373,-0.0052353,0.91039) + New Polarization: (-0.9104,-0.0023791,0.41372) *** FresnelRefraction *** -No Absorbtion length specified 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.73702,0.16884,0.65445) - Old Polarization: (-0.67587,0.18411,0.71365) - New Momentum Direction: (0.39629,0.22935,0.88902) - New Polarization: (-0.91812,0.098996,0.38373) + Old Momentum Direction: (0.74392,-0.59928,0.2957) + Old Polarization: (-0.66826,-0.66713,0.32918) + New Momentum Direction: (0.43721,-0.80652,0.39796) + New Polarization: (-0.89936,-0.39207,0.19346) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 210, parentID 1) is processed with stopping code 2 ### pop requested out of 209 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73879,0.21443,-0.63891) - Old Polarization: (-0.67393,0.23507,-0.7004) - New Momentum Direction: (0.40732,0.29059,-0.86583) - New Polarization: (-0.91329,0.1296,-0.38615) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 209, parentID 1) is processed with stopping code 2 ### pop requested out of 208 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 208, parentID 1) is processed with stopping code 2 ### pop requested out of 207 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 207, parentID 1) is processed with stopping code 2 ### pop requested out of 206 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74015,-0.1908,0.64481) + Old Polarization: (-0.67244,-0.21001,0.70973) + New Momentum Direction: (0.41548,-0.25809,0.87222) + New Polarization: (-0.9096,-0.11789,0.3984) + *** 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.73991,0.55854,-0.37493) - Old Polarization: (-0.67271,0.61433,-0.41238) - New Momentum Direction: (0.41403,0.75578,-0.50732) - New Polarization: (-0.91026,0.34376,-0.23076) + Old Momentum Direction: (0.73775,0.28736,0.61086) + Old Polarization: (-0.67507,0.31404,0.66758) + New Momentum Direction: (0.40089,0.38997,0.82898) + New Polarization: (-0.91613,0.17065,0.36276) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 205, parentID 1) is processed with stopping code 2 ### pop requested out of 204 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73843,0.61221,-0.28271) - Old Polarization: (-0.67433,0.6704,-0.30959) - New Momentum Direction: (0.40507,0.83005,-0.38331) - New Polarization: (-0.91428,0.36775,-0.16983) + Old Momentum Direction: (0.73884,-0.047976,0.67217) + Old Polarization: (-0.67388,-0.052601,0.73697) + New Momentum Direction: (0.40762,-0.065011,0.91084) + New Polarization: (-0.91315,-0.02902,0.40658) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 204, parentID 1) is processed with stopping code 2 ### pop requested out of 203 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74031,-0.50543,0.44326) + Old Polarization: (-0.67226,-0.55659,0.48813) + New Momentum Direction: (0.41646,-0.68353,0.59946) + New Polarization: (-0.90915,-0.31311,0.2746) + *** 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.73938,-0.66485,0.10626) - Old Polarization: (-0.67329,-0.73011,0.11669) - New Momentum Direction: (0.41087,-0.90027,0.14389) - New Polarization: (-0.91169,-0.40572,0.064845) + Old Momentum Direction: (0.73938,0.078517,0.6687) + Old Polarization: (-0.67329,0.086223,0.73433) + New Momentum Direction: (0.41085,0.10632,0.90548) + New Polarization: (-0.9117,0.047912,0.40805) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 202, parentID 1) is processed with stopping code 2 ### pop requested out of 201 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73703,-0.56084,-0.37714) +Old Polarization: (-0.67586,-0.61161,-0.41128) +New Polarization: (-0.10931,-0.4838,-0.71251) +Polarization Change: (-0.12591,-0.55727,-0.82073) +New Momentum Direction: (-0.61759,0.62988,-0.33294) +Momentum Change: (-0.65501,0.66804,-0.35311) Photon at Boundary! - Old Momentum Direction: (0.74042,-0.67161,0.026691) - Old Polarization: (-0.67214,-0.73984,0.029402) - New Momentum Direction: (0.41709,-0.90815,0.036091) - New Polarization: (-0.90886,-0.41676,0.016563) - *** FresnelRefraction *** -No Absorbtion length specified + Old Momentum Direction: (-0.65501,0.66804,-0.35311) + Old Polarization: (-0.12591,-0.55727,-0.82073) + New Momentum Direction: (-0.65501,0.66804,0.35311) + New Polarization: (0.12591,0.55727,-0.82073) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.65501,0.66804,0.35311) + Old Polarization: (0.12591,0.55727,-0.82073) + New Momentum Direction: (-0.65501,-0.66804,0.35311) + New Polarization: (-0.12591,0.55727,0.82073) + *** TotalInternalReflection *** + +** Photon absorbed! ** 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.7361,0.67047,0.092864) - Old Polarization: (-0.67687,0.72914,0.10099) - New Momentum Direction: (0.39044,0.91192,0.12631) - New Polarization: (-0.92063,0.38675,0.053567) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.7435,0.66873,-0.0024193) - Old Polarization: (-0.66873,0.7435,-0.0026898) - New Momentum Direction: (0.43486,0.90049,-0.0032578) - New Polarization: (-0.9005,0.43485,-0.0015732) + Old Momentum Direction: (0.73655,0.3692,0.56673) + Old Polarization: (-0.67638,0.40205,0.61715) + New Momentum Direction: (0.39335,0.50185,0.77034) + New Polarization: (-0.91939,0.21471,0.32958) *** FresnelRefraction *** -No Absorbtion length specified 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.73744,0.17722,-0.65174) - Old Polarization: (-0.67541,0.19349,-0.71161) - New Momentum Direction: (0.39898,0.2406,-0.88483) - New Polarization: (-0.91696,0.10469,-0.385) + Old Momentum Direction: (0.73829,-0.47137,-0.48243) + Old Polarization: (-0.67449,-0.51596,-0.52807) + New Momentum Direction: (0.40422,-0.63922,-0.65422) + New Polarization: (-0.91466,-0.28249,-0.28912) *** FresnelRefraction *** -No Absorbtion length specified 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.74341,0.32222,0.58611) - Old Polarization: (-0.66884,0.35815,0.65145) - New Momentum Direction: (0.43431,0.43395,0.78934) - New Polarization: (-0.90076,0.20924,0.38059) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73667,0.62363,-0.26155) - Old Polarization: (-0.67626,0.67934,-0.28492) - New Momentum Direction: (0.39407,0.84756,-0.35547) - New Polarization: (-0.91908,0.3634,-0.15241) + Old Momentum Direction: (0.73982,-0.42084,0.52494) + Old Polarization: (-0.6728,-0.46276,0.57723) + New Momentum Direction: (0.41353,-0.56951,0.71039) + New Polarization: (-0.91049,-0.25866,0.32264) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 196, parentID 1) is processed with stopping code 2 ### pop requested out of 195 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 195, parentID 1) is processed with stopping code 2 ### pop requested out of 194 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73752,-0.034505,0.67445) - Old Polarization: (-0.67533,-0.037682,0.73655) - New Momentum Direction: (0.39943,-0.046841,0.91557) - New Polarization: (-0.91676,-0.020408,0.39891) + Old Momentum Direction: (0.74175,-0.12544,0.65884) + Old Polarization: (-0.67067,-0.13873,0.72867) + New Momentum Direction: (0.4249,-0.16931,0.88927) + New Polarization: (-0.90524,-0.079469,0.4174) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 194, parentID 1) is processed with stopping code 2 ### pop requested out of 193 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73578,0.14867,-0.6607) + Old Polarization: (-0.67722,0.16153,-0.71783) + New Momentum Direction: (0.38838,0.2023,-0.89902) + New Polarization: (-0.9215,0.085264,-0.37891) + *** FresnelRefraction *** Track (trackID 193, parentID 1) is processed with stopping code 2 ### pop requested out of 192 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74105,0.59539,0.31041) + Old Polarization: (-0.67145,0.65711,0.34258) + New Momentum Direction: (0.42079,0.8044,0.41937) + New Polarization: (-0.90716,0.37313,0.19453) + *** FresnelRefraction *** Track (trackID 192, parentID 1) is processed with stopping code 2 ### pop requested out of 191 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73672,0.61893,-0.27234) -Old Polarization: (-0.6762,0.67432,-0.29672) -New Polarization: (-0.33005,0.4236,-0.67945) -Polarization Change: (-0.38111,0.48912,-0.78455) -New Momentum Direction: (0.20313,-0.67472,-0.51932) -Momentum Change: (0.23206,-0.77082,-0.59329) Photon at Boundary! - Old Momentum Direction: (0.23206,-0.77082,-0.59329) - Old Polarization: (-0.38111,0.48912,-0.78455) - New Momentum Direction: (0.31536,-0.50049,-0.80626) - New Polarization: (-0.30656,0.75033,-0.58568) + Old Momentum Direction: (0.73667,0.67625,0.0016799) + Old Polarization: (-0.67626,0.73666,0.00183) + New Momentum Direction: (0.39406,0.91908,0.0022831) + New Polarization: (-0.91908,0.39406,0.00097889) *** FresnelRefraction *** -No Absorbtion length specified 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.73733,0.44648,-0.50695) - Old Polarization: (-0.67553,0.48733,-0.55333) - New Momentum Direction: (0.39828,0.60625,-0.68836) - New Polarization: (-0.91727,0.26323,-0.29888) + Old Momentum Direction: (0.73818,-0.58146,0.34203) + Old Polarization: (-0.6746,-0.63627,0.37427) + New Momentum Direction: (0.40357,-0.78863,0.46389) + New Polarization: (-0.91495,-0.34785,0.20462) *** FresnelRefraction *** -No Absorbtion length specified 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.74344,0.41569,0.52392) - Old Polarization: (-0.6688,0.46209,0.5824) - New Momentum Direction: (0.43453,0.5598,0.70556) - New Polarization: (-0.90066,0.27008,0.3404) + Old Momentum Direction: (0.73729,-0.32041,-0.59476) + Old Polarization: (-0.67557,-0.34968,-0.64909) + New Momentum Direction: (0.39803,-0.43509,-0.80763) + New Polarization: (-0.91737,-0.18878,-0.35041) *** FresnelRefraction *** -No Absorbtion length specified 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.74297,-0.50264,-0.44199) - Old Polarization: (-0.66933,-0.55793,-0.49062) - New Momentum Direction: (0.43183,-0.67733,-0.59561) - New Polarization: (-0.90195,-0.32429,-0.28516) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.7415,0.6635,-0.099777) - Old Polarization: (-0.67096,0.73325,-0.11027) - New Momentum Direction: (0.4234,0.89587,-0.13472) - New Polarization: (-0.90594,0.4187,-0.062963) + Old Momentum Direction: (0.74164,-0.2271,-0.63119) + Old Polarization: (-0.6708,-0.25108,-0.69784) + New Momentum Direction: (0.42421,-0.30658,-0.85209) + New Polarization: (-0.90556,-0.14362,-0.39916) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 187, parentID 1) is processed with stopping code 2 ### pop requested out of 186 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74445,-0.44725,0.49575) - Old Polarization: (-0.66768,-0.49867,0.55275) - New Momentum Direction: (0.44011,-0.60149,0.66672) - New Polarization: (-0.89794,-0.29481,0.32678) + Old Momentum Direction: (0.73637,-0.66002,0.14874) + Old Polarization: (-0.67658,-0.71836,0.16189) + New Momentum Direction: (0.39219,-0.89738,0.20223) + New Polarization: (-0.91989,-0.38259,0.086222) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 186, parentID 1) is processed with stopping code 2 ### pop requested out of 185 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73742,-0.29739,0.60644) + Old Polarization: (-0.67543,-0.32468,0.6621) + New Momentum Direction: (0.39884,-0.40375,0.82335) + New Polarization: (-0.91702,-0.17561,0.3581) + *** FresnelRefraction *** 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.73994,-0.6716,0.038059) - Old Polarization: (-0.67268,-0.73875,0.041864) - New Momentum Direction: (0.41421,-0.90872,0.051496) - New Polarization: (-0.91018,-0.41355,0.023435) + Old Momentum Direction: (0.7385,-0.091499,0.66801) + Old Polarization: (-0.67425,-0.10022,0.73167) + New Momentum Direction: (0.40555,-0.12404,0.90562) + New Polarization: (-0.91407,-0.055036,0.4018) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 184, parentID 1) is processed with stopping code 2 ### pop requested out of 183 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73643,-0.20231,0.64556) + Old Polarization: (-0.67651,-0.22022,0.70273) + New Momentum Direction: (0.39256,-0.27504,0.87764) + New Polarization: (-0.91973,-0.11739,0.37459) + *** 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.74292,-0.068256,0.6659) - Old Polarization: (-0.66939,-0.075753,0.73904) - New Momentum Direction: (0.43155,-0.091984,0.89739) - New Polarization: (-0.90209,-0.044004,0.4293) + Old Momentum Direction: (0.74095,0.66433,0.098275) + Old Polarization: (-0.67156,0.73298,0.10843) + New Momentum Direction: (0.42023,0.89765,0.13279) + New Polarization: (-0.90742,0.41571,0.061496) *** FresnelRefraction *** -No Absorbtion length specified 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.73912,0.063326,-0.67059) - Old Polarization: (-0.67357,0.069489,-0.73585) - New Momentum Direction: (0.4093,0.085779,-0.90836) - New Polarization: (-0.9124,0.038481,-0.40749) + Old Momentum Direction: (0.7382,0.42417,0.52453) + Old Polarization: (-0.67458,0.46418,0.57401) + New Momentum Direction: (0.4037,0.57528,0.7114) + New Polarization: (-0.91489,0.25384,0.31391) *** FresnelRefraction *** -No Absorbtion length specified 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.74309,0.15795,0.65029) - Old Polarization: (-0.66919,0.17539,0.72209) - New Momentum Direction: (0.43252,0.2128,0.87615) - New Polarization: (-0.90162,0.10209,0.4203) + Old Momentum Direction: (0.74394,0.55656,-0.36985) + Old Polarization: (-0.66824,0.61961,-0.41175) + New Momentum Direction: (0.43731,0.74901,-0.49774) + New Polarization: (-0.89931,0.36422,-0.24204) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 180, parentID 1) is processed with stopping code 2 ### pop requested out of 179 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73581,0.15468,-0.65928) - Old Polarization: (-0.67718,0.16807,-0.71636) - New Momentum Direction: (0.3886,0.21047,-0.89705) - New Polarization: (-0.92141,0.088764,-0.37833) + Old Momentum Direction: (0.73766,-0.67196,-0.065784) + Old Polarization: (-0.67517,-0.73415,-0.071872) + New Momentum Direction: (0.40031,-0.91202,-0.089285) + New Polarization: (-0.91638,-0.39841,-0.039004) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 179, parentID 1) is processed with stopping code 2 ### pop requested out of 178 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73653,0.51034,0.44394) - Old Polarization: (-0.67641,0.55569,0.4834) - New Momentum Direction: (0.39317,0.69372,0.60347) - New Polarization: (-0.91947,0.29664,0.25805) + Old Momentum Direction: (0.73654,0.30908,0.60165) + Old Polarization: (-0.6764,0.33656,0.65514) + New Momentum Direction: (0.39324,0.42014,0.81783) + New Polarization: (-0.91944,0.17969,0.34978) *** FresnelRefraction *** -No Absorbtion length specified 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.74116,0.30676,-0.59715) - Old Polarization: (-0.67133,0.33867,-0.65926) - New Momentum Direction: (0.42143,0.41438,-0.80665) - New Polarization: (-0.90686,0.19257,-0.37486) + Old Momentum Direction: (0.74198,-0.48288,0.46507) + Old Polarization: (-0.67042,-0.53442,0.51471) + New Momentum Direction: (0.4262,-0.65157,0.62754) + New Polarization: (-0.90463,-0.30697,0.29565) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 177, parentID 1) is processed with stopping code 2 ### pop requested out of 176 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74021,0.51819,0.42845) - Old Polarization: (-0.67238,0.57047,0.47167) - New Momentum Direction: (0.41583,0.7009,0.57951) - New Polarization: (-0.90944,0.32048,0.26497) + Old Momentum Direction: (0.74161,-0.66857,-0.055088) + Old Polarization: (-0.67083,-0.7391,-0.0609) + New Momentum Direction: (0.42405,-0.90258,-0.07437) + New Polarization: (-0.90564,-0.42262,-0.034823) *** FresnelRefraction *** -No Absorbtion length specified 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.73898,-0.31389,-0.59614) - Old Polarization: (-0.67372,-0.34429,-0.65388) - New Momentum Direction: (0.40848,-0.42526,-0.80765) - New Polarization: (-0.91277,-0.19031,-0.36144) + Old Momentum Direction: (0.74218,0.16729,-0.64899) + Old Polarization: (-0.6702,0.18526,-0.71868) + New Momentum Direction: (0.42734,0.22567,-0.87547) + New Polarization: (-0.90409,0.10667,-0.41381) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 175, parentID 1) is processed with stopping code 2 ### pop requested out of 174 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73597,0.67624,0.032244) + Old Polarization: (-0.67701,0.73514,0.035052) + New Momentum Direction: (0.38963,0.91993,0.043863) + New Polarization: (-0.92097,0.38919,0.018557) + *** FresnelRefraction *** Track (trackID 174, parentID 1) is processed with stopping code 2 ### pop requested out of 173 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74269,0.063056,-0.66666) - Old Polarization: (-0.66963,0.069936,-0.73939) - New Momentum Direction: (0.43029,0.085002,-0.89868) - New Polarization: (-0.90269,0.040519,-0.42838) + Old Momentum Direction: (0.739,0.49493,-0.45707) + Old Polarization: (-0.6737,0.54291,-0.50138) + New Momentum Direction: (0.4086,0.67052,-0.61923) + New Polarization: (-0.91271,0.30018,-0.27721) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 173, parentID 1) is processed with stopping code 2 ### pop requested out of 172 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73656,-0.5356,-0.41305) + Old Polarization: (-0.67637,-0.58326,-0.4498) + New Momentum Direction: (0.39338,-0.72803,-0.56145) + New Polarization: (-0.91938,-0.31151,-0.24023) + *** FresnelRefraction *** Track (trackID 172, parentID 1) is processed with stopping code 2 ### pop requested out of 171 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73644,0.45036,0.50481) - Old Polarization: (-0.67651,0.49026,0.54953) - New Momentum Direction: (0.39259,0.61227,0.68629) - New Polarization: (-0.91971,0.26136,0.29295) + Old Momentum Direction: (0.73684,-0.2113,-0.6422) + Old Polarization: (-0.67607,-0.23029,-0.69993) + New Momentum Direction: (0.39516,-0.2871,-0.87259) + New Polarization: (-0.91861,-0.1235,-0.37537) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 171, parentID 1) is processed with stopping code 2 ### pop requested out of 170 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.7386,0.1422,-0.65898) - Old Polarization: (-0.67414,0.1558,-0.72198) - New Momentum Direction: (0.40614,0.19275,-0.89325) - New Polarization: (-0.91381,0.085668,-0.397) + Old Momentum Direction: (0.73697,-0.20137,0.64523) + Old Polarization: (-0.67592,-0.21955,0.70351) + New Momentum Direction: (0.396,-0.27356,0.87656) + New Polarization: (-0.91825,-0.11797,0.37802) *** FresnelRefraction *** -No Absorbtion length specified 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.74223,-0.62557,0.2403) - Old Polarization: (-0.67014,-0.69287,0.26615) - New Momentum Direction: (0.42767,-0.84382,0.32414) - New Polarization: (-0.90394,-0.39923,0.15336) + Old Momentum Direction: (0.7388,-0.41344,-0.53221) + Old Polarization: (-0.67393,-0.45324,-0.58343) + New Momentum Direction: (0.40734,-0.56028,-0.72122) + New Polarization: (-0.91328,-0.24989,-0.32168) *** FresnelRefraction *** -No Absorbtion length specified 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.73625,-0.21064,-0.6431) - Old Polarization: (-0.67671,-0.22917,-0.69967) - New Momentum Direction: (0.39139,-0.28643,-0.87451) - New Polarization: (-0.92022,-0.12183,-0.37195) + Old Momentum Direction: (0.7364,-0.29083,-0.61084) + Old Polarization: (-0.67654,-0.31657,-0.66489) + New Momentum Direction: (0.3924,-0.3954,-0.83047) + New Polarization: (-0.9198,-0.16868,-0.35429) *** FresnelRefraction *** -No Absorbtion length specified 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.74093,0.29532,0.60317) - Old Polarization: (-0.67158,0.32581,0.66545) - New Momentum Direction: (0.4201,0.39905,0.81503) - New Polarization: (-0.90748,0.18473,0.3773) + Old Momentum Direction: (0.73594,0.39917,0.54685) + Old Polarization: (-0.67704,0.4339,0.59443) + New Momentum Direction: (0.38943,0.54304,0.74394) + New Polarization: (-0.92106,0.2296,0.31455) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 166, parentID 1) is processed with stopping code 2 ### pop requested out of 165 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73596,-0.50808,-0.44746) - Old Polarization: (-0.67703,-0.55231,-0.4864) - New Momentum Direction: (0.38953,-0.69119,-0.60871) - New Polarization: (-0.92102,-0.29232,-0.25744) + Old Momentum Direction: (0.73581,0.66958,0.1012) + Old Polarization: (-0.67718,0.72755,0.10996) + New Momentum Direction: (0.3886,0.91106,0.1377) + New Polarization: (-0.92141,0.38424,0.058073) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 165, parentID 1) is processed with stopping code 2 ### pop requested out of 164 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73602,0.67679,0.015232) - Old Polarization: (-0.67696,0.73584,0.016561) - New Momentum Direction: (0.38994,0.92061,0.02072) - New Polarization: (-0.92084,0.38984,0.008774) + Old Momentum Direction: (0.73746,0.52581,-0.42389) + Old Polarization: (-0.67539,0.57413,-0.46284) + New Momentum Direction: (0.39907,0.71384,-0.57547) + New Polarization: (-0.91692,0.31068,-0.25046) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 164, parentID 1) is processed with stopping code 2 ### pop requested out of 163 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74292,0.19631,-0.63995) + Old Polarization: (-0.66939,0.21788,-0.71025) + New Momentum Direction: (0.43155,0.26456,-0.86243) + New Polarization: (-0.90209,0.12656,-0.41257) + *** 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.73604,-0.50694,-0.4486) - Old Polarization: (-0.67693,-0.55121,-0.48778) - New Momentum Direction: (0.39009,-0.68956,-0.6102) - New Polarization: (-0.92078,-0.29213,-0.25851) + Old Momentum Direction: (0.74138,-0.41896,-0.52424) + Old Polarization: (-0.67108,-0.46285,-0.57915) + New Momentum Direction: (0.42274,-0.56578,-0.70795) + New Polarization: (-0.90625,-0.26391,-0.33023) *** FresnelRefraction *** -No Absorbtion length specified 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.74295,0.64943,-0.16206) - Old Polarization: (-0.66935,0.72084,-0.17988) - New Momentum Direction: (0.43173,0.87517,-0.2184) - New Polarization: (-0.902,0.41888,-0.10453) + Old Momentum Direction: (0.74156,0.62106,0.2537) + Old Polarization: (-0.67088,0.6865,0.28043) + New Momentum Direction: (0.4238,0.8385,0.34252) + New Polarization: (-0.90576,0.39233,0.16026) *** FresnelRefraction *** -No Absorbtion length specified 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.74393,0.60706,-0.27936) - Old Polarization: (-0.66826,0.67581,-0.311) - New Momentum Direction: (0.43725,0.81698,-0.37597) - New Polarization: (-0.89934,0.39721,-0.18279) + Old Momentum Direction: (0.73884,-0.5197,-0.42899) + Old Polarization: (-0.67388,-0.56979,-0.47034) + New Momentum Direction: (0.4076,-0.70423,-0.58131) + New Polarization: (-0.91316,-0.31434,-0.25947) *** FresnelRefraction *** -No Absorbtion length specified 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.73699,-0.4426,-0.51083) - Old Polarization: (-0.6759,-0.48261,-0.557) - New Momentum Direction: (0.39613,-0.60127,-0.69395) - New Polarization: (-0.9182,-0.2594,-0.29938) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 159, parentID 1) is processed with stopping code 2 ### pop requested out of 158 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74123,0.27252,0.61344) + Old Polarization: (-0.67125,0.30093,0.6774) + New Momentum Direction: (0.42188,0.36809,0.82857) + New Polarization: (-0.90665,0.17128,0.38555) + *** FresnelRefraction *** Track (trackID 158, parentID 1) is processed with stopping code 2 ### pop requested out of 157 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73622,0.060396,-0.67404) + Old Polarization: (-0.67674,0.065705,-0.73329) + New Momentum Direction: (0.39124,0.082132,-0.91662) + New Polarization: (-0.92029,0.034917,-0.38968) + *** FresnelRefraction *** Track (trackID 157, parentID 1) is processed with stopping code 2 ### pop requested out of 156 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 156, parentID 1) is processed with stopping code 2 ### pop requested out of 155 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 155, parentID 1) is processed with stopping code 2 ### pop requested out of 154 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73705,-0.31193,-0.59955) - Old Polarization: (-0.67584,-0.34018,-0.65385) - New Momentum Direction: (0.3965,-0.42371,-0.8144) - New Polarization: (-0.91803,-0.183,-0.35174) + Old Momentum Direction: (0.74237,0.57768,0.33938) + Old Polarization: (-0.67,0.64008,0.37604) + New Momentum Direction: (0.42841,0.77908,0.4577) + New Polarization: (-0.90358,0.36939,0.21701) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 154, parentID 1) is processed with stopping code 2 ### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74139,0.65409,0.14999) - Old Polarization: (-0.67107,0.72264,0.16571) - New Momentum Direction: (0.42281,0.88329,0.20255) - New Polarization: (-0.90622,0.41211,0.094501) - *** FresnelRefraction *** -No Absorbtion length specified + +** 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.74495,-0.64675,-0.16357) - Old Polarization: (-0.66712,-0.72221,-0.18266) - New Momentum Direction: (0.44289,-0.86921,-0.21984) - New Polarization: (-0.89658,-0.42937,-0.10859) + Old Momentum Direction: (0.74221,0.15966,0.65087) + Old Polarization: (-0.67016,0.17683,0.72084) + New Momentum Direction: (0.42754,0.21537,0.87797) + New Polarization: (-0.90399,0.10186,0.41523) *** FresnelRefraction *** -No Absorbtion length specified 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.73695,-0.57054,-0.36246) - Old Polarization: (-0.67594,-0.62204,-0.39518) - New Momentum Direction: (0.39589,-0.77511,-0.49242) - New Polarization: (-0.9183,-0.33416,-0.21229) + Old Momentum Direction: (0.73917,-0.41438,0.53096) + Old Polarization: (-0.67352,-0.45476,0.58272) + New Momentum Direction: (0.4096,-0.56126,0.71918) + New Polarization: (-0.91227,-0.252,0.3229) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 151, parentID 1) is processed with stopping code 2 ### pop requested out of 150 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73882,0.15246,0.65643) + Old Polarization: (-0.67391,0.16714,0.71966) + New Momentum Direction: (0.40746,0.2066,0.88955) + New Polarization: (-0.91322,0.092179,0.3969) + *** 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.74409,-0.62354,0.23984) - Old Polarization: (-0.66808,-0.69449,0.26713) - New Momentum Direction: (0.43814,-0.83898,0.32271) - New Polarization: (-0.89891,-0.40893,0.15729) + Old Momentum Direction: (0.7385,-0.56145,0.37336) + Old Polarization: (-0.67426,-0.61494,0.40893) + New Momentum Direction: (0.4055,-0.76116,0.50617) + New Polarization: (-0.9141,-0.33765,0.22454) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 149, parentID 1) is processed with stopping code 2 ### pop requested out of 148 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73587,0.67419,0.062855) -Old Polarization: (-0.67712,0.7327,0.068309) -New Polarization: (-0.057581,0.8481,0.17243) -Polarization Change: (-0.066386,0.97779,0.19879) -New Momentum Direction: (-0.82163,0.043931,-0.49046) -Momentum Change: (-0.85775,0.045862,-0.51202) Photon at Boundary! - Old Momentum Direction: (-0.85775,0.045862,-0.51202) - Old Polarization: (-0.066386,0.97779,0.19879) - New Momentum Direction: (-0.85775,0.045862,0.51202) - New Polarization: (0.066386,-0.97779,0.19879) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.85775,0.045862,0.51202) - Old Polarization: (0.066386,-0.97779,0.19879) - New Momentum Direction: (-0.71472,0.062398,0.69662) - New Polarization: (0.12535,-0.96846,0.21535) + Old Momentum Direction: (0.73845,-0.21618,-0.63872) + Old Polarization: (-0.67431,-0.23674,-0.69947) + New Momentum Direction: (0.40522,-0.29309,-0.86597) + New Polarization: (-0.91422,-0.12991,-0.38383) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 148, parentID 1) is processed with stopping code 2 ### pop requested out of 147 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73705,-0.57467,-0.35567) - Old Polarization: (-0.67583,-0.62673,-0.38789) - New Momentum Direction: (0.39653,-0.78061,-0.48313) - New Polarization: (-0.91802,-0.33717,-0.20868) + Old Momentum Direction: (0.73918,0.66101,0.12916) + Old Polarization: (-0.67351,0.72546,0.14176) + New Momentum Direction: (0.40966,0.8953,0.17494) + New Polarization: (-0.91224,0.40206,0.078563) *** FresnelRefraction *** -No Absorbtion length specified 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.74185,0.4819,-0.46629) - Old Polarization: (-0.67057,0.53313,-0.51586) - New Momentum Direction: (0.42545,0.65037,-0.6293) - New Polarization: (-0.90498,0.30575,-0.29585) + Old Momentum Direction: (0.73903,-0.65981,0.13598) + Old Polarization: (-0.67368,-0.72382,0.14917) + New Momentum Direction: (0.40874,-0.89387,0.18421) + New Polarization: (-0.91265,-0.40033,0.082501) *** FresnelRefraction *** -No Absorbtion length specified 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.73828,-0.44678,0.50531) - Old Polarization: (-0.6745,-0.48903,0.55309) - New Momentum Direction: (0.40414,-0.60589,0.68525) - New Polarization: (-0.9147,-0.2677,0.30277) + Old Momentum Direction: (0.73954,0.2675,0.61768) + Old Polarization: (-0.67312,0.2939,0.67863) + New Momentum Direction: (0.41182,0.36214,0.83621) + New Polarization: (-0.91126,0.16366,0.37791) *** FresnelRefraction *** -No Absorbtion length specified 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.73992,0.56929,-0.35838) - Old Polarization: (-0.6727,0.62617,-0.39419) - New Momentum Direction: (0.4141,0.77031,-0.48492) - New Polarization: (-0.91023,0.35044,-0.22061) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.74014,0.22494,-0.63371) - Old Polarization: (-0.67245,0.24759,-0.6975) - New Momentum Direction: (0.41545,0.30428,-0.85721) - New Polarization: (-0.90962,0.13897,-0.39152) + Old Momentum Direction: (0.74155,0.41201,-0.52948) + Old Polarization: (-0.6709,0.4554,-0.58524) + New Momentum Direction: (0.42371,0.55627,-0.71487) + New Polarization: (-0.9058,0.26021,-0.3344) *** FresnelRefraction *** -No Absorbtion length specified 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.74217,-0.63833,0.20427) - Old Polarization: (-0.67022,-0.70685,0.2262) - New Momentum Direction: (0.42727,-0.86111,0.27557) - New Polarization: (-0.90412,-0.40694,0.13023) + Old Momentum Direction: (0.7366,0.47437,-0.48207) + Old Polarization: (-0.67633,0.51664,-0.52503) + New Momentum Direction: (0.39363,0.64477,-0.65524) + New Polarization: (-0.91927,0.27609,-0.28057) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 142, parentID 1) is processed with stopping code 2 ### pop requested out of 141 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73744,0.031057,-0.6747) + Old Polarization: (-0.67541,0.03391,-0.73666) + New Momentum Direction: (0.39896,0.042165,-0.916) + New Polarization: (-0.91697,0.018345,-0.39854) + *** FresnelRefraction *** Track (trackID 141, parentID 1) is processed with stopping code 2 ### pop requested out of 140 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73741,0.6173,0.27416) + Old Polarization: (-0.67545,0.67393,0.29931) + New Momentum Direction: (0.39875,0.83812,0.37224) + New Polarization: (-0.91706,0.36442,0.16185) + *** 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.73581,0.61266,-0.28849) - Old Polarization: (-0.67719,0.6657,-0.31346) - New Momentum Direction: (0.38858,0.83362,-0.39253) - New Polarization: (-0.92141,0.35156,-0.16554) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 139, parentID 1) is processed with stopping code 2 ### pop requested out of 138 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73985,-0.36531,0.56495) - Old Polarization: (-0.67277,-0.40173,0.62128) - New Momentum Direction: (0.41369,-0.49435,0.76451) - New Polarization: (-0.91042,-0.22463,0.34739) + Old Momentum Direction: (0.73859,0.27457,0.6157) + Old Polarization: (-0.67415,0.30082,0.67456) + New Momentum Direction: (0.4061,0.37219,0.8346) + New Polarization: (-0.91383,0.1654,0.37089) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 138, parentID 1) is processed with stopping code 2 ### pop requested out of 137 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74133,-0.66934,-0.049149) - Old Polarization: (-0.67115,-0.73934,-0.054288) - New Momentum Direction: (0.42241,-0.90397,-0.066377) - New Polarization: (-0.9064,-0.42128,-0.030934) + Old Momentum Direction: (0.73615,0.63077,0.24539) + Old Polarization: (-0.67682,0.68606,0.2669) + New Momentum Direction: (0.39077,0.85786,0.33373) + New Polarization: (-0.92049,0.36418,0.14168) *** FresnelRefraction *** -No Absorbtion length specified 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.73906,0.51296,0.43664) - Old Polarization: (-0.67364,0.56278,0.47905) - New Momentum Direction: (0.40896,0.69489,0.59151) - New Polarization: (-0.91255,0.31141,0.26508) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 136, parentID 1) is processed with stopping code 2 ### pop requested out of 135 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73589,0.6413,0.21726) +Old Polarization: (-0.6771,0.69698,0.23612) +New Polarization: (-0.68616,0.63405,0.096007) +Polarization Change: (-0.7306,0.67511,0.10222) +New Momentum Direction: (0.45144,0.58438,-0.63291) +Momentum Change: (0.46418,0.60086,-0.65077) + Photon at Boundary! + Old Momentum Direction: (0.46418,0.60086,-0.65077) + Old Polarization: (-0.7306,0.67511,0.10222) + New Momentum Direction: (0.46418,-0.60086,-0.65077) + New Polarization: (0.7306,0.67511,-0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.46418,-0.60086,-0.65077) + Old Polarization: (0.7306,0.67511,-0.10222) + New Momentum Direction: (-0.46418,-0.60086,-0.65077) + New Polarization: (0.7306,-0.67511,0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,-0.60086,-0.65077) + Old Polarization: (0.7306,-0.67511,0.10222) + New Momentum Direction: (-0.46418,-0.60086,0.65077) + New Polarization: (-0.7306,0.67511,0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,-0.60086,0.65077) + Old Polarization: (-0.7306,0.67511,0.10222) + New Momentum Direction: (-0.46418,0.60086,0.65077) + New Polarization: (0.7306,0.67511,-0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,0.60086,0.65077) + Old Polarization: (0.7306,0.67511,-0.10222) + New Momentum Direction: (-0.46418,0.60086,-0.65077) + New Polarization: (-0.7306,-0.67511,-0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,0.60086,-0.65077) + Old Polarization: (-0.7306,-0.67511,-0.10222) + New Momentum Direction: (0.46418,0.60086,-0.65077) + New Polarization: (-0.7306,0.67511,0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.46418,0.60086,-0.65077) + Old Polarization: (-0.7306,0.67511,0.10222) + New Momentum Direction: (0.46418,-0.60086,-0.65077) + New Polarization: (0.7306,0.67511,-0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.46418,-0.60086,-0.65077) + Old Polarization: (0.7306,0.67511,-0.10222) + New Momentum Direction: (0.46418,-0.60086,0.65077) + New Polarization: (-0.7306,-0.67511,-0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.46418,-0.60086,0.65077) + Old Polarization: (-0.7306,-0.67511,-0.10222) + New Momentum Direction: (-0.46418,-0.60086,0.65077) + New Polarization: (-0.7306,0.67511,0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,-0.60086,0.65077) + Old Polarization: (-0.7306,0.67511,0.10222) + New Momentum Direction: (-0.46418,-0.60086,-0.65077) + New Polarization: (0.7306,-0.67511,0.10222) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.46418,-0.60086,-0.65077) + Old Polarization: (0.7306,-0.67511,0.10222) + New Momentum Direction: (-0.46418,0.60086,-0.65077) + New Polarization: (-0.7306,-0.67511,-0.10222) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.46418,0.60086,-0.65077) +Old Polarization: (-0.7306,-0.67511,-0.10222) +New Polarization: (-0.32013,-0.72209,-0.36301) +Polarization Change: (-0.36826,-0.83066,-0.4176) +New Momentum Direction: (-0.86649,0.18688,0.3924) +Momentum Change: (-0.89386,0.19278,0.40479) + Photon at Boundary! + Old Momentum Direction: (-0.89386,0.19278,0.40479) + Old Polarization: (-0.36826,-0.83066,-0.4176) + New Momentum Direction: (-0.89386,0.19278,-0.40479) + New Polarization: (0.36826,0.83066,-0.4176) + *** TotalInternalReflection *** -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 135, parentID 1) is processed with stopping code 2 ### pop requested out of 134 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73905,-0.45195,-0.49955) - Old Polarization: (-0.67365,-0.49582,-0.54805) - New Momentum Direction: (0.40887,-0.61225,-0.67674) - New Polarization: (-0.91259,-0.2743,-0.3032) + Old Momentum Direction: (0.73868,-0.62694,0.24758) + Old Polarization: (-0.67405,-0.68705,0.27132) + New Momentum Direction: (0.40665,-0.84973,0.33556) + New Polarization: (-0.91358,-0.37823,0.14936) *** FresnelRefraction *** -No Absorbtion length specified 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.7384,0.54142,-0.40203) - Old Polarization: (-0.67436,0.59283,-0.44021) - New Momentum Direction: (0.40493,0.73409,-0.5451) - New Polarization: (-0.91435,0.3251,-0.2414) + Old Momentum Direction: (0.73858,0.23167,0.63311) + Old Polarization: (-0.67417,0.25381,0.6936) + New Momentum Direction: (0.406,0.31405,0.85822) + New Polarization: (-0.91388,0.13952,0.38127) *** FresnelRefraction *** -No Absorbtion length specified 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.73763,0.23033,-0.63471) - Old Polarization: (-0.67521,0.25162,-0.69338) - New Momentum Direction: (0.40011,0.31263,-0.8615) - New Polarization: (-0.91647,0.13649,-0.37611) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 132, parentID 1) is processed with stopping code 2 ### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7425,-0.44308,-0.50236) - Old Polarization: (-0.66984,-0.49114,-0.55686) - New Momentum Direction: (0.42921,-0.59744,-0.67738) - New Polarization: (-0.90321,-0.28391,-0.32189) - *** FresnelRefraction *** -No Absorbtion length specified + +** 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.73722,0.59099,0.32746) - Old Polarization: (-0.67565,0.64485,0.3573) - New Momentum Direction: (0.39759,0.8026,0.4447) - New Polarization: (-0.91756,0.34777,0.19269) + Old Momentum Direction: (0.73784,-0.64035,-0.21341) + Old Polarization: (-0.67498,-0.69999,-0.23328) + New Momentum Direction: (0.40144,-0.8689,-0.28958) + New Polarization: (-0.91588,-0.38085,-0.12692) *** FresnelRefraction *** -No Absorbtion length specified 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.73682,-0.56,0.37882) - Old Polarization: (-0.67609,-0.6103,0.41284) - New Momentum Direction: (0.39504,-0.76092,0.51473) - New Polarization: (-0.91867,-0.3272,0.22134) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73853,0.094457,-0.66757) - Old Polarization: (-0.67422,0.10347,-0.73125) - New Momentum Direction: (0.40572,0.12805,-0.90498) - New Polarization: (-0.914,0.056842,-0.40172) + Old Momentum Direction: (0.73877,-0.24803,0.62666) + Old Polarization: (-0.67396,-0.27188,0.68692) + New Momentum Direction: (0.40716,-0.33613,0.84926) + New Polarization: (-0.91336,-0.14984,0.37859) *** FresnelRefraction *** -No Absorbtion length specified 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.74189,0.032541,-0.66973) - Old Polarization: (-0.67052,0.036004,-0.74102) - New Momentum Direction: (0.4257,0.043914,-0.9038) - New Polarization: (-0.90487,0.020659,-0.4252) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.74387,-0.10827,0.6595) - Old Polarization: (-0.66833,-0.12051,0.73404) - New Momentum Direction: (0.43689,-0.14572,0.88763) - New Polarization: (-0.89951,-0.070777,0.43112) + Old Momentum Direction: (0.73918,-0.38433,-0.55308) + Old Polarization: (-0.67351,-0.42181,-0.60702) + New Momentum Direction: (0.40968,-0.52056,-0.74912) + New Polarization: (-0.91223,-0.23378,-0.33643) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 126, parentID 1) is processed with stopping code 2 ### pop requested out of 125 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73603,-0.14269,-0.66174) -Old Polarization: (-0.67695,-0.15515,-0.71949) -New Polarization: (-0.17875,0.71531,-0.56088) -Polarization Change: (-0.19295,0.77214,-0.60544) -New Momentum Direction: (0.016955,0.5753,0.72829) -Momentum Change: (0.018265,0.61976,0.78458) - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74183,-0.59458,0.31011) + Old Polarization: (-0.67059,-0.65774,0.34305) + New Momentum Direction: (0.42531,-0.80246,0.41854) + New Polarization: (-0.90505,-0.3771,0.19668) + *** FresnelRefraction *** 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.73634,0.67483,-0.048947) - Old Polarization: (-0.67661,0.73441,-0.053269) - New Momentum Direction: (0.39201,0.91755,-0.066552) - New Polarization: (-0.91996,0.39098,-0.028359) + Old Momentum Direction: (0.74124,-0.38596,0.54918) + Old Polarization: (-0.67124,-0.42621,0.60645) + New Momentum Direction: (0.42191,-0.52131,0.74177) + New Polarization: (-0.90664,-0.2426,0.34519) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 124, parentID 1) is processed with stopping code 2 ### pop requested out of 123 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73973,0.27971,0.61201) - Old Polarization: (-0.6729,0.30749,0.6728) - New Momentum Direction: (0.41299,0.37857,0.82833) - New Polarization: (-0.91074,0.17167,0.37562) + Old Momentum Direction: (0.74143,-0.30895,0.59568) + Old Polarization: (-0.67103,-0.34136,0.65817) + New Momentum Direction: (0.42302,-0.41718,0.80437) + New Polarization: (-0.90612,-0.19476,0.37552) *** FresnelRefraction *** -No Absorbtion length specified 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.74041,-0.62201,0.25474) - Old Polarization: (-0.67215,-0.68518,0.28061) - New Momentum Direction: (0.41706,-0.84108,0.34446) - New Polarization: (-0.90888,-0.38595,0.15806) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73825,-0.45873,0.49452) - Old Polarization: (-0.67452,-0.50207,0.54124) - New Momentum Direction: (0.40401,-0.62211,0.67064) - New Polarization: (-0.91476,-0.27476,0.29619) + Old Momentum Direction: (0.74309,-0.0037197,0.66918) + Old Polarization: (-0.66919,-0.0041304,0.74308) + New Momentum Direction: (0.43251,-0.0050116,0.90161) + New Polarization: (-0.90163,-0.0024041,0.43251) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 121, parentID 1) is processed with stopping code 2 ### pop requested out of 120 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74034,-0.4975,-0.4521) + Old Polarization: (-0.67223,-0.5479,-0.4979) + New Momentum Direction: (0.41662,-0.67278,-0.61138) + New Polarization: (-0.90908,-0.30833,-0.28019) + *** FresnelRefraction *** Track (trackID 120, parentID 1) is processed with stopping code 2 ### pop requested out of 119 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.74066,-0.50158,0.44704) - Old Polarization: (-0.67188,-0.55293,0.4928) - New Momentum Direction: (0.41852,-0.67801,0.60428) - New Polarization: (-0.90821,-0.31244,0.27846) + Old Momentum Direction: (0.74034,0.65745,0.14021) + Old Polarization: (-0.67224,0.72405,0.15441) + New Momentum Direction: (0.4166,0.8891,0.18961) + New Polarization: (-0.90909,0.40744,0.08689) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 118, parentID 1) is processed with stopping code 2 ### pop requested out of 117 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 117, parentID 1) is processed with stopping code 2 ### pop requested out of 116 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73887,-0.67367,0.015334) + Old Polarization: (-0.67384,-0.73868,0.016814) + New Momentum Direction: (0.40781,-0.91283,0.020778) + New Polarization: (-0.91307,-0.4077,0.0092799) + *** FresnelRefraction *** 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.73627,0.66117,-0.14407) - Old Polarization: (-0.67669,0.71939,-0.15675) - New Momentum Direction: (0.39153,0.89907,-0.1959) - New Polarization: (-0.92016,0.38256,-0.083357) + Old Momentum Direction: (0.73636,0.31476,-0.59892) + Old Polarization: (-0.6766,0.34256,-0.65182) + New Momentum Direction: (0.39208,0.42797,-0.81432) + New Polarization: (-0.91993,0.1824,-0.34707) *** FresnelRefraction *** -No Absorbtion length specified 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.74291,0.3439,-0.5743) - Old Polarization: (-0.66939,0.38167,-0.63737) - New Momentum Direction: (0.43152,0.46346,-0.77395) - New Polarization: (-0.90211,0.22169,-0.37021) + Old Momentum Direction: (0.73992,-0.60884,-0.28605) + Old Polarization: (-0.67269,-0.66969,-0.31464) + New Momentum Direction: (0.41415,-0.82382,-0.38705) + New Polarization: (-0.91021,-0.37484,-0.17611) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 114, parentID 1) is processed with stopping code 2 ### pop requested out of 113 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.7379,-0.58008,-0.34499) - Old Polarization: (-0.67491,-0.63421,-0.37719) - New Momentum Direction: (0.40179,-0.78705,-0.46809) - New Polarization: (-0.91573,-0.34533,-0.20538) + Old Momentum Direction: (0.74246,-0.62245,-0.24761) + Old Polarization: (-0.66989,-0.68988,-0.27443) + New Momentum Direction: (0.42895,-0.83936,-0.33389) + New Polarization: (-0.90333,-0.39857,-0.15855) *** FresnelRefraction *** -No Absorbtion length specified 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.73889,-0.58416,0.33585) - Old Polarization: (-0.67382,-0.64057,0.36828) - New Momentum Direction: (0.40792,-0.79153,0.45507) - New Polarization: (-0.91302,-0.35364,0.20332) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73609,-0.28185,0.61541) - Old Polarization: (-0.67688,-0.30651,0.66924) - New Momentum Direction: (0.39037,-0.38336,0.83704) - New Polarization: (-0.92066,-0.16255,0.35492) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73904,-0.54847,-0.39116) - Old Polarization: (-0.67367,-0.60169,-0.42912) - New Momentum Direction: (0.40879,-0.74302,-0.52991) - New Polarization: (-0.91263,-0.33282,-0.23736) + Old Momentum Direction: (0.73832,-0.083902,0.66921) + Old Polarization: (-0.67445,-0.091847,0.73258) + New Momentum Direction: (0.40441,-0.11377,0.90748) + New Polarization: (-0.91458,-0.050308,0.40126) *** FresnelRefraction *** -No Absorbtion length specified 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.74061,-0.56571,-0.36258) - Old Polarization: (-0.67194,-0.62353,-0.39964) - New Momentum Direction: (0.41822,-0.76475,-0.49016) - New Polarization: (-0.90835,-0.3521,-0.22567) + Old Momentum Direction: (0.73859,-0.14368,0.65867) + Old Polarization: (-0.67416,-0.15741,0.72162) + New Momentum Direction: (0.40607,-0.19476,0.89285) + New Polarization: (-0.91384,-0.086544,0.39674) *** FresnelRefraction *** -No Absorbtion length specified 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.74367,-0.50523,0.43783) - Old Polarization: (-0.66855,-0.562,0.48703) - New Momentum Direction: (0.43579,-0.68018,0.58944) - New Polarization: (-0.90005,-0.32933,0.2854) + Old Momentum Direction: (0.73927,0.67306,-0.02189) + Old Polarization: (-0.67341,0.73888,-0.024031) + New Momentum Direction: (0.41019,0.91152,-0.029646) + New Polarization: (-0.912,0.40997,-0.013334) *** FresnelRefraction *** -No Absorbtion length specified 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.73639,0.50765,-0.44723) - Old Polarization: (-0.67656,0.55255,-0.48679) - New Momentum Direction: (0.39231,0.69019,-0.60805) - New Polarization: (-0.91983,0.29437,-0.25934) - *** FresnelRefraction *** -No Absorbtion length specified +Scattering Photon! +Old Momentum Direction: (0.7358,-0.58526,-0.34068) +Old Polarization: (-0.67719,-0.63591,-0.37016) +New Polarization: (-0.67862,-0.45773,-0.43587) +Polarization Change: (-0.73177,-0.49357,-0.47001) +New Momentum Direction: (0.14299,-0.76053,0.57604) +Momentum Change: (0.14822,-0.78835,0.59711) + +** Photon absorbed! ** Track (trackID 106, parentID 1) is processed with stopping code 2 ### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73744,-0.63184,-0.23865) - Old Polarization: (-0.67541,-0.68987,-0.26057) - New Momentum Direction: (0.39896,-0.85782,-0.324) - New Polarization: (-0.91697,-0.37323,-0.14097) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 105, parentID 1) is processed with stopping code 2 ### pop requested out of 104 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7431,-0.57495,0.3424) - Old Polarization: (-0.66918,-0.63846,0.38022) - New Momentum Direction: (0.43259,-0.77463,0.46131) - New Polarization: (-0.90159,-0.37168,0.22134) + Old Momentum Direction: (0.74296,-0.42927,0.51355) + Old Polarization: (-0.66933,-0.47649,0.57005) + New Momentum Direction: (0.43181,-0.57846,0.69204) + New Polarization: (-0.90197,-0.27693,0.33131) *** FresnelRefraction *** -No Absorbtion length specified 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.74194,-0.58826,-0.32167) - Old Polarization: (-0.67047,-0.65097,-0.35596) - New Momentum Direction: (0.42597,-0.79381,-0.43407) - New Polarization: (-0.90474,-0.37374,-0.20437) + Old Momentum Direction: (0.74009,0.43523,-0.51269) + Old Polarization: (-0.67251,0.47896,-0.5642) + New Momentum Direction: (0.41511,0.58877,-0.69356) + New Polarization: (-0.90977,0.26864,-0.31646) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 103, parentID 1) is processed with stopping code 2 ### pop requested out of 102 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.7419,0.12193,-0.65933) + Old Polarization: (-0.67051,0.13491,-0.72953) + New Momentum Direction: (0.42575,0.16454,-0.88975) + New Polarization: (-0.90484,0.077421,-0.41866) + *** FresnelRefraction *** Track (trackID 102, parentID 1) is processed with stopping code 2 ### pop requested out of 101 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73587,-0.6745,0.059497) -Old Polarization: (-0.67712,-0.73303,0.06466) -New Polarization: (0.17184,-0.75304,0.48266) -Polarization Change: (0.18867,-0.82679,0.52993) -New Momentum Direction: (0.92537,0.32316,0.17473) -Momentum Change: (0.92944,0.32457,0.17549) Photon at Boundary! - Old Momentum Direction: (0.92944,0.32457,0.17549) - Old Polarization: (0.18867,-0.82679,0.52993) - New Momentum Direction: (0.86486,0.4416,0.23877) - New Polarization: (-0.31795,0.11378,0.94125) + Old Momentum Direction: (0.73827,-0.38815,0.55163) + Old Polarization: (-0.6745,-0.42485,0.60378) + New Momentum Direction: (0.40412,-0.52638,0.74807) + New Polarization: (-0.91471,-0.23256,0.3305) *** FresnelRefraction *** -No Absorbtion length specified 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.74104,0.55991,0.37063) - Old Polarization: (-0.67146,0.61792,0.40903) - New Momentum Direction: (0.42073,0.75647,0.50074) - New Polarization: (-0.90718,0.35083,0.23223) + Old Momentum Direction: (0.73699,0.39858,-0.54587) + Old Polarization: (-0.6759,0.43461,-0.59521) + New Momentum Direction: (0.39613,0.54147,-0.74155) + New Polarization: (-0.91819,0.2336,-0.31992) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 100, parentID 1) is processed with stopping code 2 ### pop requested out of 99 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73625,0.21478,-0.64172) -Old Polarization: (-0.67671,0.23367,-0.69818) -New Polarization: (-0.65012,0.21438,-0.70827) -Polarization Change: (-0.66001,0.21764,-0.71904) -New Momentum Direction: (0.15973,0.9752,0.14856) -Momentum Change: (0.15984,0.97588,0.14866) Photon at Boundary! - Old Momentum Direction: (0.15984,0.97588,0.14866) - Old Polarization: (-0.66001,0.21764,-0.71904) - New Momentum Direction: (0.21736,0.95493,0.20216) - New Polarization: (0.73664,-0.29637,0.60789) + Old Momentum Direction: (0.73625,-0.11937,0.66609) + Old Polarization: (-0.6767,-0.12987,0.72471) + New Momentum Direction: (0.39144,-0.16232,0.90578) + New Polarization: (-0.92021,-0.069049,0.3853) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 99, parentID 1) is processed with stopping code 2 ### pop requested out of 98 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73718,0.65515,0.16534) + Old Polarization: (-0.67569,0.71477,0.18038) + New Momentum Direction: (0.39733,0.88978,0.22455) + New Polarization: (-0.91768,0.38525,0.097224) + *** 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.74337,-0.014838,-0.66871) - Old Polarization: (-0.66888,-0.016491,-0.74319) - New Momentum Direction: (0.43412,-0.019985,-0.90063) - New Polarization: (-0.90085,-0.0096305,-0.43401) + Old Momentum Direction: (0.73784,-0.48948,0.46475) + Old Polarization: (-0.67497,-0.53508,0.50804) + New Momentum Direction: (0.40145,-0.66419,0.63063) + New Polarization: (-0.91588,-0.29113,0.27642) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 97, parentID 1) is processed with stopping code 2 ### pop requested out of 96 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73695,0.67473,-0.040536) - Old Polarization: (-0.67595,0.73562,-0.044194) - New Momentum Direction: (0.39586,0.91666,-0.055071) - New Polarization: (-0.91831,0.39515,-0.023739) + Old Momentum Direction: (0.7399,0.4506,-0.4995) + Old Polarization: (-0.67272,0.49561,-0.54939) + New Momentum Direction: (0.41401,0.60973,-0.67589) + New Polarization: (-0.91027,0.27731,-0.30741) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 96, parentID 1) is processed with stopping code 2 ### pop requested out of 95 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73835,-0.13513,0.66074) - Old Polarization: (-0.67442,-0.14794,0.72338) - New Momentum Direction: (0.4046,-0.18323,0.89595) - New Polarization: (-0.91449,-0.081065,0.39639) + Old Momentum Direction: (0.74257,-0.4535,-0.49288) + Old Polarization: (-0.66977,-0.50279,-0.54645) + New Momentum Direction: (0.42957,-0.61144,-0.66454) + New Polarization: (-0.90303,-0.29086,-0.31612) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 95, parentID 1) is processed with stopping code 2 ### pop requested out of 94 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73636,-0.32212,0.59499) + Old Polarization: (-0.67659,-0.35058,0.64755) + New Momentum Direction: (0.39211,-0.43797,0.80897) + New Polarization: (-0.91992,-0.18668,0.34482) + *** FresnelRefraction *** Track (trackID 94, parentID 1) is processed with stopping code 2 ### pop requested out of 93 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73763,0.35258,0.57584) - Old Polarization: (-0.6752,0.38518,0.62908) - New Momentum Direction: (0.40014,0.47856,0.78158) - New Polarization: (-0.91645,0.20895,0.34125) + Old Momentum Direction: (0.7359,0.61915,0.27406) + Old Polarization: (-0.67709,0.67292,0.29786) + New Momentum Direction: (0.38913,0.84235,0.37285) + New Polarization: (-0.92118,0.35583,0.1575) *** FresnelRefraction *** -No Absorbtion length specified 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.73772,-0.64924,0.18507) - Old Polarization: (-0.6751,-0.70946,0.20223) - New Momentum Direction: (0.40072,-0.8811,0.25116) - New Polarization: (-0.9162,-0.38537,0.10985) - *** FresnelRefraction *** -No Absorbtion length specified +Scattering Photon! +Old Momentum Direction: (0.73583,0.39944,-0.54682) +Old Polarization: (-0.67717,0.43404,-0.59418) +New Polarization: (-0.36935,0.6441,-0.47256) +Polarization Change: (-0.41966,0.73184,-0.53693) +New Momentum Direction: (0.67579,-0.066251,-0.61849) +Momentum Change: (0.73577,-0.072131,-0.67338) + +** Photon absorbed! ** Track (trackID 92, parentID 1) is processed with stopping code 2 ### pop requested out of 91 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74179,0.48423,0.46398) + Old Polarization: (-0.67064,0.5356,0.5132) + New Momentum Direction: (0.42508,0.65356,0.62622) + New Polarization: (-0.90515,0.30693,0.29409) + *** FresnelRefraction *** Track (trackID 91, parentID 1) is processed with stopping code 2 ### pop requested out of 90 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73641,-0.086168,0.67103) -Old Polarization: (-0.67654,-0.093793,0.73041) -New Polarization: (-0.67778,-0.41003,0.35799) -Polarization Change: (-0.77969,-0.47168,0.41182) -New Momentum Direction: (-0.29705,0.83462,0.39353) -Momentum Change: (-0.30643,0.86098,0.40596) -Scattering Photon! -Old Momentum Direction: (-0.30643,0.86098,0.40596) -Old Polarization: (-0.77969,-0.47168,0.41182) -New Polarization: (-0.56422,-0.42088,0.56801) -Polarization Change: (-0.62379,-0.46532,0.62798) -New Momentum Direction: (-0.23441,-0.58337,-0.6651) -Momentum Change: (-0.25612,-0.63741,-0.72671) Photon at Boundary! - Old Momentum Direction: (-0.25612,-0.63741,-0.72671) - Old Polarization: (-0.62379,-0.46532,0.62798) - New Momentum Direction: (-0.34821,-0.86659,-0.35744) - New Polarization: (-0.38954,-0.21306,0.89603) + Old Momentum Direction: (0.73931,-0.6211,0.2601) + Old Polarization: (-0.67336,-0.68193,0.28557) + New Momentum Direction: (0.41047,-0.8411,0.35223) + New Polarization: (-0.91187,-0.37861,0.15855) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 90, parentID 1) is processed with stopping code 2 ### pop requested out of 89 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.73982,-0.036911,0.67179) - Old Polarization: (-0.67281,-0.040588,0.7387) - New Momentum Direction: (0.41352,-0.049951,0.90912) - New Polarization: (-0.9105,-0.022686,0.4129) + Old Momentum Direction: (0.73929,-0.10052,0.66584) + Old Polarization: (-0.67339,-0.11036,0.73101) + New Momentum Direction: (0.41033,-0.13613,0.90172) + New Polarization: (-0.91194,-0.061252,0.40573) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 88, parentID 1) is processed with stopping code 2 ### pop requested out of 87 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 87, parentID 1) is processed with stopping code 2 ### pop requested out of 86 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73839,-0.49998,0.45254) + Old Polarization: (-0.67437,-0.54745,0.49551) + New Momentum Direction: (0.40487,-0.67792,0.6136) + New Polarization: (-0.91437,-0.30017,0.27169) + *** FresnelRefraction *** Track (trackID 86, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73854,0.19278,0.64606) - Old Polarization: (-0.67421,0.21117,0.7077) - New Momentum Direction: (0.40575,0.26133,0.87582) - New Polarization: (-0.91398,0.11602,0.38881) + Old Momentum Direction: (0.74204,-0.29402,-0.60243) + Old Polarization: (-0.67035,-0.32547,-0.66686) + New Momentum Direction: (0.42657,-0.3967,-0.81281) + New Polarization: (-0.90446,-0.1871,-0.38335) *** FresnelRefraction *** -No Absorbtion length specified 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.73972,-0.55157,-0.38547) - Old Polarization: (-0.67292,-0.60633,-0.42373) - New Momentum Direction: (0.41291,-0.74654,-0.52172) - New Polarization: (-0.91077,-0.33845,-0.23653) + Old Momentum Direction: (0.73706,-0.15034,0.65889) + Old Polarization: (-0.67582,-0.16396,0.7186) + New Momentum Direction: (0.39659,-0.20421,0.895) + New Polarization: (-0.918,-0.088221,0.38665) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 84, parentID 1) is processed with stopping code 2 ### pop requested out of 83 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73937,0.65251,0.16599) - Old Polarization: (-0.6733,0.71655,0.18228) - New Momentum Direction: (0.41084,0.88357,0.22477) - New Polarization: (-0.91171,0.39816,0.10129) + Old Momentum Direction: (0.73852,-0.66181,-0.12881) + Old Polarization: (-0.67423,-0.72492,-0.14109) + New Momentum Direction: (0.40565,-0.8972,-0.17462) + New Polarization: (-0.91403,-0.39817,-0.077497) *** FresnelRefraction *** -No Absorbtion length specified 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.73834,-0.17107,0.65237) - Old Polarization: (-0.67442,-0.18729,0.7142) - New Momentum Direction: (0.40456,-0.23197,0.8846) - New Polarization: (-0.91451,-0.10262,0.39133) + Old Momentum Direction: (0.73589,0.57686,-0.35455) + Old Polarization: (-0.6771,0.62694,-0.38533) + New Momentum Direction: (0.38907,0.78482,-0.48237) + New Polarization: (-0.92121,0.33147,-0.20373) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 82, parentID 1) is processed with stopping code 2 ### pop requested out of 81 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73894,-0.59897,-0.30854) + Old Polarization: (-0.67377,-0.65691,-0.33838) + New Momentum Direction: (0.40823,-0.81154,-0.41803) + New Polarization: (-0.91288,-0.36291,-0.18694) + *** 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.74432,-0.52536,0.41229) - Old Polarization: (-0.66782,-0.58554,0.45952) - New Momentum Direction: (0.43941,-0.70666,0.55458) - New Polarization: (-0.89829,-0.34567,0.27128) + Old Momentum Direction: (0.73643,-0.62783,-0.252) + Old Polarization: (-0.67652,-0.68343,-0.27431) + New Momentum Direction: (0.39253,-0.85355,-0.3426) + New Polarization: (-0.91974,-0.36428,-0.14621) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 80, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73613,0.67609,0.031976) + Old Polarization: (-0.67684,0.73531,0.034776) + New Momentum Direction: (0.39062,0.91952,0.043489) + New Polarization: (-0.92055,0.39018,0.018454) + *** FresnelRefraction *** 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.73902,-0.67368,0.0010559) - Old Polarization: (-0.67368,-0.73902,0.0011583) - New Momentum Direction: (0.40869,-0.91267,0.0014304) - New Polarization: (-0.91267,-0.40869,0.00064055) + Old Momentum Direction: (0.7385,-0.22865,-0.6343) + Old Polarization: (-0.67425,-0.25044,-0.69474) + New Momentum Direction: (0.40553,-0.30999,-0.85991) + New Polarization: (-0.91408,-0.13752,-0.3815) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 78, parentID 1) is processed with stopping code 2 ### pop requested out of 77 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.74142,-0.43832,-0.50811) +Old Polarization: (-0.67105,-0.48428,-0.5614) +New Polarization: (-0.66709,-0.44733,-0.56776) +Polarization Change: (-0.67821,-0.45479,-0.57723) +New Momentum Direction: (0.2596,-0.87992,0.38825) +Momentum Change: (0.26059,-0.88329,0.38974) Photon at Boundary! - Old Momentum Direction: (0.73957,-0.66981,0.06622) - Old Polarization: (-0.67308,-0.73598,0.072762) - New Momentum Direction: (0.41203,-0.90675,0.089644) - New Polarization: (-0.91117,-0.41003,0.040537) + Old Momentum Direction: (0.26059,-0.88329,0.38974) + Old Polarization: (-0.67821,-0.45479,-0.57723) + New Momentum Direction: (0.3519,-0.77407,0.52629) + New Polarization: (0.27458,0.62288,0.73255) *** FresnelRefraction *** -No Absorbtion length specified 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.73775,0.11138,-0.66583) - Old Polarization: (-0.67508,0.12172,-0.72763) - New Momentum Direction: (0.40086,0.15115,-0.90359) - New Polarization: (-0.91614,0.066137,-0.39536) + Old Momentum Direction: (0.74417,0.094503,-0.66127) + Old Polarization: (-0.66799,0.10528,-0.73668) + New Momentum Direction: (0.43857,0.12714,-0.88966) + New Polarization: (-0.8987,0.062046,-0.43416) *** FresnelRefraction *** -No Absorbtion length specified 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.73827,0.033528,-0.67367) - Old Polarization: (-0.6745,0.036698,-0.73736) - New Momentum Direction: (0.40411,0.045468,-0.91358) - New Polarization: (-0.91471,0.020088,-0.40361) + Old Momentum Direction: (0.7394,-0.66549,0.10206) + Old Polarization: (-0.67327,-0.73085,0.11208) + New Momentum Direction: (0.41098,-0.90111,0.13819) + New Polarization: (-0.91164,-0.40623,0.062297) *** FresnelRefraction *** -No Absorbtion length specified 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.73789,0.18408,0.64933) - Old Polarization: (-0.67492,0.20125,0.70992) - New Momentum Direction: (0.40177,0.24976,0.88102) - New Polarization: (-0.91574,0.10958,0.38654) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.74071,-0.59179,-0.318) - Old Polarization: (-0.67182,-0.65248,-0.35061) - New Momentum Direction: (0.41882,-0.7999,-0.42982) - New Polarization: (-0.90807,-0.36893,-0.19824) + Old Momentum Direction: (0.74347,0.66877,-0.0016928) + Old Polarization: (-0.66877,0.74347,-0.0018819) + New Momentum Direction: (0.43467,0.90059,-0.0022796) + New Polarization: (-0.90059,0.43467,-0.0011003) *** FresnelRefraction *** -No Absorbtion length specified 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.74453,-0.66731,0.01899) - Old Polarization: (-0.66758,-0.74423,0.021179) - New Momentum Direction: (0.44059,-0.89734,0.025536) - New Polarization: (-0.89771,-0.44041,0.012533) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73701,0.58087,-0.34554) - Old Polarization: (-0.67588,0.63341,-0.37679) - New Momentum Direction: (0.39626,0.78908,-0.46939) - New Polarization: (-0.91814,0.34056,-0.20259) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 71, parentID 1) is processed with stopping code 2 ### pop requested out of 70 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 70, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.73661,-0.054423,-0.67413) - Old Polarization: (-0.67632,-0.059274,-0.73422) - New Momentum Direction: (0.39369,-0.073971,-0.91626) - New Polarization: (-0.91924,-0.03168,-0.39242) + Old Momentum Direction: (0.74324,-0.66561,0.067528) + Old Polarization: (-0.66903,-0.73944,0.075018) + New Momentum Direction: (0.43336,-0.89662,0.090964) + New Polarization: (-0.90122,-0.43114,0.04374) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 68, parentID 1) is processed with stopping code 2 ### pop requested out of 67 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74073,-0.67151,0.02005) + Old Polarization: (-0.67181,-0.7404,0.022107) + New Momentum Direction: (0.4189,-0.90763,0.0271) + New Polarization: (-0.90803,-0.41872,0.012502) + *** FresnelRefraction *** Track (trackID 67, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73812,0.58006,0.34454) + Old Polarization: (-0.67467,0.63462,0.37694) + New Momentum Direction: (0.40318,0.7868,0.46733) + New Polarization: (-0.91512,0.34664,0.20589) + *** 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.74311,-0.56382,0.3604) - Old Polarization: (-0.66916,-0.62613,0.40023) - New Momentum Direction: (0.43267,-0.75962,0.48556) - New Polarization: (-0.90155,-0.36455,0.23303) + Old Momentum Direction: (0.74429,-0.22954,0.62717) + Old Polarization: (-0.66785,-0.25582,0.69895) + New Momentum Direction: (0.43926,-0.30877,0.84363) + New Polarization: (-0.89836,-0.15097,0.4125) *** FresnelRefraction *** -No Absorbtion length specified 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.7391,-0.22069,0.63642) - Old Polarization: (-0.6736,-0.24215,0.6983) - New Momentum Direction: (0.40917,-0.29895,0.8621) - New Polarization: (-0.91246,-0.13406,0.38658) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73949,0.66379,0.11192) - Old Polarization: (-0.67316,0.7292,0.12295) - New Momentum Direction: (0.41156,0.8987,0.15153) - New Polarization: (-0.91138,0.40583,0.068427) + Old Momentum Direction: (0.73583,0.56197,-0.37782) + Old Polarization: (-0.67717,0.61065,-0.41055) + New Momentum Direction: (0.3887,0.76462,-0.51407) + New Polarization: (-0.92137,0.32257,-0.21687) *** FresnelRefraction *** -No Absorbtion length specified 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.73946,0.28337,0.61066) - Old Polarization: (-0.6732,0.31126,0.67076) - New Momentum Direction: (0.41135,0.38367,0.82679) - New Polarization: (-0.91148,0.17315,0.37313) + Old Momentum Direction: (0.73907,-0.64062,-0.20829) + Old Polarization: (-0.67363,-0.70285,-0.22853) + New Momentum Direction: (0.40898,-0.86782,-0.28217) + New Polarization: (-0.91254,-0.38894,-0.12646) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 62, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73651,0.11782,0.66609) +Old Polarization: (-0.67643,0.12829,0.72525) +New Polarization: (-0.4707,0.57567,0.44402) +Polarization Change: (-0.54348,0.66468,0.51267) +New Momentum Direction: (0.50862,-0.12903,0.70647) +Momentum Change: (0.57796,-0.14662,0.80279) -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 61, parentID 1) is processed with stopping code 2 ### pop requested out of 60 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.7369,-0.33657,-0.58626) + Old Polarization: (-0.676,-0.36689,-0.63908) + New Momentum Direction: (0.39556,-0.45727,-0.79651) + New Polarization: (-0.91844,-0.19694,-0.34305) + *** 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.74153,0.53095,-0.41017) - Old Polarization: (-0.67093,0.58682,-0.45333) - New Momentum Direction: (0.42357,0.71687,-0.55379) - New Polarization: (-0.90586,0.3352,-0.25895) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73696,-0.578,-0.35044) - Old Polarization: (-0.67593,-0.63018,-0.38208) - New Momentum Direction: (0.39595,-0.78522,-0.47608) - New Polarization: (-0.91827,-0.33858,-0.20528) + Old Momentum Direction: (0.73779,-0.042706,0.67368) + Old Polarization: (-0.67503,-0.046677,0.73631) + New Momentum Direction: (0.40113,-0.057953,0.91419) + New Polarization: (-0.91602,-0.025378,0.40032) *** FresnelRefraction *** -No Absorbtion length specified 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.74134,-0.23527,0.62854) - Old Polarization: (-0.67113,-0.25988,0.6943) - New Momentum Direction: (0.42251,-0.31773,0.84884) - New Polarization: (-0.90636,-0.14811,0.3957) + Old Momentum Direction: (0.74286,0.13385,0.65592) + Old Polarization: (-0.66944,0.14853,0.72786) + New Momentum Direction: (0.43126,0.1804,0.88401) + New Polarization: (-0.90223,0.086228,0.42255) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 57, parentID 1) is processed with stopping code 2 ### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74133,-0.6035,0.29363) - Old Polarization: (-0.67114,-0.66661,0.32433) - New Momentum Direction: (0.42243,-0.81505,0.39655) - New Polarization: (-0.9064,-0.37985,0.18481) - *** FresnelRefraction *** -No Absorbtion length specified + +** 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.73896,-0.064606,-0.67065) - Old Polarization: (-0.67375,-0.070859,-0.73555) - New Momentum Direction: (0.40833,-0.087532,-0.90863) - New Polarization: (-0.91284,-0.039154,-0.40644) - *** FresnelRefraction *** -No Absorbtion length specified + Old Momentum Direction: (0.73804,0.033421,0.67393) + Old Polarization: (-0.67475,0.036556,0.73714) + New Momentum Direction: (-0.73804,0.033421,0.67393) + New Polarization: (-0.67475,-0.036556,-0.73714) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73804,0.033421,0.67393) + Old Polarization: (-0.67475,-0.036556,-0.73714) + New Momentum Direction: (-0.73804,0.033421,-0.67393) + New Polarization: (0.67475,0.036556,-0.73714) + *** TotalInternalReflection *** + +** Photon absorbed! ** 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.73587,-0.64319,0.21166) - Old Polarization: (-0.67712,-0.69899,0.23003) - New Momentum Direction: (0.38895,-0.87509,0.28798) - New Polarization: (-0.92126,-0.36946,0.12158) + Old Momentum Direction: (0.73956,0.25405,-0.6233) + Old Polarization: (-0.67309,0.27914,-0.68486) + New Momentum Direction: (0.41198,0.34392,-0.8438) + New Polarization: (-0.91119,0.1555,-0.38151) *** FresnelRefraction *** -No Absorbtion length specified 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.74015,-0.17861,0.64829) - Old Polarization: (-0.67244,-0.19659,0.71357) - New Momentum Direction: (0.4155,-0.2416,0.87692) - New Polarization: (-0.9096,-0.11036,0.40057) + Old Momentum Direction: (0.73931,-0.66388,0.11263) + Old Polarization: (-0.67337,-0.72889,0.12366) + New Momentum Direction: (0.41043,-0.89904,0.15253) + New Polarization: (-0.91189,-0.40465,0.068653) *** FresnelRefraction *** -No Absorbtion length specified 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.73665,0.38425,0.55651) - Old Polarization: (-0.67628,0.41855,0.60619) - New Momentum Direction: (0.39396,0.52224,0.75635) - New Polarization: (-0.91913,0.22384,0.32419) + Old Momentum Direction: (0.73618,0.22771,0.63733) + Old Polarization: (-0.67679,0.24769,0.69326) + New Momentum Direction: (0.39096,0.30968,0.86675) + New Polarization: (-0.92041,0.13154,0.36816) *** FresnelRefraction *** -No Absorbtion length specified 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.73753,0.45032,-0.50324) - Old Polarization: (-0.67531,0.49181,-0.54961) - New Momentum Direction: (0.39953,0.6113,-0.68314) - New Polarization: (-0.91672,0.26642,-0.29773) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.7435,-0.32788,-0.58284) - Old Polarization: (-0.66874,-0.36454,-0.648) - New Momentum Direction: (0.43484,-0.44152,-0.78484) - New Polarization: (-0.90051,-0.2132,-0.37898) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 50, parentID 1) is processed with stopping code 2 ### pop requested out of 49 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.74271,-0.23481,0.62709) +Old Polarization: (-0.66961,-0.26045,0.69555) +New Polarization: (-0.55518,-0.22274,0.73614) +Polarization Change: (-0.5853,-0.23482,0.77607) +New Momentum Direction: (0.76709,-0.35906,0.46988) +Momentum Change: (0.79198,-0.37071,0.48513) Photon at Boundary! - Old Momentum Direction: (0.7364,-0.39279,0.55084) - Old Polarization: (-0.67654,-0.42754,0.59958) - New Momentum Direction: (0.39239,-0.53402,0.7489) - New Polarization: (-0.9198,-0.22781,0.31948) + Old Momentum Direction: (0.79198,-0.37071,0.48513) + Old Polarization: (-0.5853,-0.23482,0.77607) + New Momentum Direction: (0.568,-0.49972,0.65396) + New Polarization: (-0.8055,-0.17441,0.56635) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 49, parentID 1) is processed with stopping code 2 ### pop requested out of 48 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73776,0.60643,-0.29656) - Old Polarization: (-0.67506,0.66276,-0.3241) - New Momentum Direction: (0.40097,0.82296,-0.40244) - New Polarization: (-0.91609,0.3602,-0.17615) + Old Momentum Direction: (0.73871,-0.50621,0.44503) + Old Polarization: (-0.67402,-0.5548,0.48774) + New Momentum Direction: (0.40683,-0.68608,0.60315) + New Polarization: (-0.91351,-0.30554,0.26861) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 48, parentID 1) is processed with stopping code 2 ### pop requested out of 47 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 47, parentID 1) is processed with stopping code 2 ### pop requested out of 46 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 46, parentID 1) is processed with stopping code 2 ### pop requested out of 45 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73843,0.58201,-0.34056) - Old Polarization: (-0.67433,0.63734,-0.37294) - New Momentum Direction: (0.40511,0.7891,-0.46174) - New Polarization: (-0.91427,0.34965,-0.2046) + Old Momentum Direction: (0.74219,-0.46169,0.48578) + Old Polarization: (-0.67018,-0.5113,0.53798) + New Momentum Direction: (0.42744,-0.6228,0.6553) + New Polarization: (-0.90405,-0.29446,0.30983) *** FresnelRefraction *** -No Absorbtion length specified 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.7441,-0.43699,0.50533) - Old Polarization: (-0.66807,-0.48671,0.56284) - New Momentum Direction: (0.43817,-0.58797,0.67993) - New Polarization: (-0.89889,-0.2866,0.33143) + Old Momentum Direction: (0.74258,0.61966,0.25417) + Old Polarization: (-0.66976,0.68703,0.2818) + New Momentum Direction: (0.42961,0.83547,0.34268) + New Polarization: (-0.90301,0.39748,0.16303) *** FresnelRefraction *** -No Absorbtion length specified 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.74153,-0.5843,0.32975) - Old Polarization: (-0.67092,-0.64579,0.36445) - New Momentum Direction: (0.4236,-0.78889,0.44521) - New Polarization: (-0.90585,-0.36891,0.20819) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73636,-0.66849,-0.10434) - Old Polarization: (-0.67659,-0.72755,-0.11356) - New Momentum Direction: (0.39213,-0.90891,-0.14187) - New Polarization: (-0.91991,-0.38744,-0.060474) + Old Momentum Direction: (0.7389,-0.60872,0.28895) + Old Polarization: (-0.67382,-0.66751,0.31685) + New Momentum Direction: (0.40794,-0.8248,0.39152) + New Polarization: (-0.91301,-0.36853,0.17493) *** FresnelRefraction *** -No Absorbtion length specified 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.73775,-0.16941,0.65347) - Old Polarization: (-0.67507,-0.18514,0.71414) - New Momentum Direction: (0.40091,-0.22991,0.8868) - New Polarization: (-0.91612,-0.10061,0.38808) + Old Momentum Direction: (0.73743,0.4531,0.5009) + Old Polarization: (-0.67542,0.49469,0.54688) + New Momentum Direction: (0.39888,0.61516,0.68006) + New Polarization: (-0.917,0.26758,0.29581) *** FresnelRefraction *** -No Absorbtion length specified 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.74355,0.24037,-0.62398) - Old Polarization: (-0.66868,0.26728,-0.69385) - New Momentum Direction: (0.43514,0.32365,-0.84018) - New Polarization: (-0.90036,0.15642,-0.40605) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 40, parentID 1) is processed with stopping code 2 ### pop requested out of 39 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73914,0.6599,-0.13491) - Old Polarization: (-0.67355,0.72416,-0.14805) - New Momentum Direction: (0.40945,0.89384,-0.18274) - New Polarization: (-0.91233,0.40115,-0.082014) + Old Momentum Direction: (0.73954,-0.37021,0.56216) + Old Polarization: (-0.67311,-0.40674,0.61764) + New Momentum Direction: (0.41184,-0.50118,0.76105) + New Polarization: (-0.91126,-0.22651,0.34396) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 39, parentID 1) is processed with stopping code 2 ### pop requested out of 38 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74117,0.38856,0.54743) - Old Polarization: (-0.67131,0.42899,0.60441) - New Momentum Direction: (0.42153,0.52486,0.73948) - New Polarization: (-0.90681,0.24398,0.34375) + Old Momentum Direction: (0.74209,-0.25681,-0.61916) + Old Polarization: (-0.6703,-0.28431,-0.68547) + New Momentum Direction: (0.42683,-0.34647,-0.83533) + New Polarization: (-0.90433,-0.16353,-0.39426) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 38, parentID 1) is processed with stopping code 2 ### pop requested out of 37 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.7365,-0.67562,0.033219) -Old Polarization: (-0.67644,-0.73561,0.036169) -New Polarization: (-0.69798,-0.16703,0.50033) -Polarization Change: (-0.7978,-0.19092,0.57189) -New Momentum Direction: (-0.045457,-0.89778,-0.36312) -Momentum Change: (-0.046887,-0.92602,-0.37455) Photon at Boundary! - Old Momentum Direction: (-0.046887,-0.92602,-0.37455) - Old Polarization: (-0.7978,-0.19092,0.57189) - New Momentum Direction: (-0.063737,-0.85831,-0.50915) - New Polarization: (-0.83937,0.32207,-0.43787) + Old Momentum Direction: (0.73885,0.29365,0.60653) + Old Polarization: (-0.67387,0.32197,0.665) + New Momentum Direction: (0.40764,0.39792,0.82188) + New Polarization: (-0.91314,0.17764,0.3669) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 37, parentID 1) is processed with stopping code 2 ### pop requested out of 36 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73914,0.57171,0.35612) + Old Polarization: (-0.67355,0.62738,0.3908) + New Momentum Direction: (0.40942,0.7744,0.48238) + New Polarization: (-0.91235,0.34751,0.21647) + *** FresnelRefraction *** Track (trackID 36, parentID 1) is processed with stopping code 2 ### pop requested out of 35 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73619,0.55544,-0.38667) +Old Polarization: (-0.67677,0.6042,-0.42062) +New Polarization: (-0.4964,-0.56477,-0.61239) +Polarization Change: (-0.51189,-0.58239,-0.63149) +New Momentum Direction: (0.018135,0.71003,-0.66953) +Momentum Change: (0.01858,0.72743,-0.68593) Photon at Boundary! - Old Momentum Direction: (0.73644,0.16767,0.6554) - Old Polarization: (-0.67651,0.18252,0.71346) - New Momentum Direction: (0.3926,0.22794,0.89102) - New Polarization: (-0.91971,0.097303,0.38035) + Old Momentum Direction: (0.01858,0.72743,-0.68593) + Old Polarization: (-0.51189,-0.58239,-0.63149) + New Momentum Direction: (0.025268,0.35943,-0.93283) + New Polarization: (-0.3727,-0.86247,-0.34241) *** FresnelRefraction *** -No Absorbtion length specified 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.73645,-0.49481,0.4613) - Old Polarization: (-0.67649,-0.53867,0.50219) - New Momentum Direction: (0.39269,-0.67269,0.62713) - New Polarization: (-0.91967,-0.28723,0.26777) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 34, parentID 1) is processed with stopping code 2 ### pop requested out of 33 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73587,0.37544,-0.5635) - Old Polarization: (-0.67712,0.40802,-0.6124) - New Momentum Direction: (0.38897,0.5108,-0.76667) - New Polarization: (-0.92125,0.21567,-0.3237) + Old Momentum Direction: (0.74213,-0.39746,-0.53969) + Old Polarization: (-0.67026,-0.44008,-0.59756) + New Momentum Direction: (0.42707,-0.5362,-0.72808) + New Polarization: (-0.90422,-0.25325,-0.34388) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 33, parentID 1) is processed with stopping code 2 ### pop requested out of 32 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74251,-0.58694,0.32277) -Old Polarization: (-0.66984,-0.65062,0.35779) -New Polarization: (-0.68266,-0.62453,0.33377) -Polarization Change: (-0.69404,-0.63495,0.33933) -New Momentum Direction: (0.70993,-0.53699,0.44725) -Momentum Change: (0.71265,-0.53904,0.44896) Photon at Boundary! - Old Momentum Direction: (0.71265,-0.53904,0.44896) - Old Polarization: (-0.69404,-0.63495,0.33933) - New Momentum Direction: (0.32441,-0.72683,0.60537) - New Polarization: (-0.94144,-0.3103,0.13194) + Old Momentum Direction: (0.73881,0.64939,0.18012) + Old Polarization: (-0.67391,0.71194,0.19747) + New Momentum Direction: (0.40744,0.88001,0.24408) + New Polarization: (-0.91323,0.39262,0.1089) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 32, parentID 1) is processed with stopping code 2 ### pop requested out of 31 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74056,-0.24801,-0.62454) - Old Polarization: (-0.67199,-0.27332,-0.68828) - New Momentum Direction: (0.41794,-0.3353,-0.84434) - New Polarization: (-0.90847,-0.15425,-0.38843) + Old Momentum Direction: (0.74224,-0.63961,0.19995) + Old Polarization: (-0.67014,-0.70843,0.22146) + New Momentum Direction: (0.42767,-0.86276,0.26971) + New Polarization: (-0.90394,-0.40819,0.1276) *** FresnelRefraction *** -No Absorbtion length specified 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.73575,-0.026329,0.67674) - Old Polarization: (-0.67725,-0.028603,0.7352) - New Momentum Direction: (0.3882,-0.035827,0.92088) - New Polarization: (-0.92157,-0.015092,0.38791) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 30, parentID 1) is processed with stopping code 2 ### pop requested out of 29 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73872,0.12096,0.66307) + Old Polarization: (-0.67401,0.13257,0.72673) + New Momentum Direction: (0.40687,0.16394,0.89865) + New Polarization: (-0.91349,0.073019,0.40027) + *** 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.74414,0.64757,-0.16403) - Old Polarization: (-0.66802,0.72136,-0.18272) - New Momentum Direction: (0.43842,0.87125,-0.22069) - New Polarization: (-0.89877,0.425,-0.10765) + Old Momentum Direction: (0.74243,0.49077,0.45601) + Old Polarization: (-0.66993,0.54388,0.50536) + New Momentum Direction: (0.42877,0.66182,0.61495) + New Polarization: (-0.90342,0.3141,0.29186) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 28, parentID 1) is processed with stopping code 2 ### pop requested out of 27 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.74258,0.072262,0.66584) + Old Polarization: (-0.66975,0.080119,0.73825) + New Momentum Direction: (0.42966,0.097426,0.89772) + New Polarization: (-0.90299,0.046357,0.42715) + *** FresnelRefraction *** Track (trackID 27, parentID 1) is processed with stopping code 2 ### pop requested out of 26 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74323,0.20786,-0.63593) - Old Polarization: (-0.66904,0.23091,-0.70645) - New Momentum Direction: (0.43332,0.28001,-0.85664) - New Polarization: (-0.90124,0.13463,-0.41187) + Old Momentum Direction: (0.73758,-0.65687,0.15648) + Old Polarization: (-0.67525,-0.71751,0.17093) + New Momentum Direction: (0.39986,-0.89163,0.21241) + New Polarization: (-0.91658,-0.38897,0.092662) *** FresnelRefraction *** -No Absorbtion length specified 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.74011,-0.66343,0.11001) - Old Polarization: (-0.67248,-0.73014,0.12107) - New Momentum Direction: (0.41526,-0.89745,0.14881) - New Polarization: (-0.9097,-0.40967,0.067931) + Old Momentum Direction: (0.73991,-0.57267,0.35294) + Old Polarization: (-0.6727,-0.62989,0.38821) + New Momentum Direction: (0.41409,-0.77489,0.47757) + New Polarization: (-0.91024,-0.35252,0.21726) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 25, parentID 1) is processed with stopping code 2 ### pop requested out of 24 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** 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.7371,-0.6564,0.16072) - Old Polarization: (-0.67579,-0.71595,0.1753) - New Momentum Direction: (0.3968,-0.89157,0.2183) - New Polarization: (-0.9179,-0.38542,0.094371) + Old Momentum Direction: (0.7362,0.28154,-0.61542) + Old Polarization: (-0.67676,0.30627,-0.66948) + New Momentum Direction: (0.39111,0.38287,-0.83692) + New Polarization: (-0.92034,0.16271,-0.35566) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 23, parentID 1) is processed with stopping code 2 ### pop requested out of 22 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73594,-0.35703,-0.57526) - Old Polarization: (-0.67705,-0.38809,-0.6253) - New Momentum Direction: (0.38942,-0.48571,-0.78259) - New Polarization: (-0.92106,-0.20535,-0.33087) + Old Momentum Direction: (0.73732,-0.64677,0.19506) + Old Polarization: (-0.67554,-0.70591,0.2129) + New Momentum Direction: (0.3982,-0.87823,0.26487) + New Polarization: (-0.9173,-0.38124,0.11498) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 22, parentID 1) is processed with stopping code 2 ### pop requested out of 21 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.7442,0.24369,-0.62191) + Old Polarization: (-0.66795,0.27151,-0.69291) + New Momentum Direction: (0.43877,0.32784,-0.83666) + New Polarization: (-0.8986,0.16008,-0.40853) + *** FresnelRefraction *** Track (trackID 21, parentID 1) is processed with stopping code 2 ### pop requested out of 20 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73622,-0.26433,-0.62298) -Old Polarization: (-0.67674,-0.28757,-0.67774) -New Polarization: (-0.8576,0.019133,-0.13248) -Polarization Change: (-0.98804,0.022043,-0.15263) -New Momentum Direction: (0.062,0.95028,-0.26411) -Momentum Change: (0.062737,0.96158,-0.26725) Photon at Boundary! - Old Momentum Direction: (0.062737,0.96158,-0.26725) - Old Polarization: (-0.98804,0.022043,-0.15263) - New Momentum Direction: (0.085316,0.92771,-0.36343) - New Polarization: (-0.94447,-0.040872,-0.32605) + Old Momentum Direction: (0.74096,0.64492,-0.1872) + Old Polarization: (-0.67154,0.71159,-0.20655) + New Momentum Direction: (0.4203,0.87142,-0.25295) + New Polarization: (-0.90739,0.40364,-0.11716) *** FresnelRefraction *** -No Absorbtion length specified 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.73577,0.58461,-0.34187) - Old Polarization: (-0.67723,0.63514,-0.37142) - New Momentum Direction: (0.3883,0.7955,-0.46519) - New Polarization: (-0.92153,0.3352,-0.19602) + Old Momentum Direction: (0.73788,0.56715,0.36588) + Old Polarization: (-0.67493,0.62005,0.40001) + New Momentum Direction: (0.40172,0.76953,0.49644) + New Polarization: (-0.91576,0.33757,0.21777) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 19, parentID 1) is processed with stopping code 2 ### pop requested out of 18 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.7385,-0.5424,0.40052) + Old Polarization: (-0.67425,-0.59408,0.43869) + New Momentum Direction: (0.40553,-0.73533,0.54299) + New Polarization: (-0.91408,-0.32623,0.2409) + *** FresnelRefraction *** Track (trackID 18, parentID 1) is processed with stopping code 2 ### pop requested out of 17 stacked tracks. -** Photon Absorbed! ** +** Photon absorbed! ** Track (trackID 17, parentID 1) is processed with stopping code 2 ### pop requested out of 16 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.74181,0.33394,-0.58155) +Old Polarization: (-0.67061,0.36939,-0.6433) +New Polarization: (-0.41764,0.64933,-0.40811) +Polarization Change: (-0.47825,0.74356,-0.46734) +New Momentum Direction: (0.76057,0.60892,0.1905) +Momentum Change: (0.76613,0.61337,0.19189) Photon at Boundary! - Old Momentum Direction: (0.74264,0.64356,0.18526) - Old Polarization: (-0.66969,0.71365,0.20544) - New Momentum Direction: (0.42996,0.86761,0.24976) - New Polarization: (-0.90285,0.41318,0.11894) + Old Momentum Direction: (0.76613,0.61337,0.19189) + Old Polarization: (-0.47825,0.74356,-0.46734) + New Momentum Direction: (0.4976,0.82784,0.25899) + New Polarization: (-0.73577,0.56096,-0.37944) *** FresnelRefraction *** -No Absorbtion length specified 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.73867,0.36724,0.56524) - Old Polarization: (-0.67406,0.40244,0.61942) - New Momentum Direction: (0.40659,0.49775,0.76611) - New Polarization: (-0.91361,0.22152,0.34095) + Old Momentum Direction: (0.73769,-0.67508,-0.0086417) + Old Polarization: (-0.67514,-0.73763,-0.0094424) + New Momentum Direction: (0.40054,-0.91621,-0.011728) + New Polarization: (-0.91628,-0.4005,-0.0051268) *** FresnelRefraction *** -No Absorbtion length specified 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.73671,0.53255,-0.41672) - Old Polarization: (-0.67621,0.58019,-0.454) - New Momentum Direction: (0.39433,0.72373,-0.56632) - New Polarization: (-0.91897,0.31055,-0.24301) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.74202,0.58662,-0.32446) - Old Polarization: (-0.67037,0.64932,-0.35914) - New Momentum Direction: (0.42646,0.79151,-0.43778) - New Polarization: (-0.90451,0.37318,-0.2064) + Old Momentum Direction: (0.74326,0.66876,0.018151) + Old Polarization: (-0.66901,0.74298,0.020165) + New Momentum Direction: (0.43347,0.90084,0.024449) + New Polarization: (-0.90117,0.43331,0.01176) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 13, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.7368,-0.39824,-0.54637) -Old Polarization: (-0.67611,-0.434,-0.59542) -New Polarization: (-0.66783,-0.28113,-0.59792) -Polarization Change: (-0.71089,-0.29926,-0.63646) -New Momentum Direction: (0.057683,-0.91309,0.3649) -Momentum Change: (0.058562,-0.927,0.37046) -Scattering Photon! -Old Momentum Direction: (0.058562,-0.927,0.37046) -Old Polarization: (-0.71089,-0.29926,-0.63646) -New Polarization: (-0.83359,-0.099845,-0.23202) -Polarization Change: (-0.95703,-0.11463,-0.26638) -New Momentum Direction: (-0.093325,-0.67982,0.62783) -Momentum Change: (-0.10034,-0.73093,0.67503) Photon at Boundary! - Old Momentum Direction: (-0.10034,-0.73093,0.67503) - Old Polarization: (-0.95703,-0.11463,-0.26638) - New Momentum Direction: (-0.13635,-0.37426,0.91725) - New Polarization: (-0.97198,0.2295,-0.050838) + Old Momentum Direction: (0.74113,-0.48758,-0.46151) + Old Polarization: (-0.67136,-0.53825,-0.50947) + New Momentum Direction: (0.42127,-0.65866,-0.62345) + New Polarization: (-0.90694,-0.30595,-0.28959) *** FresnelRefraction *** -No Absorbtion length specified 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.74356,0.39258,-0.54129) - Old Polarization: (-0.66866,0.43656,-0.60192) - New Momentum Direction: (0.4352,0.5286,-0.72882) - New Polarization: (-0.90033,0.25551,-0.35229) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** Track (trackID 11, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. - -** Photon Absorbed! ** + Photon at Boundary! + Old Momentum Direction: (0.73631,-0.67149,-0.083398) + Old Polarization: (-0.67665,-0.73069,-0.090751) + New Momentum Direction: (0.39177,-0.91305,-0.1134) + New Polarization: (-0.92006,-0.38878,-0.048286) + *** 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.74071,0.21485,0.63655) - Old Polarization: (-0.67183,0.23688,0.70181) - New Momentum Direction: (0.41879,0.29041,0.86039) - New Polarization: (-0.90808,0.13393,0.3968) + Old Momentum Direction: (0.73791,-0.67446,-0.024238) + Old Polarization: (-0.6749,-0.73744,-0.026501) + New Momentum Direction: (0.4019,-0.91509,-0.032886) + New Polarization: (-0.91568,-0.40164,-0.014434) *** FresnelRefraction *** -No Absorbtion length specified 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.74391,0.35273,-0.5676) - Old Polarization: (-0.66827,0.39265,-0.63185) - New Momentum Direction: (0.43716,0.47471,-0.7639) - New Polarization: (-0.89939,0.23074,-0.3713) + Old Momentum Direction: (0.74124,-0.43407,-0.512) + Old Polarization: (-0.67124,-0.47934,-0.5654) + New Momentum Direction: (0.42193,-0.58629,-0.69155) + New Polarization: (-0.90663,-0.27285,-0.32184) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 8, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74047,-0.4323,-0.51461) - Old Polarization: (-0.67209,-0.47628,-0.56697) - New Momentum Direction: (0.4174,-0.58451,-0.69579) - New Polarization: (-0.90872,-0.26848,-0.31959) - *** FresnelRefraction *** -No Absorbtion length specified + +** Photon absorbed! ** 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.73882,0.57724,-0.34776) - Old Polarization: (-0.6739,0.63285,-0.38126) - New Momentum Direction: (0.40748,0.78222,-0.47126) - New Polarization: (-0.91321,0.34903,-0.21028) + Old Momentum Direction: (0.73721,-0.11141,-0.66641) + Old Polarization: (-0.67566,-0.12156,-0.72712) + New Momentum Direction: (0.39753,-0.1513,-0.90503) + New Polarization: (-0.91759,-0.065549,-0.39209) *** FresnelRefraction *** -No Absorbtion length specified 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.73914,-0.44319,-0.5072) - Old Polarization: (-0.67355,-0.48635,-0.55659) - New Momentum Direction: (0.40941,-0.60032,-0.68702) - New Polarization: (-0.91235,-0.26939,-0.3083) + Old Momentum Direction: (0.73599,-0.52676,-0.42526) + Old Polarization: (-0.677,-0.57266,-0.46232) + New Momentum Direction: (0.38972,-0.71656,-0.57849) + New Polarization: (-0.92093,-0.30323,-0.2448) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 5, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73589,0.67672,0.022676) - Old Polarization: (-0.6771,0.73548,0.024645) - New Momentum Direction: (0.3891,0.92068,0.03085) - New Polarization: (-0.92119,0.38889,0.013031) + Old Momentum Direction: (0.73721,-0.35641,-0.57401) + Old Polarization: (-0.67566,-0.38888,-0.62631) + New Momentum Direction: (0.39754,-0.48402,-0.77954) + New Polarization: (-0.91759,-0.2097,-0.33773) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 4, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.7364,-0.5028,0.45266) +Old Polarization: (-0.67655,-0.54728,0.49271) +New Polarization: (-0.85168,-0.12819,0.092977) +Polarization Change: (-0.98315,-0.14798,0.10733) +New Momentum Direction: (0.17495,-0.83213,0.45523) +Momentum Change: (0.18138,-0.86275,0.47198) Photon at Boundary! - Old Momentum Direction: (0.73652,0.31258,0.59987) - Old Polarization: (-0.67642,0.34035,0.65316) - New Momentum Direction: (0.3931,0.4249,0.81543) - New Polarization: (-0.91949,0.18165,0.34861) + Old Momentum Direction: (0.18138,-0.86275,0.47198) + Old Polarization: (-0.98315,-0.14798,0.10733) + New Momentum Direction: (0.2466,-0.72624,0.64168) + New Polarization: (-0.75607,0.27004,0.59619) *** FresnelRefraction *** -No Absorbtion length specified 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.73638,0.10039,-0.66908) - Old Polarization: (-0.67656,0.10926,-0.72823) - New Momentum Direction: (0.39226,0.13648,-0.90967) - New Polarization: (-0.91985,0.058202,-0.38792) + Old Momentum Direction: (0.73775,-0.67472,-0.021988) + Old Polarization: (-0.67508,-0.73736,-0.024029) + New Momentum Direction: (0.40087,-0.91565,-0.029839) + New Polarization: (-0.91613,-0.40066,-0.013057) *** FresnelRefraction *** -No Absorbtion length specified Track (trackID 2, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 293 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 307 Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 308 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73827,0.6636,0.12076) + Old Polarization: (-0.66351,0.7467,-0.046892) + New Momentum Direction: (0.41034,0.8972,0.16326) + New Polarization: (-0.90499,0.42269,-0.048283) + *** FresnelRefraction *** +Track (trackID 610, parentID 1) is processed with stopping code 2 +### pop requested out of 307 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77742,0.58788,-0.22362) + Old Polarization: (-0.62061,0.65917,-0.42466) + New Momentum Direction: (0.52233,0.79703,-0.30318) + New Polarization: (-0.8472,0.44458,-0.29084) + *** FresnelRefraction *** +Track (trackID 609, parentID 1) is processed with stopping code 2 +### pop requested out of 306 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70981,-0.65953,0.24737) + Old Polarization: (-0.69492,-0.71307,0.092838) + New Momentum Direction: (0.30548,-0.89155,0.3344) + New Polarization: (-0.94661,-0.32233,0.0053677) + *** FresnelRefraction *** +Track (trackID 608, parentID 1) is processed with stopping code 2 +### pop requested out of 305 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76137,0.64381,-0.076294) + Old Polarization: (-0.63809,0.72334,-0.26386) + New Momentum Direction: (0.47981,0.87127,-0.10325) + New Polarization: (-0.87069,0.45837,-0.1783) + *** FresnelRefraction *** +Track (trackID 607, parentID 1) is processed with stopping code 2 +### pop requested out of 304 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70071,-0.64484,0.30527) + Old Polarization: (-0.70472,-0.69231,0.15519) + New Momentum Direction: (0.25374,-0.87425,0.41388) + New Polarization: (-0.96237,-0.27121,0.017127) + *** FresnelRefraction *** +Track (trackID 606, parentID 1) is processed with stopping code 2 +### pop requested out of 303 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75319,-0.64863,-0.10947) + Old Polarization: (-0.64705,-0.7006,-0.30079) + New Momentum Direction: (0.45703,-0.87705,-0.14802) + New Polarization: (-0.8825,-0.42637,-0.19851) + *** FresnelRefraction *** +Track (trackID 605, parentID 1) is processed with stopping code 2 +### pop requested out of 302 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75051,0.65887,0.051279) + Old Polarization: (-0.64985,0.74988,-0.12402) + New Momentum Direction: (0.458,0.88627,0.068977) + New Polarization: (-0.88176,0.46278,-0.091341) + *** FresnelRefraction *** +Track (trackID 604, parentID 1) is processed with stopping code 2 +### pop requested out of 301 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68476,-0.58921,0.42888) + Old Polarization: (-0.72198,-0.62862,0.28912) + New Momentum Direction: (-0.68476,-0.58921,0.42888) + New Polarization: (-0.71723,0.64917,-0.2533) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68476,-0.58921,0.42888) + Old Polarization: (-0.71723,0.64917,-0.2533) + New Momentum Direction: (-0.68476,0.58921,0.42888) + New Polarization: (0.71723,0.64917,0.2533) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 603, parentID 1) is processed with stopping code 2 +### pop requested out of 300 stacked tracks. + +** Photon absorbed! ** +Track (trackID 602, parentID 1) is processed with stopping code 2 +### pop requested out of 299 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75878,-0.62887,-0.16963) + Old Polarization: (-0.64105,-0.67489,-0.36549) + New Momentum Direction: (0.46932,-0.85256,-0.22996) + New Polarization: (-0.87636,-0.41775,-0.23976) + *** FresnelRefraction *** +Track (trackID 601, parentID 1) is processed with stopping code 2 +### pop requested out of 298 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67684,0.37558,0.63311) + Old Polarization: (-0.73205,0.43389,0.52522) + New Momentum Direction: (0.14019,0.50517,0.85156) + New Polarization: (-0.98805,0.12698,0.087334) + *** FresnelRefraction *** +Track (trackID 600, parentID 1) is processed with stopping code 2 +### pop requested out of 297 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.82067,0.085425,-0.56497) + Old Polarization: (-0.57135,0.11034,-0.81325) + New Momentum Direction: (0.64067,0.11479,-0.75918) + New Polarization: (-0.76778,0.086917,-0.63479) + *** FresnelRefraction *** +Track (trackID 599, parentID 1) is processed with stopping code 2 +### pop requested out of 296 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67554,0.43667,0.59411) + Old Polarization: (-0.73218,0.49233,0.47066) + New Momentum Direction: (-0.67554,0.43667,0.59411) + New Polarization: (-0.73218,-0.49233,-0.47066) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67554,0.43667,0.59411) + Old Polarization: (-0.73218,-0.49233,-0.47066) + New Momentum Direction: (-0.67554,0.43667,-0.59411) + New Polarization: (0.73218,0.49233,-0.47066) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67554,0.43667,-0.59411) + Old Polarization: (0.73218,0.49233,-0.47066) + New Momentum Direction: (-0.67554,-0.43667,-0.59411) + New Polarization: (-0.73218,0.49233,0.47066) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 598, parentID 1) is processed with stopping code 2 +### pop requested out of 295 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.81602,-0.02518,-0.57747) + Old Polarization: (-0.57787,-0.013049,-0.81602) + New Momentum Direction: (0.62328,-0.034065,-0.78126) + New Polarization: (-0.7819,-0.011177,-0.6233) + *** FresnelRefraction *** +Track (trackID 597, parentID 1) is processed with stopping code 2 ### pop requested out of 294 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67401,0.60221,-0.42784) - Old Polarization: (-0.735,0.48864,-0.47012) - New Momentum Direction: (-0.67401,0.60221,-0.42784) - New Polarization: (-0.735,-0.48864,0.47012) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67401,0.60221,-0.42784) - Old Polarization: (-0.735,-0.48864,0.47012) - New Momentum Direction: (-0.67401,-0.60221,-0.42784) - New Polarization: (0.735,-0.48864,-0.47012) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67401,-0.60221,-0.42784) - Old Polarization: (0.735,-0.48864,-0.47012) - New Momentum Direction: (-0.67401,-0.60221,0.42784) - New Polarization: (-0.735,0.48864,-0.47012) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67401,-0.60221,0.42784) - Old Polarization: (-0.735,0.48864,-0.47012) - New Momentum Direction: (0.67401,-0.60221,0.42784) - New Polarization: (-0.735,-0.48864,0.47012) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67401,-0.60221,0.42784) - Old Polarization: (-0.735,-0.48864,0.47012) - New Momentum Direction: (0.67401,0.60221,0.42784) - New Polarization: (0.735,-0.48864,-0.47012) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.67401,0.60221,0.42784) -Old Polarization: (0.735,-0.48864,-0.47012) -New Polarization: (0.80051,0.16423,-0.29768) -Polarization Change: (0.92043,0.18883,-0.34228) -New Momentum Direction: (-0.21387,-0.364,-0.77596) -Momentum Change: (-0.24211,-0.41206,-0.8784) - -** Photon Absorbed! ** -Track (trackID 574, parentID 1) is processed with stopping code 2 -### pop requested out of 293 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7212,0.2494,-0.64627) - Old Polarization: (-0.68364,0.1056,-0.72214) - New Momentum Direction: (0.36187,0.33563,-0.86972) - New Polarization: (-0.92661,0.027267,-0.37502) + Old Momentum Direction: (0.81307,0.10307,-0.57297) + Old Polarization: (-0.58207,0.1269,-0.80317) + New Momentum Direction: (0.61116,0.14013,-0.779) + New Polarization: (-0.79144,0.096201,-0.60362) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 573, parentID 1) is processed with stopping code 2 +Track (trackID 596, parentID 1) is processed with stopping code 2 +### pop requested out of 293 stacked tracks. + +** Photon absorbed! ** +Track (trackID 595, parentID 1) is processed with stopping code 2 ### pop requested out of 292 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79423,-0.3921,0.46417) - Old Polarization: (-0.60223,-0.60942,0.51567) - New Momentum Direction: (0.57556,-0.52771,0.62471) - New Polarization: (-0.8141,-0.44197,0.3767) + Old Momentum Direction: (0.69037,0.52531,0.49743) + Old Polarization: (-0.71625,0.59307,0.36777) + New Momentum Direction: (0.2042,0.71082,0.67309) + New Polarization: (-0.97506,0.20878,0.075326) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 572, parentID 1) is processed with stopping code 2 +Track (trackID 594, parentID 1) is processed with stopping code 2 ### pop requested out of 291 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7375,0.062641,-0.67244) - Old Polarization: (-0.66548,-0.10219,-0.73938) - New Momentum Direction: (0.4025,0.084909,-0.91147) - New Polarization: (-0.90925,-0.078325,-0.40881) + Old Momentum Direction: (0.73578,-0.67648,0.031624) + Old Polarization: (-0.66626,-0.73145,-0.14521) + New Momentum Direction: (0.40198,-0.91465,0.042758) + New Polarization: (-0.90876,-0.40424,-0.10369) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 571, parentID 1) is processed with stopping code 2 +Track (trackID 593, parentID 1) is processed with stopping code 2 ### pop requested out of 290 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66948,0.69213,-0.26971) - Old Polarization: (-0.7413,0.59921,-0.30237) - New Momentum Direction: (0.66948,-0.69213,-0.26971) - New Polarization: (-0.1607,-0.48944,0.8571) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66948,-0.69213,-0.26971) - Old Polarization: (-0.1607,-0.48944,0.8571) - New Momentum Direction: (-0.66948,-0.69213,-0.26971) - New Polarization: (-0.15326,0.48397,-0.86156) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66948,-0.69213,-0.26971) - Old Polarization: (-0.15326,0.48397,-0.86156) - New Momentum Direction: (-0.66948,-0.69213,0.26971) - New Polarization: (0.15326,-0.48397,-0.86156) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66948,-0.69213,0.26971) - Old Polarization: (0.15326,-0.48397,-0.86156) - New Momentum Direction: (-0.90092,-0.23793,0.36295) - New Polarization: (-0.39649,0.79131,-0.46544) + Old Momentum Direction: (0.80664,0.31318,-0.50125) + Old Polarization: (-0.58903,0.35605,-0.72545) + New Momentum Direction: (0.59552,0.42567,-0.68129) + New Polarization: (-0.80199,0.2658,-0.53495) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 570, parentID 1) is processed with stopping code 2 +Track (trackID 592, parentID 1) is processed with stopping code 2 ### pop requested out of 289 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75409,-0.096936,-0.64958) - Old Polarization: (-0.6474,-0.27615,-0.71036) - New Momentum Direction: (0.45109,-0.13173,-0.88271) - New Polarization: (-0.8865,-0.18046,-0.4261) + Old Momentum Direction: (0.73665,-0.67413,0.05382) + Old Polarization: (-0.6653,-0.73668,-0.12115) + New Momentum Direction: (0.41455,-0.90714,0.072423) + New Polarization: (-0.90302,-0.41991,-0.090687) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 569, parentID 1) is processed with stopping code 2 +Track (trackID 591, parentID 1) is processed with stopping code 2 ### pop requested out of 288 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71858,0.22469,0.65815) - Old Polarization: (-0.68631,0.076211,0.72331) - New Momentum Direction: (0.33863,0.304,0.89046) - New Polarization: (-0.93542,0.0065675,0.35348) + Old Momentum Direction: (0.66023,-0.30434,0.68664) + Old Polarization: (-0.74973,-0.32153,0.57838) + New Momentum Direction: (0.89199,-0.41117,0.18787) + New Polarization: (-0.02557,-0.46082,-0.88712) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 568, parentID 1) is processed with stopping code 2 +Track (trackID 590, parentID 1) is processed with stopping code 2 ### pop requested out of 287 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80619,-0.55962,-0.19204) - Old Polarization: (-0.5908,-0.77886,-0.21055) - New Momentum Direction: (0.59316,-0.7615,-0.26131) - New Polarization: (-0.80452,-0.57287,-0.15677) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 567, parentID 1) is processed with stopping code 2 -### pop requested out of 286 stacked tracks. + Old Momentum Direction: (0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (-0.66217,-0.37857,0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (-0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (-0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (0.66217,0.37857,0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (-0.66217,0.37857,0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (-0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (-0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (-0.66217,-0.37857,0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (-0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (-0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (-0.66217,0.37857,0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (0.66217,0.37857,0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (-0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (-0.66217,-0.37857,0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (0.66217,-0.37857,0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,-0.37857,-0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,0.40089,-0.53026) + New Momentum Direction: (-0.66217,0.37857,-0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,-0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (-0.66217,0.37857,0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66217,0.37857,0.6467) + Old Polarization: (0.74707,0.40089,0.53026) + New Momentum Direction: (0.66217,0.37857,0.6467) + New Polarization: (0.74707,-0.40089,-0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,0.37857,0.6467) + Old Polarization: (0.74707,-0.40089,-0.53026) + New Momentum Direction: (0.66217,-0.37857,0.6467) + New Polarization: (-0.74707,-0.40089,0.53026) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66217,-0.37857,0.6467) + Old Polarization: (-0.74707,-0.40089,0.53026) + New Momentum Direction: (0.66217,-0.37857,-0.6467) + New Polarization: (0.74707,0.40089,0.53026) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 566, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 589, parentID 1) is processed with stopping code 2 +### pop requested out of 286 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.8025,-0.32392,-0.50106) + Old Polarization: (-0.59304,-0.34083,-0.72948) + New Momentum Direction: (0.58844,-0.43896,-0.67901) + New Polarization: (-0.80611,-0.25334,-0.5348) + *** FresnelRefraction *** +Track (trackID 588, parentID 1) is processed with stopping code 2 ### pop requested out of 285 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73614,0.063429,-0.67385) - Old Polarization: (-0.66698,-0.10123,-0.73817) - New Momentum Direction: (0.39429,0.086123,-0.91494) - New Polarization: (-0.91288,-0.077899,-0.40074) + Old Momentum Direction: (0.7641,0.63666,-0.104) + Old Polarization: (-0.63515,0.71425,-0.29399) + New Momentum Direction: (0.48647,0.86227,-0.14085) + New Polarization: (-0.86719,0.45689,-0.19808) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 565, parentID 1) is processed with stopping code 2 +Track (trackID 587, parentID 1) is processed with stopping code 2 ### pop requested out of 284 stacked tracks. -** Photon Absorbed! ** -Track (trackID 564, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 586, parentID 1) is processed with stopping code 2 ### pop requested out of 283 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6791,0.58919,-0.43781) - Old Polarization: (-0.73008,0.48026,-0.48614) - New Momentum Direction: (0.133,0.79553,-0.59114) - New Polarization: (-0.98914,0.068924,-0.12979) + Old Momentum Direction: (0.81221,-0.058768,-0.58039) + Old Polarization: (-0.58305,-0.049407,-0.81093) + New Momentum Direction: (0.60884,-0.079917,-0.78926) + New Polarization: (-0.79309,-0.038524,-0.60789) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 563, parentID 1) is processed with stopping code 2 +Track (trackID 585, parentID 1) is processed with stopping code 2 ### pop requested out of 282 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.69597,0.39134,0.60206) -Old Polarization: (-0.7108,0.25645,0.65498) -New Polarization: (0.22813,0.4712,0.75107) -Polarization Change: (0.24918,0.51468,0.82037) -New Momentum Direction: (0.82535,0.24397,-0.40375) -Momentum Change: (0.86819,0.25663,-0.42471) Photon at Boundary! - Old Momentum Direction: (0.86819,0.25663,-0.42471) - Old Polarization: (0.24918,0.51468,0.82037) - New Momentum Direction: (0.73835,0.34879,-0.57722) - New Polarization: (-0.42413,0.90559,0.004691) + Old Momentum Direction: (0.81476,-0.017434,-0.57954) + Old Polarization: (-0.57969,-0.0044648,-0.81483) + New Momentum Direction: (0.61811,-0.023637,-0.78574) + New Polarization: (-0.78601,-0.0044096,-0.61819) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 562, parentID 1) is processed with stopping code 2 +Track (trackID 584, parentID 1) is processed with stopping code 2 ### pop requested out of 281 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70173,0.35187,0.61949) - Old Polarization: (-0.70464,0.21444,0.67638) - New Momentum Direction: (-0.70173,0.35187,0.61949) - New Polarization: (-0.69044,-0.12144,-0.71312) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70173,0.35187,0.61949) - Old Polarization: (-0.69044,-0.12144,-0.71312) - New Momentum Direction: (-0.70173,0.35187,-0.61949) - New Polarization: (0.69044,0.12144,-0.71312) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70173,0.35187,-0.61949) - Old Polarization: (0.69044,0.12144,-0.71312) - New Momentum Direction: (-0.70173,-0.35187,-0.61949) - New Polarization: (-0.69044,0.12144,0.71312) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70173,-0.35187,-0.61949) - Old Polarization: (-0.69044,0.12144,0.71312) - New Momentum Direction: (-0.25585,-0.47745,-0.84058) - New Polarization: (0.95415,-0.26447,-0.1402) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 561, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 583, parentID 1) is processed with stopping code 2 ### pop requested out of 280 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75134,-0.057852,-0.65737) - Old Polarization: (-0.6503,-0.23433,-0.72263) - New Momentum Direction: (0.44684,-0.078427,-0.89117) - New Polarization: (-0.88846,-0.15554,-0.43179) + Old Momentum Direction: (0.78125,-0.50601,-0.36551) + Old Polarization: (-0.61682,-0.53597,-0.57643) + New Momentum Direction: (0.52802,-0.68842,-0.49726) + New Polarization: (-0.84436,-0.36294,-0.39412) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 560, parentID 1) is processed with stopping code 2 +Track (trackID 582, parentID 1) is processed with stopping code 2 ### pop requested out of 279 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81094,-0.54942,-0.20127) - Old Polarization: (-0.58416,-0.77998,-0.22449) - New Momentum Direction: (0.61324,-0.7417,-0.27171) - New Polarization: (-0.78924,-0.58941,-0.17235) + Old Momentum Direction: (0.78902,0.54789,-0.27796) + Old Polarization: (-0.60696,0.62513,-0.49073) + New Momentum Direction: (0.56226,0.73748,-0.37415) + New Polarization: (-0.82193,0.44855,-0.35103) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 559, parentID 1) is processed with stopping code 2 +Track (trackID 581, parentID 1) is processed with stopping code 2 ### pop requested out of 278 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71115,0.30119,-0.63526) - Old Polarization: (-0.69449,0.16046,-0.70138) - New Momentum Direction: (0.30844,0.40751,-0.85953) - New Polarization: (-0.94621,0.038579,-0.32126) + Old Momentum Direction: (0.65123,-0.04746,0.75739) + Old Polarization: (-0.75887,-0.037342,0.65017) + New Momentum Direction: (0.8833,-0.064372,0.46437) + New Polarization: (0.45759,-0.097016,-0.88385) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 558, parentID 1) is processed with stopping code 2 +Track (trackID 580, parentID 1) is processed with stopping code 2 ### pop requested out of 277 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 557, parentID 1) is processed with stopping code 2 -### pop requested out of 276 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.72936,0.14923,-0.66766) - Old Polarization: (-0.67445,-0.0067912,-0.73829) - New Momentum Direction: (0.38008,0.20177,-0.90268) - New Polarization: (-0.91895,-0.028626,-0.39333) + Old Momentum Direction: (0.74558,-0.66271,-0.070134) + Old Polarization: (-0.65555,-0.71043,-0.25602) + New Momentum Direction: (0.4268,-0.89932,-0.095174) + New Polarization: (-0.89746,-0.40825,-0.16701) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 556, parentID 1) is processed with stopping code 2 +Track (trackID 579, parentID 1) is processed with stopping code 2 +### pop requested out of 276 stacked tracks. + +** Photon absorbed! ** +Track (trackID 578, parentID 1) is processed with stopping code 2 ### pop requested out of 275 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80289,-0.48745,-0.34316) - Old Polarization: (-0.59329,-0.70944,-0.3804) - New Momentum Direction: (0.59213,-0.65894,-0.46388) - New Polarization: (-0.80392,-0.52274,-0.28364) + Old Momentum Direction: (0.80873,0.31817,-0.4947) + Old Polarization: (-0.58606,0.36448,-0.72366) + New Momentum Direction: (0.60476,0.43081,-0.66983) + New Polarization: (-0.79497,0.27595,-0.54026) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 555, parentID 1) is processed with stopping code 2 +Track (trackID 577, parentID 1) is processed with stopping code 2 ### pop requested out of 274 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 554, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.79317,-0.46854,-0.38904) + Old Polarization: (-0.60221,-0.50828,-0.61562) + New Momentum Direction: (0.57387,-0.63006,-0.52316) + New Polarization: (-0.81431,-0.37115,-0.44626) + *** FresnelRefraction *** +Track (trackID 576, parentID 1) is processed with stopping code 2 ### pop requested out of 273 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 553, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.65268,0.019159,0.75739) + Old Polarization: (-0.75749,0.035693,0.65187) + New Momentum Direction: (0.88433,0.025959,0.46614) + New Polarization: (0.4644,0.053461,-0.88401) + *** FresnelRefraction *** +Track (trackID 575, parentID 1) is processed with stopping code 2 ### pop requested out of 272 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 552, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.81449,-0.053937,-0.57766) + Old Polarization: (-0.57989,-0.044531,-0.81348) + New Momentum Direction: (0.61791,-0.073095,-0.78284) + New Polarization: (-0.78606,-0.03537,-0.61714) + *** FresnelRefraction *** +Track (trackID 574, parentID 1) is processed with stopping code 2 ### pop requested out of 271 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69981,0.39509,-0.59512) - Old Polarization: (-0.70693,0.26348,-0.65637) - New Momentum Direction: (-0.69981,0.39509,-0.59512) - New Polarization: (-0.69367,-0.17695,0.69822) - *** FresnelReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 551, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.74013,0.66892,0.069005) + Old Polarization: (-0.66156,0.74269,-0.10368) + New Momentum Direction: (0.40414,0.90987,0.093862) + New Polarization: (-0.90791,0.4115,-0.079811) + *** FresnelRefraction *** +Track (trackID 573, parentID 1) is processed with stopping code 2 ### pop requested out of 270 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 550, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.72361,-0.67762,0.1312) + Old Polarization: (-0.67968,-0.73266,-0.035379) + New Momentum Direction: (0.35928,-0.91622,0.1774) + New Polarization: (-0.92678,-0.3726,-0.047374) + *** FresnelRefraction *** +Track (trackID 572, parentID 1) is processed with stopping code 2 ### pop requested out of 269 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78574,-0.33203,-0.52188) - Old Polarization: (-0.61211,-0.53882,-0.57878) - New Momentum Direction: (0.54961,-0.44844,-0.70486) - New Polarization: (-0.8311,-0.37924,-0.40676) + Old Momentum Direction: (0.80349,-0.31584,-0.50463) + Old Polarization: (-0.59186,-0.33243,-0.7343) + New Momentum Direction: (0.59159,-0.42774,-0.68342) + New Polarization: (-0.80389,-0.24831,-0.54046) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 549, parentID 1) is processed with stopping code 2 +Track (trackID 571, parentID 1) is processed with stopping code 2 ### pop requested out of 268 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78023,-0.30674,-0.54512) - Old Polarization: (-0.6186,-0.50751,-0.59981) - New Momentum Direction: (0.53036,-0.41575,-0.73883) - New Polarization: (-0.8432,-0.34913,-0.40882) + Old Momentum Direction: (0.80367,0.37846,-0.45921) + Old Polarization: (-0.59192,0.4291,-0.68228) + New Momentum Direction: (0.59031,0.51335,-0.6229) + New Polarization: (-0.80505,0.31846,-0.50048) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 548, parentID 1) is processed with stopping code 2 +Track (trackID 570, parentID 1) is processed with stopping code 2 ### pop requested out of 267 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71072,0.30071,-0.63596) - Old Polarization: (-0.69492,0.15959,-0.70115) - New Momentum Direction: (0.30475,0.40713,-0.86103) - New Polarization: (-0.94742,0.036923,-0.31787) + Old Momentum Direction: (0.69112,0.52484,0.49689) + Old Polarization: (-0.71553,0.59374,0.36809) + New Momentum Direction: (0.2129,0.70953,0.67174) + New Polarization: (-0.97316,0.21549,0.08081) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 547, parentID 1) is processed with stopping code 2 +Track (trackID 569, parentID 1) is processed with stopping code 2 ### pop requested out of 266 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65441,0.75584,-0.021262) - Old Polarization: (-0.75612,0.65396,-0.02485) - New Momentum Direction: (0.88943,0.45616,-0.028898) - New Polarization: (0.45456,-0.88939,-0.048513) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 546, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 568, parentID 1) is processed with stopping code 2 ### pop requested out of 265 stacked tracks. -** Photon Absorbed! ** -Track (trackID 545, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 567, parentID 1) is processed with stopping code 2 ### pop requested out of 264 stacked tracks. -** Photon Absorbed! ** -Track (trackID 544, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 566, parentID 1) is processed with stopping code 2 ### pop requested out of 263 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66247,0.71707,-0.21666) - Old Polarization: (-0.74811,0.61854,-0.24031) - New Momentum Direction: (0.89634,0.33262,-0.29314) - New Polarization: (0.19787,-0.8918,-0.40687) + Old Momentum Direction: (0.8142,0.21026,-0.54118) + Old Polarization: (-0.57982,0.24646,-0.77658) + New Momentum Direction: (0.61924,0.28436,-0.7319) + New Polarization: (-0.78467,0.19,-0.59007) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 543, parentID 1) is processed with stopping code 2 +Track (trackID 565, parentID 1) is processed with stopping code 2 ### pop requested out of 262 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81129,-0.56473,0.15129) - Old Polarization: (-0.58403,-0.79473,0.16529) - New Momentum Direction: (0.61267,-0.76342,0.20451) - New Polarization: (-0.78991,-0.59994,0.12692) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 542, parentID 1) is processed with stopping code 2 -### pop requested out of 261 stacked tracks. -** Photon Absorbed! ** -Track (trackID 541, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 564, parentID 1) is processed with stopping code 2 +### pop requested out of 261 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75793,0.64857,-0.069981) + Old Polarization: (-0.64209,0.72279,-0.25551) + New Momentum Direction: (0.46361,0.88093,-0.095053) + New Polarization: (-0.87944,0.44444,-0.17044) + *** FresnelRefraction *** +Track (trackID 563, parentID 1) is processed with stopping code 2 ### pop requested out of 260 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80855,-0.51739,0.28028) - Old Polarization: (-0.58638,-0.74824,0.31033) - New Momentum Direction: (0.61002,-0.69672,0.37743) - New Polarization: (-0.79098,-0.56382,0.23762) + Old Momentum Direction: (0.7677,-0.60499,-0.21124) + Old Polarization: (-0.63088,-0.65577,-0.41468) + New Momentum Direction: (0.50258,-0.81621,-0.28499) + New Polarization: (-0.85795,-0.43029,-0.28065) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 540, parentID 1) is processed with stopping code 2 +Track (trackID 562, parentID 1) is processed with stopping code 2 ### pop requested out of 259 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68434,0.53519,-0.49522) - Old Polarization: (-0.7241,0.41891,-0.54791) - New Momentum Direction: (0.16709,0.72367,-0.66962) - New Polarization: (-0.98332,0.072865,-0.16662) + Old Momentum Direction: (0.79279,0.52724,-0.30577) + Old Polarization: (-0.60265,0.60317,-0.52249) + New Momentum Direction: (0.57271,0.70913,-0.41126) + New Polarization: (-0.8151,0.43917,-0.37782) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 539, parentID 1) is processed with stopping code 2 +Track (trackID 561, parentID 1) is processed with stopping code 2 ### pop requested out of 258 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8057,-0.51834,0.28664) - Old Polarization: (-0.59021,-0.74342,0.31462) - New Momentum Direction: (0.59897,-0.70076,0.38751) - New Polarization: (-0.79933,-0.5522,0.23694) + Old Momentum Direction: (0.65807,0.034133,0.75219) + Old Polarization: (-0.75276,0.052759,0.65618) + New Momentum Direction: (0.88615,0.045964,0.46111) + New Polarization: (0.45627,0.087315,-0.88555) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 538, parentID 1) is processed with stopping code 2 +Track (trackID 560, parentID 1) is processed with stopping code 2 ### pop requested out of 257 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7959,-0.40925,0.44617) - Old Polarization: (-0.60044,-0.62797,0.49509) - New Momentum Direction: (0.57918,-0.55105,0.60075) - New Polarization: (-0.8118,-0.45707,0.36339) + Old Momentum Direction: (0.673,-0.44777,0.5887) + Old Polarization: (-0.7361,-0.4833,0.4739) + New Momentum Direction: (0.086471,-0.60313,0.79294) + New Polarization: (-0.99458,-0.098343,0.033659) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 537, parentID 1) is processed with stopping code 2 +Track (trackID 559, parentID 1) is processed with stopping code 2 ### pop requested out of 256 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74725,-0.0041525,-0.66453) - Old Polarization: (-0.6547,-0.17606,-0.7351) - New Momentum Direction: (0.43934,-0.0056133,-0.8983) - New Polarization: (-0.89201,-0.12101,-0.43551) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 536, parentID 1) is processed with stopping code 2 -### pop requested out of 255 stacked tracks. -** Photon Absorbed! ** -Track (trackID 535, parentID 1) is processed with stopping code 2 -### pop requested out of 254 stacked tracks. +** Photon absorbed! ** +Track (trackID 558, parentID 1) is processed with stopping code 2 +### pop requested out of 255 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80836,-0.57903,0.10621) - Old Polarization: (-0.58838,-0.80051,0.11396) - New Momentum Direction: (0.59896,-0.78764,0.14447) - New Polarization: (-0.80057,-0.59308,0.085683) + Old Momentum Direction: (0.77034,0.61215,-0.17845) + Old Polarization: (-0.6286,0.68214,-0.37357) + New Momentum Direction: (0.49902,0.83196,-0.24253) + New Polarization: (-0.86069,0.44321,-0.25055) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 534, parentID 1) is processed with stopping code 2 +Track (trackID 557, parentID 1) is processed with stopping code 2 +### pop requested out of 254 stacked tracks. + +** Photon absorbed! ** +Track (trackID 556, parentID 1) is processed with stopping code 2 ### pop requested out of 253 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73245,0.076448,0.67651) - Old Polarization: (-0.67101,-0.086988,0.73633) - New Momentum Direction: (0.37945,0.10389,0.91936) - New Polarization: (-0.91919,-0.07083,0.38739) + Old Momentum Direction: (0.81098,0.28031,-0.51356) + Old Polarization: (-0.58351,0.32316,-0.74504) + New Momentum Direction: (0.6107,0.37938,-0.69507) + New Polarization: (-0.7908,0.24656,-0.56022) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 533, parentID 1) is processed with stopping code 2 +Track (trackID 555, parentID 1) is processed with stopping code 2 ### pop requested out of 252 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76483,-0.12256,-0.63247) - Old Polarization: (-0.63496,-0.30942,-0.70787) - New Momentum Direction: (0.49941,-0.16482,-0.85054) - New Polarization: (-0.8602,-0.21125,-0.46415) + Old Momentum Direction: (0.73077,0.66039,0.17281) + Old Polarization: (-0.67177,0.74069,0.010225) + New Momentum Direction: (0.38164,0.8942,0.234) + New Polarization: (-0.91759,0.397,-0.020563) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 532, parentID 1) is processed with stopping code 2 +Track (trackID 554, parentID 1) is processed with stopping code 2 ### pop requested out of 251 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79885,-0.43197,-0.41861) - Old Polarization: (-0.59728,-0.65215,-0.46686) - New Momentum Direction: (0.58553,-0.58215,-0.56414) - New Polarization: (-0.80776,-0.47769,-0.34545) + Old Momentum Direction: (0.72389,-0.67974,0.11807) + Old Polarization: (-0.67933,-0.73213,-0.049986) + New Momentum Direction: (0.35606,-0.92068,0.15992) + New Polarization: (-0.92801,-0.36846,-0.055047) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 531, parentID 1) is processed with stopping code 2 +Track (trackID 553, parentID 1) is processed with stopping code 2 ### pop requested out of 250 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73649,0.099562,0.66908) - Old Polarization: (-0.66659,-0.061459,0.74289) - New Momentum Direction: (0.41231,0.13409,0.90112) - New Polarization: (-0.90478,-0.055573,0.42225) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 530, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 552, parentID 1) is processed with stopping code 2 ### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68848,0.47802,0.54543) - Old Polarization: (-0.71933,0.35416,0.5976) - New Momentum Direction: (0.18679,0.6475,0.73882) - New Polarization: (-0.97928,0.062864,0.19249) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 529, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 551, parentID 1) is processed with stopping code 2 ### pop requested out of 248 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72172,0.2095,0.65972) - Old Polarization: (-0.68291,0.060047,0.72803) - New Momentum Direction: (0.35524,0.28292,0.89093) - New Polarization: (-0.92911,0.0020919,0.3698) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 528, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 550, parentID 1) is processed with stopping code 2 ### pop requested out of 247 stacked tracks. -** Photon Absorbed! ** -Track (trackID 527, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 549, parentID 1) is processed with stopping code 2 ### pop requested out of 246 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 526, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74993,-0.65482,-0.093891) + Old Polarization: (-0.65071,-0.70468,-0.28283) + New Momentum Direction: (0.44399,-0.88696,-0.12718) + New Polarization: (-0.88911,-0.41849,-0.18533) + *** FresnelRefraction *** +Track (trackID 548, parentID 1) is processed with stopping code 2 ### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67631,0.56861,-0.46828) - Old Polarization: (-0.73218,0.44929,-0.5119) - New Momentum Direction: (-0.67631,0.56861,-0.46828) - New Polarization: (-0.73218,-0.44929,0.5119) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67631,0.56861,-0.46828) - Old Polarization: (-0.73218,-0.44929,0.5119) - New Momentum Direction: (-0.67631,-0.56861,-0.46828) - New Polarization: (0.73218,-0.44929,-0.5119) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67631,-0.56861,-0.46828) - Old Polarization: (0.73218,-0.44929,-0.5119) - New Momentum Direction: (-0.67631,-0.56861,0.46828) - New Polarization: (-0.73218,0.44929,-0.5119) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67631,-0.56861,0.46828) - Old Polarization: (-0.73218,0.44929,-0.5119) - New Momentum Direction: (0.67631,-0.56861,0.46828) - New Polarization: (-0.73218,-0.44929,0.5119) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67631,-0.56861,0.46828) - Old Polarization: (-0.73218,-0.44929,0.5119) - New Momentum Direction: (0.67631,0.56861,0.46828) - New Polarization: (0.73218,-0.44929,-0.5119) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 525, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 547, parentID 1) is processed with stopping code 2 ### pop requested out of 244 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66381,0.70709,0.24369) - Old Polarization: (-0.7468,0.60896,0.2673) - New Momentum Direction: (0.89731,0.29381,0.32942) - New Polarization: (0.13326,-0.89179,0.43239) + Old Momentum Direction: (0.68942,-0.60311,0.4012) + Old Polarization: (-0.71709,-0.64653,0.26034) + New Momentum Direction: (0.18844,-0.81769,0.54394) + New Polarization: (-0.97825,-0.20516,0.030494) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 524, parentID 1) is processed with stopping code 2 +Track (trackID 546, parentID 1) is processed with stopping code 2 ### pop requested out of 243 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 523, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.75415,0.655,-0.047286) + Old Polarization: (-0.6463,0.72751,-0.23025) + New Momentum Direction: (0.4495,0.89096,-0.06432) + New Polarization: (-0.88664,0.43625,-0.15347) + *** FresnelRefraction *** +Track (trackID 545, parentID 1) is processed with stopping code 2 ### pop requested out of 242 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80901,-0.55114,-0.20432) - Old Polarization: (-0.5868,-0.77743,-0.22642) - New Momentum Direction: (0.60561,-0.74614,-0.27661) - New Polarization: (-0.7951,-0.58162,-0.17188) + Old Momentum Direction: (0.78802,-0.46781,-0.40023) + Old Polarization: (-0.60907,-0.49759,-0.61761) + New Momentum Direction: (0.55002,-0.63459,-0.54292) + New Polarization: (-0.83076,-0.34916,-0.4335) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 522, parentID 1) is processed with stopping code 2 +Track (trackID 544, parentID 1) is processed with stopping code 2 ### pop requested out of 241 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66955,0.64988,-0.35968) - Old Polarization: (-0.74013,0.54291,-0.39681) - New Momentum Direction: (-0.66955,0.64988,-0.35968) - New Polarization: (-0.74013,-0.54291,0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,0.64988,-0.35968) - Old Polarization: (-0.74013,-0.54291,0.39681) - New Momentum Direction: (-0.66955,-0.64988,-0.35968) - New Polarization: (0.74013,-0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,-0.64988,-0.35968) - Old Polarization: (0.74013,-0.54291,-0.39681) - New Momentum Direction: (-0.66955,-0.64988,0.35968) - New Polarization: (-0.74013,0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,-0.64988,0.35968) - Old Polarization: (-0.74013,0.54291,-0.39681) - New Momentum Direction: (0.66955,-0.64988,0.35968) - New Polarization: (-0.74013,-0.54291,0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66955,-0.64988,0.35968) - Old Polarization: (-0.74013,-0.54291,0.39681) - New Momentum Direction: (0.66955,0.64988,0.35968) - New Polarization: (0.74013,-0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66955,0.64988,0.35968) - Old Polarization: (0.74013,-0.54291,-0.39681) - New Momentum Direction: (-0.66955,0.64988,0.35968) - New Polarization: (0.74013,0.54291,0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,0.64988,0.35968) - Old Polarization: (0.74013,0.54291,0.39681) - New Momentum Direction: (-0.66955,-0.64988,0.35968) - New Polarization: (-0.74013,0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,-0.64988,0.35968) - Old Polarization: (-0.74013,0.54291,-0.39681) - New Momentum Direction: (-0.66955,-0.64988,-0.35968) - New Polarization: (0.74013,-0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66955,-0.64988,-0.35968) - Old Polarization: (0.74013,-0.54291,-0.39681) - New Momentum Direction: (0.66955,-0.64988,-0.35968) - New Polarization: (0.74013,0.54291,0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66955,-0.64988,-0.35968) - Old Polarization: (0.74013,0.54291,0.39681) - New Momentum Direction: (0.66955,0.64988,-0.35968) - New Polarization: (-0.74013,0.54291,-0.39681) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 521, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 543, parentID 1) is processed with stopping code 2 ### pop requested out of 240 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80881,-0.52804,0.25885) - Old Polarization: (-0.58632,-0.75806,0.28561) - New Momentum Direction: (0.60928,-0.71201,0.34903) - New Polarization: (-0.79176,-0.57046,0.21839) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 520, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.65591,-0.27709,0.70214) + Old Polarization: (-0.75381,-0.28905,0.5901) + New Momentum Direction: (0.65591,-0.27709,-0.70214) + New Polarization: (-0.12605,0.87692,-0.46381) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.65591,-0.27709,-0.70214) + Old Polarization: (-0.12605,0.87692,-0.46381) + New Momentum Direction: (-0.65591,-0.27709,-0.70214) + New Polarization: (-0.12605,-0.87692,0.46381) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 542, parentID 1) is processed with stopping code 2 ### pop requested out of 239 stacked tracks. -** Photon Absorbed! ** -Track (trackID 519, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 541, parentID 1) is processed with stopping code 2 ### pop requested out of 238 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67899,0.5787,0.45175) - Old Polarization: (-0.73014,0.46813,0.49774) - New Momentum Direction: (0.12882,0.78169,0.61022) - New Polarization: (-0.98969,0.062462,0.12891) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 518, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.6684,0.38744,0.63493) + Old Polarization: (-0.73965,0.43635,0.51237) + New Momentum Direction: (-0.6684,0.38744,0.63493) + New Polarization: (-0.73965,-0.43635,-0.51237) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.6684,0.38744,0.63493) + Old Polarization: (-0.73965,-0.43635,-0.51237) + New Momentum Direction: (-0.6684,0.38744,-0.63493) + New Polarization: (0.73965,0.43635,-0.51237) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.6684,0.38744,-0.63493) + Old Polarization: (0.73965,0.43635,-0.51237) + New Momentum Direction: (-0.6684,-0.38744,-0.63493) + New Polarization: (-0.73965,0.43635,0.51237) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 540, parentID 1) is processed with stopping code 2 ### pop requested out of 237 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76893,-0.23066,-0.59627) - Old Polarization: (-0.63128,-0.42144,-0.65106) - New Momentum Direction: (0.49397,-0.31369,-0.81092) - New Polarization: (-0.86425,-0.27931,-0.4184) + Old Momentum Direction: (0.81685,0.1113,-0.56601) + Old Polarization: (-0.57673,0.13762,-0.80526) + New Momentum Direction: (0.6264,0.1504,-0.76486) + New Polarization: (-0.77942,0.10665,-0.61735) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 517, parentID 1) is processed with stopping code 2 +Track (trackID 539, parentID 1) is processed with stopping code 2 ### pop requested out of 236 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66249,0.7039,-0.25621) - Old Polarization: (-0.74772,0.60089,-0.28256) - New Momentum Direction: (0.89824,0.26925,-0.34738) - New Polarization: (0.096941,-0.89229,-0.44094) + Old Momentum Direction: (0.65489,0.17251,0.73577) + Old Polarization: (-0.75457,0.20291,0.62406) + New Momentum Direction: (0.88965,0.23435,0.39192) + New Polarization: (0.29537,0.35922,-0.88528) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 516, parentID 1) is processed with stopping code 2 +Track (trackID 538, parentID 1) is processed with stopping code 2 ### pop requested out of 235 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.71878,-0.67885,0.15006) +Old Polarization: (-0.68488,-0.7285,-0.015076) +New Polarization: (0.10436,-0.72618,-0.54031) +Polarization Change: (0.11454,-0.79701,-0.59301) +New Momentum Direction: (0.96236,0.2311,-0.12472) +Momentum Change: (0.96473,0.23167,-0.12503) Photon at Boundary! - Old Momentum Direction: (0.71307,0.29981,-0.63376) - Old Polarization: (-0.69251,0.16018,-0.7034) - New Momentum Direction: (0.32311,0.40469,-0.85547) - New Polarization: (-0.94123,0.043394,-0.33497) + Old Momentum Direction: (0.96473,0.23167,-0.12503) + Old Polarization: (0.11454,-0.79701,-0.59301) + New Momentum Direction: (0.93405,0.3143,-0.16963) + New Polarization: (-0.19648,0.055574,-0.97893) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 515, parentID 1) is processed with stopping code 2 +Track (trackID 537, parentID 1) is processed with stopping code 2 ### pop requested out of 234 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67579,0.5742,-0.46217) - Old Polarization: (-0.73278,0.45559,-0.50545) - New Momentum Direction: (-0.67579,0.5742,-0.46217) - New Polarization: (-0.73278,-0.45559,0.50545) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67579,0.5742,-0.46217) - Old Polarization: (-0.73278,-0.45559,0.50545) - New Momentum Direction: (-0.67579,-0.5742,-0.46217) - New Polarization: (0.73278,-0.45559,-0.50545) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67579,-0.5742,-0.46217) - Old Polarization: (0.73278,-0.45559,-0.50545) - New Momentum Direction: (-0.67579,-0.5742,0.46217) - New Polarization: (-0.73278,0.45559,-0.50545) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 514, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.79106,0.49177,-0.36384) + Old Polarization: (-0.60613,0.54979,-0.57475) + New Momentum Direction: (0.55455,0.66896,-0.49494) + New Polarization: (-0.82843,0.38758,-0.40434) + *** FresnelRefraction *** +Track (trackID 536, parentID 1) is processed with stopping code 2 ### pop requested out of 233 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69839,0.41598,-0.58242) - Old Polarization: (-0.70862,0.28756,-0.64434) - New Momentum Direction: (-0.69839,0.41598,-0.58242) - New Polarization: (-0.69614,-0.20575,0.68779) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69839,0.41598,-0.58242) - Old Polarization: (-0.69614,-0.20575,0.68779) - New Momentum Direction: (-0.69839,0.41598,0.58242) - New Polarization: (0.69614,0.20575,0.68779) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69839,0.41598,0.58242) - Old Polarization: (0.69614,0.20575,0.68779) - New Momentum Direction: (-0.69839,-0.41598,0.58242) - New Polarization: (-0.69614,0.20575,-0.68779) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69839,-0.41598,0.58242) - Old Polarization: (-0.69614,0.20575,-0.68779) - New Momentum Direction: (-0.25249,-0.56237,0.78739) - New Polarization: (0.9564,-0.26852,0.1149) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 513, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 535, parentID 1) is processed with stopping code 2 ### pop requested out of 232 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 512, parentID 1) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 511, parentID 1) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 510, parentID 1) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7998,-0.45934,0.38643) - Old Polarization: (-0.5965,-0.68019,0.42606) - New Momentum Direction: (0.58592,-0.62011,0.52168) - New Polarization: (-0.80781,-0.49805,0.31527) + Old Momentum Direction: (0.80708,-0.31277,-0.50079) + Old Polarization: (-0.58696,-0.33311,-0.73791) + New Momentum Direction: (0.60619,-0.4213,-0.67457) + New Polarization: (-0.79294,-0.25454,-0.55359) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 509, parentID 1) is processed with stopping code 2 +Track (trackID 534, parentID 1) is processed with stopping code 2 +### pop requested out of 231 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70958,-0.66536,0.23192) + Old Polarization: (-0.695,-0.71511,0.074832) + New Momentum Direction: (0.29623,-0.9019,0.31437) + New Polarization: (-0.94951,-0.31368,-0.0052096) + *** FresnelRefraction *** +Track (trackID 533, parentID 1) is processed with stopping code 2 +### pop requested out of 230 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68465,-0.5484,0.48013) + Old Polarization: (-0.72304,-0.59418,0.35237) + New Momentum Direction: (-0.68465,-0.5484,0.48013) + New Polarization: (-0.71704,0.62496,-0.30866) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68465,-0.5484,0.48013) + Old Polarization: (-0.71704,0.62496,-0.30866) + New Momentum Direction: (-0.68465,0.5484,0.48013) + New Polarization: (0.71704,0.62496,0.30866) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68465,0.5484,0.48013) + Old Polarization: (0.71704,0.62496,0.30866) + New Momentum Direction: (-0.68465,0.5484,-0.48013) + New Polarization: (-0.71704,-0.62496,0.30866) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 532, parentID 1) is processed with stopping code 2 +### pop requested out of 229 stacked tracks. + +** Photon absorbed! ** +Track (trackID 531, parentID 1) is processed with stopping code 2 ### pop requested out of 228 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79805,-0.46922,0.37808) - Old Polarization: (-0.59903,-0.68586,0.41323) - New Momentum Direction: (0.57709,-0.63593,0.5124) - New Polarization: (-0.81429,-0.49607,0.30142) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 508, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.69149,-0.60191,0.39944) + Old Polarization: (-0.71508,-0.64878,0.26027) + New Momentum Direction: (-0.69149,-0.60191,0.39944) + New Polarization: (-0.70566,0.68113,-0.19521) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69149,-0.60191,0.39944) + Old Polarization: (-0.70566,0.68113,-0.19521) + New Momentum Direction: (-0.69149,0.60191,0.39944) + New Polarization: (0.70566,0.68113,0.19521) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69149,0.60191,0.39944) + Old Polarization: (0.70566,0.68113,0.19521) + New Momentum Direction: (-0.69149,0.60191,-0.39944) + New Polarization: (-0.70566,-0.68113,0.19521) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 530, parentID 1) is processed with stopping code 2 ### pop requested out of 227 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73711,0.074755,0.67163) - Old Polarization: (-0.66589,-0.088985,0.74072) - New Momentum Direction: (0.40823,0.10098,0.90728) - New Polarization: (-0.90665,-0.071108,0.41586) + Old Momentum Direction: (0.65383,-0.22327,0.72295) + Old Polarization: (-0.75606,-0.23001,0.61275) + New Momentum Direction: (0.88665,-0.30277,0.34955) + New Polarization: (0.20704,-0.41599,-0.88549) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 507, parentID 1) is processed with stopping code 2 +Track (trackID 529, parentID 1) is processed with stopping code 2 ### pop requested out of 226 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74841,-0.047933,-0.6615) - Old Polarization: (-0.6536,-0.22268,-0.72334) - New Momentum Direction: (0.43324,-0.065137,-0.89892) - New Polarization: (-0.89518,-0.14693,-0.42079) + Old Momentum Direction: (0.79971,0.45589,-0.39067) + Old Polarization: (-0.59549,0.51937,-0.6129) + New Momentum Direction: (0.58581,0.6154,-0.52736) + New Polarization: (-0.80712,0.38409,-0.44836) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 506, parentID 1) is processed with stopping code 2 +Track (trackID 528, parentID 1) is processed with stopping code 2 ### pop requested out of 225 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68785,0.4711,-0.55221) - Old Polarization: (-0.71963,0.34321,-0.6036) - New Momentum Direction: (-0.68785,0.4711,-0.55221) - New Polarization: (-0.71432,-0.30427,0.63021) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68785,0.4711,-0.55221) - Old Polarization: (-0.71432,-0.30427,0.63021) - New Momentum Direction: (-0.68785,0.4711,0.55221) - New Polarization: (0.71432,0.30427,0.63021) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68785,0.4711,0.55221) - Old Polarization: (0.71432,0.30427,0.63021) - New Momentum Direction: (-0.68785,-0.4711,0.55221) - New Polarization: (-0.71432,0.30427,-0.63021) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 505, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 527, parentID 1) is processed with stopping code 2 ### pop requested out of 224 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8108,-0.58216,0.060815) - Old Polarization: (-0.58522,-0.80827,0.064935) - New Momentum Direction: (0.60787,-0.78974,0.082501) - New Polarization: (-0.79396,-0.60595,0.049532) + Old Momentum Direction: (0.70862,-0.6543,0.26411) + Old Polarization: (-0.6963,-0.70899,0.11177) + New Momentum Direction: (0.30362,-0.88353,0.35664) + New Polarization: (-0.94731,-0.32001,0.013684) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 504, parentID 1) is processed with stopping code 2 +Track (trackID 526, parentID 1) is processed with stopping code 2 ### pop requested out of 223 stacked tracks. -** Photon Absorbed! ** -Track (trackID 503, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 525, parentID 1) is processed with stopping code 2 ### pop requested out of 222 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71719,0.23076,0.65757) - Old Polarization: (-0.6878,0.082574,0.72119) - New Momentum Direction: (0.33069,0.3125,0.8905) - New Polarization: (-0.93831,0.0078173,0.3457) + Old Momentum Direction: (0.73581,0.66337,0.13612) + Old Polarization: (-0.66623,0.74515,-0.03004) + New Momentum Direction: (0.40052,0.89759,0.18417) + New Polarization: (-0.90941,0.41398,-0.039883) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 502, parentID 1) is processed with stopping code 2 +Track (trackID 524, parentID 1) is processed with stopping code 2 ### pop requested out of 221 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.80743,0.30078,-0.50754) +Old Polarization: (-0.58814,0.34267,-0.73257) +New Polarization: (-0.55454,0.38118,-0.70601) +Polarization Change: (-0.56857,0.39082,-0.72387) +New Momentum Direction: (0.80308,0.41384,-0.40735) +Momentum Change: (0.81035,0.41759,-0.41104) Photon at Boundary! - Old Momentum Direction: (0.66258,0.68796,0.29615) - Old Polarization: (-0.74736,0.58121,0.32194) - New Momentum Direction: (0.89973,0.16959,0.40214) - New Polarization: (-0.029198,-0.89596,0.44318) + Old Momentum Direction: (0.81035,0.41759,-0.41104) + Old Polarization: (-0.56857,0.39082,-0.72387) + New Momentum Direction: (0.60495,0.56748,-0.55858) + New Polarization: (-0.78429,0.30346,-0.5411) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 501, parentID 1) is processed with stopping code 2 +Track (trackID 523, parentID 1) is processed with stopping code 2 ### pop requested out of 220 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6791,0.55116,0.48481) - Old Polarization: (-0.72946,0.43306,0.52948) - New Momentum Direction: (-0.6791,0.55116,0.48481) - New Polarization: (-0.72757,-0.41791,-0.54405) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6791,0.55116,0.48481) - Old Polarization: (-0.72757,-0.41791,-0.54405) - New Momentum Direction: (-0.6791,-0.55116,0.48481) - New Polarization: (0.72757,-0.41791,0.54405) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6791,-0.55116,0.48481) - Old Polarization: (0.72757,-0.41791,0.54405) - New Momentum Direction: (-0.6791,-0.55116,-0.48481) - New Polarization: (-0.72757,0.41791,0.54405) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 500, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 522, parentID 1) is processed with stopping code 2 ### pop requested out of 219 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.79819,0.4273,-0.42462) +Old Polarization: (-0.59829,0.48013,-0.6415) +New Polarization: (-0.45427,0.75153,0.098069) +Polarization Change: (-0.51411,0.85051,0.11099) +New Momentum Direction: (-0.40471,-0.14059,-0.79732) +Momentum Change: (-0.44712,-0.15532,-0.88088) Photon at Boundary! - Old Momentum Direction: (0.65683,0.7354,0.16659) - Old Polarization: (-0.75355,0.63222,0.18017) - New Momentum Direction: (0.8924,0.39037,0.22634) - New Polarization: (0.30478,-0.89133,0.33562) + Old Momentum Direction: (-0.44712,-0.15532,-0.88088) + Old Polarization: (-0.51411,0.85051,0.11099) + New Momentum Direction: (-0.60793,-0.21118,-0.76539) + New Polarization: (-0.54083,0.8159,0.20445) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 499, parentID 1) is processed with stopping code 2 +Track (trackID 521, parentID 1) is processed with stopping code 2 ### pop requested out of 218 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75131,-0.027732,0.65936) - Old Polarization: (-0.65009,-0.20314,0.7322) - New Momentum Direction: (0.45839,-0.037347,0.88796) - New Polarization: (-0.88233,-0.13898,0.44964) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 498, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 520, parentID 1) is processed with stopping code 2 ### pop requested out of 217 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81027,-0.58497,-0.035815) - Old Polarization: (-0.58604,-0.80926,-0.040772) - New Momentum Direction: (0.6052,-0.79458,-0.048649) - New Polarization: (-0.79606,-0.60444,-0.030825) + Old Momentum Direction: (0.7442,-0.66785,-0.01196) + Old Polarization: (-0.6569,-0.72851,-0.19429) + New Momentum Direction: (0.43695,-0.89934,-0.016106) + New Polarization: (-0.89235,-0.43117,-0.13345) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 497, parentID 1) is processed with stopping code 2 +Track (trackID 519, parentID 1) is processed with stopping code 2 ### pop requested out of 216 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79069,-0.35148,-0.50128) - Old Polarization: (-0.60617,-0.56425,-0.56051) - New Momentum Direction: (0.56676,-0.47299,-0.67458) - New Polarization: (-0.81977,-0.40542,-0.40448) + Old Momentum Direction: (0.69779,-0.62729,0.34582) + Old Polarization: (-0.70814,-0.67681,0.20118) + New Momentum Direction: (0.24812,-0.84835,0.46769) + New Polarization: (-0.96414,-0.26318,0.034116) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 496, parentID 1) is processed with stopping code 2 +Track (trackID 518, parentID 1) is processed with stopping code 2 ### pop requested out of 215 stacked tracks. -** Photon Absorbed! ** -Track (trackID 495, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 517, parentID 1) is processed with stopping code 2 ### pop requested out of 214 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66339,0.74496,-0.070319) - Old Polarization: (-0.74815,0.65867,-0.080139) - New Momentum Direction: (0.89242,0.44118,-0.094596) - New Polarization: (0.42446,-0.89197,-0.15564) + Old Momentum Direction: (0.65169,-0.1291,0.74742) + Old Polarization: (-0.75839,-0.12678,0.63935) + New Momentum Direction: (0.88385,-0.17509,0.43376) + New Polarization: (0.38119,-0.26784,-0.88485) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 494, parentID 1) is processed with stopping code 2 +Track (trackID 516, parentID 1) is processed with stopping code 2 ### pop requested out of 213 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76191,-0.11455,-0.63748) - Old Polarization: (-0.63837,-0.29915,-0.70922) - New Momentum Direction: (0.48714,-0.15446,-0.85956) - New Polarization: (-0.86719,-0.20198,-0.45517) + Old Momentum Direction: (0.80538,0.42069,-0.4176) + Old Polarization: (-0.5886,0.48429,-0.64731) + New Momentum Direction: (0.60367,0.5658,-0.56165) + New Polarization: (-0.79438,0.36732,-0.48378) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 493, parentID 1) is processed with stopping code 2 +Track (trackID 515, parentID 1) is processed with stopping code 2 ### pop requested out of 212 stacked tracks. -** Photon Absorbed! ** -Track (trackID 492, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 514, parentID 1) is processed with stopping code 2 ### pop requested out of 211 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 491, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.72444,-0.67283,0.14997) + Old Polarization: (-0.67889,-0.7341,-0.014071) + New Momentum Direction: (0.37198,-0.90601,0.20194) + New Polarization: (-0.92174,-0.38622,-0.034909) + *** FresnelRefraction *** +Track (trackID 513, parentID 1) is processed with stopping code 2 ### pop requested out of 210 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6908,0.44118,0.57285) - Old Polarization: (-0.71652,0.31147,0.62417) - New Momentum Direction: (-0.6908,0.44118,0.57285) - New Polarization: (-0.70949,-0.26094,-0.65462) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6908,0.44118,0.57285) - Old Polarization: (-0.70949,-0.26094,-0.65462) - New Momentum Direction: (-0.6908,0.44118,-0.57285) - New Polarization: (0.70949,0.26094,-0.65462) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6908,0.44118,-0.57285) - Old Polarization: (0.70949,0.26094,-0.65462) - New Momentum Direction: (-0.6908,-0.44118,-0.57285) - New Polarization: (-0.70949,0.26094,0.65462) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6908,-0.44118,-0.57285) - Old Polarization: (-0.70949,0.26094,0.65462) - New Momentum Direction: (-0.18925,-0.59915,-0.77795) - New Polarization: (0.97475,-0.21024,-0.075203) + Old Momentum Direction: (0.72819,-0.68072,0.079776) + Old Polarization: (-0.67459,-0.73243,-0.092042) + New Momentum Direction: (0.37069,-0.92244,0.10811) + New Polarization: (-0.92213,-0.37942,-0.075562) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 490, parentID 1) is processed with stopping code 2 +Track (trackID 512, parentID 1) is processed with stopping code 2 ### pop requested out of 209 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68273,0.5323,-0.50053) - Old Polarization: (-0.72554,0.41288,-0.55057) - New Momentum Direction: (0.13698,0.72165,-0.67857) - New Polarization: (-0.98803,0.050474,-0.14577) + Old Momentum Direction: (0.70494,-0.65402,0.27445) + Old Polarization: (-0.70014,-0.70356,0.12174) + New Momentum Direction: (0.27697,-0.88602,0.37181) + New Polarization: (-0.95563,-0.29437,0.010397) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 489, parentID 1) is processed with stopping code 2 +Track (trackID 511, parentID 1) is processed with stopping code 2 ### pop requested out of 208 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71976,0.20415,0.66352) - Old Polarization: (-0.68495,0.053125,0.72665) - New Momentum Direction: (0.33905,0.27665,0.89917) - New Polarization: (-0.9352,-0.0047454,0.35409) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 488, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.70696,-0.64072,0.29946) + Old Polarization: (-0.69839,-0.69926,0.15261) + New Momentum Direction: (-0.70696,-0.64072,0.29946) + New Polarization: (-0.67522,0.73744,-0.016223) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.70696,-0.64072,0.29946) + Old Polarization: (-0.67522,0.73744,-0.016223) + New Momentum Direction: (-0.70696,0.64072,0.29946) + New Polarization: (0.67522,0.73744,0.016223) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 510, parentID 1) is processed with stopping code 2 ### pop requested out of 207 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7128,0.29944,-0.63423) - Old Polarization: (-0.69278,0.15955,-0.70327) - New Momentum Direction: (0.32087,0.40436,-0.85647) - New Polarization: (-0.942,0.042336,-0.33293) + Old Momentum Direction: (0.76499,-0.60067,-0.23236) + Old Polarization: (-0.63442,-0.64067,-0.43249) + New Momentum Direction: (0.48387,-0.8162,-0.31573) + New Polarization: (-0.86889,-0.40502,-0.28458) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 487, parentID 1) is processed with stopping code 2 +Track (trackID 509, parentID 1) is processed with stopping code 2 ### pop requested out of 206 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77334,-0.25604,0.58) - Old Polarization: (-0.62612,-0.45216,0.63524) - New Momentum Direction: (0.51199,-0.3469,0.78583) - New Polarization: (-0.8538,-0.30593,0.42122) + Old Momentum Direction: (0.65848,0.22744,0.71741) + Old Polarization: (-0.75085,0.26347,0.60564) + New Momentum Direction: (0.89356,0.30863,0.32603) + New Polarization: (0.17434,0.43069,-0.8855) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 486, parentID 1) is processed with stopping code 2 +Track (trackID 508, parentID 1) is processed with stopping code 2 ### pop requested out of 205 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 485, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.68495,-0.59522,0.42019) + Old Polarization: (-0.72165,-0.63364,0.27877) + New Momentum Direction: (0.13536,-0.80943,0.57141) + New Polarization: (-0.98738,-0.15806,0.0099995) + *** FresnelRefraction *** +Track (trackID 507, parentID 1) is processed with stopping code 2 ### pop requested out of 204 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65847,0.74899,0.073675) - Old Polarization: (-0.75252,0.65375,0.079486) - New Momentum Direction: (0.8909,0.44313,0.099681) - New Polarization: (0.42514,-0.8908,0.16038) + Old Momentum Direction: (0.79808,-0.36903,-0.47632) + Old Polarization: (-0.59809,-0.38921,-0.70057) + New Momentum Direction: (0.5758,-0.50073,-0.64631) + New Polarization: (-0.81459,-0.28377,-0.50588) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 484, parentID 1) is processed with stopping code 2 +Track (trackID 506, parentID 1) is processed with stopping code 2 ### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65541,0.74688,0.11226) - Old Polarization: (-0.75506,0.64443,0.12081) - New Momentum Direction: (0.89065,0.42833,0.15256) - New Polarization: (0.38736,-0.89049,0.2387) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 483, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 505, parentID 1) is processed with stopping code 2 ### pop requested out of 202 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78473,-0.33654,0.52052) - Old Polarization: (-0.61329,-0.54331,0.57331) - New Momentum Direction: (0.54633,-0.45475,0.70337) - New Polarization: (-0.83318,-0.38093,0.40087) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 482, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.66062,-0.29408,0.69073) + Old Polarization: (-0.7495,-0.31094,0.58444) + New Momentum Direction: (0.66062,-0.29408,-0.69073) + New Polarization: (-0.11558,0.86927,-0.48063) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66062,-0.29408,-0.69073) + Old Polarization: (-0.11558,0.86927,-0.48063) + New Momentum Direction: (-0.66062,-0.29408,-0.69073) + New Polarization: (-0.11558,-0.86927,0.48063) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 504, parentID 1) is processed with stopping code 2 ### pop requested out of 201 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77476,-0.27778,-0.56796) - Old Polarization: (-0.62488,-0.47323,-0.62096) - New Momentum Direction: (0.51132,-0.37757,-0.772) - New Polarization: (-0.85456,-0.31852,-0.41022) + Old Momentum Direction: (0.76478,0.63999,-0.07432) + Old Polarization: (-0.63399,0.727,-0.26368) + New Momentum Direction: (0.4972,0.86184,-0.10008) + New Polarization: (-0.86081,0.47555,-0.18128) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 481, parentID 1) is processed with stopping code 2 +Track (trackID 503, parentID 1) is processed with stopping code 2 ### pop requested out of 200 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66549,0.72661,-0.17078) - Old Polarization: (-0.74578,0.63789,-0.19214) - New Momentum Direction: (0.66549,-0.72661,-0.17078) - New Polarization: (-0.31539,-0.48111,0.81796) - *** FresnelReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 480, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.76553,0.63756,-0.086465) + Old Polarization: (-0.63322,0.72278,-0.27679) + New Momentum Direction: (0.49788,0.85938,-0.11655) + New Polarization: (-0.86051,0.4728,-0.18969) + *** FresnelRefraction *** +Track (trackID 502, parentID 1) is processed with stopping code 2 ### pop requested out of 199 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75346,-0.097592,-0.65022) - Old Polarization: (-0.64815,-0.27645,-0.70956) - New Momentum Direction: (0.44741,-0.13274,-0.88442) - New Polarization: (-0.88838,-0.17988,-0.42241) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 479, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.69307,0.54316,0.47395) + Old Polarization: (-0.71324,0.6121,0.3415) + New Momentum Direction: (-0.69307,0.54316,0.47395) + New Polarization: (-0.70297,-0.65484,-0.27752) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69307,0.54316,0.47395) + Old Polarization: (-0.70297,-0.65484,-0.27752) + New Momentum Direction: (-0.69307,-0.54316,0.47395) + New Polarization: (0.70297,-0.65484,0.27752) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 501, parentID 1) is processed with stopping code 2 ### pop requested out of 198 stacked tracks. -** Photon Absorbed! ** -Track (trackID 478, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 500, parentID 1) is processed with stopping code 2 ### pop requested out of 197 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70837,0.28415,0.64612) - Old Polarization: (-0.69728,0.13956,0.70308) - New Momentum Direction: (-0.70837,0.28415,0.64612) - New Polarization: (-0.67809,-0.019769,-0.73472) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70837,0.28415,0.64612) - Old Polarization: (-0.67809,-0.019769,-0.73472) - New Momentum Direction: (-0.70837,0.28415,-0.64612) - New Polarization: (0.67809,0.019769,-0.73472) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70837,0.28415,-0.64612) - Old Polarization: (0.67809,0.019769,-0.73472) - New Momentum Direction: (-0.70837,-0.28415,-0.64612) - New Polarization: (-0.67809,0.019769,0.73472) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70837,-0.28415,-0.64612) - Old Polarization: (-0.67809,0.019769,0.73472) - New Momentum Direction: (-0.28244,-0.38618,-0.87812) - New Polarization: (0.94302,-0.27965,-0.18033) + Old Momentum Direction: (0.70103,0.59843,0.38786) + Old Polarization: (-0.70416,0.66686,0.24382) + New Momentum Direction: (0.24546,0.81349,0.52724) + New Polarization: (-0.96443,0.25994,0.047921) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 477, parentID 1) is processed with stopping code 2 +Track (trackID 499, parentID 1) is processed with stopping code 2 ### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80606,-0.52434,-0.27447) - Old Polarization: (-0.59003,-0.7481,-0.30366) - New Momentum Direction: (0.59847,-0.70978,-0.37154) - New Polarization: (-0.79993,-0.55498,-0.22828) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 476, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 498, parentID 1) is processed with stopping code 2 ### pop requested out of 195 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66391,0.69255,-0.28212) - Old Polarization: (-0.74618,0.58861,-0.31105) - New Momentum Direction: (0.66391,-0.69255,-0.28212) - New Polarization: (-0.14821,-0.49163,0.8581) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66391,-0.69255,-0.28212) - Old Polarization: (-0.14821,-0.49163,0.8581) - New Momentum Direction: (-0.66391,-0.69255,-0.28212) - New Polarization: (-0.14821,0.49163,-0.8581) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66391,-0.69255,-0.28212) - Old Polarization: (-0.14821,0.49163,-0.8581) - New Momentum Direction: (-0.66391,-0.69255,0.28212) - New Polarization: (0.14821,-0.49163,-0.8581) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66391,-0.69255,0.28212) - Old Polarization: (0.14821,-0.49163,-0.8581) - New Momentum Direction: (-0.66391,0.69255,0.28212) - New Polarization: (0.66691,0.37767,0.64233) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66391,0.69255,0.28212) - Old Polarization: (0.66691,0.37767,0.64233) - New Momentum Direction: (0.66391,0.69255,0.28212) - New Polarization: (0.66691,-0.37767,-0.64233) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66391,0.69255,0.28212) - Old Polarization: (0.66691,-0.37767,-0.64233) - New Momentum Direction: (0.90007,0.20877,0.38247) - New Polarization: (0.4138,-0.68452,-0.60017) + Old Momentum Direction: (0.73338,-0.6755,0.076568) + Old Polarization: (-0.66894,-0.73712,-0.095768) + New Momentum Direction: (0.40255,-0.90957,0.1031) + New Polarization: (-0.90851,-0.41077,-0.076681) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 475, parentID 1) is processed with stopping code 2 +Track (trackID 497, parentID 1) is processed with stopping code 2 ### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75098,-0.049603,-0.65846) - Old Polarization: (-0.65067,-0.22554,-0.7251) - New Momentum Direction: (0.44713,-0.067192,-0.89194) - New Polarization: (-0.88827,-0.1505,-0.43396) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 474, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 496, parentID 1) is processed with stopping code 2 ### pop requested out of 193 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74435,0.012029,0.66768) - Old Polarization: (-0.65789,-0.15831,0.73629) - New Momentum Direction: (0.43148,0.01625,0.90198) - New Polarization: (-0.8958,-0.11048,0.43051) + Old Momentum Direction: (0.65003,0.052577,0.75809) + Old Polarization: (-0.75963,0.07182,0.64637) + New Momentum Direction: (0.88418,0.071516,0.46164) + New Polarization: (0.45088,0.12786,-0.88338) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 473, parentID 1) is processed with stopping code 2 +Track (trackID 495, parentID 1) is processed with stopping code 2 ### pop requested out of 192 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71644,0.21539,0.66356) - Old Polarization: (-0.68848,0.064612,0.72237) - New Momentum Direction: (0.31832,0.29268,0.90167) - New Polarization: (-0.94259,-0.0036269,0.33394) + Old Momentum Direction: (0.65937,0.19708,0.72553) + Old Polarization: (-0.75041,0.23171,0.61903) + New Momentum Direction: (0.89215,0.26666,0.36464) + New Polarization: (0.24375,0.39546,-0.88555) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 472, parentID 1) is processed with stopping code 2 +Track (trackID 494, parentID 1) is processed with stopping code 2 ### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77585,-0.24505,0.58138) - Old Polarization: (-0.62287,-0.44421,0.64398) - New Momentum Direction: (0.52598,-0.33034,0.78372) - New Polarization: (-0.84512,-0.30648,0.43801) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 471, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 493, parentID 1) is processed with stopping code 2 ### pop requested out of 190 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73161,0.13744,-0.66772) - Old Polarization: (-0.67197,-0.019652,-0.74032) - New Momentum Direction: (0.39053,0.1856,-0.90169) - New Polarization: (-0.9145,-0.034279,-0.40313) + Old Momentum Direction: (0.80778,-0.24818,-0.53469) + Old Polarization: (-0.58714,-0.25804,-0.76725) + New Momentum Direction: (0.60216,-0.33613,-0.72417) + New Polarization: (-0.79679,-0.19588,-0.57163) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 470, parentID 1) is processed with stopping code 2 +Track (trackID 492, parentID 1) is processed with stopping code 2 ### pop requested out of 189 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80693,-0.52689,0.26693) - Old Polarization: (-0.5888,-0.75328,0.29306) - New Momentum Direction: (0.6023,-0.7121,0.36076) - New Polarization: (-0.79702,-0.56177,0.22176) + Old Momentum Direction: (0.71306,0.63203,0.30345) + Old Polarization: (-0.69113,0.70639,0.1528) + New Momentum Direction: (0.30843,0.85753,0.41172) + New Polarization: (-0.9454,0.32425,0.032874) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 469, parentID 1) is processed with stopping code 2 +Track (trackID 491, parentID 1) is processed with stopping code 2 ### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66802,0.6753,-0.3126) - Old Polarization: (-0.74213,0.57369,-0.3466) - New Momentum Direction: (0.66802,-0.6753,-0.3126) - New Polarization: (-0.15961,-0.54033,0.82618) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66802,-0.6753,-0.3126) - Old Polarization: (-0.15961,-0.54033,0.82618) - New Momentum Direction: (-0.66802,-0.6753,-0.3126) - New Polarization: (-0.15961,0.54033,-0.82618) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 468, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 490, parentID 1) is processed with stopping code 2 ### pop requested out of 187 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81045,-0.58512,0.028294) - Old Polarization: (-0.58578,-0.80994,0.029255) - New Momentum Direction: (0.606,-0.79453,0.03842) - New Polarization: (-0.79544,-0.60562,0.0223) + Old Momentum Direction: (0.71986,-0.67599,0.15763) + Old Polarization: (-0.68379,-0.72965,-0.0063532) + New Momentum Direction: (0.34332,-0.91468,0.21329) + New Polarization: (-0.93297,-0.35828,-0.034708) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 467, parentID 1) is processed with stopping code 2 +Track (trackID 489, parentID 1) is processed with stopping code 2 ### pop requested out of 186 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79992,-0.46185,0.38318) - Old Polarization: (-0.59641,-0.68265,0.42225) - New Momentum Direction: (0.58593,-0.62366,0.51743) - New Polarization: (-0.80785,-0.49978,0.31241) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 466, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 488, parentID 1) is processed with stopping code 2 ### pop requested out of 185 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.72685,0.14431,0.67146) - Old Polarization: (-0.67717,-0.012522,0.73572) - New Momentum Direction: (0.36629,0.19552,0.90973) - New Polarization: (-0.92461,-0.033359,0.37946) + Old Momentum Direction: (0.65829,-0.093437,0.74694) + Old Polarization: (-0.75274,-0.089468,0.65221) + New Momentum Direction: (0.88544,-0.12568,0.44743) + New Polarization: (0.41985,-0.19651,-0.88606) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 465, parentID 1) is processed with stopping code 2 +Track (trackID 487, parentID 1) is processed with stopping code 2 ### pop requested out of 184 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65668,0.7522,-0.054545) - Old Polarization: (-0.7541,0.65388,-0.061472) - New Momentum Direction: (0.89034,0.44924,-0.073954) - New Polarization: (0.43906,-0.89018,-0.12164) + Old Momentum Direction: (0.7735,-0.57215,-0.27266) + Old Polarization: (-0.62471,-0.61563,-0.48035) + New Momentum Direction: (0.51466,-0.774,-0.36885) + New Polarization: (-0.85137,-0.41043,-0.32668) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 464, parentID 1) is processed with stopping code 2 +Track (trackID 486, parentID 1) is processed with stopping code 2 ### pop requested out of 183 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66607,0.66037,-0.34678) - Old Polarization: (-0.74346,0.55026,-0.38011) - New Momentum Direction: (-0.66607,0.66037,-0.34678) - New Polarization: (-0.74346,-0.55026,0.38011) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66607,0.66037,-0.34678) - Old Polarization: (-0.74346,-0.55026,0.38011) - New Momentum Direction: (-0.66607,-0.66037,-0.34678) - New Polarization: (0.74346,-0.55026,-0.38011) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66607,-0.66037,-0.34678) - Old Polarization: (0.74346,-0.55026,-0.38011) - New Momentum Direction: (-0.66607,-0.66037,0.34678) - New Polarization: (-0.74346,0.55026,-0.38011) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 463, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.68731,0.51086,0.51636) + Old Polarization: (-0.71953,0.57612,0.38777) + New Momentum Direction: (0.17997,0.69183,0.69928) + New Polarization: (-0.9801,0.18667,0.067562) + *** FresnelRefraction *** +Track (trackID 485, parentID 1) is processed with stopping code 2 ### pop requested out of 182 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 462, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.81832,0.036844,-0.57358) + Old Polarization: (-0.57476,0.055582,-0.81643) + New Momentum Direction: (0.63153,0.049703,-0.77376) + New Polarization: (-0.77535,0.042713,-0.63009) + *** FresnelRefraction *** +Track (trackID 484, parentID 1) is processed with stopping code 2 ### pop requested out of 181 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74217,0.0026985,-0.67021) - Old Polarization: (-0.66042,-0.16735,-0.73201) - New Momentum Direction: (0.41188,0.003669,-0.91123) - New Polarization: (-0.90512,-0.11405,-0.40958) + Old Momentum Direction: (0.81629,-0.14411,-0.55938) + Old Polarization: (-0.57662,-0.1457,-0.80392) + New Momentum Direction: (0.62867,-0.19401,-0.75309) + New Polarization: (-0.77697,-0.11549,-0.61885) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 461, parentID 1) is processed with stopping code 2 +Track (trackID 483, parentID 1) is processed with stopping code 2 ### pop requested out of 180 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 460, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.69242,0.52815,0.49154) + Old Polarization: (-0.71418,0.59848,0.363) + New Momentum Direction: (-0.69242,0.52815,0.49154) + New Polarization: (-0.70394,-0.64389,-0.29978) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69242,0.52815,0.49154) + Old Polarization: (-0.70394,-0.64389,-0.29978) + New Momentum Direction: (-0.69242,-0.52815,0.49154) + New Polarization: (0.70394,-0.64389,0.29978) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69242,-0.52815,0.49154) + Old Polarization: (0.70394,-0.64389,0.29978) + New Momentum Direction: (-0.69242,-0.52815,-0.49154) + New Polarization: (-0.70394,0.64389,0.29978) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69242,-0.52815,-0.49154) + Old Polarization: (-0.70394,0.64389,0.29978) + New Momentum Direction: (-0.22407,-0.71341,-0.66396) + New Polarization: (0.96479,-0.066087,-0.25459) + *** FresnelRefraction *** +Track (trackID 482, parentID 1) is processed with stopping code 2 ### pop requested out of 179 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67775,0.58374,0.4471) - Old Polarization: (-0.73138,0.47262,0.49164) - New Momentum Direction: (0.10852,0.7892,0.60448) - New Polarization: (-0.99222,0.048619,0.11465) + Old Momentum Direction: (0.71083,-0.67284,0.20495) + Old Polarization: (-0.6935,-0.71908,0.044521) + New Momentum Direction: (0.29354,-0.91446,0.27855) + New Polarization: (-0.95024,-0.31092,-0.019347) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 459, parentID 1) is processed with stopping code 2 +Track (trackID 481, parentID 1) is processed with stopping code 2 ### pop requested out of 178 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 458, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78929,-0.35063,-0.50406) - Old Polarization: (-0.60795,-0.56142,-0.56143) - New Momentum Direction: (0.5611,-0.47268,-0.67951) - New Polarization: (-0.82364,-0.40048,-0.40154) + Old Momentum Direction: (0.77633,-0.5603,-0.28875) + Old Polarization: (-0.62148,-0.60394,-0.49901) + New Momentum Direction: (0.52382,-0.75719,-0.39023) + New Polarization: (-0.84594,-0.40863,-0.34264) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 457, parentID 1) is processed with stopping code 2 +Track (trackID 480, parentID 1) is processed with stopping code 2 +### pop requested out of 177 stacked tracks. + +** Photon absorbed! ** +Track (trackID 479, parentID 1) is processed with stopping code 2 ### pop requested out of 176 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66133,0.69888,0.27242) - Old Polarization: (-0.74873,0.59312,0.29601) - New Momentum Direction: (0.89805,0.23803,0.36993) - New Polarization: (0.052715,-0.89313,0.44671) + Old Momentum Direction: (0.80482,-0.32721,-0.49518) + Old Polarization: (-0.5898,-0.34765,-0.72889) + New Momentum Direction: (0.59865,-0.4416,-0.66828) + New Polarization: (-0.79847,-0.26263,-0.54173) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 456, parentID 1) is processed with stopping code 2 +Track (trackID 478, parentID 1) is processed with stopping code 2 ### pop requested out of 175 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75461,-0.05574,0.65381) - Old Polarization: (-0.64642,-0.23433,0.72611) - New Momentum Direction: (0.4682,-0.075061,0.88043) - New Polarization: (-0.87724,-0.15902,0.45295) + Old Momentum Direction: (0.6896,0.5273,0.49639) + Old Polarization: (-0.71697,0.59366,0.36541) + New Momentum Direction: (0.19331,0.71439,0.67252) + New Polarization: (-0.97731,0.2007,0.067714) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 455, parentID 1) is processed with stopping code 2 +Track (trackID 477, parentID 1) is processed with stopping code 2 ### pop requested out of 174 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 454, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.69295,-0.6249,0.35961) + Old Polarization: (-0.71305,-0.66779,0.21359) + New Momentum Direction: (-0.69295,-0.6249,0.35961) + New Polarization: (-0.70356,0.69508,-0.14789) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69295,-0.6249,0.35961) + Old Polarization: (-0.70356,0.69508,-0.14789) + New Momentum Direction: (-0.69295,0.6249,0.35961) + New Polarization: (0.70356,0.69508,0.14789) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69295,0.6249,0.35961) + Old Polarization: (0.70356,0.69508,0.14789) + New Momentum Direction: (-0.69295,0.6249,-0.35961) + New Polarization: (-0.70356,-0.69508,0.14789) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69295,0.6249,-0.35961) + Old Polarization: (-0.70356,-0.69508,0.14789) + New Momentum Direction: (-0.20273,0.84873,-0.48842) + New Polarization: (0.96984,0.10509,-0.21994) + *** FresnelRefraction *** +Track (trackID 476, parentID 1) is processed with stopping code 2 ### pop requested out of 173 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75516,-0.086693,0.64978) - Old Polarization: (-0.64598,-0.26706,0.71512) - New Momentum Direction: (0.46301,-0.11722,0.87857) - New Polarization: (-0.88016,-0.17778,0.44013) + Old Momentum Direction: (0.7433,-0.66895,-0.0018081) + Old Polarization: (-0.65789,-0.73051,-0.1831) + New Momentum Direction: (0.43506,-0.9004,-0.0024337) + New Polarization: (-0.89327,-0.43127,-0.12683) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 453, parentID 1) is processed with stopping code 2 +Track (trackID 475, parentID 1) is processed with stopping code 2 ### pop requested out of 172 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69876,0.37846,-0.60705) - Old Polarization: (-0.70775,0.24233,-0.6636) - New Momentum Direction: (0.23357,0.51441,-0.82512) - New Polarization: (-0.96817,0.044566,-0.24628) + Old Momentum Direction: (0.7744,-0.57115,-0.27219) + Old Polarization: (-0.62359,-0.61629,-0.48096) + New Momentum Direction: (0.51894,-0.77166,-0.36774) + New Polarization: (-0.84875,-0.41403,-0.32894) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 452, parentID 1) is processed with stopping code 2 +Track (trackID 474, parentID 1) is processed with stopping code 2 ### pop requested out of 171 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77102,-0.24813,-0.58648) - Old Polarization: (-0.629,-0.44055,-0.64053) - New Momentum Direction: (0.50009,-0.33743,-0.79753) - New Polarization: (-0.86088,-0.29345,-0.41566) + Old Momentum Direction: (0.7504,0.66098,-0.0019656) + Old Polarization: (-0.65028,0.73772,-0.18143) + New Momentum Direction: (0.442,0.89701,-0.0026675) + New Polarization: (-0.89018,0.43827,-0.12448) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 451, parentID 1) is processed with stopping code 2 +Track (trackID 473, parentID 1) is processed with stopping code 2 ### pop requested out of 170 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.69225,0.43863,0.57306) -Old Polarization: (-0.71508,0.31,0.62654) -New Polarization: (-0.13652,-0.27078,0.8379) -Polarization Change: (-0.15321,-0.30388,0.94031) -New Momentum Direction: (-0.64435,0.72791,0.13025) -Momentum Change: (-0.65695,0.74215,0.1328) -** Photon Absorbed! ** -Track (trackID 450, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 472, parentID 1) is processed with stopping code 2 ### pop requested out of 169 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76737,-0.19736,-0.61007) - Old Polarization: (-0.63272,-0.38726,-0.67059) - New Momentum Direction: (0.49421,-0.26758,-0.82714) - New Polarization: (-0.8638,-0.2584,-0.43252) + Old Momentum Direction: (0.81785,0.070706,-0.57108) + Old Polarization: (-0.57542,0.092989,-0.81255) + New Momentum Direction: (0.62976,0.095447,-0.7709) + New Polarization: (-0.77678,0.072035,-0.62564) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 449, parentID 1) is processed with stopping code 2 +Track (trackID 471, parentID 1) is processed with stopping code 2 ### pop requested out of 168 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77854,-0.29756,0.55256) - Old Polarization: (-0.62035,-0.49821,0.60576) - New Momentum Direction: (0.52694,-0.40297,0.7483) - New Polarization: (-0.8451,-0.34189,0.411) + Old Momentum Direction: (0.69132,0.55151,0.4668) + Old Polarization: (-0.71479,0.6164,0.33033) + New Momentum Direction: (-0.69132,0.55151,0.4668) + New Polarization: (-0.70641,-0.65168,-0.27624) + *** FresnelReflection *** +Scattering Photon! +Old Momentum Direction: (-0.69132,0.55151,0.4668) +Old Polarization: (-0.70641,-0.65168,-0.27624) +New Polarization: (-0.80599,-0.24012,0.214) +Polarization Change: (-0.92878,-0.2767,0.24659) +New Momentum Direction: (-0.24219,0.95292,0.15707) +Momentum Change: (-0.24324,0.95705,0.15775) + Photon at Boundary! + Old Momentum Direction: (-0.24324,0.95705,0.15775) + Old Polarization: (-0.92878,-0.2767,0.24659) + New Momentum Direction: (-0.33048,0.91915,0.21433) + New Polarization: (-0.8731,-0.38398,0.30044) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 448, parentID 1) is processed with stopping code 2 +Track (trackID 470, parentID 1) is processed with stopping code 2 ### pop requested out of 167 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79652,-0.44971,-0.40411) - Old Polarization: (-0.60073,-0.66419,-0.44494) - New Momentum Direction: (0.57296,-0.60962,-0.5478) - New Polarization: (-0.81698,-0.47803,-0.32254) + Old Momentum Direction: (0.65867,-0.29618,0.69169) + Old Polarization: (-0.7512,-0.31155,0.58193) + New Momentum Direction: (0.89111,-0.40071,0.21299) + New Polarization: (0.0038258,-0.46271,-0.8865) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 447, parentID 1) is processed with stopping code 2 +Track (trackID 469, parentID 1) is processed with stopping code 2 ### pop requested out of 166 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6837,0.497,0.53436) - Old Polarization: (-0.72417,0.37156,0.58097) - New Momentum Direction: (0.12657,0.67557,0.72635) - New Polarization: (-0.98923,0.031735,0.14286) + Old Momentum Direction: (0.68341,-0.56254,0.4653) + Old Polarization: (-0.72391,-0.60458,0.33232) + New Momentum Direction: (0.15499,-0.76125,0.62966) + New Polarization: (-0.98479,-0.16968,0.037271) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 446, parentID 1) is processed with stopping code 2 +Track (trackID 468, parentID 1) is processed with stopping code 2 ### pop requested out of 165 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 445, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.75495,-0.64747,-0.10409) + Old Polarization: (-0.64498,-0.70438,-0.29639) + New Momentum Direction: (0.46768,-0.87269,-0.1403) + New Polarization: (-0.87683,-0.43803,-0.19826) + *** FresnelRefraction *** +Track (trackID 467, parentID 1) is processed with stopping code 2 ### pop requested out of 164 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65871,0.75123,0.0419) - Old Polarization: (-0.75238,0.65723,0.044545) - New Momentum Direction: (0.89067,0.45111,0.056654) - New Polarization: (0.44527,-0.89067,0.091881) + Old Momentum Direction: (0.65009,-0.15307,0.74428) + Old Polarization: (-0.75967,-0.15222,0.63224) + New Momentum Direction: (0.88376,-0.20808,0.41913) + New Polarization: (0.34623,-0.31177,-0.88483) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 444, parentID 1) is processed with stopping code 2 +Track (trackID 466, parentID 1) is processed with stopping code 2 ### pop requested out of 163 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.69404,0.56994,0.43986) +Old Polarization: (-0.71174,0.63512,0.30009) +New Polarization: (-0.64285,0.57729,0.39087) +Polarization Change: (-0.67788,0.60876,0.41217) +New Momentum Direction: (0.19077,0.669,-0.67432) +Momentum Change: (0.19691,0.69051,-0.696) Photon at Boundary! - Old Momentum Direction: (0.78767,-0.3852,-0.48082) - Old Polarization: (-0.6107,-0.5912,-0.5268) - New Momentum Direction: (0.54751,-0.5232,-0.65307) - New Polarization: (-0.83322,-0.413,-0.36767) + Old Momentum Direction: (0.19691,0.69051,-0.696) + Old Polarization: (-0.67788,0.60876,0.41217) + New Momentum Direction: (0.19691,-0.69051,-0.696) + New Polarization: (0.50971,-0.53432,0.67431) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.19691,-0.69051,-0.696) + Old Polarization: (0.50971,-0.53432,0.67431) + New Momentum Direction: (0.2678,-0.93913,-0.2152) + New Polarization: (0.27216,-0.14053,0.95194) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 443, parentID 1) is processed with stopping code 2 +Track (trackID 465, parentID 1) is processed with stopping code 2 ### pop requested out of 162 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76022,-0.12244,0.63802) - Old Polarization: (-0.64033,-0.30711,0.70403) - New Momentum Direction: (0.47985,-0.16535,0.86163) - New Polarization: (-0.87124,-0.2055,0.44577) + Old Momentum Direction: (0.68677,0.51839,0.50953) + Old Polarization: (-0.7199,0.58193,0.37828) + New Momentum Direction: (0.16511,0.70339,0.69136) + New Polarization: (-0.9827,0.17693,0.054671) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 442, parentID 1) is processed with stopping code 2 +Track (trackID 464, parentID 1) is processed with stopping code 2 ### pop requested out of 161 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66717,0.66637,0.33291) - Old Polarization: (-0.74281,0.56164,0.36441) - New Momentum Direction: (-0.66717,0.66637,0.33291) - New Polarization: (-0.74281,-0.56164,-0.36441) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66717,0.66637,0.33291) - Old Polarization: (-0.74281,-0.56164,-0.36441) - New Momentum Direction: (-0.66717,-0.66637,0.33291) - New Polarization: (0.74281,-0.56164,0.36441) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66717,-0.66637,0.33291) - Old Polarization: (0.74281,-0.56164,0.36441) - New Momentum Direction: (-0.66717,-0.66637,-0.33291) - New Polarization: (-0.74281,0.56164,0.36441) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66717,-0.66637,-0.33291) - Old Polarization: (-0.74281,0.56164,0.36441) - New Momentum Direction: (0.66717,-0.66637,-0.33291) - New Polarization: (-0.74281,-0.56164,-0.36441) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66717,-0.66637,-0.33291) - Old Polarization: (-0.74281,-0.56164,-0.36441) - New Momentum Direction: (0.66717,0.66637,-0.33291) - New Polarization: (0.74281,-0.56164,0.36441) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 441, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.7969,0.44606,-0.40741) + Old Polarization: (-0.59957,0.50147,-0.62373) + New Momentum Direction: (0.57138,0.60597,-0.55346) + New Polarization: (-0.81764,0.36234,-0.44741) + *** FresnelRefraction *** +Track (trackID 463, parentID 1) is processed with stopping code 2 ### pop requested out of 160 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78208,-0.29018,-0.5515) - Old Polarization: (-0.61599,-0.49397,-0.61363) - New Momentum Direction: (0.54201,-0.39131,-0.74371) - New Polarization: (-0.83555,-0.34564,-0.42707) + Old Momentum Direction: (0.79678,-0.39304,-0.45897) + Old Polarization: (-0.5993,-0.41681,-0.68346) + New Momentum Direction: (0.57413,-0.53256,-0.62189) + New Polarization: (-0.81542,-0.30333,-0.49304) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 440, parentID 1) is processed with stopping code 2 +Track (trackID 462, parentID 1) is processed with stopping code 2 ### pop requested out of 159 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 439, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.8174,0.099599,-0.56739) + Old Polarization: (-0.57599,0.12487,-0.80787) + New Momentum Direction: (0.62835,0.1345,-0.76622) + New Polarization: (-0.77788,0.096926,-0.6209) + *** FresnelRefraction *** +Track (trackID 461, parentID 1) is processed with stopping code 2 ### pop requested out of 158 stacked tracks. -** Photon Absorbed! ** -Track (trackID 438, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 460, parentID 1) is processed with stopping code 2 ### pop requested out of 157 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75719,-0.12826,0.64047) - Old Polarization: (-0.64395,-0.31097,0.69902) - New Momentum Direction: (0.46271,-0.17408,0.86925) - New Polarization: (-0.88056,-0.20368,0.42794) + Old Momentum Direction: (0.79595,0.46529,-0.38727) + Old Polarization: (-0.60034,0.52446,-0.60376) + New Momentum Direction: (0.571,0.63099,-0.52518) + New Polarization: (-0.81758,0.37913,-0.43339) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 437, parentID 1) is processed with stopping code 2 +Track (trackID 459, parentID 1) is processed with stopping code 2 ### pop requested out of 156 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70044,0.42333,0.57461) - Old Polarization: (-0.70688,0.30039,0.64038) - New Momentum Direction: (-0.70044,0.42333,0.57461) - New Polarization: (-0.69204,-0.20597,-0.69185) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70044,0.42333,0.57461) - Old Polarization: (-0.69204,-0.20597,-0.69185) - New Momentum Direction: (-0.70044,0.42333,-0.57461) - New Polarization: (0.69204,0.20597,-0.69185) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 436, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.78244,0.55251,-0.28728) + Old Polarization: (-0.6155,0.61607,-0.49155) + New Momentum Direction: (0.5316,0.75148,-0.39074) + New Polarization: (-0.84222,0.4201,-0.33791) + *** FresnelRefraction *** +Track (trackID 458, parentID 1) is processed with stopping code 2 ### pop requested out of 155 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81073,-0.58047,-0.075911) - Old Polarization: (-0.58529,-0.80638,-0.08479) - New Momentum Direction: (0.60768,-0.78748,-0.10298) - New Polarization: (-0.7941,-0.60436,-0.064448) + Old Momentum Direction: (0.68491,-0.58907,0.42883) + Old Polarization: (-0.72184,-0.62873,0.28923) + New Momentum Direction: (0.14405,-0.80003,0.58241) + New Polarization: (-0.98618,-0.16473,0.017634) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 435, parentID 1) is processed with stopping code 2 +Track (trackID 457, parentID 1) is processed with stopping code 2 ### pop requested out of 154 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76006,-0.15099,0.63206) - Old Polarization: (-0.64078,-0.33601,0.69029) - New Momentum Direction: (0.47181,-0.20486,0.85757) - New Polarization: (-0.87584,-0.22086,0.4291) + Old Momentum Direction: (0.77263,-0.56854,-0.28249) + Old Polarization: (-0.62593,-0.60782,-0.48864) + New Momentum Direction: (0.50818,-0.77129,-0.38323) + New Polarization: (-0.85538,-0.40012,-0.32899) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 434, parentID 1) is processed with stopping code 2 +Track (trackID 456, parentID 1) is processed with stopping code 2 ### pop requested out of 153 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.6953,0.41195,0.58895) -Old Polarization: (-0.71174,0.28073,0.64391) -New Polarization: (-0.27553,0.51806,0.64063) -Polarization Change: (-0.31716,0.59633,0.73742) -New Momentum Direction: (-0.89611,-0.44235,-0.027699) -Momentum Change: (-0.89636,-0.44247,-0.027706) - -** Photon Absorbed! ** -Track (trackID 433, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74273,0.6679,0.047552) + Old Polarization: (-0.65873,0.74158,-0.12703) + New Momentum Direction: (0.41288,0.90848,0.064682) + New Polarization: (-0.90399,0.41743,-0.092528) + *** FresnelRefraction *** +Track (trackID 455, parentID 1) is processed with stopping code 2 ### pop requested out of 152 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66088,0.74764,-0.065386) - Old Polarization: (-0.75039,0.65682,-0.074152) - New Momentum Direction: (0.89165,0.44405,-0.088218) - New Polarization: (0.42953,-0.89132,-0.14505) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 432, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. + Old Momentum Direction: (0.67269,0.40861,0.61687) + Old Polarization: (-0.73534,0.46191,0.4959) + New Momentum Direction: (-0.67269,0.40861,0.61687) + New Polarization: (-0.73534,-0.46191,-0.4959) + *** TotalInternalReflection *** Photon at Boundary! - Old Momentum Direction: (0.81006,-0.57038,-0.13589) - Old Polarization: (-0.58592,-0.79624,-0.15066) - New Momentum Direction: (0.60664,-0.77333,-0.18424) - New Polarization: (-0.79469,-0.59613,-0.11444) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 431, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.67269,0.40861,0.61687) + Old Polarization: (-0.73534,-0.46191,-0.4959) + New Momentum Direction: (-0.67269,0.40861,-0.61687) + New Polarization: (0.73534,0.46191,-0.4959) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67269,0.40861,-0.61687) + Old Polarization: (0.73534,0.46191,-0.4959) + New Momentum Direction: (-0.67269,-0.40861,-0.61687) + New Polarization: (-0.73534,0.46191,0.4959) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 454, parentID 1) is processed with stopping code 2 +### pop requested out of 151 stacked tracks. + +** Photon absorbed! ** +Track (trackID 453, parentID 1) is processed with stopping code 2 ### pop requested out of 150 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66435,0.70771,-0.24038) - Old Polarization: (-0.74621,0.6098,-0.26705) - New Momentum Direction: (0.89796,0.29682,-0.32491) - New Polarization: (0.13896,-0.89177,-0.43062) + Old Momentum Direction: (0.69155,-0.58669,0.42136) + Old Polarization: (-0.71539,-0.63695,0.28726) + New Momentum Direction: (0.22856,-0.79073,0.5679) + New Polarization: (-0.96968,-0.23673,0.060643) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 430, parentID 1) is processed with stopping code 2 +Track (trackID 452, parentID 1) is processed with stopping code 2 ### pop requested out of 149 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.71778,0.19902,0.66722) -Old Polarization: (-0.687,0.04655,0.72517) -New Polarization: (-0.55402,0.18347,0.72031) -Polarization Change: (-0.59761,0.1979,0.77698) -New Momentum Direction: (-0.75044,-0.11786,-0.54717) -Momentum Change: (-0.80159,-0.1259,-0.58447) - -** Photon Absorbed! ** -Track (trackID 429, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73181,-0.68071,0.032957) + Old Polarization: (-0.67061,-0.72789,-0.14305) + New Momentum Direction: (0.37728,-0.92502,0.044785) + New Polarization: (-0.91941,-0.37992,-0.1017) + *** FresnelRefraction *** +Track (trackID 451, parentID 1) is processed with stopping code 2 ### pop requested out of 148 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71993,0.20315,-0.66365) - Old Polarization: (-0.6847,0.051474,-0.727) - New Momentum Direction: (0.33455,0.27584,-0.90111) - New Polarization: (-0.9368,-0.0065356,-0.3498) + Old Momentum Direction: (0.81591,-0.15711,-0.55643) + Old Polarization: (-0.57702,-0.16023,-0.80086) + New Momentum Direction: (0.6279,-0.21149,-0.74901) + New Polarization: (-0.77749,-0.12677,-0.61598) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 428, parentID 1) is processed with stopping code 2 +Track (trackID 450, parentID 1) is processed with stopping code 2 ### pop requested out of 147 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67422,0.62998,-0.38541) - Old Polarization: (-0.73546,0.52524,-0.42805) - New Momentum Direction: (0.073634,0.85071,-0.52045) - New Polarization: (-0.99588,0.03499,-0.083705) + Old Momentum Direction: (0.77932,0.57974,-0.23781) + Old Polarization: (-0.61849,0.65072,-0.44048) + New Momentum Direction: (0.52797,0.78573,-0.32231) + New Polarization: (-0.84387,0.44265,-0.30322) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 427, parentID 1) is processed with stopping code 2 +Track (trackID 449, parentID 1) is processed with stopping code 2 ### pop requested out of 146 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80365,-0.53342,0.26384) - Old Polarization: (-0.59333,-0.75237,0.28619) - New Momentum Direction: (0.58826,-0.72485,0.35852) - New Polarization: (-0.80748,-0.55053,0.21187) + Old Momentum Direction: (0.78176,0.57362,-0.24455) + Old Polarization: (-0.61556,0.64719,-0.4497) + New Momentum Direction: (0.53755,0.77568,-0.33069) + New Polarization: (-0.83787,0.44719,-0.31303) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 426, parentID 1) is processed with stopping code 2 +Track (trackID 448, parentID 1) is processed with stopping code 2 ### pop requested out of 145 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81019,-0.53647,0.23619) - Old Polarization: (-0.58469,-0.76821,0.26076) - New Momentum Direction: (0.61314,-0.723,0.31831) - New Polarization: (-0.78896,-0.58081,0.20048) + Old Momentum Direction: (0.66564,-0.42874,0.61082) + Old Polarization: (-0.74316,-0.45543,0.4902) + New Momentum Direction: (-0.66564,-0.42874,0.61082) + New Polarization: (-0.74316,0.45543,-0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66564,-0.42874,0.61082) + Old Polarization: (-0.74316,0.45543,-0.4902) + New Momentum Direction: (-0.66564,-0.42874,-0.61082) + New Polarization: (0.74316,-0.45543,-0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66564,-0.42874,-0.61082) + Old Polarization: (0.74316,-0.45543,-0.4902) + New Momentum Direction: (-0.66564,0.42874,-0.61082) + New Polarization: (-0.74316,-0.45543,0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66564,0.42874,-0.61082) + Old Polarization: (-0.74316,-0.45543,0.4902) + New Momentum Direction: (0.66564,0.42874,-0.61082) + New Polarization: (-0.74316,0.45543,-0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66564,0.42874,-0.61082) + Old Polarization: (-0.74316,0.45543,-0.4902) + New Momentum Direction: (0.66564,0.42874,0.61082) + New Polarization: (0.74316,-0.45543,-0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66564,0.42874,0.61082) + Old Polarization: (0.74316,-0.45543,-0.4902) + New Momentum Direction: (0.66564,-0.42874,0.61082) + New Polarization: (-0.74316,-0.45543,0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66564,-0.42874,0.61082) + Old Polarization: (-0.74316,-0.45543,0.4902) + New Momentum Direction: (-0.66564,-0.42874,0.61082) + New Polarization: (-0.74316,0.45543,-0.4902) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66564,-0.42874,0.61082) + Old Polarization: (-0.74316,0.45543,-0.4902) + New Momentum Direction: (-0.66564,-0.42874,-0.61082) + New Polarization: (0.74316,-0.45543,-0.4902) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.66564,-0.42874,-0.61082) +Old Polarization: (0.74316,-0.45543,-0.4902) +New Polarization: (0.61812,-0.33892,-0.59702) +Polarization Change: (0.66912,-0.36688,-0.64628) +New Momentum Direction: (-0.63509,-0.71823,-0.2498) +Momentum Change: (-0.64102,-0.72493,-0.25213) + Photon at Boundary! + Old Momentum Direction: (-0.64102,-0.72493,-0.25213) + Old Polarization: (0.66912,-0.36688,-0.64628) + New Momentum Direction: (0.64102,-0.72493,-0.25213) + New Polarization: (0.66912,0.36688,0.64628) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.64102,-0.72493,-0.25213) + Old Polarization: (0.66912,0.36688,0.64628) + New Momentum Direction: (0.86904,-0.35766,-0.34182) + New Polarization: (0.49464,0.64152,0.58633) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 425, parentID 1) is processed with stopping code 2 +Track (trackID 447, parentID 1) is processed with stopping code 2 ### pop requested out of 144 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69885,0.38717,0.60142) - Old Polarization: (-0.70793,0.25425,0.65894) - New Momentum Direction: (0.24708,0.52451,0.81476) - New Polarization: (-0.9649,0.055921,0.25661) + Old Momentum Direction: (0.73432,0.65193,0.18911) + Old Polarization: (-0.66792,0.74363,0.029985) + New Momentum Direction: (0.40963,0.87614,0.25415) + New Polarization: (-0.90531,0.42472,-0.0050327) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 424, parentID 1) is processed with stopping code 2 +Track (trackID 446, parentID 1) is processed with stopping code 2 ### pop requested out of 143 stacked tracks. -** Photon Absorbed! ** -Track (trackID 423, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 445, parentID 1) is processed with stopping code 2 ### pop requested out of 142 stacked tracks. -** Photon Absorbed! ** -Track (trackID 422, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 444, parentID 1) is processed with stopping code 2 ### pop requested out of 141 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71052,0.26943,0.65005) - Old Polarization: (-0.69496,0.12377,0.70831) - New Momentum Direction: (0.29417,0.36595,0.88292) - New Polarization: (-0.95072,0.017309,0.30958) + Old Momentum Direction: (0.68928,0.53797,0.48526) + Old Polarization: (-0.71707,0.60223,0.3509) + New Momentum Direction: (-0.68928,0.53797,0.48526) + New Polarization: (-0.7098,-0.63566,-0.30351) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68928,0.53797,0.48526) + Old Polarization: (-0.7098,-0.63566,-0.30351) + New Momentum Direction: (-0.68928,-0.53797,0.48526) + New Polarization: (0.7098,-0.63566,0.30351) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.68928,-0.53797,0.48526) +Old Polarization: (0.7098,-0.63566,0.30351) +New Polarization: (-0.08163,-0.4804,0.76512) +Polarization Change: (-0.089988,-0.52959,0.84346) +New Momentum Direction: (-0.44316,0.71962,0.40455) +Momentum Change: (-0.47297,0.76803,0.43177) + Photon at Boundary! + Old Momentum Direction: (-0.47297,0.76803,0.43177) + Old Polarization: (-0.089988,-0.52959,0.84346) + New Momentum Direction: (-0.64233,0.49355,0.58637) + New Polarization: (-0.043963,-0.78753,0.6147) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 421, parentID 1) is processed with stopping code 2 +Track (trackID 443, parentID 1) is processed with stopping code 2 ### pop requested out of 140 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74988,-0.038002,-0.66048) - Old Polarization: (-0.65186,-0.2129,-0.72784) - New Momentum Direction: (-0.74988,-0.038002,-0.66048) - New Polarization: (-0.56269,0.56169,0.60654) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.74988,-0.038002,-0.66048) - Old Polarization: (-0.56269,0.56169,0.60654) - New Momentum Direction: (-0.74988,-0.038002,0.66048) - New Polarization: (0.56269,-0.56169,0.60654) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.74988,-0.038002,0.66048) -Old Polarization: (0.56269,-0.56169,0.60654) -New Polarization: (0.71063,-0.34272,0.41618) -Polarization Change: (0.79667,-0.38421,0.46657) -New Momentum Direction: (0.51095,0.83208,-0.18725) -Momentum Change: (0.51392,0.83691,-0.18833) - -** Photon Absorbed! ** -Track (trackID 420, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.7192,0.18948,0.66847) -Old Polarization: (-0.68546,0.036262,0.7272) -New Polarization: (-0.85244,-0.029657,0.15117) -Polarization Change: (-0.98406,-0.034236,0.17452) -New Momentum Direction: (0.069705,0.77252,0.5446) -Momentum Change: (0.073547,0.81511,0.57462) - Photon at Boundary! - Old Momentum Direction: (0.073547,0.81511,0.57462) - Old Polarization: (-0.98406,-0.034236,0.17452) - New Momentum Direction: (0.09997,0.61639,0.78107) - New Polarization: (-0.98189,-0.06587,0.17766) + Old Momentum Direction: (0.70166,0.57249,0.42418) + Old Polarization: (-0.70404,0.64861,0.2892) + New Momentum Direction: (0.27411,0.77271,0.57253) + New Polarization: (-0.95681,0.27905,0.081473) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 419, parentID 1) is processed with stopping code 2 +Track (trackID 442, parentID 1) is processed with stopping code 2 +### pop requested out of 139 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67636,0.43244,0.59627) + Old Polarization: (-0.73149,0.48931,0.47487) + New Momentum Direction: (-0.67636,0.43244,0.59627) + New Polarization: (-0.7302,-0.49988,-0.46575) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67636,0.43244,0.59627) + Old Polarization: (-0.7302,-0.49988,-0.46575) + New Momentum Direction: (-0.67636,0.43244,-0.59627) + New Polarization: (0.7302,0.49988,-0.46575) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67636,0.43244,-0.59627) + Old Polarization: (0.7302,0.49988,-0.46575) + New Momentum Direction: (-0.67636,-0.43244,-0.59627) + New Polarization: (-0.7302,0.49988,0.46575) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67636,-0.43244,-0.59627) + Old Polarization: (-0.7302,0.49988,0.46575) + New Momentum Direction: (-0.061808,-0.58597,-0.80797) + New Polarization: (0.99523,0.025084,-0.094325) + *** FresnelRefraction *** +Track (trackID 441, parentID 1) is processed with stopping code 2 ### pop requested out of 138 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69768,0.38127,0.60653) - Old Polarization: (-0.709,0.24598,0.66092) - New Momentum Direction: (0.23098,0.5178,0.82373) - New Polarization: (-0.9689,0.045177,0.24329) + Old Momentum Direction: (0.81529,0.074799,-0.5742) + Old Polarization: (-0.57903,0.09672,-0.80955) + New Momentum Direction: (0.61975,0.10138,-0.77822) + New Polarization: (-0.78478,0.073971,-0.61534) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 418, parentID 1) is processed with stopping code 2 +Track (trackID 440, parentID 1) is processed with stopping code 2 ### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81011,-0.51735,-0.27581) - Old Polarization: (-0.58441,-0.75008,-0.30958) - New Momentum Direction: (0.61504,-0.69579,-0.37094) - New Polarization: (-0.78721,-0.56867,-0.23857) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 417, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67147,0.60787,-0.42381) - Old Polarization: (-0.73741,0.49168,-0.46312) - New Momentum Direction: (-0.67147,0.60787,-0.42381) - New Polarization: (-0.73741,-0.49168,0.46312) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67147,0.60787,-0.42381) - Old Polarization: (-0.73741,-0.49168,0.46312) - New Momentum Direction: (-0.67147,-0.60787,-0.42381) - New Polarization: (0.73741,-0.49168,-0.46312) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67147,-0.60787,-0.42381) - Old Polarization: (0.73741,-0.49168,-0.46312) - New Momentum Direction: (-0.67147,-0.60787,0.42381) - New Polarization: (-0.73741,0.49168,-0.46312) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 416, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 439, parentID 1) is processed with stopping code 2 +### pop requested out of 136 stacked tracks. + +** Photon absorbed! ** +Track (trackID 438, parentID 1) is processed with stopping code 2 ### pop requested out of 135 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78681,-0.32871,-0.52237) - Old Polarization: (-0.61069,-0.53714,-0.58184) - New Momentum Direction: (0.55483,-0.4431,-0.70415) - New Polarization: (-0.82758,-0.38074,-0.4125) + Old Momentum Direction: (0.72047,-0.68209,0.12521) + Old Polarization: (-0.68299,-0.7292,-0.042428) + New Momentum Direction: (0.33419,-0.92702,0.17017) + New Polarization: (-0.93624,-0.34729,-0.053261) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 415, parentID 1) is processed with stopping code 2 +Track (trackID 437, parentID 1) is processed with stopping code 2 ### pop requested out of 134 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80593,-0.49225,0.32889) - Old Polarization: (-0.58921,-0.72093,0.36482) - New Momentum Direction: (0.6042,-0.66256,0.44267) - New Polarization: (-0.79491,-0.53971,0.27717) + Old Momentum Direction: (0.71093,0.59597,0.37337) + Old Polarization: (-0.69403,0.6803,0.23561) + New Momentum Direction: (0.3253,0.80134,0.50203) + New Polarization: (-0.94003,0.33162,0.079783) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 414, parentID 1) is processed with stopping code 2 +Track (trackID 436, parentID 1) is processed with stopping code 2 ### pop requested out of 133 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69339,0.41759,0.58722) - Old Polarization: (-0.71367,0.28556,0.63963) - New Momentum Direction: (0.2052,0.5672,0.7976) - New Polarization: (-0.97504,0.047903,0.21678) + Old Momentum Direction: (0.80985,-0.22619,-0.54128) + Old Polarization: (-0.58462,-0.23463,-0.77664) + New Momentum Direction: (0.60869,-0.30592,-0.73206) + New Polarization: (-0.79203,-0.17995,-0.58336) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 413, parentID 1) is processed with stopping code 2 +Track (trackID 435, parentID 1) is processed with stopping code 2 ### pop requested out of 132 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69832,0.43215,0.57061) - Old Polarization: (-0.7091,0.30895,0.63382) - New Momentum Direction: (0.26707,0.58181,0.76823) - New Polarization: (-0.95983,0.089459,0.26593) + Old Momentum Direction: (0.702,0.58605,0.40464) + Old Polarization: (-0.70342,0.6594,0.26532) + New Momentum Direction: (0.26579,0.79331,0.54774) + New Polarization: (-0.95905,0.27529,0.06666) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 412, parentID 1) is processed with stopping code 2 +Track (trackID 434, parentID 1) is processed with stopping code 2 ### pop requested out of 131 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76529,-0.14829,-0.62637) - Old Polarization: (-0.63466,-0.3362,-0.69583) - New Momentum Direction: (0.49565,-0.20009,-0.84516) - New Polarization: (-0.86257,-0.22714,-0.45208) + Old Momentum Direction: (0.80723,-0.26308,-0.52836) + Old Polarization: (-0.58766,-0.27472,-0.76104) + New Momentum Direction: (0.60133,-0.35613,-0.71524) + New Polarization: (-0.79726,-0.20827,-0.56657) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 411, parentID 1) is processed with stopping code 2 +Track (trackID 433, parentID 1) is processed with stopping code 2 ### pop requested out of 130 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69472,0.43472,-0.57304) - Old Polarization: (-0.71247,0.30654,-0.63121) - New Momentum Direction: (0.22505,0.58888,-0.77625) - New Polarization: (-0.97062,0.0659,-0.23141) + Old Momentum Direction: (0.72,0.63861,0.27164) + Old Polarization: (-0.68369,0.71988,0.11975) + New Momentum Direction: (0.34713,0.86299,0.36708) + New Polarization: (-0.93156,0.36244,0.028855) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 410, parentID 1) is processed with stopping code 2 +Track (trackID 432, parentID 1) is processed with stopping code 2 ### pop requested out of 129 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73558,0.10329,0.66952) - Old Polarization: (-0.66759,-0.057339,0.74231) - New Momentum Direction: (0.40806,0.1392,0.90228) - New Polarization: (-0.90672,-0.053526,0.41833) + Old Momentum Direction: (0.70594,-0.66388,0.2468) + Old Polarization: (-0.69884,-0.70957,0.090214) + New Momentum Direction: (0.27143,-0.90214,0.33537) + New Polarization: (-0.9571,-0.28972,-0.0047192) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 409, parentID 1) is processed with stopping code 2 +Track (trackID 431, parentID 1) is processed with stopping code 2 ### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72187,0.22979,0.65276) - Old Polarization: (-0.68288,0.083685,0.72572) - New Momentum Direction: (0.36386,0.3093,0.8786) - New Polarization: (-0.9258,0.016315,0.37766) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 408, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 430, parentID 1) is processed with stopping code 2 ### pop requested out of 127 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69279,0.42887,-0.57975) - Old Polarization: (-0.71425,0.2972,-0.63366) - New Momentum Direction: (-0.69279,0.42887,-0.57975) - New Polarization: (-0.7063,-0.24129,0.66552) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69279,0.42887,-0.57975) - Old Polarization: (-0.7063,-0.24129,0.66552) - New Momentum Direction: (-0.69279,0.42887,0.57975) - New Polarization: (0.7063,0.24129,0.66552) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69279,0.42887,0.57975) - Old Polarization: (0.7063,0.24129,0.66552) - New Momentum Direction: (-0.69279,-0.42887,0.57975) - New Polarization: (-0.7063,0.24129,-0.66552) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.69279,-0.42887,0.57975) -Old Polarization: (-0.7063,0.24129,-0.66552) -New Polarization: (-0.73589,0.16914,-0.58171) -Polarization Change: (-0.77204,0.17745,-0.61029) -New Momentum Direction: (0.27805,0.95731,-0.073395) -Momentum Change: (0.27817,0.95772,-0.073426) - Photon at Boundary! - Old Momentum Direction: (0.27817,0.95772,-0.073426) - Old Polarization: (-0.77204,0.17745,-0.61029) - New Momentum Direction: (0.37815,0.92035,-0.099816) - New Polarization: (0.47651,-0.28595,-0.83136) + Old Momentum Direction: (0.66366,0.29185,0.68875) + Old Polarization: (-0.74542,0.33497,0.57632) + New Momentum Direction: (0.89932,0.39548,0.18658) + New Polarization: (-0.017922,0.45965,-0.88792) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 407, parentID 1) is processed with stopping code 2 +Track (trackID 429, parentID 1) is processed with stopping code 2 ### pop requested out of 126 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76358,-0.19351,0.61603) - Old Polarization: (-0.63707,-0.38127,0.6699) - New Momentum Direction: (0.47909,-0.26305,0.83743) - New Polarization: (-0.87218,-0.2501,0.42041) + Old Momentum Direction: (0.78727,-0.47063,-0.3984) + Old Polarization: (-0.60998,-0.49993,-0.61481) + New Momentum Direction: (0.54717,-0.63886,-0.5408) + New Polarization: (-0.83261,-0.34915,-0.42996) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 406, parentID 1) is processed with stopping code 2 +Track (trackID 428, parentID 1) is processed with stopping code 2 ### pop requested out of 125 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.80732,-0.30494,-0.50522) +Old Polarization: (-0.58678,-0.32402,-0.74209) +New Polarization: (-0.30045,0.10902,-0.80623) +Polarization Change: (-0.34643,0.12571,-0.92962) +New Momentum Direction: (-0.81228,0.07333,0.31262) +Momentum Change: (-0.92997,0.083956,0.35791) -** Photon Absorbed! ** -Track (trackID 405, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 427, parentID 1) is processed with stopping code 2 ### pop requested out of 124 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81005,-0.57724,-0.10304) - Old Polarization: (-0.58613,-0.80211,-0.11438) - New Momentum Direction: (0.60552,-0.78345,-0.13985) - New Polarization: (-0.79567,-0.59949,-0.0867) + Old Momentum Direction: (0.81351,0.13676,-0.56525) + Old Polarization: (-0.58133,0.16409,-0.79695) + New Momentum Direction: (0.61366,0.18568,-0.76743) + New Polarization: (-0.78942,0.12512,-0.60097) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 404, parentID 1) is processed with stopping code 2 +Track (trackID 426, parentID 1) is processed with stopping code 2 ### pop requested out of 123 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79855,-0.41461,-0.43637) - Old Polarization: (-0.59728,-0.63567,-0.48906) - New Momentum Direction: (0.58732,-0.55748,-0.58674) - New Polarization: (-0.80618,-0.46711,-0.36315) + Old Momentum Direction: (0.68302,-0.57694,0.44792) + Old Polarization: (-0.72395,-0.61605,0.31043) + New Momentum Direction: (-0.68302,-0.57694,0.44792) + New Polarization: (-0.71995,0.63517,-0.27971) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68302,-0.57694,0.44792) + Old Polarization: (-0.71995,0.63517,-0.27971) + New Momentum Direction: (-0.68302,0.57694,0.44792) + New Polarization: (0.71995,0.63517,0.27971) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68302,0.57694,0.44792) + Old Polarization: (0.71995,0.63517,0.27971) + New Momentum Direction: (-0.68302,0.57694,-0.44792) + New Polarization: (-0.71995,-0.63517,0.27971) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68302,0.57694,-0.44792) + Old Polarization: (-0.71995,-0.63517,0.27971) + New Momentum Direction: (0.68302,0.57694,-0.44792) + New Polarization: (0.71354,-0.39606,0.57792) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.68302,0.57694,-0.44792) + Old Polarization: (0.71354,-0.39606,0.57792) + New Momentum Direction: (0.68302,-0.57694,-0.44792) + New Polarization: (-0.71354,-0.39606,-0.57792) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.68302,-0.57694,-0.44792) + Old Polarization: (-0.71354,-0.39606,-0.57792) + New Momentum Direction: (0.68302,-0.57694,0.44792) + New Polarization: (0.71354,0.39606,-0.57792) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.68302,-0.57694,0.44792) + Old Polarization: (0.71354,0.39606,-0.57792) + New Momentum Direction: (0.12962,-0.78323,0.60808) + New Polarization: (-0.98317,-0.18112,-0.023715) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 403, parentID 1) is processed with stopping code 2 +Track (trackID 425, parentID 1) is processed with stopping code 2 ### pop requested out of 122 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67084,0.62105,-0.40531) - Old Polarization: (-0.73828,0.5076,-0.44417) - New Momentum Direction: (-0.67084,0.62105,-0.40531) - New Polarization: (-0.73828,-0.5076,0.44417) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67084,0.62105,-0.40531) - Old Polarization: (-0.73828,-0.5076,0.44417) - New Momentum Direction: (-0.67084,-0.62105,-0.40531) - New Polarization: (0.73828,-0.5076,-0.44417) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67084,-0.62105,-0.40531) - Old Polarization: (0.73828,-0.5076,-0.44417) - New Momentum Direction: (-0.67084,-0.62105,0.40531) - New Polarization: (-0.73828,0.5076,-0.44417) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67084,-0.62105,0.40531) - Old Polarization: (-0.73828,0.5076,-0.44417) - New Momentum Direction: (0.67084,-0.62105,0.40531) - New Polarization: (-0.73828,-0.5076,0.44417) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67084,-0.62105,0.40531) - Old Polarization: (-0.73828,-0.5076,0.44417) - New Momentum Direction: (0.67084,0.62105,0.40531) - New Polarization: (0.73828,-0.5076,-0.44417) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 402, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.80844,-0.24699,-0.53424) + Old Polarization: (-0.58625,-0.25729,-0.76819) + New Momentum Direction: (0.60479,-0.3342,-0.72287) + New Polarization: (-0.79481,-0.19611,-0.5743) + *** FresnelRefraction *** +Track (trackID 424, parentID 1) is processed with stopping code 2 ### pop requested out of 121 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69562,0.43601,0.57097) - Old Polarization: (-0.71179,0.31065,0.62996) - New Momentum Direction: (0.24263,0.58878,0.77102) - New Polarization: (-0.96642,0.077306,0.24508) + Old Momentum Direction: (0.67956,0.46012,0.57139) + Old Polarization: (-0.72795,0.51954,0.4474) + New Momentum Direction: (0.10739,0.62357,0.77436) + New Polarization: (-0.99151,0.12466,0.037118) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 401, parentID 1) is processed with stopping code 2 +Track (trackID 423, parentID 1) is processed with stopping code 2 ### pop requested out of 120 stacked tracks. -** Photon Absorbed! ** -Track (trackID 400, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 422, parentID 1) is processed with stopping code 2 ### pop requested out of 119 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 399, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.65016,-0.17101,0.7403) + Old Polarization: (-0.75954,-0.17165,0.6274) + New Momentum Direction: (0.88413,-0.23255,0.40525) + New Polarization: (0.31567,-0.34216,-0.88503) + *** FresnelRefraction *** +Track (trackID 421, parentID 1) is processed with stopping code 2 ### pop requested out of 118 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65933,0.74216,0.12037) - Old Polarization: (-0.75161,0.64648,0.13097) - New Momentum Direction: (0.89192,0.42187,0.16283) - New Polarization: (0.37513,-0.89134,0.25453) + Old Momentum Direction: (0.71427,-0.67767,0.1749) + Old Polarization: (-0.68974,-0.72397,0.011699) + New Momentum Direction: (0.30788,-0.92124,0.23776) + New Polarization: (-0.9455,-0.3241,-0.031433) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 398, parentID 1) is processed with stopping code 2 +Track (trackID 420, parentID 1) is processed with stopping code 2 ### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75385,-0.11217,0.64741) - Old Polarization: (-0.64771,-0.29242,0.70354) - New Momentum Direction: (-0.75385,-0.11217,0.64741) - New Polarization: (-0.55476,0.63664,-0.53566) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.75385,-0.11217,0.64741) - Old Polarization: (-0.55476,0.63664,-0.53566) - New Momentum Direction: (-0.75385,-0.11217,-0.64741) - New Polarization: (0.55476,-0.63664,-0.53566) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.75385,-0.11217,-0.64741) - Old Polarization: (0.55476,-0.63664,-0.53566) - New Momentum Direction: (-0.44903,-0.15253,-0.8804) - New Polarization: (0.82026,-0.4611,-0.33847) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 397, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 419, parentID 1) is processed with stopping code 2 ### pop requested out of 116 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71196,0.30992,0.63013) - Old Polarization: (-0.69387,0.17249,0.69914) - New Momentum Direction: (0.32418,0.41751,0.84888) - New Polarization: (-0.94098,0.050016,0.33475) + Old Momentum Direction: (0.79443,-0.43992,-0.41875) + Old Polarization: (-0.60129,-0.47254,-0.64433) + New Momentum Direction: (0.57291,-0.59366,-0.56509) + New Polarization: (-0.81551,-0.34395,-0.46545) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 396, parentID 1) is processed with stopping code 2 +Track (trackID 418, parentID 1) is processed with stopping code 2 ### pop requested out of 115 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80911,-0.50809,-0.29528) - Old Polarization: (-0.58552,-0.73985,-0.33136) - New Momentum Direction: (0.61273,-0.68328,-0.3971) - New Polarization: (-0.78882,-0.55942,-0.25458) + Old Momentum Direction: (0.66194,0.25157,0.70608) + Old Polarization: (-0.74749,0.29142,0.59693) + New Momentum Direction: (0.89604,0.34053,0.28487) + New Polarization: (0.10984,0.45166,-0.8854) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 395, parentID 1) is processed with stopping code 2 +Track (trackID 417, parentID 1) is processed with stopping code 2 ### pop requested out of 114 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70007,0.39779,-0.59302) - Old Polarization: (-0.70671,0.26703,-0.65517) - New Momentum Direction: (0.25873,0.5381,-0.80219) - New Polarization: (-0.96178,0.066476,-0.26561) + Old Momentum Direction: (0.81633,0.18989,-0.54548) + Old Polarization: (-0.57699,0.22519,-0.78509) + New Momentum Direction: (0.6267,0.2562,-0.73594) + New Polarization: (-0.77885,0.17532,-0.6022) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 394, parentID 1) is processed with stopping code 2 +Track (trackID 416, parentID 1) is processed with stopping code 2 ### pop requested out of 113 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 393, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.81105,-0.16086,-0.56243) + Old Polarization: (-0.5838,-0.1616,-0.79565) + New Momentum Direction: (0.60881,-0.21815,-0.76273) + New Polarization: (-0.79252,-0.12414,-0.59708) + *** FresnelRefraction *** +Track (trackID 415, parentID 1) is processed with stopping code 2 ### pop requested out of 112 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69069,0.46968,-0.54986) - Old Polarization: (-0.7169,0.345,-0.60582) - New Momentum Direction: (0.20129,0.63619,-0.74481) - New Polarization: (-0.97619,0.067579,-0.2061) + Old Momentum Direction: (0.72088,0.63206,0.2843) + Old Polarization: (-0.68284,0.71792,0.13534) + New Momentum Direction: (0.35868,0.85131,0.38291) + New Polarization: (-0.92716,0.37247,0.0404) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 392, parentID 1) is processed with stopping code 2 +Track (trackID 414, parentID 1) is processed with stopping code 2 ### pop requested out of 111 stacked tracks. -** Photon Absorbed! ** -Track (trackID 391, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 413, parentID 1) is processed with stopping code 2 ### pop requested out of 110 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79846,-0.45784,-0.39095) - Old Polarization: (-0.59841,-0.67488,-0.43179) - New Momentum Direction: (0.57943,-0.6198,-0.52925) - New Polarization: (-0.81256,-0.48972,-0.3161) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 390, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.65518,-0.31057,0.68868) + Old Polarization: (-0.7541,-0.32376,0.57142) + New Momentum Direction: (0.65518,-0.31057,-0.68868) + New Polarization: (-0.10776,0.86385,-0.49208) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.65518,-0.31057,-0.68868) + Old Polarization: (-0.10776,0.86385,-0.49208) + New Momentum Direction: (-0.65518,-0.31057,-0.68868) + New Polarization: (-0.10776,-0.86385,0.49208) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.65518,-0.31057,-0.68868) + Old Polarization: (-0.10776,-0.86385,0.49208) + New Momentum Direction: (-0.65518,0.31057,-0.68868) + New Polarization: (0.10776,-0.86385,-0.49208) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.65518,0.31057,-0.68868) + Old Polarization: (0.10776,-0.86385,-0.49208) + New Momentum Direction: (-0.65518,0.31057,0.68868) + New Polarization: (0.70164,0.58808,0.40231) + *** FresnelReflection *** +Scattering Photon! +Old Momentum Direction: (-0.65518,0.31057,0.68868) +Old Polarization: (0.70164,0.58808,0.40231) +New Polarization: (0.6768,0.5472,0.4382) +Polarization Change: (0.69456,0.56157,0.4497) +New Momentum Direction: (-0.15649,0.71878,-0.65589) +Momentum Change: (-0.15878,0.72931,-0.6655) + Photon at Boundary! + Old Momentum Direction: (-0.15878,0.72931,-0.6655) + Old Polarization: (0.69456,0.56157,0.4497) + New Momentum Direction: (-0.15878,0.72931,0.6655) + New Polarization: (-0.69456,-0.56157,0.4497) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.15878,0.72931,0.6655) + Old Polarization: (-0.69456,-0.56157,0.4497) + New Momentum Direction: (0.15878,0.72931,0.6655) + New Polarization: (-0.69456,0.56157,-0.4497) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 412, parentID 1) is processed with stopping code 2 ### pop requested out of 109 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81154,-0.58429,-5.8634e-05) - Old Polarization: (-0.58429,-0.81154,-0.0017307) - New Momentum Direction: (0.61029,-0.79218,-7.9496e-05) - New Polarization: (-0.79218,-0.61029,-0.0012268) + Old Momentum Direction: (0.72639,0.65469,0.20912) + Old Polarization: (-0.67659,0.73465,0.050179) + New Momentum Direction: (0.36632,0.88637,0.28312) + New Polarization: (-0.92393,0.38256,-0.0022683) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 389, parentID 1) is processed with stopping code 2 +Track (trackID 411, parentID 1) is processed with stopping code 2 ### pop requested out of 108 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 388, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.80925,-0.16703,-0.56321) + Old Polarization: (-0.58622,-0.16742,-0.79266) + New Momentum Direction: (0.6018,-0.22707,-0.76568) + New Polarization: (-0.79781,-0.12714,-0.58935) + *** FresnelRefraction *** +Track (trackID 410, parentID 1) is processed with stopping code 2 ### pop requested out of 107 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80152,-0.49428,-0.33654) - Old Polarization: (-0.59528,-0.71289,-0.37071) - New Momentum Direction: (0.58546,-0.67012,-0.45627) - New Polarization: (-0.80889,-0.52048,-0.2735) + Old Momentum Direction: (0.69307,0.56435,0.44851) + Old Polarization: (-0.71281,0.62929,0.30967) + New Momentum Direction: (0.19781,0.7674,0.60989) + New Polarization: (-0.97598,0.21215,0.049612) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 387, parentID 1) is processed with stopping code 2 +Track (trackID 409, parentID 1) is processed with stopping code 2 ### pop requested out of 106 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 386, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.79126,-0.46279,-0.39966) + Old Polarization: (-0.60492,-0.49695,-0.62219) + New Momentum Direction: (0.56386,-0.62505,-0.53978) + New Polarization: (-0.82144,-0.35686,-0.44485) + *** FresnelRefraction *** +Track (trackID 408, parentID 1) is processed with stopping code 2 ### pop requested out of 105 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69428,0.45832,-0.55491) - Old Polarization: (-0.71327,0.33529,-0.61549) - New Momentum Direction: (0.23535,0.61893,-0.74936) - New Polarization: (-0.96833,0.083231,-0.23537) + Old Momentum Direction: (0.65236,-0.10886,0.75005) + Old Polarization: (-0.75786,-0.10487,0.64393) + New Momentum Direction: (0.88383,-0.14749,0.44396) + New Polarization: (0.40637,-0.2281,-0.88478) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 385, parentID 1) is processed with stopping code 2 +Track (trackID 407, parentID 1) is processed with stopping code 2 ### pop requested out of 104 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65861,0.72493,-0.20179) - Old Polarization: (-0.75165,0.62108,-0.222) - New Momentum Direction: (0.89464,0.35282,-0.27411) - New Polarization: (0.23275,-0.89172,-0.38815) + Old Momentum Direction: (0.79368,0.50631,-0.33723) + Old Polarization: (-0.60217,0.57515,-0.55371) + New Momentum Direction: (0.57064,0.68348,-0.45523) + New Polarization: (-0.81703,0.41669,-0.39854) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 384, parentID 1) is processed with stopping code 2 +Track (trackID 406, parentID 1) is processed with stopping code 2 ### pop requested out of 103 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74655,-0.036237,-0.66435) - Old Polarization: (-0.65566,-0.20972,-0.72534) - New Momentum Direction: (0.42592,-0.049278,-0.90342) - New Polarization: (-0.89867,-0.13872,-0.41611) + Old Momentum Direction: (0.70903,-0.67211,0.21343) + Old Polarization: (-0.6954,-0.71663,0.053459) + New Momentum Direction: (0.28201,-0.91441,0.29038) + New Polarization: (-0.95382,-0.29984,-0.017869) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 383, parentID 1) is processed with stopping code 2 +Track (trackID 405, parentID 1) is processed with stopping code 2 ### pop requested out of 102 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.64944,-0.032167,0.75973) +Old Polarization: (-0.7604,-0.020458,0.64914) +New Polarization: (-0.81159,0.32948,-0.004999) +Polarization Change: (-0.92654,0.37614,-0.005707) +New Momentum Direction: (0.17761,0.42571,-0.77718) +Momentum Change: (0.19652,0.47105,-0.85994) -** Photon Absorbed! ** -Track (trackID 382, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 404, parentID 1) is processed with stopping code 2 ### pop requested out of 101 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81418,-0.5806,0.0030199) - Old Polarization: (-0.58061,-0.81418,0.001667) - New Momentum Direction: (0.62082,-0.78394,0.0040776) - New Polarization: (-0.78395,-0.62082,0.0014022) + Old Momentum Direction: (0.80882,0.32648,-0.48911) + Old Polarization: (-0.58579,0.37436,-0.71882) + New Momentum Direction: (0.60594,0.44165,-0.66165) + New Polarization: (-0.79397,0.284,-0.53755) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 381, parentID 1) is processed with stopping code 2 +Track (trackID 403, parentID 1) is processed with stopping code 2 ### pop requested out of 100 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74159,0.017433,-0.67063) - Old Polarization: (-0.66102,-0.15153,-0.73491) - New Momentum Direction: (0.41303,0.023666,-0.91041) - New Polarization: (-0.90455,-0.10548,-0.41311) + Old Momentum Direction: (0.65731,0.015498,0.75346) + Old Polarization: (-0.75349,0.031987,0.65668) + New Momentum Direction: (0.88562,0.020881,0.46394) + New Polarization: (0.46272,0.045348,-0.88534) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 380, parentID 1) is processed with stopping code 2 +Track (trackID 402, parentID 1) is processed with stopping code 2 ### pop requested out of 99 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80559,-0.51363,-0.29532) - Old Polarization: (-0.59038,-0.73777,-0.32732) - New Momentum Direction: (0.59836,-0.6946,-0.39937) - New Polarization: (-0.7998,-0.54748,-0.24613) + Old Momentum Direction: (0.80661,0.34134,-0.48256) + Old Polarization: (-0.58859,0.38897,-0.70871) + New Momentum Direction: (0.59831,0.46272,-0.65416) + New Polarization: (-0.79958,0.29186,-0.52487) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 379, parentID 1) is processed with stopping code 2 +Track (trackID 401, parentID 1) is processed with stopping code 2 ### pop requested out of 98 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76712,-0.15996,0.62124) - Old Polarization: (-0.63245,-0.35067,0.69068) - New Momentum Direction: (0.50453,-0.21529,0.83612) - New Polarization: (-0.85738,-0.23906,0.4558) + Old Momentum Direction: (0.76189,0.646,-0.047029) + Old Polarization: (-0.63718,0.7345,-0.23348) + New Momentum Direction: (0.48987,0.86949,-0.063301) + New Polarization: (-0.86483,0.47551,-0.16111) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 378, parentID 1) is processed with stopping code 2 +Track (trackID 400, parentID 1) is processed with stopping code 2 ### pop requested out of 97 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67818,0.58853,0.44012) - Old Polarization: (-0.7311,0.47952,0.48534) - New Momentum Direction: (0.12405,0.79465,0.59426) - New Polarization: (-0.99041,0.062422,0.12328) + Old Momentum Direction: (0.7293,0.66163,0.17426) + Old Polarization: (-0.67336,0.73922,0.011459) + New Momentum Direction: (0.37244,0.89745,0.23638) + New Polarization: (-0.92141,0.38801,-0.021355) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 377, parentID 1) is processed with stopping code 2 +Track (trackID 399, parentID 1) is processed with stopping code 2 ### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81555,-0.57154,-0.090684) - Old Polarization: (-0.5785,-0.80919,-0.10272) - New Momentum Direction: (0.6271,-0.76932,-0.12207) - New Polarization: (-0.77881,-0.62209,-0.080354) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 376, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 398, parentID 1) is processed with stopping code 2 ### pop requested out of 95 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.7107,-0.66863,0.21872) +Old Polarization: (-0.69374,-0.71771,0.060161) +New Polarization: (-0.8193,-0.26751,0.12326) +Polarization Change: (-0.94103,-0.30726,0.14158) +New Momentum Direction: (0.28276,-0.9408,-0.16236) +Momentum Change: (0.28398,-0.94486,-0.16306) Photon at Boundary! - Old Momentum Direction: (0.65552,0.75451,-0.031587) - Old Polarization: (-0.75515,0.65456,-0.036209) - New Momentum Direction: (0.88981,0.45432,-0.042876) - New Polarization: (0.45085,-0.88974,-0.071396) + Old Momentum Direction: (0.28398,-0.94486,-0.16306) + Old Polarization: (-0.94103,-0.30726,0.14158) + New Momentum Direction: (0.38517,-0.89595,-0.22117) + New Polarization: (0.6206,0.42885,-0.65646) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 375, parentID 1) is processed with stopping code 2 +Track (trackID 397, parentID 1) is processed with stopping code 2 ### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80692,-0.54739,0.22189) - Old Polarization: (-0.58938,-0.77089,0.24157) - New Momentum Direction: (0.59879,-0.74224,0.30088) - New Polarization: (-0.80004,-0.57176,0.18171) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 374, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 396, parentID 1) is processed with stopping code 2 ### pop requested out of 93 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80942,-0.56544,-0.1585) - Old Polarization: (-0.58665,-0.79062,-0.1754) - New Momentum Direction: (0.60492,-0.76673,-0.21492) - New Polarization: (-0.79589,-0.59067,-0.13293) + Old Momentum Direction: (0.72505,0.66172,0.19085) + Old Polarization: (-0.67797,0.73452,0.028898) + New Momentum Direction: (0.34939,0.90028,0.25966) + New Polarization: (-0.93053,0.36585,-0.016387) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 373, parentID 1) is processed with stopping code 2 +Track (trackID 395, parentID 1) is processed with stopping code 2 ### pop requested out of 92 stacked tracks. -** Photon Absorbed! ** -Track (trackID 372, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 394, parentID 1) is processed with stopping code 2 ### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65714,0.75211,0.050062) - Old Polarization: (-0.75373,0.65501,0.053315) - New Momentum Direction: (0.89029,0.45032,0.067824) - New Polarization: (0.44197,-0.8903,0.1097) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 371, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 393, parentID 1) is processed with stopping code 2 ### pop requested out of 90 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81376,-0.57294,-0.097595) - Old Polarization: (-0.58098,-0.80648,-0.10978) - New Momentum Direction: (0.62029,-0.77323,-0.13171) - New Polarization: (-0.78422,-0.61462,-0.085051) + Old Momentum Direction: (0.75996,-0.62463,-0.17969) + Old Polarization: (-0.63976,-0.67007,-0.37645) + New Momentum Direction: (0.47265,-0.8469,-0.24363) + New Polarization: (-0.87463,-0.41699,-0.24727) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 370, parentID 1) is processed with stopping code 2 +Track (trackID 392, parentID 1) is processed with stopping code 2 ### pop requested out of 89 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66613,0.66766,-0.33242) - Old Polarization: (-0.74359,0.55994,-0.36543) - New Momentum Direction: (-0.66613,0.66766,-0.33242) - New Polarization: (-0.74359,-0.55994,0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66613,0.66766,-0.33242) - Old Polarization: (-0.74359,-0.55994,0.36543) - New Momentum Direction: (-0.66613,-0.66766,-0.33242) - New Polarization: (0.74359,-0.55994,-0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66613,-0.66766,-0.33242) - Old Polarization: (0.74359,-0.55994,-0.36543) - New Momentum Direction: (-0.66613,-0.66766,0.33242) - New Polarization: (-0.74359,0.55994,-0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66613,-0.66766,0.33242) - Old Polarization: (-0.74359,0.55994,-0.36543) - New Momentum Direction: (-0.66613,0.66766,0.33242) - New Polarization: (0.74359,0.55994,0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66613,0.66766,0.33242) - Old Polarization: (0.74359,0.55994,0.36543) - New Momentum Direction: (0.66613,0.66766,0.33242) - New Polarization: (0.74359,-0.55994,-0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66613,0.66766,0.33242) - Old Polarization: (0.74359,-0.55994,-0.36543) - New Momentum Direction: (0.66613,-0.66766,0.33242) - New Polarization: (-0.74359,-0.55994,0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66613,-0.66766,0.33242) - Old Polarization: (-0.74359,-0.55994,0.36543) - New Momentum Direction: (-0.66613,-0.66766,0.33242) - New Polarization: (-0.74359,0.55994,-0.36543) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 369, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.65085,-0.051827,0.75744) + Old Polarization: (-0.7592,-0.042077,0.64949) + New Momentum Direction: (0.88318,-0.070327,0.46374) + New Polarization: (0.45556,-0.10672,-0.88379) + *** FresnelRefraction *** +Track (trackID 391, parentID 1) is processed with stopping code 2 ### pop requested out of 88 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65776,0.72522,-0.20348) - Old Polarization: (-0.75237,0.61973,-0.22332) - New Momentum Direction: (0.65776,-0.72522,-0.20348) - New Polarization: (-0.24212,-0.45939,0.8546) - *** FresnelReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 368, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.65966,-0.36248,0.65838) + Old Polarization: (-0.74953,-0.38179,0.54078) + New Momentum Direction: (-0.65966,-0.36248,0.65838) + New Polarization: (-0.74953,0.38179,-0.54078) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.65966,-0.36248,0.65838) + Old Polarization: (-0.74953,0.38179,-0.54078) + New Momentum Direction: (-0.65966,-0.36248,-0.65838) + New Polarization: (0.74953,-0.38179,-0.54078) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.65966,-0.36248,-0.65838) + Old Polarization: (0.74953,-0.38179,-0.54078) + New Momentum Direction: (-0.65966,0.36248,-0.65838) + New Polarization: (-0.74953,-0.38179,0.54078) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.65966,0.36248,-0.65838) +Old Polarization: (-0.74953,-0.38179,0.54078) +New Polarization: (-0.71844,0.17324,0.45168) +Polarization Change: (-0.82948,0.20002,0.52149) +New Momentum Direction: (0.49513,0.26963,0.68415) +Momentum Change: (0.55852,0.30414,0.77172) + Photon at Boundary! + Old Momentum Direction: (0.55852,0.30414,0.77172) + Old Polarization: (-0.82948,0.20002,0.52149) + New Momentum Direction: (0.75806,0.41281,0.50491) + New Polarization: (0.19145,0.59922,-0.77735) + *** FresnelRefraction *** +Track (trackID 390, parentID 1) is processed with stopping code 2 ### pop requested out of 87 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69857,0.36948,0.61277) - Old Polarization: (-0.70797,0.23268,0.66681) - New Momentum Direction: (0.23337,0.5021,0.83273) - New Polarization: (-0.96824,0.040986,0.24664) + Old Momentum Direction: (0.66592,-0.44069,0.60195) + Old Polarization: (-0.74271,-0.46756,0.47934) + New Momentum Direction: (-0.66592,-0.44069,0.60195) + New Polarization: (-0.74271,0.46756,-0.47934) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66592,-0.44069,0.60195) + Old Polarization: (-0.74271,0.46756,-0.47934) + New Momentum Direction: (-0.66592,-0.44069,-0.60195) + New Polarization: (0.74271,-0.46756,-0.47934) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66592,-0.44069,-0.60195) + Old Polarization: (0.74271,-0.46756,-0.47934) + New Momentum Direction: (-0.66592,0.44069,-0.60195) + New Polarization: (-0.74271,-0.46756,0.47934) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66592,0.44069,-0.60195) + Old Polarization: (-0.74271,-0.46756,0.47934) + New Momentum Direction: (0.66592,0.44069,-0.60195) + New Polarization: (-0.74271,0.46756,-0.47934) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66592,0.44069,-0.60195) + Old Polarization: (-0.74271,0.46756,-0.47934) + New Momentum Direction: (0.66592,0.44069,0.60195) + New Polarization: (0.74271,-0.46756,-0.47934) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (0.66592,0.44069,0.60195) +Old Polarization: (0.74271,-0.46756,-0.47934) +New Polarization: (0.78928,-0.35981,-0.32326) +Polarization Change: (0.85263,-0.38869,-0.34921) +New Momentum Direction: (0.34696,-0.011224,0.85964) +Momentum Change: (0.37425,-0.012107,0.92725) + Photon at Boundary! + Old Momentum Direction: (0.37425,-0.012107,0.92725) + Old Polarization: (0.85263,-0.38869,-0.34921) + New Momentum Direction: (0.50785,-0.016429,0.86129) + New Polarization: (0.81974,-0.2981,-0.48904) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 367, parentID 1) is processed with stopping code 2 +Track (trackID 389, parentID 1) is processed with stopping code 2 ### pop requested out of 86 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.80326,-0.52077,-0.28908) -Old Polarization: (-0.59365,-0.73945,-0.31748) -New Polarization: (-0.55191,-0.68037,-0.38808) -Polarization Change: (-0.576,-0.71006,-0.40502) -New Momentum Direction: (0.2694,-0.61869,0.70153) -Momentum Change: (0.27676,-0.6356,0.72071) - -** Photon Absorbed! ** -Track (trackID 366, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.79217,-0.4191,-0.44365) + Old Polarization: (-0.60484,-0.4421,-0.66236) + New Momentum Direction: (0.55821,-0.56976,-0.60314) + New Polarization: (-0.82606,-0.31364,-0.46825) + *** FresnelRefraction *** +Track (trackID 388, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.7335,0.078691,-0.67512) -Old Polarization: (-0.66987,-0.084537,-0.73765) -New Polarization: (-0.59029,0.029991,-0.73627) -Polarization Change: (-0.62521,0.031764,-0.77981) -New Momentum Direction: (-0.1243,0.9793,0.13955) -Momentum Change: (-0.12468,0.98227,0.13997) -Scattering Photon! -Old Momentum Direction: (-0.12468,0.98227,0.13997) -Old Polarization: (-0.62521,0.031764,-0.77981) -New Polarization: (-0.37938,-0.15477,-0.79632) -Polarization Change: (-0.42363,-0.17282,-0.8892) -New Momentum Direction: (-0.82496,0.24185,0.34603) -Momentum Change: (-0.89021,0.26098,0.37339) - -** Photon Absorbed! ** -Track (trackID 365, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.80939,0.31371,-0.49647) + Old Polarization: (-0.58522,0.36009,-0.72654) + New Momentum Direction: (0.60705,0.42449,-0.67179) + New Polarization: (-0.79326,0.27352,-0.54398) + *** FresnelRefraction *** +Track (trackID 387, parentID 1) is processed with stopping code 2 ### pop requested out of 84 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70992,0.31301,-0.6309) - Old Polarization: (-0.69586,0.17359,-0.69689) - New Momentum Direction: (0.30384,0.42343,-0.85346) - New Polarization: (-0.94777,0.043167,-0.31601) + Old Momentum Direction: (0.79018,-0.44334,-0.42316) + Old Polarization: (-0.60687,-0.46957,-0.64126) + New Momentum Direction: (0.55422,-0.60212,-0.57471) + New Polarization: (-0.82836,-0.33133,-0.4517) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 364, parentID 1) is processed with stopping code 2 +Track (trackID 386, parentID 1) is processed with stopping code 2 ### pop requested out of 83 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.66653,0.35795,0.65392) + Old Polarization: (-0.74184,0.40511,0.53438) + New Momentum Direction: (-0.66653,0.35795,0.65392) + New Polarization: (-0.74184,-0.40511,-0.53438) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66653,0.35795,0.65392) + Old Polarization: (-0.74184,-0.40511,-0.53438) + New Momentum Direction: (-0.66653,0.35795,-0.65392) + New Polarization: (0.74184,0.40511,-0.53438) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66653,0.35795,-0.65392) + Old Polarization: (0.74184,0.40511,-0.53438) + New Momentum Direction: (-0.66653,-0.35795,-0.65392) + New Polarization: (-0.74184,0.40511,0.53438) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66653,-0.35795,-0.65392) + Old Polarization: (-0.74184,0.40511,0.53438) + New Momentum Direction: (0.66653,-0.35795,-0.65392) + New Polarization: (-0.74184,-0.40511,-0.53438) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66653,-0.35795,-0.65392) + Old Polarization: (-0.74184,-0.40511,-0.53438) + New Momentum Direction: (0.66653,-0.35795,0.65392) + New Polarization: (0.74184,0.40511,-0.53438) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 363, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 385, parentID 1) is processed with stopping code 2 ### pop requested out of 82 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80948,-0.54135,0.22733) - Old Polarization: (-0.58578,-0.77096,0.24995) - New Momentum Direction: (0.60967,-0.73083,0.3069) - New Polarization: (-0.79173,-0.58019,0.19116) + Old Momentum Direction: (0.79358,-0.44443,-0.41558) + Old Polarization: (-0.60232,-0.47693,-0.64012) + New Momentum Direction: (0.57009,-0.6001,-0.56115) + New Polarization: (-0.81742,-0.34563,-0.46082) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 362, parentID 1) is processed with stopping code 2 +Track (trackID 384, parentID 1) is processed with stopping code 2 ### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74522,-0.019739,-0.66653) - Old Polarization: (-0.65708,-0.19195,-0.72897) - New Momentum Direction: (0.42314,-0.026821,-0.90567) - New Polarization: (-0.89993,-0.12854,-0.41665) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 361, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 383, parentID 1) is processed with stopping code 2 ### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80865,-0.52465,0.26613) - Old Polarization: (-0.58644,-0.75479,0.29391) - New Momentum Direction: (0.60923,-0.70721,0.35874) - New Polarization: (-0.79173,-0.56803,0.22474) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 360, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 382, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70002,0.41385,0.58198) - Old Polarization: (-0.70716,0.28813,0.64568) - New Momentum Direction: (0.27315,0.55748,0.78397) - New Polarization: (-0.95795,0.083169,0.27462) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 359, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 381, parentID 1) is processed with stopping code 2 ### pop requested out of 78 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.67003,0.61932,-0.40927) -Old Polarization: (-0.73896,0.50396,-0.44717) -New Polarization: (-0.6422,0.58917,-0.33361) -Polarization Change: (-0.68818,0.63135,-0.3575) -New Momentum Direction: (0.7191,0.60328,-0.31884) -Momentum Change: (0.7254,0.60857,-0.32163) Photon at Boundary! - Old Momentum Direction: (0.7254,0.60857,-0.32163) - Old Polarization: (-0.68818,0.63135,-0.3575) - New Momentum Direction: (0.35109,0.82784,-0.43752) - New Polarization: (-0.93625,0.30387,-0.17635) + Old Momentum Direction: (0.74002,-0.67234,-0.017837) + Old Polarization: (-0.66161,-0.72293,-0.19912) + New Momentum Direction: (0.41108,-0.91128,-0.024175) + New Polarization: (-0.9047,-0.40457,-0.1336) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 358, parentID 1) is processed with stopping code 2 +Track (trackID 380, parentID 1) is processed with stopping code 2 ### pop requested out of 77 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65442,0.75612,0.0046241) - Old Polarization: (-0.75613,0.65441,0.0033823) - New Momentum Direction: (0.88936,0.45717,0.0062841) - New Polarization: (0.45711,-0.88936,0.0091862) + Old Momentum Direction: (0.78086,0.57094,-0.25355) + Old Polarization: (-0.61685,0.64052,-0.45742) + New Momentum Direction: (0.53161,0.77409,-0.34376) + New Polarization: (-0.84177,0.43789,-0.31571) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 357, parentID 1) is processed with stopping code 2 +Track (trackID 379, parentID 1) is processed with stopping code 2 ### pop requested out of 76 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77367,-0.23569,-0.58811) - Old Polarization: (-0.62558,-0.43126,-0.65013) - New Momentum Direction: (0.51556,-0.31875,-0.79536) - New Polarization: (-0.85155,-0.2937,-0.43428) + Old Momentum Direction: (0.79794,0.46031,-0.3891) + Old Polarization: (-0.59778,0.52178,-0.60861) + New Momentum Direction: (0.57892,0.62272,-0.52637) + New Polarization: (-0.81203,0.38186,-0.44135) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 356, parentID 1) is processed with stopping code 2 +Track (trackID 378, parentID 1) is processed with stopping code 2 ### pop requested out of 75 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76939,-0.21581,0.60123) - Old Polarization: (-0.63038,-0.4087,0.65999) - New Momentum Direction: (0.50242,-0.2921,0.81379) - New Polarization: (-0.8591,-0.27494,0.4317) + Old Momentum Direction: (0.81359,0.1321,-0.56623) + Old Polarization: (-0.58123,0.159,-0.79805) + New Momentum Direction: (0.61389,0.17935,-0.76875) + New Polarization: (-0.78926,0.12125,-0.60198) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 355, parentID 1) is processed with stopping code 2 +Track (trackID 377, parentID 1) is processed with stopping code 2 ### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73277,0.096656,-0.67357) - Old Polarization: (-0.67066,-0.064901,-0.73892) - New Momentum Direction: (0.38401,0.13115,-0.91397) - New Polarization: (-0.91727,-0.058993,-0.39386) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 354, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 376, parentID 1) is processed with stopping code 2 ### pop requested out of 73 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79556,-0.41401,-0.44235) - Old Polarization: (-0.60117,-0.63015,-0.49143) - New Momentum Direction: (0.57543,-0.55887,-0.59712) - New Polarization: (-0.81467,-0.456,-0.35829) + Old Momentum Direction: (0.6768,0.44235,0.58845) + Old Polarization: (-0.73089,0.49929,0.4653) + New Momentum Direction: (0.057156,0.5999,0.79803) + New Polarization: (-0.99602,0.089029,0.0044115) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 353, parentID 1) is processed with stopping code 2 +Track (trackID 375, parentID 1) is processed with stopping code 2 ### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67525,0.60565,-0.42097) - Old Polarization: (-0.73396,0.4952,-0.46485) - New Momentum Direction: (-0.67525,0.60565,-0.42097) - New Polarization: (-0.73315,-0.4886,0.47303) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67525,0.60565,-0.42097) - Old Polarization: (-0.73315,-0.4886,0.47303) - New Momentum Direction: (-0.67525,-0.60565,-0.42097) - New Polarization: (0.73315,-0.4886,-0.47303) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67525,-0.60565,-0.42097) - Old Polarization: (0.73315,-0.4886,-0.47303) - New Momentum Direction: (-0.67525,-0.60565,0.42097) - New Polarization: (-0.73315,0.4886,-0.47303) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67525,-0.60565,0.42097) - Old Polarization: (-0.73315,0.4886,-0.47303) - New Momentum Direction: (0.67525,-0.60565,0.42097) - New Polarization: (0.73216,0.61951,-0.28311) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67525,-0.60565,0.42097) - Old Polarization: (0.73216,0.61951,-0.28311) - New Momentum Direction: (0.67525,0.60565,0.42097) - New Polarization: (-0.73216,0.61951,0.28311) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.67525,0.60565,0.42097) -Old Polarization: (-0.73216,0.61951,0.28311) -New Polarization: (-0.46887,0.712,-0.15933) -Polarization Change: (-0.54062,0.82096,-0.18371) -New Momentum Direction: (-0.25954,0.015681,0.83384) -Momentum Change: (-0.29715,0.017954,0.95466) - Photon at Boundary! - Old Momentum Direction: (-0.29715,0.017954,0.95466) - Old Polarization: (-0.54062,0.82096,-0.18371) - New Momentum Direction: (-0.40224,0.024304,0.91521) - New Polarization: (-0.62577,0.72239,-0.29422) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 352, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 374, parentID 1) is processed with stopping code 2 ### pop requested out of 71 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74763,-0.058012,0.66157) - Old Polarization: (-0.65447,-0.23347,0.71914) - New Momentum Direction: (0.4296,-0.078882,0.89957) - New Polarization: (-0.89694,-0.15271,0.41495) + Old Momentum Direction: (0.64959,-0.13923,0.74743) + Old Polarization: (-0.76016,-0.13702,0.63513) + New Momentum Direction: (0.88338,-0.18933,0.42871) + New Polarization: (0.36782,-0.28679,-0.88457) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 351, parentID 1) is processed with stopping code 2 +Track (trackID 373, parentID 1) is processed with stopping code 2 ### pop requested out of 70 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81212,-0.56799,0.1336) - Old Polarization: (-0.58301,-0.79925,0.14596) - New Momentum Direction: (0.61526,-0.76738,0.1805) - New Polarization: (-0.78799,-0.60532,0.11251) + Old Momentum Direction: (0.77001,0.61836,-0.15721) + Old Polarization: (-0.6287,0.69335,-0.35215) + New Momentum Direction: (0.50249,0.83793,-0.21304) + New Polarization: (-0.85844,0.45423,-0.23823) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 350, parentID 1) is processed with stopping code 2 +Track (trackID 372, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 349, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.72561,-0.6832,0.082037) + Old Polarization: (-0.67737,-0.73017,-0.089508) + New Momentum Direction: (0.35381,-0.92865,0.11151) + New Polarization: (-0.92883,-0.36286,-0.074821) + *** FresnelRefraction *** +Track (trackID 371, parentID 1) is processed with stopping code 2 ### pop requested out of 68 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7191,0.23245,-0.65488) - Old Polarization: (-0.68573,0.084734,-0.7229) - New Momentum Direction: (0.3404,0.31453,-0.88611) - New Polarization: (-0.93475,0.011127,-0.35514) + Old Momentum Direction: (0.71581,-0.67809,0.16674) + Old Polarization: (-0.68808,-0.72563,0.0029524) + New Momentum Direction: (0.3166,-0.92112,0.2265) + New Polarization: (-0.94254,-0.33235,-0.034084) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 348, parentID 1) is processed with stopping code 2 +Track (trackID 370, parentID 1) is processed with stopping code 2 ### pop requested out of 67 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66444,0.69595,-0.27234) - Old Polarization: (-0.74581,0.5942,-0.30116) - New Momentum Direction: (0.89966,0.23373,-0.36875) - New Polarization: (0.048333,-0.89275,-0.44794) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 347, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.66574,0.3525,0.65767) + Old Polarization: (-0.74263,0.39886,0.53797) + New Momentum Direction: (-0.66574,0.3525,0.65767) + New Polarization: (-0.74263,-0.39886,-0.53797) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66574,0.3525,0.65767) + Old Polarization: (-0.74263,-0.39886,-0.53797) + New Momentum Direction: (-0.66574,0.3525,-0.65767) + New Polarization: (0.74263,0.39886,-0.53797) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 369, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. -** Photon Absorbed! ** -Track (trackID 346, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 368, parentID 1) is processed with stopping code 2 ### pop requested out of 65 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6956,0.44128,0.56693) - Old Polarization: (-0.71189,0.31716,0.6266) - New Momentum Direction: (0.24557,0.59542,0.76497) - New Polarization: (-0.96571,0.081633,0.24647) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 345, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.66839,-0.46914,0.5772) + Old Polarization: (-0.73995,-0.4983,0.45184) + New Momentum Direction: (-0.66839,-0.46914,0.5772) + New Polarization: (-0.73995,0.4983,-0.45184) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 367, parentID 1) is processed with stopping code 2 ### pop requested out of 64 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65661,0.75423,0.0010042) - Old Polarization: (-0.75423,0.65661,-0.00056512) - New Momentum Direction: (0.88998,0.45601,0.0013611) - New Polarization: (0.45601,-0.88998,0.0011004) + Old Momentum Direction: (0.79794,-0.42417,-0.42822) + Old Polarization: (-0.59697,-0.45813,-0.65859) + New Momentum Direction: (0.58503,-0.57074,-0.57619) + New Polarization: (-0.80707,-0.33975,-0.48292) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 344, parentID 1) is processed with stopping code 2 +Track (trackID 366, parentID 1) is processed with stopping code 2 ### pop requested out of 63 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68373,0.51258,0.51941) + Old Polarization: (-0.72296,0.57258,0.38662) + New Momentum Direction: (-0.68373,0.51258,0.51941) + New Polarization: (-0.71907,-0.59452,-0.35985) + *** FresnelReflection *** -** Photon Absorbed! ** -Track (trackID 343, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 365, parentID 1) is processed with stopping code 2 ### pop requested out of 62 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 342, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73295,0.66341,0.1506) + Old Polarization: (-0.66937,0.74279,-0.014306) + New Momentum Direction: (0.38758,0.89896,0.20408) + New Polarization: (-0.91506,0.40197,-0.032839) + *** FresnelRefraction *** +Track (trackID 364, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78307,-0.32789,-0.52848) - Old Polarization: (-0.61541,-0.53126,-0.58226) - New Momentum Direction: (0.53872,-0.44416,-0.71589) - New Polarization: (-0.83814,-0.36872,-0.40195) + Old Momentum Direction: (0.68675,0.52468,0.50307) + Old Polarization: (-0.7198,0.58732,0.37006) + New Momentum Direction: (-0.68675,0.52468,0.50307) + New Polarization: (-0.71401,-0.61665,-0.33157) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68675,0.52468,0.50307) + Old Polarization: (-0.71401,-0.61665,-0.33157) + New Momentum Direction: (-0.68675,-0.52468,0.50307) + New Polarization: (0.71401,-0.61665,0.33157) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68675,-0.52468,0.50307) + Old Polarization: (0.71401,-0.61665,0.33157) + New Momentum Direction: (-0.68675,-0.52468,-0.50307) + New Polarization: (-0.71401,0.61665,0.33157) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.68675,-0.52468,-0.50307) + Old Polarization: (-0.71401,0.61665,0.33157) + New Momentum Direction: (-0.15789,-0.71276,-0.68341) + New Polarization: (0.98087,-0.033421,-0.19176) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 341, parentID 1) is processed with stopping code 2 +Track (trackID 363, parentID 1) is processed with stopping code 2 ### pop requested out of 60 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79307,-0.37861,-0.47717) - Old Polarization: (-0.60365,-0.59337,-0.53247) - New Momentum Direction: (0.57162,-0.51,-0.64277) - New Polarization: (-0.8168,-0.42822,-0.38662) + Old Momentum Direction: (0.65527,0.17221,0.7355) + Old Polarization: (-0.75424,0.20279,0.62449) + New Momentum Direction: (0.88975,0.23383,0.392) + New Polarization: (0.29575,0.35882,-0.88532) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 340, parentID 1) is processed with stopping code 2 +Track (trackID 362, parentID 1) is processed with stopping code 2 ### pop requested out of 59 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68017,0.55945,-0.47369) - Old Polarization: (-0.72846,0.4436,-0.52208) - New Momentum Direction: (0.11822,0.75783,-0.64165) - New Polarization: (-0.99076,0.046737,-0.12734) + Old Momentum Direction: (0.80491,0.36026,-0.47153) + Old Polarization: (-0.59059,0.40906,-0.69561) + New Momentum Direction: (0.59326,0.48873,-0.63968) + New Polarization: (-0.80311,0.30477,-0.51198) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 339, parentID 1) is processed with stopping code 2 +Track (trackID 361, parentID 1) is processed with stopping code 2 ### pop requested out of 58 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 338, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 337, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65493,0.74898,-0.10047) - Old Polarization: (-0.75547,0.64569,-0.11112) - New Momentum Direction: (0.89057,0.43383,-0.13663) - New Polarization: (0.4003,-0.89021,-0.21746) + Old Momentum Direction: (0.74767,0.66402,0.0077668) + Old Polarization: (-0.65334,0.73764,-0.17037) + New Momentum Direction: (0.42939,0.90306,0.010563) + New Polarization: (-0.89634,0.42757,-0.11726) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 336, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. +Track (trackID 360, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74835,0.66316,0.013462) + Old Polarization: (-0.65253,0.73969,-0.16451) + New Momentum Direction: (-0.74835,0.66316,0.013462) + New Polarization: (-0.56379,-0.64664,0.51381) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74835,0.66316,0.013462) + Old Polarization: (-0.56379,-0.64664,0.51381) + New Momentum Direction: (-0.74835,-0.66316,0.013462) + New Polarization: (0.56379,-0.64664,-0.51381) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 335, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 359, parentID 1) is processed with stopping code 2 +### pop requested out of 56 stacked tracks. + +** Photon absorbed! ** +Track (trackID 358, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.81714,0.16871,-0.5512) + Old Polarization: (-0.57601,0.20189,-0.79212) + New Momentum Direction: (0.62904,0.22751,-0.74334) + New Polarization: (-0.77708,0.15757,-0.60936) + *** FresnelRefraction *** +Track (trackID 357, parentID 1) is processed with stopping code 2 ### pop requested out of 54 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70065,0.36952,-0.61036) - Old Polarization: (-0.70577,0.23337,-0.6689) - New Momentum Direction: (0.24826,0.50169,-0.82866) - New Polarization: (-0.96439,0.047474,-0.26018) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 334, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.67581,-0.53497,0.50704) + Old Polarization: (-0.73176,-0.56946,0.3745) + New Momentum Direction: (-0.67581,-0.53497,0.50704) + New Polarization: (-0.73176,0.56946,-0.3745) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67581,-0.53497,0.50704) + Old Polarization: (-0.73176,0.56946,-0.3745) + New Momentum Direction: (-0.67581,0.53497,0.50704) + New Polarization: (0.73176,0.56946,0.3745) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67581,0.53497,0.50704) + Old Polarization: (0.73176,0.56946,0.3745) + New Momentum Direction: (-0.67581,0.53497,-0.50704) + New Polarization: (-0.73176,-0.56946,0.3745) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 356, parentID 1) is processed with stopping code 2 ### pop requested out of 53 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.77796,-0.28462,0.56015) - Old Polarization: (-0.62086,-0.4851,0.6158) - New Momentum Direction: (0.52707,-0.38496,0.75763) - New Polarization: (-0.84487,-0.33348,0.41832) + Old Momentum Direction: (0.71944,0.63831,0.2738) + Old Polarization: (-0.68428,0.71894,0.12196) + New Momentum Direction: (0.34404,0.86292,0.37014) + New Polarization: (-0.93273,0.3594,0.029074) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 333, parentID 1) is processed with stopping code 2 +Track (trackID 355, parentID 1) is processed with stopping code 2 ### pop requested out of 52 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70874,0.30228,0.63742) - Old Polarization: (-0.69707,0.16107,0.69868) - New Momentum Direction: (0.2947,0.40945,0.86343) - New Polarization: (-0.95071,0.034393,0.30818) + Old Momentum Direction: (0.74395,-0.66824,0.0010259) + Old Polarization: (-0.65716,-0.73189,-0.18024) + New Momentum Direction: (0.43948,-0.89825,0.0013791) + New Polarization: (-0.89107,-0.43616,-0.12552) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 332, parentID 1) is processed with stopping code 2 +Track (trackID 354, parentID 1) is processed with stopping code 2 ### pop requested out of 51 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.75131,-0.06677,0.65656) -Old Polarization: (-0.65031,-0.24432,0.71931) -New Polarization: (-0.51962,0.031373,0.72973) -Polarization Change: (-0.57969,0.035,0.81409) -New Momentum Direction: (-0.3303,0.87326,-0.27274) -Momentum Change: (-0.33958,0.89781,-0.2804) Photon at Boundary! - Old Momentum Direction: (-0.33958,0.89781,-0.2804) - Old Polarization: (-0.57969,0.035,0.81409) - New Momentum Direction: (0.33958,0.89781,-0.2804) - New Polarization: (-0.57969,-0.035,-0.81409) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.33958,0.89781,-0.2804) - Old Polarization: (-0.57969,-0.035,-0.81409) - New Momentum Direction: (0.46009,0.80248,-0.37992) - New Polarization: (-0.56534,-0.065161,-0.82228) + Old Momentum Direction: (0.76078,0.64376,-0.082401) + Old Polarization: (-0.63886,0.72045,-0.26984) + New Momentum Direction: (0.47516,0.87278,-0.11171) + New Polarization: (-0.87331,0.45227,-0.18108) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 331, parentID 1) is processed with stopping code 2 +Track (trackID 353, parentID 1) is processed with stopping code 2 ### pop requested out of 50 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74095,0.062458,0.66865) - Old Polarization: (-0.66162,-0.10276,0.74276) - New Momentum Direction: (0.42698,0.084101,0.90034) - New Polarization: (-0.89789,-0.078549,0.43316) + Old Momentum Direction: (0.68232,-0.57179,0.45552) + Old Polarization: (-0.72475,-0.61074,0.31895) + New Momentum Direction: (0.12447,-0.77606,0.61825) + New Polarization: (-0.98915,-0.14609,0.015765) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 330, parentID 1) is processed with stopping code 2 +Track (trackID 352, parentID 1) is processed with stopping code 2 ### pop requested out of 49 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 329, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.77322,-0.56282,-0.29219) + Old Polarization: (-0.62537,-0.60038,-0.49845) + New Momentum Direction: (0.50854,-0.76419,-0.39673) + New Polarization: (-0.85527,-0.39511,-0.33525) + *** FresnelRefraction *** +Track (trackID 351, parentID 1) is processed with stopping code 2 ### pop requested out of 48 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76104,-0.10718,0.63978) - Old Polarization: (-0.63922,-0.29188,0.71148) - New Momentum Direction: (0.48769,-0.14424,0.86102) - New Polarization: (-0.86676,-0.1979,0.45779) + Old Momentum Direction: (0.68336,0.50994,0.52248) + Old Polarization: (-0.72337,0.56976,0.39001) + New Momentum Direction: (0.11825,0.69357,0.71062) + New Polarization: (-0.98975,0.14004,0.028007) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 328, parentID 1) is processed with stopping code 2 +Track (trackID 350, parentID 1) is processed with stopping code 2 ### pop requested out of 47 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66595,0.66264,0.34266) - Old Polarization: (-0.74379,0.55446,0.37331) - New Momentum Direction: (-0.66595,0.66264,0.34266) - New Polarization: (-0.74379,-0.55446,-0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66595,0.66264,0.34266) - Old Polarization: (-0.74379,-0.55446,-0.37331) - New Momentum Direction: (-0.66595,-0.66264,0.34266) - New Polarization: (0.74379,-0.55446,0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66595,-0.66264,0.34266) - Old Polarization: (0.74379,-0.55446,0.37331) - New Momentum Direction: (-0.66595,-0.66264,-0.34266) - New Polarization: (-0.74379,0.55446,0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66595,-0.66264,-0.34266) - Old Polarization: (-0.74379,0.55446,0.37331) - New Momentum Direction: (0.66595,-0.66264,-0.34266) - New Polarization: (-0.74379,-0.55446,-0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66595,-0.66264,-0.34266) - Old Polarization: (-0.74379,-0.55446,-0.37331) - New Momentum Direction: (0.66595,0.66264,-0.34266) - New Polarization: (0.74379,-0.55446,0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66595,0.66264,-0.34266) - Old Polarization: (0.74379,-0.55446,0.37331) - New Momentum Direction: (-0.66595,0.66264,-0.34266) - New Polarization: (0.74379,0.55446,-0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66595,0.66264,-0.34266) - Old Polarization: (0.74379,0.55446,-0.37331) - New Momentum Direction: (-0.66595,-0.66264,-0.34266) - New Polarization: (-0.74379,0.55446,0.37331) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.66595,-0.66264,-0.34266) -Old Polarization: (-0.74379,0.55446,0.37331) -New Polarization: (-0.78417,0.43918,0.23988) -Polarization Change: (-0.84297,0.47212,0.25787) -New Momentum Direction: (0.22536,-0.088265,0.89829) -Momentum Change: (0.24224,-0.094876,0.96557) - Photon at Boundary! - Old Momentum Direction: (0.24224,-0.094876,0.96557) - Old Polarization: (-0.84297,0.47212,0.25787) - New Momentum Direction: (-0.24224,-0.094876,0.96557) - New Polarization: (-0.84297,-0.47212,-0.25787) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.24224,-0.094876,0.96557) - Old Polarization: (-0.84297,-0.47212,-0.25787) - New Momentum Direction: (-0.32873,-0.12875,0.93561) - New Polarization: (-0.83154,-0.43022,-0.35136) + Old Momentum Direction: (0.81224,0.1857,-0.55298) + Old Polarization: (-0.58279,0.21741,-0.783) + New Momentum Direction: (0.61018,0.25221,-0.75105) + New Polarization: (-0.7919,0.16529,-0.58786) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 327, parentID 1) is processed with stopping code 2 +Track (trackID 349, parentID 1) is processed with stopping code 2 ### pop requested out of 46 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.71918,0.2026,-0.66463) -Old Polarization: (-0.68549,0.050569,-0.72633) -New Polarization: (-0.67656,0.11157,-0.68373) -Polarization Change: (-0.69868,0.11522,-0.70609) -New Momentum Direction: (-0.050004,-0.99157,-0.11233) -Momentum Change: (-0.050046,-0.9924,-0.11242) -Scattering Photon! -Old Momentum Direction: (-0.050046,-0.9924,-0.11242) -Old Polarization: (-0.69868,0.11522,-0.70609) -New Polarization: (-0.55539,-0.44834,-0.49154) -Polarization Change: (-0.64085,-0.51733,-0.56717) -New Momentum Direction: (-0.13848,-0.56152,0.66864) -Momentum Change: (-0.15664,-0.63516,0.75633) - -** Photon Absorbed! ** -Track (trackID 326, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.7923,0.5048,-0.34268) + Old Polarization: (-0.60407,0.57008,-0.55688) + New Momentum Direction: (0.56388,0.68329,-0.46385) + New Polarization: (-0.82178,0.40851,-0.39723) + *** FresnelRefraction *** +Track (trackID 348, parentID 1) is processed with stopping code 2 ### pop requested out of 45 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69632,0.40149,-0.59493) - Old Polarization: (-0.71044,0.2677,-0.65086) - New Momentum Direction: (0.22118,0.54553,-0.80838) - New Polarization: (-0.97128,0.048697,-0.23289) + Old Momentum Direction: (0.74116,-0.67011,-0.040289) + Old Polarization: (-0.6604,-0.71701,-0.22307) + New Momentum Direction: (0.41047,-0.91023,-0.054726) + New Polarization: (-0.90503,-0.39931,-0.1465) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 325, parentID 1) is processed with stopping code 2 +Track (trackID 347, parentID 1) is processed with stopping code 2 ### pop requested out of 44 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.65866,0.72638,-0.1963) -Old Polarization: (-0.75164,0.62315,-0.21615) -New Polarization: (-0.59663,0.69691,-0.119) -Polarization Change: (-0.64494,0.75333,-0.12864) -New Momentum Direction: (-0.76345,-0.63497,0.10911) -Momentum Change: (-0.76423,-0.63562,0.10922) - Photon at Boundary! - Old Momentum Direction: (-0.76423,-0.63562,0.10922) - Old Polarization: (-0.64494,0.75333,-0.12864) - New Momentum Direction: (-0.48267,-0.86315,0.14832) - New Polarization: (0.8758,-0.4756,0.082288) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 324, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 346, parentID 1) is processed with stopping code 2 ### pop requested out of 43 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66997,0.65158,0.3558) - Old Polarization: (-0.73997,0.54742,0.39086) - New Momentum Direction: (-0.66997,0.65158,0.3558) - New Polarization: (-0.73997,-0.54742,-0.39086) - *** TotalInternalReflection *** -No Absorbtion length specified + Old Momentum Direction: (0.65211,-0.16453,0.74006) + Old Polarization: (-0.75789,-0.16553,0.63103) + New Momentum Direction: (0.65211,-0.16453,-0.74006) + New Polarization: (-0.30532,0.8365,-0.45501) + *** FresnelReflection *** Photon at Boundary! - Old Momentum Direction: (-0.66997,0.65158,0.3558) - Old Polarization: (-0.73997,-0.54742,-0.39086) - New Momentum Direction: (-0.66997,-0.65158,0.3558) - New Polarization: (0.73997,-0.54742,0.39086) + Old Momentum Direction: (0.65211,-0.16453,-0.74006) + Old Polarization: (-0.30532,0.8365,-0.45501) + New Momentum Direction: (-0.65211,-0.16453,-0.74006) + New Polarization: (-0.30532,-0.8365,0.45501) *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 323, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 345, parentID 1) is processed with stopping code 2 ### pop requested out of 42 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.74567,0.034021,-0.66545) - Old Polarization: (-0.65637,-0.13441,-0.74237) - New Momentum Direction: (0.44141,0.045815,-0.89614) - New Polarization: (-0.89088,-0.0969,-0.44378) + Old Momentum Direction: (0.65489,-0.034287,0.75494) + Old Polarization: (-0.7557,-0.023198,0.6545) + New Momentum Direction: (0.88442,-0.046304,0.46438) + New Polarization: (0.46105,-0.067467,-0.88481) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 322, parentID 1) is processed with stopping code 2 +Track (trackID 344, parentID 1) is processed with stopping code 2 ### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80032,-0.5076,0.3191) - Old Polarization: (-0.59702,-0.72368,0.3462) - New Momentum Direction: (0.5794,-0.69003,0.43378) - New Polarization: (-0.81334,-0.5239,0.253) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 321, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 343, parentID 1) is processed with stopping code 2 ### pop requested out of 40 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71183,0.2795,-0.64434) - Old Polarization: (-0.6936,0.13541,-0.70752) - New Momentum Direction: (0.30407,0.37911,-0.87396) - New Polarization: (-0.94754,0.025449,-0.31863) + Old Momentum Direction: (0.81146,-0.25762,-0.52456) + Old Polarization: (-0.58187,-0.27254,-0.76626) + New Momentum Direction: (0.61794,-0.34658,-0.70571) + New Polarization: (-0.78447,-0.21195,-0.58282) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 320, parentID 1) is processed with stopping code 2 +Track (trackID 342, parentID 1) is processed with stopping code 2 ### pop requested out of 39 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73474,0.07463,0.67423) - Old Polarization: (-0.6685,-0.089041,0.73836) - New Momentum Direction: (-0.73474,0.07463,0.67423) - New Polarization: (-0.61388,0.34974,-0.70769) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73474,0.07463,0.67423) - Old Polarization: (-0.61388,0.34974,-0.70769) - New Momentum Direction: (-0.73474,0.07463,-0.67423) - New Polarization: (0.61388,-0.34974,-0.70769) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 319, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.74501,-0.66451,-0.058278) + Old Polarization: (-0.65614,-0.71428,-0.24348) + New Momentum Direction: (0.42724,-0.90068,-0.07899) + New Polarization: (-0.89721,-0.41156,-0.16011) + *** FresnelRefraction *** +Track (trackID 341, parentID 1) is processed with stopping code 2 ### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74883,-0.037087,-0.66173) - Old Polarization: (-0.65306,-0.21151,-0.72717) - New Momentum Direction: (0.43873,-0.050284,-0.89721) - New Polarization: (-0.89244,-0.14131,-0.42847) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 318, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 340, parentID 1) is processed with stopping code 2 ### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81176,-0.5412,0.21943) - Old Polarization: (-0.5827,-0.77555,0.24287) - New Momentum Direction: (0.61823,-0.7284,0.29533) - New Polarization: (-0.78511,-0.5901,0.1881) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 317, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 339, parentID 1) is processed with stopping code 2 ### pop requested out of 36 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68419,0.50033,-0.53062) - Old Polarization: (-0.72358,0.37475,-0.57965) - New Momentum Direction: (-0.68419,0.50033,-0.53062) - New Polarization: (-0.72006,-0.34798,0.60035) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68419,0.50033,-0.53062) - Old Polarization: (-0.72006,-0.34798,0.60035) - New Momentum Direction: (-0.68419,0.50033,0.53062) - New Polarization: (0.72006,0.34798,0.60035) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68419,0.50033,0.53062) - Old Polarization: (0.72006,0.34798,0.60035) - New Momentum Direction: (-0.68419,-0.50033,0.53062) - New Polarization: (-0.72006,0.34798,-0.60035) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.68419,-0.50033,0.53062) -Old Polarization: (-0.72006,0.34798,-0.60035) -New Polarization: (-0.43453,0.46429,-0.63034) -Polarization Change: (-0.4853,0.51853,-0.70399) -New Momentum Direction: (0.44834,0.81867,0.29393) -Momentum Change: (0.45815,0.83659,0.30036) - Photon at Boundary! - Old Momentum Direction: (0.45815,0.83659,0.30036) - Old Polarization: (-0.4853,0.51853,-0.70399) - New Momentum Direction: (0.62303,0.66707,0.40846) - New Polarization: (0.67126,-0.72406,0.15859) + Old Momentum Direction: (0.7578,0.65227,-0.016904) + Old Polarization: (-0.64177,0.74043,-0.19975) + New Momentum Direction: (0.4772,0.8785,-0.022767) + New Polarization: (-0.87175,0.46994,-0.1386) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 316, parentID 1) is processed with stopping code 2 +Track (trackID 338, parentID 1) is processed with stopping code 2 ### pop requested out of 35 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7187,0.24149,0.65204) - Old Polarization: (-0.6863,0.09578,0.72098) - New Momentum Direction: (0.34617,0.32584,0.87977) - New Polarization: (-0.93268,0.018224,0.36024) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 315, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.66292,-0.38216,0.64382) + Old Polarization: (-0.74635,-0.40536,0.52788) + New Momentum Direction: (-0.66292,-0.38216,0.64382) + New Polarization: (-0.74635,0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,-0.38216,0.64382) + Old Polarization: (-0.74635,0.40536,-0.52788) + New Momentum Direction: (-0.66292,-0.38216,-0.64382) + New Polarization: (0.74635,-0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,-0.38216,-0.64382) + Old Polarization: (0.74635,-0.40536,-0.52788) + New Momentum Direction: (-0.66292,0.38216,-0.64382) + New Polarization: (-0.74635,-0.40536,0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,0.38216,-0.64382) + Old Polarization: (-0.74635,-0.40536,0.52788) + New Momentum Direction: (0.66292,0.38216,-0.64382) + New Polarization: (-0.74635,0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66292,0.38216,-0.64382) + Old Polarization: (-0.74635,0.40536,-0.52788) + New Momentum Direction: (0.66292,0.38216,0.64382) + New Polarization: (0.74635,-0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66292,0.38216,0.64382) + Old Polarization: (0.74635,-0.40536,-0.52788) + New Momentum Direction: (-0.66292,0.38216,0.64382) + New Polarization: (0.74635,0.40536,0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,0.38216,0.64382) + Old Polarization: (0.74635,0.40536,0.52788) + New Momentum Direction: (-0.66292,0.38216,-0.64382) + New Polarization: (-0.74635,-0.40536,0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,0.38216,-0.64382) + Old Polarization: (-0.74635,-0.40536,0.52788) + New Momentum Direction: (-0.66292,-0.38216,-0.64382) + New Polarization: (0.74635,-0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,-0.38216,-0.64382) + Old Polarization: (0.74635,-0.40536,-0.52788) + New Momentum Direction: (-0.66292,-0.38216,0.64382) + New Polarization: (-0.74635,0.40536,-0.52788) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66292,-0.38216,0.64382) + Old Polarization: (-0.74635,0.40536,-0.52788) + New Momentum Direction: (0.66292,-0.38216,0.64382) + New Polarization: (-0.74635,-0.40536,0.52788) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 337, parentID 1) is processed with stopping code 2 ### pop requested out of 34 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79632,-0.47237,0.37781) - Old Polarization: (-0.60135,-0.68554,0.41039) - New Momentum Direction: (0.56936,-0.642,0.51348) - New Polarization: (-0.81974,-0.49056,0.2956) + Old Momentum Direction: (0.65762,-0.17996,0.73154) + Old Polarization: (-0.75303,-0.18504,0.63143) + New Momentum Direction: (0.88654,-0.2426,0.39395) + New Polarization: (0.29593,-0.35721,-0.88591) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 314, parentID 1) is processed with stopping code 2 +Track (trackID 336, parentID 1) is processed with stopping code 2 ### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79347,-0.43057,-0.43014) - Old Polarization: (-0.60426,-0.64174,-0.47228) - New Momentum Direction: (0.56369,-0.58435,-0.58377) - New Polarization: (-0.82307,-0.45669,-0.33763) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 313, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 335, parentID 1) is processed with stopping code 2 ### pop requested out of 32 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.66223,0.68249,0.30929) -Old Polarization: (-0.74753,0.57336,0.33535) -New Polarization: (-0.71624,0.40318,0.42589) -Polarization Change: (-0.77372,0.43554,0.46007) -New Momentum Direction: (0.3022,-0.32355,0.81454) -Momentum Change: (0.32597,-0.349,0.8786) Photon at Boundary! - Old Momentum Direction: (0.32597,-0.349,0.8786) - Old Polarization: (-0.77372,0.43554,0.46007) - New Momentum Direction: (0.44322,-0.47454,0.76051) - New Polarization: (0.3655,-0.679,-0.63669) + Old Momentum Direction: (0.71005,0.60587,0.35882) + Old Polarization: (-0.69476,0.68575,0.21691) + New Momentum Direction: (0.31135,0.81766,0.48425) + New Polarization: (-0.94472,0.32146,0.064618) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 312, parentID 1) is processed with stopping code 2 +Track (trackID 334, parentID 1) is processed with stopping code 2 ### pop requested out of 31 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66817,0.66126,-0.341) - Old Polarization: (-0.74163,0.55535,-0.37625) - New Momentum Direction: (-0.66817,0.66126,-0.341) - New Polarization: (-0.74163,-0.55535,0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66817,0.66126,-0.341) - Old Polarization: (-0.74163,-0.55535,0.37625) - New Momentum Direction: (-0.66817,-0.66126,-0.341) - New Polarization: (0.74163,-0.55535,-0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66817,-0.66126,-0.341) - Old Polarization: (0.74163,-0.55535,-0.37625) - New Momentum Direction: (-0.66817,-0.66126,0.341) - New Polarization: (-0.74163,0.55535,-0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66817,-0.66126,0.341) - Old Polarization: (-0.74163,0.55535,-0.37625) - New Momentum Direction: (0.66817,-0.66126,0.341) - New Polarization: (-0.74163,-0.55535,0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66817,-0.66126,0.341) - Old Polarization: (-0.74163,-0.55535,0.37625) - New Momentum Direction: (0.66817,0.66126,0.341) - New Polarization: (0.74163,-0.55535,-0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66817,0.66126,0.341) - Old Polarization: (0.74163,-0.55535,-0.37625) - New Momentum Direction: (-0.66817,0.66126,0.341) - New Polarization: (0.74163,0.55535,0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66817,0.66126,0.341) - Old Polarization: (0.74163,0.55535,0.37625) - New Momentum Direction: (-0.66817,-0.66126,0.341) - New Polarization: (-0.74163,0.55535,-0.37625) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 311, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.8059,0.33842,-0.48579) + Old Polarization: (-0.58962,0.38457,-0.71025) + New Momentum Direction: (0.59499,0.45942,-0.65948) + New Polarization: (-0.8021,0.28708,-0.52366) + *** FresnelRefraction *** +Track (trackID 333, parentID 1) is processed with stopping code 2 ### pop requested out of 30 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80541,-0.47807,-0.35038) - Old Polarization: (-0.58971,-0.7058,-0.39254) - New Momentum Direction: (0.60345,-0.64316,-0.47137) - New Polarization: (-0.79534,-0.52795,-0.29783) + Old Momentum Direction: (0.71836,-0.68221,0.1362) + Old Polarization: (-0.68525,-0.72766,-0.030566) + New Momentum Direction: (0.32285,-0.92813,0.18529) + New Polarization: (-0.9403,-0.33683,-0.048819) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 310, parentID 1) is processed with stopping code 2 +Track (trackID 332, parentID 1) is processed with stopping code 2 ### pop requested out of 29 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.6529,-0.20306,0.72972) +Old Polarization: (-0.757,-0.20767,0.61953) +New Polarization: (-0.86502,-0.051424,0.023026) +Polarization Change: (-0.99789,-0.059323,0.026563) +New Momentum Direction: (-0.0044667,0.42623,0.78409) +Momentum Change: (-0.0050049,0.47759,0.87857) Photon at Boundary! - Old Momentum Direction: (0.68158,0.5408,0.49293) - Old Polarization: (-0.72697,0.42361,0.54043) - New Momentum Direction: (-0.68158,0.5408,0.49293) - New Polarization: (-0.72382,-0.39943,-0.56262) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68158,0.5408,0.49293) - Old Polarization: (-0.72382,-0.39943,-0.56262) - New Momentum Direction: (-0.68158,-0.5408,0.49293) - New Polarization: (0.72382,-0.39943,0.56262) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68158,-0.5408,0.49293) - Old Polarization: (0.72382,-0.39943,0.56262) - New Momentum Direction: (-0.68158,-0.5408,-0.49293) - New Polarization: (-0.72382,0.39943,0.56262) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 309, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.0050049,0.47759,0.87857) + Old Polarization: (-0.99789,-0.059323,0.026563) + New Momentum Direction: (-0.0067898,0.64791,0.76169) + New Polarization: (-0.99759,0.048188,-0.049882) + *** FresnelRefraction *** +Track (trackID 331, parentID 1) is processed with stopping code 2 ### pop requested out of 28 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 308, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.78848,0.52215,-0.32504) + Old Polarization: (-0.60861,0.586,-0.53498) + New Momentum Direction: (0.55086,0.70853,-0.44106) + New Polarization: (-0.83029,0.41162,-0.37574) + *** FresnelRefraction *** +Track (trackID 330, parentID 1) is processed with stopping code 2 ### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80952,-0.56286,0.16693) - Old Polarization: (-0.58635,-0.78941,0.18172) - New Momentum Direction: (0.60626,-0.76244,0.22612) - New Polarization: (-0.79477,-0.59097,0.1382) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 307, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 329, parentID 1) is processed with stopping code 2 ### pop requested out of 26 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 306, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73038,-0.68182,0.040865) + Old Polarization: (-0.67218,-0.7281,-0.13435) + New Momentum Direction: (0.37066,-0.92711,0.055566) + New Polarization: (-0.92213,-0.37449,-0.097087) + *** FresnelRefraction *** +Track (trackID 328, parentID 1) is processed with stopping code 2 ### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78033,-0.2625,-0.5676) - Old Polarization: (-0.61773,-0.46493,-0.63423) - New Momentum Direction: (0.53995,-0.35331,-0.76395) - New Polarization: (-0.83655,-0.32543,-0.44077) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 305, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6808,0.53372,0.50164) - Old Polarization: (-0.72755,0.41351,0.54743) - New Momentum Direction: (0.11068,0.72419,0.68066) - New Polarization: (-0.9915,0.033341,0.12575) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 304, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. -** Photon Absorbed! ** -Track (trackID 303, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 327, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.77542,0.5894,-0.22654) +Old Polarization: (-0.62313,0.65628,-0.42545) +New Polarization: (-0.54858,0.59655,-0.49792) +Polarization Change: (-0.57674,0.62717,-0.52348) +New Momentum Direction: (-0.05692,-0.64606,-0.71132) +Momentum Change: (-0.059132,-0.67116,-0.73895) + +** Photon absorbed! ** +Track (trackID 326, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72596,0.64162,0.24761) + Old Polarization: (-0.67721,0.72966,0.094788) + New Momentum Direction: (0.37837,0.86358,0.33327) + New Polarization: (-0.91908,0.39332,0.024263) + *** FresnelRefraction *** +Track (trackID 325, parentID 1) is processed with stopping code 2 ### pop requested out of 22 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81456,-0.55523,0.16796) - Old Polarization: (-0.57931,-0.79357,0.18613) - New Momentum Direction: (0.62631,-0.74618,0.22573) - New Polarization: (-0.77904,-0.60978,0.14582) + Old Momentum Direction: (0.80365,0.40977,-0.43156) + Old Polarization: (-0.59126,0.46751,-0.65715) + New Momentum Direction: (0.59469,0.55357,-0.58301) + New Polarization: (-0.80134,0.34972,-0.48534) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 302, parentID 1) is processed with stopping code 2 +Track (trackID 324, parentID 1) is processed with stopping code 2 ### pop requested out of 21 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80062,-0.46022,-0.38367) - Old Polarization: (-0.59562,-0.68089,-0.42616) - New Momentum Direction: (0.58772,-0.62144,-0.51807) - New Polarization: (-0.80666,-0.49946,-0.31599) + Old Momentum Direction: (0.65429,0.15187,0.74083) + Old Polarization: (-0.75528,0.1805,0.63005) + New Momentum Direction: (0.88857,0.20625,0.40975) + New Polarization: (0.33259,0.32553,-0.88511) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 301, parentID 1) is processed with stopping code 2 +Track (trackID 323, parentID 1) is processed with stopping code 2 ### pop requested out of 20 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7055,0.306,0.63925) - Old Polarization: (-0.70038,0.16314,0.69488) - New Momentum Direction: (0.26727,0.41606,0.86917) - New Polarization: (-0.95892,0.025841,0.2825) + Old Momentum Direction: (0.73572,-0.67466,0.059603) + Old Polarization: (-0.66634,-0.73678,-0.11468) + New Momentum Direction: (-0.73572,-0.67466,0.059603) + New Polarization: (-0.59812,0.68849,0.41017) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73572,-0.67466,0.059603) + Old Polarization: (-0.59812,0.68849,0.41017) + New Momentum Direction: (-0.99032,-0.11329,0.080228) + New Polarization: (-0.091697,0.96774,0.23467) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 300, parentID 1) is processed with stopping code 2 +Track (trackID 322, parentID 1) is processed with stopping code 2 ### pop requested out of 19 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66628,0.6809,-0.30405) - Old Polarization: (-0.7438,0.57775,-0.33609) - New Momentum Direction: (0.66628,-0.6809,-0.30405) - New Polarization: (-0.14648,-0.5193,0.84195) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66628,-0.6809,-0.30405) - Old Polarization: (-0.14648,-0.5193,0.84195) - New Momentum Direction: (-0.66628,-0.6809,-0.30405) - New Polarization: (-0.14648,0.5193,-0.84195) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 299, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.74725,-0.65873,-0.08772) + Old Polarization: (-0.65375,-0.70498,-0.27497) + New Momentum Direction: (0.43083,-0.89454,-0.11912) + New Polarization: (-0.89559,-0.4076,-0.17826) + *** FresnelRefraction *** +Track (trackID 321, parentID 1) is processed with stopping code 2 ### pop requested out of 18 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.72525,0.18472,0.66324) - Old Polarization: (-0.67903,0.032856,0.73337) - New Momentum Direction: (0.3702,0.24924,0.89489) - New Polarization: (-0.92311,-0.0091535,0.38442) + Old Momentum Direction: (0.78162,0.5623,-0.26998) + Old Polarization: (-0.6162,0.62891,-0.47409) + New Momentum Direction: (0.53155,0.76358,-0.36662) + New Polarization: (-0.84203,0.42938,-0.32654) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 298, parentID 1) is processed with stopping code 2 +Track (trackID 320, parentID 1) is processed with stopping code 2 ### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66425,0.72791,-0.17005) - Old Polarization: (-0.74689,0.63702,-0.19072) - New Momentum Direction: (0.89504,0.38262,-0.22914) - New Polarization: (0.29334,-0.89207,-0.34376) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 297, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65853,0.72516,-0.2012) - Old Polarization: (-0.75172,0.62124,-0.22132) - New Momentum Direction: (0.65853,-0.72516,-0.2012) - New Polarization: (-0.24702,-0.46083,0.85242) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65853,-0.72516,-0.2012) - Old Polarization: (-0.24702,-0.46083,0.85242) - New Momentum Direction: (-0.65853,-0.72516,-0.2012) - New Polarization: (-0.24702,0.46083,-0.85242) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.65853,-0.72516,-0.2012) -Old Polarization: (-0.24702,0.46083,-0.85242) -New Polarization: (-0.38301,0.68177,-0.37322) -Polarization Change: (-0.44202,0.78682,-0.43073) -New Momentum Direction: (-0.028552,0.40554,0.7701) -Momentum Change: (-0.032788,0.46569,0.88434) - Photon at Boundary! - Old Momentum Direction: (-0.032788,0.46569,0.88434) - Old Polarization: (-0.44202,0.78682,-0.43073) - New Momentum Direction: (-0.032788,-0.46569,0.88434) - New Polarization: (0.44202,0.78682,0.43073) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.032788,-0.46569,0.88434) - Old Polarization: (0.44202,0.78682,0.43073) - New Momentum Direction: (-0.044541,-0.63263,0.77317) - New Polarization: (0.23596,-0.7587,-0.6072) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 296, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. -** Photon Absorbed! ** -Track (trackID 295, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 319, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + +** Photon absorbed! ** +Track (trackID 318, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.6567,-0.20941,0.72449) + Old Polarization: (-0.75366,-0.21675,0.62049) + New Momentum Direction: (0.88706,-0.28286,0.36486) + New Polarization: (0.23687,-0.3995,-0.8856) + *** FresnelRefraction *** +Track (trackID 317, parentID 1) is processed with stopping code 2 ### pop requested out of 14 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8014,-0.48162,-0.35468) - Old Polarization: (-0.59512,-0.70147,-0.39214) - New Momentum Direction: (0.58718,-0.65179,-0.47999) - New Polarization: (-0.80742,-0.51364,-0.29025) + Old Momentum Direction: (0.65267,0.13453,0.7456) + Old Polarization: (-0.75684,0.16116,0.63342) + New Momentum Direction: (0.88741,0.18292,0.42314) + New Polarization: (0.36111,0.29472,-0.88472) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 294, parentID 1) is processed with stopping code 2 +Track (trackID 316, parentID 1) is processed with stopping code 2 ### pop requested out of 13 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70284,0.38686,-0.59695) - Old Polarization: (-0.70383,0.25648,-0.66246) - New Momentum Direction: (0.27887,0.52227,-0.8059) - New Polarization: (-0.95598,0.071227,-0.28464) + Old Momentum Direction: (0.7657,-0.5983,-0.2361) + Old Polarization: (-0.63362,-0.63853,-0.43682) + New Momentum Direction: (0.48643,-0.81273,-0.32072) + New Polarization: (-0.86749,-0.40549,-0.28817) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 293, parentID 1) is processed with stopping code 2 +Track (trackID 315, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68021,0.55792,-0.47543) - Old Polarization: (-0.72839,0.4417,-0.52379) - New Momentum Direction: (-0.68021,0.55792,-0.47543) - New Polarization: (-0.72587,-0.42235,0.54289) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68021,0.55792,-0.47543) - Old Polarization: (-0.72587,-0.42235,0.54289) - New Momentum Direction: (-0.68021,-0.55792,-0.47543) - New Polarization: (0.72587,-0.42235,-0.54289) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68021,-0.55792,-0.47543) - Old Polarization: (0.72587,-0.42235,-0.54289) - New Momentum Direction: (-0.68021,-0.55792,0.47543) - New Polarization: (-0.72587,0.42235,-0.54289) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 292, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.6927,-0.62043,0.36774) + Old Polarization: (-0.71341,-0.66429,0.2231) + New Momentum Direction: (0.20558,-0.84187,0.49899) + New Polarization: (-0.97446,-0.22319,0.024915) + *** FresnelRefraction *** +Track (trackID 314, parentID 1) is processed with stopping code 2 ### pop requested out of 11 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65747,0.73975,-0.14318) - Old Polarization: (-0.75304,0.63865,-0.1583) - New Momentum Direction: (0.89232,0.40744,-0.19432) - New Polarization: (0.342,-0.89116,-0.2981) + Old Momentum Direction: (0.66778,0.26035,0.69734) + Old Polarization: (-0.74213,0.30523,0.59672) + New Momentum Direction: (0.8983,0.35022,0.26534) + New Polarization: (0.082407,0.45889,-0.88466) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 291, parentID 1) is processed with stopping code 2 +Track (trackID 313, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65855,0.73357,0.16789) - Old Polarization: (-0.75203,0.63339,0.18239) - New Momentum Direction: (0.89292,0.38842,0.22764) - New Polarization: (0.30167,-0.89153,0.3379) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 290, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 312, parentID 1) is processed with stopping code 2 ### pop requested out of 9 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78903,-0.38351,0.47995) - Old Polarization: (-0.60874,-0.59337,0.52663) - New Momentum Direction: (0.55556,-0.51905,0.64957) - New Polarization: (-0.82772,-0.41944,0.37276) + Old Momentum Direction: (0.65674,0.037167,0.7532) + Old Polarization: (-0.7539,0.055955,0.6546) + New Momentum Direction: (0.88582,0.050132,0.46131) + New Polarization: (0.45565,0.094037,-0.88518) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 289, parentID 1) is processed with stopping code 2 +Track (trackID 311, parentID 1) is processed with stopping code 2 ### pop requested out of 8 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69998,0.40717,-0.58672) - Old Polarization: (-0.70693,0.27843,-0.65017) - New Momentum Direction: (0.26309,0.55005,-0.79261) - New Polarization: (-0.96066,0.073539,-0.26783) + Old Momentum Direction: (0.76023,0.64875,-0.034315) + Old Polarization: (-0.63905,0.73726,-0.21926) + New Momentum Direction: (0.48486,0.87337,-0.046197) + New Polarization: (-0.86758,0.47363,-0.15155) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 288, parentID 1) is processed with stopping code 2 +Track (trackID 310, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76359,-0.19158,0.61663) - Old Polarization: (-0.63705,-0.37937,0.671) - New Momentum Direction: (0.47958,-0.26035,0.83799) - New Polarization: (-0.8719,-0.24912,0.42159) + Old Momentum Direction: (0.68513,-0.58049,0.44004) + Old Polarization: (-0.72183,-0.62213,0.30317) + New Momentum Direction: (0.15881,-0.7868,0.59643) + New Polarization: (-0.98395,-0.17595,0.029894) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 287, parentID 1) is processed with stopping code 2 +Track (trackID 309, parentID 1) is processed with stopping code 2 ### pop requested out of 6 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66693,0.66689,-0.33236) - Old Polarization: (-0.74287,0.56044,-0.36613) - New Momentum Direction: (-0.66693,0.66689,-0.33236) - New Polarization: (-0.74287,-0.56044,0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,0.66689,-0.33236) - Old Polarization: (-0.74287,-0.56044,0.36613) - New Momentum Direction: (-0.66693,-0.66689,-0.33236) - New Polarization: (0.74287,-0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,-0.66689,-0.33236) - Old Polarization: (0.74287,-0.56044,-0.36613) - New Momentum Direction: (-0.66693,-0.66689,0.33236) - New Polarization: (-0.74287,0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,-0.66689,0.33236) - Old Polarization: (-0.74287,0.56044,-0.36613) - New Momentum Direction: (0.66693,-0.66689,0.33236) - New Polarization: (-0.74287,-0.56044,0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66693,-0.66689,0.33236) - Old Polarization: (-0.74287,-0.56044,0.36613) - New Momentum Direction: (0.66693,0.66689,0.33236) - New Polarization: (0.74287,-0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66693,0.66689,0.33236) - Old Polarization: (0.74287,-0.56044,-0.36613) - New Momentum Direction: (-0.66693,0.66689,0.33236) - New Polarization: (0.74287,0.56044,0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,0.66689,0.33236) - Old Polarization: (0.74287,0.56044,0.36613) - New Momentum Direction: (-0.66693,-0.66689,0.33236) - New Polarization: (-0.74287,0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,-0.66689,0.33236) - Old Polarization: (-0.74287,0.56044,-0.36613) - New Momentum Direction: (-0.66693,-0.66689,-0.33236) - New Polarization: (0.74287,-0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,-0.66689,-0.33236) - Old Polarization: (0.74287,-0.56044,-0.36613) - New Momentum Direction: (0.66693,-0.66689,-0.33236) - New Polarization: (0.74287,0.56044,0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66693,-0.66689,-0.33236) - Old Polarization: (0.74287,0.56044,0.36613) - New Momentum Direction: (0.66693,0.66689,-0.33236) - New Polarization: (-0.74287,0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66693,0.66689,-0.33236) - Old Polarization: (-0.74287,0.56044,-0.36613) - New Momentum Direction: (-0.66693,0.66689,-0.33236) - New Polarization: (-0.74287,-0.56044,0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,0.66689,-0.33236) - Old Polarization: (-0.74287,-0.56044,0.36613) - New Momentum Direction: (-0.66693,-0.66689,-0.33236) - New Polarization: (0.74287,-0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66693,-0.66689,-0.33236) - Old Polarization: (0.74287,-0.56044,-0.36613) - New Momentum Direction: (-0.66693,-0.66689,0.33236) - New Polarization: (-0.74287,0.56044,-0.36613) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 286, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.81028,0.24695,-0.53148) + Old Polarization: (-0.58491,0.28434,-0.75962) + New Momentum Direction: (0.60543,0.33538,-0.72179) + New Polarization: (-0.79514,0.21507,-0.56702) + *** FresnelRefraction *** +Track (trackID 308, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79519,-0.46473,0.3895) - Old Polarization: (-0.60264,-0.67678,0.42283) - New Momentum Direction: (0.56603,-0.63182,0.52954) - New Polarization: (-0.8219,-0.48233,0.30304) + Old Momentum Direction: (0.68974,0.51135,0.51262) + Old Polarization: (-0.71716,0.58,0.38638) + New Momentum Direction: (0.20872,0.69067,0.69239) + New Polarization: (-0.97423,0.20872,0.085477) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 285, parentID 1) is processed with stopping code 2 +Track (trackID 307, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 284, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74843,-0.042536,-0.66185) -Old Polarization: (-0.65355,-0.21706,-0.72509) -New Polarization: (-0.093318,0.29605,-0.82203) -Polarization Change: (-0.1062,0.33692,-0.93552) -New Momentum Direction: (-0.96978,-0.2401,0.023621) -Momentum Change: (-0.97042,-0.24026,0.023637) Photon at Boundary! - Old Momentum Direction: (-0.97042,-0.24026,0.023637) - Old Polarization: (-0.1062,0.33692,-0.93552) - New Momentum Direction: (0.97042,-0.24026,0.023637) - New Polarization: (-0.091967,-0.27738,0.95635) + Old Momentum Direction: (0.81762,0.15809,-0.55364) + Old Polarization: (-0.5754,0.19027,-0.79543) + New Momentum Direction: (0.63053,0.21311,-0.74633) + New Polarization: (-0.77592,0.14873,-0.61305) + *** FresnelRefraction *** +Track (trackID 306, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73298,0.66078,0.16158) + Old Polarization: (-0.66934,0.74295,-0.001932) + New Momentum Direction: (0.39179,0.89372,0.21854) + New Polarization: (-0.91324,0.40661,-0.025604) + *** FresnelRefraction *** +Track (trackID 305, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + +** Photon absorbed! ** +Track (trackID 304, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 288 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 289 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73429,0.043107,0.67747) + Old Polarization: (-0.67878,0.033048,0.7336) + New Momentum Direction: (0.38309,0.058657,0.92185) + New Polarization: (-0.92367,0.015263,0.38288) + *** FresnelRefraction *** +Track (trackID 898, parentID 1) is processed with stopping code 2 +### pop requested out of 288 stacked tracks. + +** Photon absorbed! ** +Track (trackID 897, parentID 1) is processed with stopping code 2 +### pop requested out of 287 stacked tracks. + +** Photon absorbed! ** +Track (trackID 896, parentID 1) is processed with stopping code 2 +### pop requested out of 286 stacked tracks. + +** Photon absorbed! ** +Track (trackID 895, parentID 1) is processed with stopping code 2 +### pop requested out of 285 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74057,0.4565,-0.49312) + Old Polarization: (-0.67192,0.49315,-0.55257) + New Momentum Direction: (0.42255,0.61571,-0.6651) + New Polarization: (-0.9063,0.28027,-0.31633) + *** FresnelRefraction *** +Track (trackID 894, parentID 1) is processed with stopping code 2 +### pop requested out of 284 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74885,-0.58255,-0.316) + Old Polarization: (-0.66274,-0.65949,-0.35476) + New Momentum Direction: (0.446,-0.78674,-0.42676) + New Polarization: (-0.89503,-0.39289,-0.21108) + *** FresnelRefraction *** +Track (trackID 893, parentID 1) is processed with stopping code 2 +### pop requested out of 283 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73865,0.24109,-0.6295) + Old Polarization: (-0.67401,0.25042,-0.69498) + New Momentum Direction: (0.40445,0.32709,-0.85407) + New Polarization: (-0.91452,0.13538,-0.38122) + *** FresnelRefraction *** +Track (trackID 892, parentID 1) is processed with stopping code 2 +### pop requested out of 282 stacked tracks. + +** Photon absorbed! ** +Track (trackID 891, parentID 1) is processed with stopping code 2 +### pop requested out of 281 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74693,-0.63916,0.18322) + Old Polarization: (-0.66488,-0.72028,0.19781) + New Momentum Direction: (0.43785,-0.86424,0.24774) + New Polarization: (-0.89903,-0.42246,0.11518) + *** FresnelRefraction *** +Track (trackID 890, parentID 1) is processed with stopping code 2 +### pop requested out of 280 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73351,0.67768,0.052153) + Old Polarization: (-0.67968,0.73161,0.052747) + New Momentum Direction: (0.39004,0.91808,0.070654) + New Polarization: (-0.9208,0.38907,0.027548) + *** FresnelRefraction *** +Track (trackID 889, parentID 1) is processed with stopping code 2 +### pop requested out of 279 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74503,-0.39292,-0.53902) + Old Polarization: (-0.66701,-0.44578,-0.59698) + New Momentum Direction: (0.42722,-0.53259,-0.73063) + New Polarization: (-0.90413,-0.25637,-0.34179) + *** FresnelRefraction *** +Track (trackID 888, parentID 1) is processed with stopping code 2 +### pop requested out of 278 stacked tracks. + +** Photon absorbed! ** +Track (trackID 887, parentID 1) is processed with stopping code 2 +### pop requested out of 277 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7401,-0.0057765,-0.67248) + Old Polarization: (-0.67244,-0.020265,-0.73988) + New Momentum Direction: (0.40646,-0.007848,-0.91364) + New Polarization: (-0.91363,-0.012862,-0.40634) + *** FresnelRefraction *** +Track (trackID 886, parentID 1) is processed with stopping code 2 +### pop requested out of 276 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73077,0.6739,-0.10881) + Old Polarization: (-0.68261,0.72033,-0.12316) + New Momentum Direction: (0.37033,0.91703,-0.14806) + New Polarization: (-0.92889,0.36487,-0.06347) + *** FresnelRefraction *** +Track (trackID 885, parentID 1) is processed with stopping code 2 +### pop requested out of 275 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74724,-0.32358,-0.58045) + Old Polarization: (-0.66452,-0.37256,-0.64777) + New Momentum Direction: (0.44108,-0.43699,-0.7839) + New Polarization: (-0.89745,-0.22075,-0.38191) + *** FresnelRefraction *** +Track (trackID 884, parentID 1) is processed with stopping code 2 +### pop requested out of 274 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.741,0.49661,-0.45199) + Old Polarization: (-0.67145,0.53925,-0.50829) + New Momentum Direction: (0.42632,0.66898,-0.60887) + New Polarization: (-0.90454,0.30931,-0.29351) + *** FresnelRefraction *** +Track (trackID 883, parentID 1) is processed with stopping code 2 +### pop requested out of 273 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74368,-0.39825,-0.53697) + Old Polarization: (-0.66851,-0.44979,-0.59227) + New Momentum Direction: (0.4192,-0.54084,-0.72922) + New Polarization: (-0.90788,-0.25431,-0.33329) + *** FresnelRefraction *** +Track (trackID 882, parentID 1) is processed with stopping code 2 +### pop requested out of 272 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73534,0.65692,-0.16655) + Old Polarization: (-0.67768,0.71081,-0.18841) + New Momentum Direction: (0.39904,0.88881,-0.22534) + New Polarization: (-0.91692,0.38547,-0.10327) + *** FresnelRefraction *** +Track (trackID 881, parentID 1) is processed with stopping code 2 +### pop requested out of 271 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7419,0.11368,0.6608) + Old Polarization: (-0.67045,0.11284,0.73332) + New Momentum Direction: (0.43111,0.15297,0.88924) + New Polarization: (-0.90226,0.0642,0.42638) + *** FresnelRefraction *** +Track (trackID 880, parentID 1) is processed with stopping code 2 +### pop requested out of 270 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74585,-0.66594,-0.015088) + Old Polarization: (-0.66611,-0.74555,-0.021204) + New Momentum Direction: (0.42953,-0.90282,-0.020454) + New Polarization: (-0.90305,-0.42935,-0.01266) + *** FresnelRefraction *** +Track (trackID 879, parentID 1) is processed with stopping code 2 +### pop requested out of 269 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73106,0.66133,-0.16789) + Old Polarization: (-0.68229,0.70662,-0.18753) + New Momentum Direction: (-0.73106,0.66133,-0.16789) + New Polarization: (-0.68218,-0.7036,0.19897) *** FresnelReflection *** -No Absorbtion length specified Photon at Boundary! - Old Momentum Direction: (0.97042,-0.24026,0.023637) - Old Polarization: (-0.091967,-0.27738,0.95635) - New Momentum Direction: (0.94475,-0.32621,0.032093) - New Polarization: (-0.16052,-0.37508,0.91299) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 283, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. + Old Momentum Direction: (-0.73106,0.66133,-0.16789) + Old Polarization: (-0.68218,-0.7036,0.19897) + New Momentum Direction: (-0.73106,-0.66133,-0.16789) + New Polarization: (0.68218,-0.7036,-0.19897) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 878, parentID 1) is processed with stopping code 2 +### pop requested out of 268 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.65831,0.74672,-0.095075) - Old Polarization: (-0.75255,0.64992,-0.10621) - New Momentum Direction: (0.89141,0.43452,-0.12874) - New Polarization: (0.40441,-0.8909,-0.20677) + Old Momentum Direction: (0.73182,0.67202,0.11326) + Old Polarization: (-0.6815,0.72201,0.11942) + New Momentum Direction: (0.37948,0.91233,0.15377) + New Polarization: (-0.9252,0.37445,0.061593) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 282, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 7 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 9 stacked tracks. -Track (trackID 582, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. +Track (trackID 877, parentID 1) is processed with stopping code 2 +### pop requested out of 267 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75699,0.12942,0.64048) - Old Polarization: (-0.65249,0.097269,0.75153) - New Momentum Direction: (0.46428,0.17542,0.86814) - New Polarization: (-0.88509,0.055874,0.46205) + Old Momentum Direction: (0.74002,-0.32446,0.58915) + Old Polarization: (-0.67252,-0.36963,0.64117) + New Momentum Direction: (0.40856,-0.44031,0.7995) + New Polarization: (-0.91269,-0.20564,0.35315) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 581, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. +Track (trackID 876, parentID 1) is processed with stopping code 2 +### pop requested out of 266 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73282,-0.39525,-0.55385) - Old Polarization: (-0.67902,-0.47704,-0.558) - New Momentum Direction: (0.38167,-0.53692,-0.75236) - New Polarization: (-0.92344,-0.25648,-0.28543) + Old Momentum Direction: (0.74857,-0.63989,-0.17375) + Old Polarization: (-0.66306,-0.7222,-0.19693) + New Momentum Direction: (0.44421,-0.86461,-0.23477) + New Polarization: (-0.89592,-0.42854,-0.11694) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 580, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 579, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 578, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 577, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. +Track (trackID 875, parentID 1) is processed with stopping code 2 +### pop requested out of 265 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70884,0.41902,-0.56743) - Old Polarization: (-0.70535,0.41481,-0.57481) - New Momentum Direction: (0.29087,0.56835,-0.76966) - New Polarization: (-0.95675,0.16873,-0.23698) + Old Momentum Direction: (0.74849,-0.55995,-0.35528) + Old Polarization: (-0.66314,-0.63393,-0.39796) + New Momentum Direction: (0.44425,-0.75648,-0.47998) + New Polarization: (-0.8959,-0.37644,-0.23592) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 576, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. +Track (trackID 874, parentID 1) is processed with stopping code 2 +### pop requested out of 264 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73515,0.46661,-0.49175) + Old Polarization: (-0.67784,0.49633,-0.54239) + New Momentum Direction: (-0.73515,0.46661,-0.49175) + New Polarization: (-0.67747,-0.4797,0.55761) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73515,0.46661,-0.49175) + Old Polarization: (-0.67747,-0.4797,0.55761) + New Momentum Direction: (-0.73515,0.46661,0.49175) + New Polarization: (0.67747,0.4797,0.55761) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73515,0.46661,0.49175) + Old Polarization: (0.67747,0.4797,0.55761) + New Momentum Direction: (-0.73515,-0.46661,0.49175) + New Polarization: (-0.67747,0.4797,-0.55761) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.73515,-0.46661,0.49175) +Old Polarization: (-0.67747,0.4797,-0.55761) +New Polarization: (-0.24638,-0.011698,-0.83686) +Polarization Change: (-0.2824,-0.013408,-0.9592) +New Momentum Direction: (0.1418,-0.98795,-0.027938) +Momentum Change: (0.14202,-0.98947,-0.027981) + Photon at Boundary! + Old Momentum Direction: (0.14202,-0.98947,-0.027981) + Old Polarization: (-0.2824,-0.013408,-0.9592) + New Momentum Direction: (0.19293,-0.98048,-0.038012) + New Polarization: (-0.070996,0.024689,-0.99717) + *** FresnelRefraction *** +Track (trackID 873, parentID 1) is processed with stopping code 2 +### pop requested out of 263 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74013,0.20942,-0.63902) + Old Polarization: (-0.67239,0.21646,-0.70784) + New Momentum Direction: (0.41252,0.28369,-0.86565) + New Polarization: (-0.91091,0.11897,-0.39509) + *** FresnelRefraction *** +Track (trackID 872, parentID 1) is processed with stopping code 2 +### pop requested out of 262 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73544,0.25949,0.62593) + Old Polarization: (-0.67754,0.27133,0.68361) + New Momentum Direction: (0.39606,0.35164,0.84822) + New Polarization: (-0.9182,0.14473,0.36873) + *** FresnelRefraction *** +Track (trackID 871, parentID 1) is processed with stopping code 2 +### pop requested out of 261 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74565,-0.6344,0.20382) + Old Polarization: (-0.66632,-0.71254,0.21979) + New Momentum Direction: (0.43088,-0.85916,0.27603) + New Polarization: (-0.9024,-0.41203,0.12615) + *** FresnelRefraction *** +Track (trackID 870, parentID 1) is processed with stopping code 2 +### pop requested out of 260 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74249,-0.54068,0.39544) + Old Polarization: (-0.66981,-0.60633,0.42862) + New Momentum Direction: (0.4163,-0.73389,0.53675) + New Polarization: (-0.9092,-0.34079,0.23921) + *** FresnelRefraction *** +Track (trackID 869, parentID 1) is processed with stopping code 2 +### pop requested out of 259 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74456,-0.028932,-0.66692) + Old Polarization: (-0.66749,-0.046086,-0.74319) + New Momentum Direction: (0.43229,-0.039082,-0.90089) + New Polarization: (-0.90169,-0.028187,-0.43146) + *** FresnelRefraction *** +Track (trackID 868, parentID 1) is processed with stopping code 2 +### pop requested out of 258 stacked tracks. -** Photon Absorbed! ** -Track (trackID 575, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. +** Photon absorbed! ** +Track (trackID 867, parentID 1) is processed with stopping code 2 +### pop requested out of 257 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74418,-0.57789,0.33502) + Old Polarization: (-0.66794,-0.6493,0.36368) + New Momentum Direction: (0.4248,-0.78319,0.45404) + New Polarization: (-0.90526,-0.37126,0.20657) + *** FresnelRefraction *** +Track (trackID 866, parentID 1) is processed with stopping code 2 +### pop requested out of 256 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73536,0.65953,0.15577) + Old Polarization: (-0.67768,0.71597,0.16777) + New Momentum Direction: (0.40208,0.89109,0.21047) + New Polarization: (-0.91561,0.39151,0.091568) + *** FresnelRefraction *** +Track (trackID 865, parentID 1) is processed with stopping code 2 +### pop requested out of 255 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73854,-0.27808,0.61419) + Old Polarization: (-0.67413,-0.31789,0.6667) + New Momentum Direction: (0.40091,-0.37785,0.83456) + New Polarization: (-0.91607,-0.1743,0.36116) + *** FresnelRefraction *** +Track (trackID 864, parentID 1) is processed with stopping code 2 +### pop requested out of 254 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74944,-0.5151,-0.41595) + Old Polarization: (-0.66207,-0.58634,-0.46677) + New Momentum Direction: (0.44998,-0.69479,-0.56106) + New Polarization: (-0.89303,-0.35234,-0.27991) + *** FresnelRefraction *** +Track (trackID 863, parentID 1) is processed with stopping code 2 +### pop requested out of 253 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73975,-0.44976,0.50048) +Old Polarization: (-0.67282,-0.50442,0.54118) +New Polarization: (-0.55362,-0.66058,0.13777) +Polarization Change: (-0.63428,-0.75682,0.15784) +New Momentum Direction: (-0.7387,0.65088,0.15241) +Momentum Change: (-0.74147,0.65332,0.15298) - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 54 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 56 stacked tracks. +** Photon absorbed! ** +Track (trackID 862, parentID 1) is processed with stopping code 2 +### pop requested out of 252 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7389,0.39143,0.54847) + Old Polarization: (-0.67379,0.42208,0.60651) + New Momentum Direction: (0.41972,0.52726,0.7388) + New Polarization: (-0.90764,0.23893,0.34512) + *** FresnelRefraction *** +Track (trackID 861, parentID 1) is processed with stopping code 2 +### pop requested out of 251 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 125 -Track (trackID 637, parentID 1) is processed with stopping code 4 +** Photon absorbed! ** +Track (trackID 860, parentID 1) is processed with stopping code 2 +### pop requested out of 250 stacked tracks. + +** Photon absorbed! ** +Track (trackID 859, parentID 1) is processed with stopping code 2 +### pop requested out of 249 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73477,0.55217,0.39399) + Old Polarization: (-0.67831,0.59558,0.43032) + New Momentum Direction: (0.39766,0.7469,0.53293) + New Polarization: (-0.91753,0.32199,0.23338) + *** FresnelRefraction *** +Track (trackID 858, parentID 1) is processed with stopping code 2 +### pop requested out of 248 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74396,-0.16501,0.64753) + Old Polarization: (-0.66815,-0.19804,0.71718) + New Momentum Direction: (0.43598,-0.22223,0.87209) + New Polarization: (-0.89991,-0.11752,0.41994) + *** FresnelRefraction *** +Track (trackID 857, parentID 1) is processed with stopping code 2 +### pop requested out of 247 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.74117,-0.23339,-0.62944) +Old Polarization: (-0.67127,-0.2684,-0.69091) +New Polarization: (-0.84057,0.10587,-0.18823) +Polarization Change: (-0.96854,0.12199,-0.21689) +New Momentum Direction: (-0.22457,-0.56159,0.68697) +Momentum Change: (-0.24535,-0.61357,0.75056) + Photon at Boundary! + Old Momentum Direction: (-0.24535,-0.61357,0.75056) + Old Polarization: (-0.96854,0.12199,-0.21689) + New Momentum Direction: (-0.24535,0.61357,0.75056) + New Polarization: (0.96854,0.12199,0.21689) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.24535,0.61357,0.75056) + Old Polarization: (0.96854,0.12199,0.21689) + New Momentum Direction: (-0.33376,0.83466,0.43811) + New Polarization: (0.75226,0.51591,-0.4098) + *** FresnelRefraction *** +Track (trackID 856, parentID 1) is processed with stopping code 2 +### pop requested out of 246 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73716,-0.1125,0.66628) + Old Polarization: (-0.67564,-0.13704,0.72438) + New Momentum Direction: (0.39717,-0.15279,0.90494) + New Polarization: (-0.9177,-0.07575,0.38998) + *** FresnelRefraction *** +Track (trackID 855, parentID 1) is processed with stopping code 2 +### pop requested out of 245 stacked tracks. + +** Photon absorbed! ** +Track (trackID 854, parentID 1) is processed with stopping code 2 +### pop requested out of 244 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74188,0.027394,0.66997) + Old Polarization: (-0.67047,0.016426,0.74176) + New Momentum Direction: (0.42901,0.036904,0.90255) + New Polarization: (-0.90326,0.0080057,0.42902) + *** FresnelRefraction *** +Track (trackID 853, parentID 1) is processed with stopping code 2 +### pop requested out of 243 stacked tracks. + +** Photon absorbed! ** +Track (trackID 852, parentID 1) is processed with stopping code 2 +### pop requested out of 242 stacked tracks. + +** Photon absorbed! ** +Track (trackID 851, parentID 1) is processed with stopping code 2 +### pop requested out of 241 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73356,0.67575,0.072443) + Old Polarization: (-0.67962,0.72971,0.075094) + New Momentum Direction: (0.3905,0.91536,0.09813) + New Polarization: (-0.9206,0.3885,0.039539) + *** FresnelRefraction *** +Track (trackID 850, parentID 1) is processed with stopping code 2 +### pop requested out of 240 stacked tracks. + +** Photon absorbed! ** +Track (trackID 849, parentID 1) is processed with stopping code 2 +### pop requested out of 239 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7466,-0.43705,0.50157) + Old Polarization: (-0.66521,-0.50075,0.55385) + New Momentum Direction: (0.44319,-0.5889,0.67585) + New Polarization: (-0.89639,-0.29824,0.32794) + *** FresnelRefraction *** +Track (trackID 848, parentID 1) is processed with stopping code 2 +### pop requested out of 238 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74205,0.19579,-0.64111) + Old Polarization: (-0.67027,0.20257,-0.71394) + New Momentum Direction: (0.42354,0.26458,-0.86638) + New Polarization: (-0.90583,0.11405,-0.40799) + *** FresnelRefraction *** +Track (trackID 847, parentID 1) is processed with stopping code 2 +### pop requested out of 237 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74139,-0.274,-0.61259) + Old Polarization: (-0.67103,-0.31258,-0.67232) + New Momentum Direction: (0.40792,-0.37279,-0.83344) + New Polarization: (-0.91299,-0.1732,-0.36939) + *** FresnelRefraction *** +Track (trackID 846, parentID 1) is processed with stopping code 2 +### pop requested out of 236 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74547,-0.3651,0.55766) + Old Polarization: (-0.66648,-0.42028,0.61577) + New Momentum Direction: (0.43899,-0.49215,0.75171) + New Polarization: (-0.89845,-0.24869,0.36186) + *** FresnelRefraction *** +Track (trackID 845, parentID 1) is processed with stopping code 2 +### pop requested out of 235 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73519,0.42238,-0.53018) + Old Polarization: (-0.6778,0.44728,-0.58355) + New Momentum Direction: (0.38838,0.57419,-0.72073) + New Polarization: (-0.92146,0.23478,-0.3095) + *** FresnelRefraction *** +Track (trackID 844, parentID 1) is processed with stopping code 2 +### pop requested out of 234 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74197,-0.30701,-0.59601) + Old Polarization: (-0.67039,-0.34889,-0.65487) + New Momentum Direction: (0.41075,-0.41751,-0.81053) + New Polarization: (-0.91172,-0.19424,-0.36198) + *** FresnelRefraction *** +Track (trackID 843, parentID 1) is processed with stopping code 2 +### pop requested out of 233 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73795,0.083569,0.66967) + Old Polarization: (-0.6748,0.078143,0.73385) + New Momentum Direction: (0.40724,0.1131,0.90629) + New Polarization: (-0.91328,0.041464,0.40521) + *** FresnelRefraction *** +Track (trackID 842, parentID 1) is processed with stopping code 2 +### pop requested out of 232 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73447,0.1334,0.66539) + Old Polarization: (-0.67858,0.13185,0.72259) + New Momentum Direction: (0.38676,0.18128,0.90419) + New Polarization: (-0.92215,0.067642,0.38088) + *** FresnelRefraction *** +Track (trackID 841, parentID 1) is processed with stopping code 2 +### pop requested out of 231 stacked tracks. + +** Photon absorbed! ** +Track (trackID 840, parentID 1) is processed with stopping code 2 +### pop requested out of 230 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74041,-0.083061,-0.667) + Old Polarization: (-0.67209,-0.10465,-0.73304) + New Momentum Direction: (0.40643,-0.11291,-0.90668) + New Polarization: (-0.91365,-0.059083,-0.4022) + *** FresnelRefraction *** +Track (trackID 839, parentID 1) is processed with stopping code 2 +### pop requested out of 229 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74438,-0.65393,0.13523) + Old Polarization: (-0.66774,-0.73042,0.14354) + New Momentum Direction: (0.42247,-0.8876,0.18355) + New Polarization: (-0.90637,-0.41472,0.080672) + *** FresnelRefraction *** +Track (trackID 838, parentID 1) is processed with stopping code 2 +### pop requested out of 228 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74493,-0.33789,0.57525) + Old Polarization: (-0.66708,-0.38974,0.63491) + New Momentum Direction: (0.43676,-0.4556,0.77567) + New Polarization: (-0.89953,-0.22978,0.37155) + *** FresnelRefraction *** +Track (trackID 837, parentID 1) is processed with stopping code 2 +### pop requested out of 227 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75035,-0.66097,0.009703) + Old Polarization: (-0.66104,-0.75033,0.0061426) + New Momentum Direction: (0.45476,-0.89052,0.013073) + New Polarization: (-0.89061,-0.45476,0.0033128) + *** FresnelRefraction *** +Track (trackID 836, parentID 1) is processed with stopping code 2 +### pop requested out of 226 stacked tracks. + +** Photon absorbed! ** +Track (trackID 835, parentID 1) is processed with stopping code 2 +### pop requested out of 225 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74794,-0.25632,-0.61228) + Old Polarization: (-0.66372,-0.29912,-0.68556) + New Momentum Direction: (0.44622,-0.34558,-0.82551) + New Polarization: (-0.8949,-0.17941,-0.40862) + *** FresnelRefraction *** +Track (trackID 834, parentID 1) is processed with stopping code 2 +### pop requested out of 224 stacked tracks. + +** Photon absorbed! ** +Track (trackID 833, parentID 1) is processed with stopping code 2 +### pop requested out of 223 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74325,-0.47603,0.47008) + Old Polarization: (-0.66896,-0.53803,0.51285) + New Momentum Direction: (0.42301,-0.64474,0.63669) + New Polarization: (-0.90609,-0.30725,0.29087) + *** FresnelRefraction *** +Track (trackID 832, parentID 1) is processed with stopping code 2 +### pop requested out of 222 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74595,-0.65702,0.10905) + Old Polarization: (-0.66599,-0.73699,0.11536) + New Momentum Direction: (0.4313,-0.89004,0.14772) + New Polarization: (-0.9022,-0.42624,0.066006) + *** FresnelRefraction *** +Track (trackID 831, parentID 1) is processed with stopping code 2 +### pop requested out of 221 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74114,0.20707,-0.63862) + Old Polarization: (-0.67128,0.21452,-0.70949) + New Momentum Direction: (0.41848,0.28013,-0.86395) + New Polarization: (-0.90818,0.11951,-0.40116) + *** FresnelRefraction *** +Track (trackID 830, parentID 1) is processed with stopping code 2 +### pop requested out of 220 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74655,-0.53596,-0.39422) + Old Polarization: (-0.66533,-0.60408,-0.43867) + New Momentum Direction: (0.43363,-0.72588,-0.53392) + New Polarization: (-0.90109,-0.35115,-0.25443) + *** FresnelRefraction *** +Track (trackID 829, parentID 1) is processed with stopping code 2 +### pop requested out of 219 stacked tracks. + +** Photon absorbed! ** +Track (trackID 828, parentID 1) is processed with stopping code 2 +### pop requested out of 218 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74707,-0.27985,-0.60297) + Old Polarization: (-0.66471,-0.32428,-0.67306) + New Momentum Direction: (0.44096,-0.37785,-0.81412) + New Polarization: (-0.8975,-0.19235,-0.39685) + *** FresnelRefraction *** +Track (trackID 827, parentID 1) is processed with stopping code 2 +### pop requested out of 217 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73423,0.21564,0.64375) + Old Polarization: (-0.67886,0.22204,0.69989) + New Momentum Direction: (0.38724,0.29285,0.87423) + New Polarization: (-0.92195,0.11552,0.36968) + *** FresnelRefraction *** +Track (trackID 826, parentID 1) is processed with stopping code 2 +### pop requested out of 216 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73726,0.22316,-0.63768) + Old Polarization: (-0.67553,0.22965,-0.70065) + New Momentum Direction: (0.3952,0.30343,-0.86703) + New Polarization: (-0.91855,0.12124,-0.37625) + *** FresnelRefraction *** +Track (trackID 825, parentID 1) is processed with stopping code 2 +### pop requested out of 215 stacked tracks. + +** Photon absorbed! ** +Track (trackID 824, parentID 1) is processed with stopping code 2 +### pop requested out of 214 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.746,-0.29034,-0.59932) + Old Polarization: (-0.66591,-0.33476,-0.66671) + New Momentum Direction: (0.43474,-0.39262,-0.81046) + New Polarization: (-0.90053,-0.19605,-0.38808) + *** FresnelRefraction *** +Track (trackID 823, parentID 1) is processed with stopping code 2 +### pop requested out of 213 stacked tracks. + +** Photon absorbed! ** +Track (trackID 822, parentID 1) is processed with stopping code 2 +### pop requested out of 212 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74682,-0.63327,-0.20304) + Old Polarization: (-0.66503,-0.71112,-0.22814) + New Momentum Direction: (0.43437,-0.85773,-0.275) + New Polarization: (-0.90073,-0.4136,-0.13271) + *** FresnelRefraction *** +Track (trackID 821, parentID 1) is processed with stopping code 2 +### pop requested out of 211 stacked tracks. + +** Photon absorbed! ** +Track (trackID 820, parentID 1) is processed with stopping code 2 +### pop requested out of 210 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74011,0.63614,-0.21809) + Old Polarization: (-0.67246,0.69716,-0.24853) + New Momentum Direction: (0.4265,0.8556,-0.29333) + New Polarization: (-0.90447,0.40144,-0.14416) + *** FresnelRefraction *** +Track (trackID 819, parentID 1) is processed with stopping code 2 +### pop requested out of 209 stacked tracks. + +** Photon absorbed! ** +Track (trackID 818, parentID 1) is processed with stopping code 2 +### pop requested out of 208 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74521,-0.58269,0.32424) + Old Polarization: (-0.66679,-0.65643,0.35284) + New Momentum Direction: (0.43059,-0.78867,0.43886) + New Polarization: (-0.90252,-0.37985,0.20289) + *** FresnelRefraction *** +Track (trackID 817, parentID 1) is processed with stopping code 2 +### pop requested out of 207 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75099,-0.64862,0.12372) + Old Polarization: (-0.6603,-0.73903,0.13359) + New Momentum Direction: (0.45926,-0.87257,0.16643) + New Polarization: (-0.88829,-0.45206,0.081125) + *** FresnelRefraction *** +Track (trackID 816, parentID 1) is processed with stopping code 2 +### pop requested out of 206 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75189,-0.59669,-0.28039) + Old Polarization: (-0.65928,-0.68126,-0.31817) + New Momentum Direction: (0.46225,-0.80256,-0.37714) + New Polarization: (-0.88675,-0.41888,-0.19548) + *** FresnelRefraction *** +Track (trackID 815, parentID 1) is processed with stopping code 2 +### pop requested out of 205 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74485,-0.62704,-0.22807) + Old Polarization: (-0.66723,-0.70013,-0.2542) + New Momentum Direction: (0.42295,-0.85157,-0.30974) + New Polarization: (-0.90615,-0.39757,-0.1443) + *** FresnelRefraction *** +Track (trackID 814, parentID 1) is processed with stopping code 2 +### pop requested out of 204 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73486,0.60531,0.3059) + Old Polarization: (-0.67822,0.65488,0.3334) + New Momentum Direction: (0.39887,0.81843,0.41361) + New Polarization: (-0.91701,0.35532,0.18122) + *** FresnelRefraction *** +Track (trackID 813, parentID 1) is processed with stopping code 2 +### pop requested out of 203 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74407,-0.11262,-0.65854) + Old Polarization: (-0.66804,-0.13827,-0.73116) + New Momentum Direction: (0.42753,-0.15239,-0.89107) + New Polarization: (-0.90397,-0.080822,-0.4199) + *** FresnelRefraction *** +Track (trackID 812, parentID 1) is processed with stopping code 2 +### pop requested out of 202 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73196,0.66811,0.13361) + Old Polarization: (-0.68134,0.7181,0.14178) + New Momentum Direction: (0.38051,0.90682,0.18135) + New Polarization: (-0.92478,0.37336,0.073441) + *** FresnelRefraction *** +Track (trackID 811, parentID 1) is processed with stopping code 2 +### pop requested out of 201 stacked tracks. + +** Photon absorbed! ** +Track (trackID 810, parentID 1) is processed with stopping code 2 +### pop requested out of 200 stacked tracks. + +** Photon absorbed! ** +Track (trackID 809, parentID 1) is processed with stopping code 2 +### pop requested out of 199 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73864,0.048152,0.67238) + Old Polarization: (-0.67404,0.039136,0.73766) + New Momentum Direction: (0.41055,0.065134,0.90951) + New Polarization: (-0.9118,0.020081,0.41014) + *** FresnelRefraction *** +Track (trackID 808, parentID 1) is processed with stopping code 2 +### pop requested out of 198 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73989,0.22609,-0.6336) + Old Polarization: (-0.67265,0.23475,-0.70173) + New Momentum Direction: (0.41155,0.3063,-0.85837) + New Polarization: (-0.91134,0.1289,-0.39095) + *** FresnelRefraction *** +Track (trackID 807, parentID 1) is processed with stopping code 2 +### pop requested out of 197 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73481,0.42069,0.53205) + Old Polarization: (-0.67825,0.44937,0.58141) + New Momentum Direction: (0.39558,0.56964,0.72044) + New Polarization: (-0.91842,0.24105,0.31369) + *** FresnelRefraction *** +Track (trackID 806, parentID 1) is processed with stopping code 2 +### pop requested out of 196 stacked tracks. + +** Photon absorbed! ** +Track (trackID 805, parentID 1) is processed with stopping code 2 +### pop requested out of 195 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74185,-0.17326,-0.64779) + Old Polarization: (-0.67051,-0.20353,-0.71343) + New Momentum Direction: (0.41302,-0.23531,-0.8798) + New Polarization: (-0.91069,-0.11473,-0.39684) + *** FresnelRefraction *** +Track (trackID 804, parentID 1) is processed with stopping code 2 +### pop requested out of 194 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73218,0.67682,-0.076309) +Old Polarization: (-0.6811,0.72687,-0.088145) +New Polarization: (-0.74398,0.55105,-0.052301) +Polarization Change: (-0.8023,0.59425,-0.0564) +New Momentum Direction: (-0.58867,-0.77435,0.21513) +Momentum Change: (-0.59091,-0.7773,0.21595) + +** Photon absorbed! ** +Track (trackID 803, parentID 1) is processed with stopping code 2 +### pop requested out of 193 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74207,-0.42506,0.51833) + Old Polarization: (-0.67026,-0.48114,0.56503) + New Momentum Direction: (-0.74207,-0.42506,0.51833) + New Polarization: (-0.66973,0.50278,-0.54651) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74207,-0.42506,0.51833) + Old Polarization: (-0.66973,0.50278,-0.54651) + New Momentum Direction: (-0.74207,-0.42506,-0.51833) + New Polarization: (0.66973,-0.50278,-0.54651) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74207,-0.42506,-0.51833) + Old Polarization: (0.66973,-0.50278,-0.54651) + New Momentum Direction: (-0.74207,0.42506,-0.51833) + New Polarization: (-0.66973,-0.50278,0.54651) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74207,0.42506,-0.51833) + Old Polarization: (-0.66973,-0.50278,0.54651) + New Momentum Direction: (-0.41771,0.57613,-0.70256) + New Polarization: (0.90821,0.24262,-0.34103) + *** FresnelRefraction *** +Track (trackID 802, parentID 1) is processed with stopping code 2 +### pop requested out of 192 stacked tracks. + +** Photon absorbed! ** +Track (trackID 801, parentID 1) is processed with stopping code 2 +### pop requested out of 191 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75024,-0.60005,-0.27765) + Old Polarization: (-0.66117,-0.68159,-0.31352) + New Momentum Direction: (0.45343,-0.8089,-0.37428) + New Polarization: (-0.89129,-0.412,-0.18936) + *** FresnelRefraction *** +Track (trackID 800, parentID 1) is processed with stopping code 2 +### pop requested out of 190 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74678,-0.47326,-0.46728) + Old Polarization: (-0.66506,-0.53599,-0.52002) + New Momentum Direction: (0.43586,-0.64044,-0.63235) + New Polarization: (-0.9,-0.31329,-0.30305) + *** FresnelRefraction *** +Track (trackID 799, parentID 1) is processed with stopping code 2 +### pop requested out of 189 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73741,-0.0038132,0.67543) + Old Polarization: (-0.67538,-0.018173,0.73725) + New Momentum Direction: (0.40173,-0.0051699,0.91574) + New Polarization: (-0.91572,-0.011721,0.40165) + *** FresnelRefraction *** +Track (trackID 798, parentID 1) is processed with stopping code 2 +### pop requested out of 188 stacked tracks. + +** Photon absorbed! ** +Track (trackID 797, parentID 1) is processed with stopping code 2 +### pop requested out of 187 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73307,0.47794,0.48392) + Old Polarization: (-0.68014,0.51035,0.52626) + New Momentum Direction: (0.38563,0.64835,0.65646) + New Polarization: (-0.92264,0.26778,0.27752) + *** FresnelRefraction *** +Track (trackID 796, parentID 1) is processed with stopping code 2 +### pop requested out of 186 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73754,0.24072,-0.63094) + Old Polarization: (-0.67523,0.24916,-0.69425) + New Momentum Direction: (0.3975,0.32709,-0.85733) + New Polarization: (-0.91756,0.13247,-0.37489) + *** FresnelRefraction *** +Track (trackID 795, parentID 1) is processed with stopping code 2 +### pop requested out of 185 stacked tracks. + +** Photon absorbed! ** +Track (trackID 794, parentID 1) is processed with stopping code 2 +### pop requested out of 184 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73175,0.68115,0.023918) + Old Polarization: (-0.68157,0.73144,0.021554) + New Momentum Direction: (0.37844,0.92506,0.032483) + New Polarization: (-0.92562,0.3783,0.010523) + *** FresnelRefraction *** +Track (trackID 793, parentID 1) is processed with stopping code 2 +### pop requested out of 183 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74383,-0.51528,-0.42569) + Old Polarization: (-0.66836,-0.57683,-0.46964) + New Momentum Direction: (0.41805,-0.70034,-0.57858) + New Polarization: (-0.90842,-0.32458,-0.26349) + *** FresnelRefraction *** +Track (trackID 792, parentID 1) is processed with stopping code 2 +### pop requested out of 182 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74722,-0.24303,-0.61855) + Old Polarization: (-0.66454,-0.28383,-0.69125) + New Momentum Direction: (0.44251,-0.32794,-0.83465) + New Polarization: (-0.89674,-0.16909,-0.40899) + *** FresnelRefraction *** +Track (trackID 791, parentID 1) is processed with stopping code 2 ### pop requested out of 181 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 762, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73605,0.67304,-0.072386) + Old Polarization: (-0.67691,0.73116,-0.084797) + New Momentum Direction: (0.40469,0.90921,-0.097786) + New Polarization: (-0.91445,0.40192,-0.047408) + *** FresnelRefraction *** +Track (trackID 790, parentID 1) is processed with stopping code 2 ### pop requested out of 180 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78599,-0.60837,-0.11003) - Old Polarization: (-0.51914,-0.55282,-0.65183) - New Momentum Direction: (0.54884,-0.82258,-0.14877) - New Polarization: (-0.7613,-0.41836,-0.49539) + Old Momentum Direction: (0.73612,0.51855,-0.435) + Old Polarization: (-0.6768,0.55586,-0.48266) + New Momentum Direction: (0.39782,0.7029,-0.58964) + New Polarization: (-0.91743,0.29934,-0.26214) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 761, parentID 637) is processed with stopping code 2 +Track (trackID 789, parentID 1) is processed with stopping code 2 ### pop requested out of 179 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 760, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74671,-0.022123,-0.66478) + Old Polarization: (-0.66508,-0.038762,-0.74576) + New Momentum Direction: (0.44445,-0.029795,-0.89531) + New Polarization: (-0.89576,-0.024377,-0.44387) + *** FresnelRefraction *** +Track (trackID 788, parentID 1) is processed with stopping code 2 ### pop requested out of 178 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46427,-0.088994,0.88121) - Old Polarization: (-0.88279,0.034051,0.46854) - New Momentum Direction: (0.62762,-0.12031,0.76917) - New Polarization: (0.73369,-0.23903,-0.63606) + Old Momentum Direction: (0.73319,0.59977,0.32047) + Old Polarization: (-0.68002,0.64549,0.34774) + New Momentum Direction: (0.38833,0.81278,0.43428) + New Polarization: (-0.92152,0.34171,0.18449) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 759, parentID 637) is processed with stopping code 2 +Track (trackID 787, parentID 1) is processed with stopping code 2 ### pop requested out of 177 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.58388,-0.71177,0.39047) - Old Polarization: (-0.74587,-0.66023,-0.088178) - New Momentum Direction: (0.79403,-0.29588,0.53101) - New Polarization: (0.11203,0.92981,0.35058) + Old Momentum Direction: (0.74427,-0.49576,-0.44753) + Old Polarization: (-0.66787,-0.55642,-0.49431) + New Momentum Direction: (0.42098,-0.67331,-0.60781) + New Polarization: (-0.90706,-0.31517,-0.27911) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 758, parentID 637) is processed with stopping code 2 +Track (trackID 786, parentID 1) is processed with stopping code 2 ### pop requested out of 176 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.93317,0.0035894,-0.35941) -Old Polarization: (-0.35646,0.1376,-0.92412) -New Polarization: (-0.7542,0.48249,-0.15225) -Polarization Change: (-0.83045,0.53127,-0.16764) -New Momentum Direction: (0.18773,0.012692,-0.88971) -Momentum Change: (0.20643,0.013956,-0.97836) - Photon at Boundary! - Old Momentum Direction: (0.20643,0.013956,-0.97836) - Old Polarization: (-0.83045,0.53127,-0.16764) - New Momentum Direction: (-0.20643,0.013956,-0.97836) - New Polarization: (-0.83045,-0.53127,0.16764) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.20643,0.013956,-0.97836) - Old Polarization: (-0.83045,-0.53127,0.16764) - New Momentum Direction: (-0.28081,0.018985,-0.95958) - New Polarization: (-0.87746,-0.41015,0.24866) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 757, parentID 637) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. -** Photon Absorbed! ** -Track (trackID 756, parentID 637) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. +** Photon absorbed! ** +Track (trackID 785, parentID 1) is processed with stopping code 2 +### pop requested out of 175 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.4669,-0.38984,0.79374) - Old Polarization: (-0.8788,-0.30462,0.36732) - New Momentum Direction: (0.63226,-0.52791,0.56705) - New Polarization: (-0.11651,-0.78838,-0.60405) + Old Momentum Direction: (0.74241,0.042937,-0.66857) + Old Polarization: (-0.66988,0.033324,-0.74172) + New Momentum Direction: (0.42159,0.058116,-0.90492) + New Polarization: (-0.90674,0.017326,-0.42133) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 755, parentID 637) is processed with stopping code 2 +Track (trackID 784, parentID 1) is processed with stopping code 2 +### pop requested out of 174 stacked tracks. + +** Photon absorbed! ** +Track (trackID 783, parentID 1) is processed with stopping code 2 ### pop requested out of 173 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.7533,-0.65618,-0.044437) - Old Polarization: (-0.55671,-0.60022,-0.57429) - New Momentum Direction: (0.44969,-0.89114,-0.060349) - New Polarization: (-0.82085,-0.38569,-0.42124) + Old Momentum Direction: (0.73785,0.65428,-0.16584) + Old Polarization: (-0.67495,0.71325,-0.18902) + New Momentum Direction: (0.41421,0.88228,-0.22364) + New Polarization: (-0.91017,0.40017,-0.10705) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 754, parentID 637) is processed with stopping code 2 +Track (trackID 782, parentID 1) is processed with stopping code 2 ### pop requested out of 172 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73325,0.21683,0.64447) +Old Polarization: (-0.67992,0.22268,0.69866) +New Polarization: (-0.35443,0.24645,0.77821) +Polarization Change: (-0.39827,0.27693,0.87447) +New Momentum Direction: (0.29532,-0.77824,0.38096) +Momentum Change: (0.32261,-0.85014,0.41615) -** Photon Absorbed! ** -Track (trackID 753, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 781, parentID 1) is processed with stopping code 2 ### pop requested out of 171 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68542,0.56501,0.45931) - Old Polarization: (-0.6328,0.77427,-0.0081271) - New Momentum Direction: (0.17922,0.76339,0.62058) - New Polarization: (-0.92754,0.34138,-0.15208) + Old Momentum Direction: (0.74255,-0.64095,0.19445) + Old Polarization: (-0.66977,-0.71299,0.20747) + New Momentum Direction: (0.41237,-0.87178,0.26448) + New Polarization: (-0.911,-0.39625,0.11426) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 752, parentID 637) is processed with stopping code 2 +Track (trackID 780, parentID 1) is processed with stopping code 2 ### pop requested out of 170 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.47039,0.013046,0.88236) - Old Polarization: (-0.87355,0.14859,0.4635) - New Momentum Direction: (0.63845,0.017707,0.76946) - New Polarization: (0.7596,0.14668,-0.63364) + Old Momentum Direction: (0.73945,-0.35636,0.57115) + Old Polarization: (-0.67314,-0.4035,0.61974) + New Momentum Direction: (0.40411,-0.4842,0.77604) + New Polarization: (-0.91467,-0.22206,0.33775) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 751, parentID 637) is processed with stopping code 2 +Track (trackID 779, parentID 1) is processed with stopping code 2 ### pop requested out of 169 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.48307,-0.47566,0.73511) - Old Polarization: (-0.86225,-0.40441,0.30493) - New Momentum Direction: (0.6522,-0.64221,0.40274) - New Polarization: (-0.39254,-0.74063,-0.54533) + Old Momentum Direction: (0.74539,-0.47896,-0.46368) + Old Polarization: (-0.66662,-0.53998,-0.51385) + New Momentum Direction: (0.42779,-0.64941,-0.6287) + New Polarization: (-0.90387,-0.31038,-0.29443) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 750, parentID 637) is processed with stopping code 2 +Track (trackID 778, parentID 1) is processed with stopping code 2 ### pop requested out of 168 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.51272,0.23176,0.82668) -Old Polarization: (-0.82644,0.39411,0.40208) -New Polarization: (-0.62072,0.43537,0.51) -Polarization Change: (-0.67931,0.47647,0.55814) -New Momentum Direction: (-0.062213,0.67263,-0.64993) -Momentum Change: (-0.066368,0.71755,-0.69333) Photon at Boundary! - Old Momentum Direction: (-0.066368,0.71755,-0.69333) - Old Polarization: (-0.67931,0.47647,0.55814) - New Momentum Direction: (-0.090019,0.3279,-0.94041) - New Polarization: (-0.59763,-0.77313,-0.21237) + Old Momentum Direction: (0.7343,0.27759,0.61947) + Old Polarization: (-0.67879,0.29035,0.6745) + New Momentum Direction: (0.38922,0.37668,0.84061) + New Polarization: (-0.92112,0.15251,0.35816) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 749, parentID 637) is processed with stopping code 2 +Track (trackID 777, parentID 1) is processed with stopping code 2 ### pop requested out of 167 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.91611,0.33067,-0.22671) - Old Polarization: (-0.3745,0.50392,-0.77834) - New Momentum Direction: (0.83881,0.44903,-0.30785) - New Polarization: (-0.52458,0.51529,-0.67771) + Old Momentum Direction: (0.74277,-0.64423,0.1824) + Old Polarization: (-0.66953,-0.71689,0.19442) + New Momentum Direction: (0.41352,-0.87606,0.24804) + New Polarization: (-0.91048,-0.39939,0.10731) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 748, parentID 637) is processed with stopping code 2 +Track (trackID 776, parentID 1) is processed with stopping code 2 ### pop requested out of 166 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.75689,0.5985,0.2625) -Old Polarization: (-0.55296,0.80057,-0.23091) -New Polarization: (-0.362,0.47993,-0.62416) -Polarization Change: (-0.41774,0.55382,-0.72026) -New Momentum Direction: (-0.85776,-0.4893,0.12126) -Momentum Change: (-0.86214,-0.49179,0.12188) -Scattering Photon! -Old Momentum Direction: (-0.86214,-0.49179,0.12188) -Old Polarization: (-0.41774,0.55382,-0.72026) -New Polarization: (0.035035,0.80859,-0.31483) -Polarization Change: (0.040344,0.9311,-0.36254) -New Momentum Direction: (0.99426,-0.0076367,0.09103) -Momentum Change: (0.99581,-0.0076486,0.091172) - -** Photon Absorbed! ** -Track (trackID 747, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74415,-0.56578,-0.35515) + Old Polarization: (-0.66801,-0.63213,-0.39266) + New Momentum Direction: (0.41928,-0.76892,-0.48266) + New Polarization: (-0.90786,-0.35637,-0.2209) + *** FresnelRefraction *** +Track (trackID 775, parentID 1) is processed with stopping code 2 ### pop requested out of 165 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 746, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74399,0.17381,-0.6452) + Old Polarization: (-0.66812,0.1792,-0.72215) + New Momentum Direction: (0.43401,0.23434,-0.8699) + New Polarization: (-0.90086,0.10308,-0.4217) + *** FresnelRefraction *** +Track (trackID 774, parentID 1) is processed with stopping code 2 ### pop requested out of 164 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.92104,-0.14291,-0.36229) - Old Polarization: (-0.3694,-0.025888,-0.92891) - New Momentum Direction: (0.84847,-0.19421,-0.49233) - New Polarization: (-0.51432,-0.083143,-0.85356) + Old Momentum Direction: (0.73251,0.67432,-0.093361) + Old Polarization: (-0.68074,0.72469,-0.10689) + New Momentum Direction: (0.38216,0.91536,-0.12673) + New Polarization: (-0.92409,0.37795,-0.056718) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 745, parentID 637) is processed with stopping code 2 +Track (trackID 773, parentID 1) is processed with stopping code 2 ### pop requested out of 163 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81343,0.57167,0.10736) - Old Polarization: (-0.48959,0.77257,-0.40427) - New Momentum Direction: (0.61264,0.77678,0.14588) - New Polarization: (-0.72013,0.62468,-0.30197) + Old Momentum Direction: (0.74239,-0.62858,0.23181) + Old Polarization: (-0.66994,-0.69968,0.24827) + New Momentum Direction: (0.41208,-0.85487,0.31526) + New Polarization: (-0.91113,-0.38876,0.13679) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 744, parentID 637) is processed with stopping code 2 +Track (trackID 772, parentID 1) is processed with stopping code 2 ### pop requested out of 162 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.47801,0.020713,0.87811) - Old Polarization: (-0.86874,0.15866,0.46917) - New Momentum Direction: (0.64453,0.027928,0.76407) - New Polarization: (0.74919,0.17639,-0.63843) + Old Momentum Direction: (0.74652,-0.14959,-0.64832) + Old Polarization: (-0.66531,-0.18016,-0.72451) + New Momentum Direction: (0.4406,-0.20183,-0.87472) + New Polarization: (-0.89767,-0.10752,-0.42735) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 743, parentID 637) is processed with stopping code 2 +Track (trackID 771, parentID 1) is processed with stopping code 2 ### pop requested out of 161 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.47764,-0.48367,0.73344) -Old Polarization: (-0.86471,-0.40646,0.29508) -New Polarization: (-0.79748,-0.34714,0.38111) -Polarization Change: (-0.83981,-0.36557,0.40135) -New Momentum Direction: (-0.5302,0.61277,-0.55129) -Momentum Change: (-0.54099,0.62523,-0.56251) - -** Photon Absorbed! ** -Track (trackID 742, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74288,-0.26158,-0.61621) + Old Polarization: (-0.66939,-0.30043,-0.67946) + New Momentum Direction: (0.41718,-0.35512,-0.83657) + New Polarization: (-0.9088,-0.16988,-0.38108) + *** FresnelRefraction *** +Track (trackID 770, parentID 1) is processed with stopping code 2 ### pop requested out of 160 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.54675,0.33812,0.76599) - Old Polarization: (-0.78879,0.51486,0.33576) - New Momentum Direction: (0.74057,0.45798,0.49174) - New Polarization: (-0.11637,0.80812,-0.5774) + Old Momentum Direction: (0.73981,-0.14816,0.6563) + Old Polarization: (-0.67274,-0.17722,0.71834) + New Momentum Direction: (0.41242,-0.20061,0.88863) + New Polarization: (-0.91095,-0.10053,0.40009) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 741, parentID 637) is processed with stopping code 2 +Track (trackID 769, parentID 1) is processed with stopping code 2 ### pop requested out of 159 stacked tracks. -** Photon Absorbed! ** -Track (trackID 740, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 768, parentID 1) is processed with stopping code 2 ### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93632,0.045303,-0.34822) - Old Polarization: (-0.35041,0.18528,-0.91809) - New Momentum Direction: (0.87961,0.061369,-0.47171) - New Polarization: (-0.47514,0.16074,-0.8651) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 739, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 767, parentID 1) is processed with stopping code 2 ### pop requested out of 157 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50551,0.1908,0.84146) - Old Polarization: (-0.8359,0.35,0.42281) - New Momentum Direction: (0.50551,0.1908,-0.84146) - New Polarization: (0.52238,-0.84387,0.12247) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50551,0.1908,-0.84146) - Old Polarization: (0.52238,-0.84387,0.12247) - New Momentum Direction: (-0.50551,0.1908,-0.84146) - New Polarization: (0.52238,0.84387,-0.12247) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.50551,0.1908,-0.84146) - Old Polarization: (0.52238,0.84387,-0.12247) - New Momentum Direction: (-0.68374,0.25807,-0.68257) - New Polarization: (0.1386,0.96428,0.22574) + Old Momentum Direction: (0.74039,-0.40511,0.53638) + Old Polarization: (-0.67211,-0.45729,0.58237) + New Momentum Direction: (0.40828,-0.55017,0.72844) + New Polarization: (-0.91282,-0.25354,0.32012) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 738, parentID 637) is processed with stopping code 2 +Track (trackID 766, parentID 1) is processed with stopping code 2 ### pop requested out of 156 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46144,-0.051151,0.88569) - Old Polarization: (-0.88243,0.076597,0.46417) - New Momentum Direction: (0.62753,-0.069561,0.77548) - New Polarization: (0.769,-0.10054,-0.6313) + Old Momentum Direction: (0.74749,-0.60376,-0.27702) + Old Polarization: (-0.66427,-0.68007,-0.31024) + New Momentum Direction: (0.43826,-0.81696,-0.37484) + New Polarization: (-0.89885,-0.3988,-0.18176) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 737, parentID 637) is processed with stopping code 2 +Track (trackID 765, parentID 1) is processed with stopping code 2 ### pop requested out of 155 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46759,-0.42502,0.77506) - Old Polarization: (-0.87589,-0.34089,0.34148) - New Momentum Direction: (0.46759,-0.42502,-0.77506) - New Polarization: (0.61249,0.788,-0.06261) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.46759,-0.42502,-0.77506) - Old Polarization: (0.61249,0.788,-0.06261) - New Momentum Direction: (-0.46759,-0.42502,-0.77506) - New Polarization: (0.61249,-0.788,0.06261) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.46759,-0.42502,-0.77506) - Old Polarization: (0.61249,-0.788,0.06261) - New Momentum Direction: (-0.46759,0.42502,-0.77506) - New Polarization: (-0.61249,-0.788,-0.06261) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 736, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.74571,-0.3924,0.53846) + Old Polarization: (-0.66621,-0.45055,0.59428) + New Momentum Direction: (0.43956,-0.529,0.72591) + New Polarization: (-0.89817,-0.26671,0.3495) + *** FresnelRefraction *** +Track (trackID 764, parentID 1) is processed with stopping code 2 ### pop requested out of 154 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.92615,-0.11739,-0.35841) - Old Polarization: (-0.36069,0.0019549,-0.93268) - New Momentum Direction: (0.86024,-0.15871,-0.48455) - New Polarization: (-0.49761,-0.054046,-0.86572) + Old Momentum Direction: (0.74436,-0.58511,-0.32182) + Old Polarization: (-0.66777,-0.6535,-0.35638) + New Momentum Direction: (0.42033,-0.79505,-0.43729) + New Polarization: (-0.90737,-0.36917,-0.20099) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 735, parentID 637) is processed with stopping code 2 +Track (trackID 763, parentID 1) is processed with stopping code 2 ### pop requested out of 153 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.59303,0.45343,0.66537) - Old Polarization: (-0.7359,0.64057,0.21935) - New Momentum Direction: (0.59303,0.45343,-0.66537) - New Polarization: (0.7359,-0.64057,0.21935) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.59303,0.45343,-0.66537) - Old Polarization: (0.7359,-0.64057,0.21935) - New Momentum Direction: (-0.59303,0.45343,-0.66537) - New Polarization: (0.7359,0.64057,-0.21935) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59303,0.45343,-0.66537) - Old Polarization: (0.7359,0.64057,-0.21935) - New Momentum Direction: (-0.59303,-0.45343,-0.66537) - New Polarization: (-0.7359,0.64057,0.21935) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59303,-0.45343,-0.66537) - Old Polarization: (-0.7359,0.64057,0.21935) - New Momentum Direction: (-0.59303,-0.45343,0.66537) - New Polarization: (0.7359,-0.64057,0.21935) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59303,-0.45343,0.66537) - Old Polarization: (0.7359,-0.64057,0.21935) - New Momentum Direction: (0.59303,-0.45343,0.66537) - New Polarization: (0.7359,0.64057,-0.21935) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.59303,-0.45343,0.66537) -Old Polarization: (0.7359,0.64057,-0.21935) -New Polarization: (0.108,0.78674,0.4333) -Polarization Change: (0.11939,0.86967,0.47898) -New Momentum Direction: (-0.61136,-0.27599,0.6535) -Momentum Change: (-0.65283,-0.29471,0.69782) - Photon at Boundary! - Old Momentum Direction: (-0.65283,-0.29471,0.69782) - Old Polarization: (0.11939,0.86967,0.47898) - New Momentum Direction: (-0.65283,0.29471,0.69782) - New Polarization: (-0.11939,0.86967,-0.47898) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65283,0.29471,0.69782) - Old Polarization: (-0.11939,0.86967,-0.47898) - New Momentum Direction: (0.65283,0.29471,0.69782) - New Polarization: (-0.11939,-0.86967,0.47898) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65283,0.29471,0.69782) - Old Polarization: (-0.11939,-0.86967,0.47898) - New Momentum Direction: (0.88699,0.40042,0.23003) - New Polarization: (0.40797,-0.4461,-0.79659) + Old Momentum Direction: (0.74092,0.12268,0.66029) + Old Polarization: (-0.67154,0.12254,0.73077) + New Momentum Direction: (0.42573,0.16528,0.88963) + New Polarization: (-0.90482,0.069002,0.42017) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 734, parentID 637) is processed with stopping code 2 +Track (trackID 762, parentID 1) is processed with stopping code 2 ### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.53058,-0.62188,0.57598) - Old Polarization: (-0.80939,-0.5735,0.1264) - New Momentum Direction: (0.53058,0.62188,0.57598) - New Polarization: (0.80939,-0.5735,-0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.53058,0.62188,0.57598) - Old Polarization: (0.80939,-0.5735,-0.1264) - New Momentum Direction: (0.53058,0.62188,-0.57598) - New Polarization: (-0.80939,0.5735,-0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.53058,0.62188,-0.57598) - Old Polarization: (-0.80939,0.5735,-0.1264) - New Momentum Direction: (-0.53058,0.62188,-0.57598) - New Polarization: (-0.80939,-0.5735,0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.53058,0.62188,-0.57598) - Old Polarization: (-0.80939,-0.5735,0.1264) - New Momentum Direction: (-0.53058,-0.62188,-0.57598) - New Polarization: (0.80939,-0.5735,-0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.53058,-0.62188,-0.57598) - Old Polarization: (0.80939,-0.5735,-0.1264) - New Momentum Direction: (-0.53058,-0.62188,0.57598) - New Polarization: (-0.80939,0.5735,-0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.53058,-0.62188,0.57598) - Old Polarization: (-0.80939,0.5735,-0.1264) - New Momentum Direction: (0.53058,-0.62188,0.57598) - New Polarization: (-0.80939,-0.5735,0.1264) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 733, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 761, parentID 1) is processed with stopping code 2 ### pop requested out of 151 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.85028,-0.47079,-0.23532) - Old Polarization: (-0.44447,-0.40281,-0.80012) - New Momentum Direction: (0.70624,-0.63328,-0.31653) - New Polarization: (-0.64347,-0.3877,-0.66002) + Old Momentum Direction: (0.74775,-0.22437,-0.62493) + Old Polarization: (-0.66394,-0.26365,-0.69977) + New Momentum Direction: (0.4458,-0.30248,-0.84248) + New Polarization: (-0.8951,-0.1582,-0.41685) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 732, parentID 637) is processed with stopping code 2 +Track (trackID 760, parentID 1) is processed with stopping code 2 ### pop requested out of 150 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.47404,-0.40411,0.78229) - Old Polarization: (-0.87381,-0.32526,0.36148) - New Momentum Direction: (0.63858,-0.54437,0.54395) - New Polarization: (-0.16143,-0.78586,-0.59696) + Old Momentum Direction: (0.73797,-0.056211,0.67248) + Old Polarization: (-0.67476,-0.075737,0.73414) + New Momentum Direction: (0.40378,-0.076204,0.91168) + New Polarization: (-0.91481,-0.043269,0.40155) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 731, parentID 637) is processed with stopping code 2 +Track (trackID 759, parentID 1) is processed with stopping code 2 ### pop requested out of 149 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.54383,0.33952,0.76745) - Old Polarization: (-0.79087,0.51321,0.33338) - New Momentum Direction: (0.73893,0.46132,0.49109) - New Polarization: (-0.12073,0.80772,-0.57708) + Old Momentum Direction: (0.74352,-0.64672,-0.17008) + Old Polarization: (-0.66871,-0.71884,-0.18999) + New Momentum Direction: (0.41503,-0.87989,-0.2314) + New Polarization: (-0.90981,-0.40123,-0.10616) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 730, parentID 637) is processed with stopping code 2 +Track (trackID 758, parentID 1) is processed with stopping code 2 ### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5242,-0.62409,0.57942) - Old Polarization: (-0.81393,-0.56729,0.12534) - New Momentum Direction: (0.5242,0.62409,0.57942) - New Polarization: (0.81393,-0.56729,-0.12534) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5242,0.62409,0.57942) - Old Polarization: (0.81393,-0.56729,-0.12534) - New Momentum Direction: (0.5242,0.62409,-0.57942) - New Polarization: (-0.81393,0.56729,-0.12534) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5242,0.62409,-0.57942) - Old Polarization: (-0.81393,0.56729,-0.12534) - New Momentum Direction: (-0.5242,0.62409,-0.57942) - New Polarization: (-0.81393,-0.56729,0.12534) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 729, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 757, parentID 1) is processed with stopping code 2 ### pop requested out of 147 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 728, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73921,-0.20922,0.64015) + Old Polarization: (-0.6734,-0.24361,0.69799) + New Momentum Direction: (0.40709,-0.28375,0.8682) + New Polarization: (-0.91334,-0.13591,0.38384) + *** FresnelRefraction *** +Track (trackID 756, parentID 1) is processed with stopping code 2 ### pop requested out of 146 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.81483,-0.55194,-0.17726) - Old Polarization: (-0.48721,-0.48632,-0.72534) - New Momentum Direction: (0.6188,-0.74792,-0.24021) - New Polarization: (-0.71458,-0.40894,-0.56757) + Old Momentum Direction: (0.74583,-0.53466,-0.39734) + Old Polarization: (-0.66613,-0.60138,-0.44116) + New Momentum Direction: (0.42954,-0.72481,-0.53865) + New Polarization: (-0.90304,-0.34663,-0.25369) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 727, parentID 637) is processed with stopping code 2 +Track (trackID 755, parentID 1) is processed with stopping code 2 ### pop requested out of 145 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46391,-0.089958,0.8813) - Old Polarization: (-0.88302,0.032979,0.46818) - New Momentum Direction: (0.62732,-0.12164,0.7692) - New Polarization: (0.73264,-0.24269,-0.63588) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 726, parentID 637) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80413,-0.57207,-0.16157) - Old Polarization: (-0.50022,-0.50435,-0.70385) - New Momentum Direction: (0.58857,-0.77801,-0.21974) - New Polarization: (-0.73715,-0.40486,-0.54101) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 725, parentID 637) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. -** Photon Absorbed! ** -Track (trackID 724, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 754, parentID 1) is processed with stopping code 2 +### pop requested out of 144 stacked tracks. + +** Photon absorbed! ** +Track (trackID 753, parentID 1) is processed with stopping code 2 +### pop requested out of 143 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73957,0.18379,-0.6475) + Old Polarization: (-0.67301,0.18777,-0.7154) + New Momentum Direction: (0.40839,0.24925,-0.87812) + New Polarization: (-0.91276,0.10194,-0.39557) + *** FresnelRefraction *** +Track (trackID 752, parentID 1) is processed with stopping code 2 ### pop requested out of 142 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8277,-0.52285,-0.20382) - Old Polarization: (-0.47268,-0.45381,-0.7554) - New Momentum Direction: (0.64957,-0.70838,-0.27615) - New Polarization: (-0.69192,-0.40024,-0.60088) + Old Momentum Direction: (0.73693,0.25146,0.62746) + Old Polarization: (-0.67593,0.26364,0.6882) + New Momentum Direction: (0.40504,0.34012,0.84868) + New Polarization: (-0.91427,0.14357,0.37881) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 723, parentID 637) is processed with stopping code 2 +Track (trackID 751, parentID 1) is processed with stopping code 2 ### pop requested out of 141 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.84793,-0.47235,-0.24061) - Old Polarization: (-0.44915,-0.3991,-0.79936) - New Momentum Direction: (0.69731,-0.63868,-0.32533) - New Polarization: (-0.65357,-0.38021,-0.65444) + Old Momentum Direction: (0.74125,-0.53996,0.39874) + Old Polarization: (-0.67119,-0.60336,0.43066) + New Momentum Direction: (0.40881,-0.73414,0.54214) + New Polarization: (-0.91259,-0.33365,0.23635) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 722, parentID 637) is processed with stopping code 2 +Track (trackID 750, parentID 1) is processed with stopping code 2 ### pop requested out of 140 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 721, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73182,0.39887,0.55258) + Old Polarization: (-0.68148,0.42133,0.59839) + New Momentum Direction: (0.37575,0.5424,0.75141) + New Polarization: (-0.92671,0.21527,0.30802) + *** FresnelRefraction *** +Track (trackID 749, parentID 1) is processed with stopping code 2 ### pop requested out of 139 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8166,0.569,0.096945) - Old Polarization: (-0.48624,0.76864,-0.41565) - New Momentum Direction: (0.61978,0.77363,0.13181) - New Polarization: (-0.71533,0.62598,-0.31056) + Old Momentum Direction: (0.74653,-0.66224,-0.064319) + Old Polarization: (-0.66535,-0.74271,-0.075409) + New Momentum Direction: (0.4331,-0.89712,-0.087131) + New Polarization: (-0.90134,-0.43086,-0.044077) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 720, parentID 637) is processed with stopping code 2 +Track (trackID 748, parentID 1) is processed with stopping code 2 ### pop requested out of 138 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93272,-0.075281,-0.35265) - Old Polarization: (-0.34973,0.049429,-0.93555) - New Momentum Direction: (0.8747,-0.10118,-0.47399) - New Polarization: (-0.47657,-0.0015068,-0.87913) + Old Momentum Direction: (0.73408,0.63835,0.23159) + Old Polarization: (-0.67907,0.68992,0.25075) + New Momentum Direction: (0.3942,0.86393,0.31343) + New Polarization: (-0.91903,0.37047,0.13471) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 719, parentID 637) is processed with stopping code 2 +Track (trackID 747, parentID 1) is processed with stopping code 2 ### pop requested out of 137 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 718, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73128,0.61537,0.2942) + Old Polarization: (-0.68208,0.65895,0.31709) + New Momentum Direction: (0.37597,0.836,0.39969) + New Polarization: (-0.92663,0.33867,0.16329) + *** FresnelRefraction *** +Track (trackID 746, parentID 1) is processed with stopping code 2 ### pop requested out of 136 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.66975,0.55574,0.49252) - Old Polarization: (-0.65033,0.75915,0.027751) - New Momentum Direction: (-0.66975,0.55574,0.49252) - New Polarization: (-0.65033,-0.75915,-0.027751) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66975,0.55574,0.49252) - Old Polarization: (-0.65033,-0.75915,-0.027751) - New Momentum Direction: (-0.66975,-0.55574,0.49252) - New Polarization: (0.65033,-0.75915,0.027751) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66975,-0.55574,0.49252) - Old Polarization: (0.65033,-0.75915,0.027751) - New Momentum Direction: (-0.66975,-0.55574,-0.49252) - New Polarization: (-0.65033,0.75915,0.027751) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66975,-0.55574,-0.49252) - Old Polarization: (-0.65033,0.75915,0.027751) - New Momentum Direction: (0.66975,-0.55574,-0.49252) - New Polarization: (-0.65033,-0.75915,-0.027751) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 717, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.73753,-0.22975,0.63503) + Old Polarization: (-0.67524,-0.26469,0.68847) + New Momentum Direction: (0.39603,-0.3124,0.86346) + New Polarization: (-0.91819,-0.14399,0.36904) + *** FresnelRefraction *** +Track (trackID 745, parentID 1) is processed with stopping code 2 ### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80328,-0.57578,-0.15235) - Old Polarization: (-0.50017,-0.51326,-0.69742) - New Momentum Direction: (0.59054,-0.78016,-0.20642) - New Polarization: (-0.73435,-0.41343,-0.53833) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 716, parentID 637) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49643,0.15426,0.85426) - Old Polarization: (-0.84565,0.30818,0.43577) - New Momentum Direction: (0.67211,0.20885,0.71038) - New Polarization: (0.48896,0.59528,-0.63763) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 715, parentID 637) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62054,0.49015,0.61211) - Old Polarization: (-0.70613,0.68875,0.16433) - New Momentum Direction: (-0.62054,0.49015,0.61211) - New Polarization: (-0.70613,-0.68875,-0.16433) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62054,0.49015,0.61211) - Old Polarization: (-0.70613,-0.68875,-0.16433) - New Momentum Direction: (-0.62054,0.49015,-0.61211) - New Polarization: (0.70613,0.68875,-0.16433) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62054,0.49015,-0.61211) - Old Polarization: (0.70613,0.68875,-0.16433) - New Momentum Direction: (-0.62054,-0.49015,-0.61211) - New Polarization: (-0.70613,0.68875,0.16433) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 714, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 744, parentID 1) is processed with stopping code 2 +### pop requested out of 134 stacked tracks. + +** Photon absorbed! ** +Track (trackID 743, parentID 1) is processed with stopping code 2 +### pop requested out of 133 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73684,-0.023686,0.67566) +Old Polarization: (-0.676,-0.039924,0.73582) +New Polarization: (-0.53209,0.58607,0.3734) +Polarization Change: (-0.60794,0.66962,0.42663) +New Momentum Direction: (0.074033,0.52737,-0.72224) +Momentum Change: (0.082502,0.5877,-0.80486) + +** Photon absorbed! ** +Track (trackID 742, parentID 1) is processed with stopping code 2 ### pop requested out of 132 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73674,0.55195,0.3906) +Old Polarization: (-0.67617,0.59888,0.42911) +New Polarization: (-0.51624,0.66472,0.40044) +Polarization Change: (-0.55388,0.71318,0.42964) +New Momentum Direction: (0.093259,0.53651,-0.77036) +Momentum Change: (0.098854,0.5687,-0.81658) Photon at Boundary! - Old Momentum Direction: (0.93845,0.084359,-0.33494) - Old Polarization: (-0.3454,0.23087,-0.90961) - New Momentum Direction: (0.88482,0.1138,-0.45182) - New Polarization: (-0.46593,0.21733,-0.85772) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 713, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.098854,0.5687,-0.81658) + Old Polarization: (-0.55388,0.71318,0.42964) + New Momentum Direction: (0.098854,-0.5687,-0.81658) + New Polarization: (0.55388,0.71318,-0.42964) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 741, parentID 1) is processed with stopping code 2 ### pop requested out of 131 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93634,0.052254,-0.34719) - Old Polarization: (-0.35058,0.193,-0.91643) - New Momentum Direction: (0.87957,0.070808,-0.47046) - New Polarization: (-0.47538,0.1702,-0.86316) + Old Momentum Direction: (0.7331,0.54801,0.4028) + Old Polarization: (-0.68011,0.588,0.43784) + New Momentum Direction: (0.38707,0.74295,0.54609) + New Polarization: (-0.92205,0.31007,0.2317) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 712, parentID 637) is processed with stopping code 2 +Track (trackID 740, parentID 1) is processed with stopping code 2 ### pop requested out of 130 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.91213,-0.21814,-0.34705) - Old Polarization: (-0.37664,-0.11185,-0.91958) - New Momentum Direction: (0.83234,-0.29496,-0.46927) - New Polarization: (-0.52891,-0.16952,-0.83157) + Old Momentum Direction: (0.73989,0.32607,-0.58843) + Old Polarization: (-0.67266,0.34589,-0.65413) + New Momentum Direction: (0.41447,0.44111,-0.79602) + New Polarization: (-0.91002,0.19226,-0.36729) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 711, parentID 637) is processed with stopping code 2 +Track (trackID 739, parentID 1) is processed with stopping code 2 ### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8315,-0.51369,-0.21151) - Old Polarization: (-0.4684,-0.44356,-0.76411) - New Momentum Direction: (0.65845,-0.69594,-0.28656) - New Polarization: (-0.68518,-0.39675,-0.61084) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 710, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 738, parentID 1) is processed with stopping code 2 ### pop requested out of 128 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46537,-0.035642,0.8844) - Old Polarization: (-0.87947,0.094084,0.46656) - New Momentum Direction: (0.63132,-0.048353,0.77402) - New Polarization: (0.77308,-0.0399,-0.63305) + Old Momentum Direction: (0.74662,-0.5421,-0.3856) + Old Polarization: (-0.66525,-0.61091,-0.42922) + New Momentum Direction: (0.43395,-0.73415,-0.52221) + New Polarization: (-0.90093,-0.35533,-0.24912) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 709, parentID 637) is processed with stopping code 2 +Track (trackID 737, parentID 1) is processed with stopping code 2 ### pop requested out of 127 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 708, parentID 637) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.47252,-0.40159,0.78451) - Old Polarization: (-0.87485,-0.32138,0.36242) - New Momentum Direction: (0.63726,-0.54161,0.54823) - New Polarization: (-0.15364,-0.7864,-0.59831) + Old Momentum Direction: (0.74298,-0.53089,0.4076) + Old Polarization: (-0.66926,-0.59669,0.44277) + New Momentum Direction: (0.41955,-0.72,0.55279) + New Polarization: (-0.9077,-0.3378,0.24894) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 707, parentID 637) is processed with stopping code 2 +Track (trackID 736, parentID 1) is processed with stopping code 2 +### pop requested out of 126 stacked tracks. + +** Photon absorbed! ** +Track (trackID 735, parentID 1) is processed with stopping code 2 ### pop requested out of 125 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.52042,-0.62547,0.58133) - Old Polarization: (-0.81656,-0.56367,0.12452) - New Momentum Direction: (0.52042,0.62547,0.58133) - New Polarization: (0.81656,-0.56367,-0.12452) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.52042,0.62547,0.58133) - Old Polarization: (0.81656,-0.56367,-0.12452) - New Momentum Direction: (0.52042,0.62547,-0.58133) - New Polarization: (-0.81656,0.56367,-0.12452) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.52042,0.62547,-0.58133) - Old Polarization: (-0.81656,0.56367,-0.12452) - New Momentum Direction: (-0.52042,0.62547,-0.58133) - New Polarization: (-0.81656,-0.56367,0.12452) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.52042,0.62547,-0.58133) -Old Polarization: (-0.81656,-0.56367,0.12452) -New Polarization: (-0.50476,-0.68412,0.24929) -Polarization Change: (-0.56973,-0.77217,0.28137) -New Momentum Direction: (0.81564,-0.52197,0.21909) -Momentum Change: (0.82153,-0.52573,0.22067) - Photon at Boundary! - Old Momentum Direction: (0.82153,-0.52573,0.22067) - Old Polarization: (-0.56973,-0.77217,0.28137) - New Momentum Direction: (0.63128,-0.71511,0.30016) - New Polarization: (-0.77525,-0.59264,0.21855) + Old Momentum Direction: (0.74025,-0.095729,0.66548) + Old Polarization: (-0.67226,-0.11979,0.73056) + New Momentum Direction: (0.41645,-0.12945,0.8999) + New Polarization: (-0.90911,-0.069084,0.41078) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 706, parentID 637) is processed with stopping code 2 +Track (trackID 734, parentID 1) is processed with stopping code 2 ### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93267,0.18209,-0.31141) - Old Polarization: (-0.35671,0.33688,-0.87136) - New Momentum Direction: (0.87146,0.24757,-0.4234) - New Polarization: (-0.48754,0.34313,-0.80285) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 705, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 733, parentID 1) is processed with stopping code 2 ### pop requested out of 123 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93171,-0.075347,-0.35531) - Old Polarization: (-0.3524,0.049406,-0.93455) - New Momentum Direction: (0.87206,-0.10153,-0.47876) - New Polarization: (-0.48137,-0.0014127,-0.87652) + Old Momentum Direction: (0.73438,0.36577,0.57175) + Old Polarization: (-0.67871,0.38792,0.6236) + New Momentum Direction: (0.39176,0.49582,0.77504) + New Polarization: (-0.92005,0.20585,0.33337) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 704, parentID 637) is processed with stopping code 2 +Track (trackID 732, parentID 1) is processed with stopping code 2 ### pop requested out of 122 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50735,0.22048,0.83306) - Old Polarization: (-0.83134,0.37974,0.4058) - New Momentum Direction: (0.68979,0.29977,0.65903) - New Polarization: (0.28602,0.72339,-0.62841) + Old Momentum Direction: (0.7324,0.61906,0.28347) + Old Polarization: (-0.68087,0.66524,0.30639) + New Momentum Direction: (0.3834,0.83973,0.38452) + New Polarization: (-0.92358,0.34814,0.16061) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 703, parentID 637) is processed with stopping code 2 +Track (trackID 731, parentID 1) is processed with stopping code 2 ### pop requested out of 121 stacked tracks. -** Photon Absorbed! ** -Track (trackID 702, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 730, parentID 1) is processed with stopping code 2 ### pop requested out of 120 stacked tracks. -** Photon Absorbed! ** -Track (trackID 701, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 729, parentID 1) is processed with stopping code 2 ### pop requested out of 119 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73393,0.58602,0.34341) +Old Polarization: (-0.67922,0.63165,0.37372) +New Polarization: (-0.38612,0.58285,0.54792) +Polarization Change: (-0.43469,0.65616,0.61684) +New Momentum Direction: (-0.81412,-0.088398,-0.47967) +Momentum Change: (-0.85783,-0.093143,-0.50542) Photon at Boundary! - Old Momentum Direction: (0.92056,-0.17127,-0.35105) - Old Polarization: (-0.36535,-0.059716,-0.92895) - New Momentum Direction: (0.85015,-0.23088,-0.47323) - New Polarization: (-0.50741,-0.11916,-0.85342) + Old Momentum Direction: (-0.85783,-0.093143,-0.50542) + Old Polarization: (-0.43469,0.65616,0.61684) + New Momentum Direction: (-0.71822,-0.12611,-0.6843) + New Polarization: (0.63366,0.28774,-0.7181) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 700, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.71822,-0.12611,-0.6843) + Old Polarization: (0.63366,0.28774,-0.7181) + New Momentum Direction: (-0.53048,-0.093143,-0.84256) + New Polarization: (-0.84749,0.080313,0.5247) + *** FresnelRefraction *** + Photon at Boundary! + Old Momentum Direction: (-0.53048,-0.093143,-0.84256) + Old Polarization: (-0.84749,0.080313,0.5247) + New Momentum Direction: (-0.71822,-0.12611,-0.6843) + New Polarization: (-0.6932,0.044395,0.71938) + *** FresnelRefraction *** +Track (trackID 728, parentID 1) is processed with stopping code 2 ### pop requested out of 118 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73279,0.21116,0.64686) +Old Polarization: (-0.68041,0.21617,0.70022) +New Polarization: (-0.74119,0.32756,0.35222) +Polarization Change: (-0.83885,0.37072,0.39862) +New Momentum Direction: (0.38542,0.013114,0.79886) +Momentum Change: (0.43448,0.014784,0.90056) Photon at Boundary! - Old Momentum Direction: (0.87707,0.47203,-0.089047) - Old Polarization: (-0.41874,0.66048,-0.62324) - New Momentum Direction: (0.75729,0.64176,-0.12107) - New Polarization: (-0.60546,0.62043,-0.49848) + Old Momentum Direction: (0.43448,0.014784,0.90056) + Old Polarization: (-0.83885,0.37072,0.39862) + New Momentum Direction: (0.59122,0.020117,0.80626) + New Polarization: (0.75848,0.32595,-0.56432) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 699, parentID 637) is processed with stopping code 2 +Track (trackID 727, parentID 1) is processed with stopping code 2 ### pop requested out of 117 stacked tracks. -** Photon Absorbed! ** -Track (trackID 698, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 726, parentID 1) is processed with stopping code 2 ### pop requested out of 116 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50697,0.21415,0.83494) - Old Polarization: (-0.83231,0.37349,0.40959) - New Momentum Direction: (0.68847,0.29081,0.6644) - New Polarization: (0.30649,0.71361,-0.62994) + Old Momentum Direction: (0.73524,0.63544,-0.23587) + Old Polarization: (-0.67778,0.68605,-0.2645) + New Momentum Direction: (0.39724,0.86035,-0.31936) + New Polarization: (-0.9177,0.37024,-0.14407) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 697, parentID 637) is processed with stopping code 2 +Track (trackID 725, parentID 1) is processed with stopping code 2 ### pop requested out of 115 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 696, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74477,-0.66309,0.075078) + Old Polarization: (-0.66731,-0.74072,0.077662) + New Momentum Direction: (0.42404,-0.89989,0.10189) + New Polarization: (-0.90563,-0.42182,0.043553) + *** FresnelRefraction *** +Track (trackID 724, parentID 1) is processed with stopping code 2 ### pop requested out of 114 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.9047,-0.25745,-0.33947) - Old Polarization: (-0.38557,-0.15576,-0.90944) - New Momentum Direction: (0.81697,-0.34847,-0.45949) - New Polarization: (-0.54565,-0.20924,-0.81147) + Old Momentum Direction: (0.74126,0.13054,0.6584) + Old Polarization: (-0.67116,0.13147,0.72956) + New Momentum Direction: (0.42787,0.17578,0.88658) + New Polarization: (-0.90381,0.074509,0.42141) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 695, parentID 637) is processed with stopping code 2 +Track (trackID 723, parentID 1) is processed with stopping code 2 ### pop requested out of 113 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.49359,-0.53714,0.684) - Old Polarization: (-0.84851,-0.46996,0.24326) - New Momentum Direction: (0.49359,-0.53714,-0.684) - New Polarization: (0.59365,0.78285,-0.18636) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.49359,-0.53714,-0.684) - Old Polarization: (0.59365,0.78285,-0.18636) - New Momentum Direction: (0.49359,0.53714,-0.684) - New Polarization: (-0.59365,0.78285,0.18636) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.49359,0.53714,-0.684) - Old Polarization: (-0.59365,0.78285,0.18636) - New Momentum Direction: (-0.49359,0.53714,-0.684) - New Polarization: (-0.59365,-0.78285,-0.18636) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.49359,0.53714,-0.684) - Old Polarization: (-0.59365,-0.78285,-0.18636) - New Momentum Direction: (-0.49359,0.53714,0.684) - New Polarization: (0.81201,0.56629,0.14127) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.49359,0.53714,0.684) - Old Polarization: (0.81201,0.56629,0.14127) - New Momentum Direction: (-0.49359,-0.53714,0.684) - New Polarization: (-0.81201,0.56629,-0.14127) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.49359,-0.53714,0.684) - Old Polarization: (-0.81201,0.56629,-0.14127) - New Momentum Direction: (0.49359,-0.53714,0.684) - New Polarization: (-0.81201,-0.56629,0.14127) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 694, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.73893,0.6713,-0.057768) + Old Polarization: (-0.67377,0.7357,-0.069197) + New Momentum Direction: (0.42189,0.90331,-0.077734) + New Polarization: (-0.90664,0.41999,-0.040179) + *** FresnelRefraction *** +Track (trackID 722, parentID 1) is processed with stopping code 2 ### pop requested out of 112 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.90545,-0.24309,-0.34795) - Old Polarization: (-0.38724,-0.13745,-0.91167) - New Momentum Direction: (0.81656,-0.33061,-0.47322) - New Polarization: (-0.54902,-0.19152,-0.81357) + Old Momentum Direction: (0.73811,-0.087641,0.66897) + Old Polarization: (-0.67461,-0.11021,0.7299) + New Momentum Direction: (0.40374,-0.11884,0.90712) + New Polarization: (-0.91483,-0.062124,0.39903) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 693, parentID 637) is processed with stopping code 2 +Track (trackID 721, parentID 1) is processed with stopping code 2 ### pop requested out of 111 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8261,-0.52433,-0.20652) - Old Polarization: (-0.4755,-0.45189,-0.75478) - New Momentum Direction: (0.643,-0.71259,-0.28067) - New Polarization: (-0.69826,-0.39492,-0.59705) + Old Momentum Direction: (0.73344,0.67132,0.10678) + Old Polarization: (-0.67975,0.7247,0.11286) + New Momentum Direction: (0.38992,0.90942,0.14465) + New Polarization: (-0.92085,0.38533,0.05967) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 692, parentID 637) is processed with stopping code 2 +Track (trackID 720, parentID 1) is processed with stopping code 2 ### pop requested out of 110 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69515,-0.71057,0.10887) - Old Polarization: (-0.62179,-0.67035,-0.40498) - New Momentum Direction: (0.93876,-0.31162,0.14702) - New Polarization: (0.33311,0.92988,-0.15607) + Old Momentum Direction: (0.73312,0.43245,0.5249) + Old Polarization: (-0.68008,0.46009,0.57079) + New Momentum Direction: (0.38506,0.58683,0.71229) + New Polarization: (-0.92288,0.24078,0.30053) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 691, parentID 637) is processed with stopping code 2 +Track (trackID 719, parentID 1) is processed with stopping code 2 ### pop requested out of 109 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.48486,-0.51618,0.70602) - Old Polarization: (-0.85668,-0.44285,0.26454) - New Momentum Direction: (0.65891,-0.70148,0.27158) - New Polarization: (-0.5189,-0.68526,-0.51105) + Old Momentum Direction: (0.73498,0.66794,-0.11688) + Old Polarization: (-0.67807,0.72276,-0.13357) + New Momentum Direction: (0.39755,0.90384,-0.15816) + New Polarization: (-0.91757,0.39079,-0.073177) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 690, parentID 637) is processed with stopping code 2 +Track (trackID 718, parentID 1) is processed with stopping code 2 ### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.45866,-0.084992,0.88454) - Old Polarization: (-0.88555,0.038852,0.46291) - New Momentum Direction: (0.62372,-0.11558,0.77305) - New Polarization: (0.74087,-0.22785,-0.63182) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 689, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 717, parentID 1) is processed with stopping code 2 ### pop requested out of 107 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.90244,0.39349,-0.1754) - Old Polarization: (-0.39009,0.57357,-0.72031) - New Momentum Direction: (0.81079,0.53463,-0.23832) - New Polarization: (-0.55429,0.57041,-0.60613) + Old Momentum Direction: (0.73696,0.20023,-0.6456) + Old Polarization: (-0.67586,0.20428,-0.70815) + New Momentum Direction: (0.39258,0.27245,-0.87844) + New Polarization: (-0.91967,0.10691,-0.37785) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 688, parentID 637) is processed with stopping code 2 +Track (trackID 716, parentID 1) is processed with stopping code 2 ### pop requested out of 106 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46628,-0.060441,0.88257) - Old Polarization: (-0.88036,0.066324,0.46966) - New Momentum Direction: (0.63051,-0.081729,0.77187) - New Polarization: (0.76059,-0.13325,-0.63541) + Old Momentum Direction: (0.74155,0.02119,-0.67057) + Old Polarization: (-0.67083,0.0092986,-0.74155) + New Momentum Direction: (0.41594,0.028723,-0.90894) + New Polarization: (-0.90935,0.0035674,-0.41602) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 687, parentID 637) is processed with stopping code 2 +Track (trackID 715, parentID 1) is processed with stopping code 2 ### pop requested out of 105 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.48269,0.09279,0.87086) - Old Polarization: (-0.86002,0.2381,0.45131) - New Momentum Direction: (0.65485,0.12589,0.7452) - New Polarization: (0.64286,0.42567,-0.63682) + Old Momentum Direction: (0.74164,0.4967,-0.45084) + Old Polarization: (-0.67074,0.54042,-0.50799) + New Momentum Direction: (0.42999,0.66852,-0.60679) + New Polarization: (-0.9028,0.31241,-0.29557) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 686, parentID 637) is processed with stopping code 2 +Track (trackID 714, parentID 1) is processed with stopping code 2 ### pop requested out of 104 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93773,0.083273,-0.33722) - Old Polarization: (-0.34735,0.22892,-0.90936) - New Momentum Direction: (0.88298,0.11254,-0.45572) - New Polarization: (-0.46941,0.2147,-0.85648) + Old Momentum Direction: (0.74455,0.2763,-0.6077) + Old Polarization: (-0.66749,0.29467,-0.68383) + New Momentum Direction: (0.43986,0.3717,-0.81754) + New Polarization: (-0.89802,0.17277,-0.40461) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 685, parentID 637) is processed with stopping code 2 +Track (trackID 713, parentID 1) is processed with stopping code 2 ### pop requested out of 103 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67947,-0.72035,0.13931) - Old Polarization: (-0.63936,-0.67448,-0.36918) - New Momentum Direction: (0.92141,-0.33958,0.18891) - New Polarization: (0.36002,0.92896,-0.086154) + Old Momentum Direction: (0.7466,-0.6567,0.10644) + Old Polarization: (-0.66526,-0.73806,0.11271) + New Momentum Direction: (0.435,-0.88883,0.14406) + New Polarization: (-0.90042,-0.43013,0.064997) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 684, parentID 637) is processed with stopping code 2 +Track (trackID 712, parentID 1) is processed with stopping code 2 ### pop requested out of 102 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.93297,0.17087,-0.31681) -Old Polarization: (-0.35686,0.32388,-0.87622) -New Polarization: (-0.30645,-0.10063,-0.81304) -Polarization Change: (-0.35035,-0.11505,-0.92953) -New Momentum Direction: (0.82255,-0.27379,-0.27614) -Momentum Change: (0.90406,-0.30092,-0.30351) Photon at Boundary! - Old Momentum Direction: (0.90406,-0.30092,-0.30351) - Old Polarization: (-0.35035,-0.11505,-0.92953) - New Momentum Direction: (0.8135,-0.40947,-0.41298) - New Polarization: (-0.51906,-0.19096,-0.83313) + Old Momentum Direction: (0.74464,-0.31748,0.58712) + Old Polarization: (-0.66739,-0.36699,0.648) + New Momentum Direction: (0.43574,-0.42812,0.79173) + New Polarization: (-0.90003,-0.21606,0.37851) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 683, parentID 637) is processed with stopping code 2 +Track (trackID 711, parentID 1) is processed with stopping code 2 ### pop requested out of 101 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73654,-0.6762,0.016028) - Old Polarization: (-0.57451,-0.63793,-0.51282) - New Momentum Direction: (0.41529,-0.90943,0.021557) - New Polarization: (-0.83703,-0.39129,-0.38246) + Old Momentum Direction: (0.74896,-0.63067,0.20327) + Old Polarization: (-0.66259,-0.71551,0.22141) + New Momentum Direction: (0.44942,-0.85025,0.27404) + New Polarization: (-0.89331,-0.42959,0.13212) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 682, parentID 637) is processed with stopping code 2 +Track (trackID 710, parentID 1) is processed with stopping code 2 ### pop requested out of 100 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.63966,-0.73136,0.23654) -Old Polarization: (-0.68365,-0.68198,-0.25986) -New Polarization: (-0.7965,0.098466,-0.36792) -Polarization Change: (-0.90216,0.11153,-0.41673) -New Momentum Direction: (-0.36158,-0.58586,0.62599) -Momentum Change: (-0.38859,-0.62961,0.67275) Photon at Boundary! - Old Momentum Direction: (-0.38859,-0.62961,0.67275) - Old Polarization: (-0.90216,0.11153,-0.41673) - New Momentum Direction: (-0.38859,0.62961,0.67275) - New Polarization: (0.90216,0.11153,0.41673) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.38859,0.62961,0.67275) - Old Polarization: (0.90216,0.11153,0.41673) - New Momentum Direction: (-0.38859,0.62961,-0.67275) - New Polarization: (-0.90216,-0.11153,0.41673) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.38859,0.62961,-0.67275) -Old Polarization: (-0.90216,-0.11153,0.41673) -New Polarization: (-0.4369,0.50621,0.57503) -Polarization Change: (-0.49539,0.57399,0.65201) -New Momentum Direction: (0.74141,0.017066,0.54829) -Momentum Change: (0.80389,0.018505,0.59449) - Photon at Boundary! - Old Momentum Direction: (0.80389,0.018505,0.59449) - Old Polarization: (-0.49539,0.57399,0.65201) - New Momentum Direction: (0.80389,0.018505,-0.59449) - New Polarization: (0.49539,-0.57399,0.65201) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.80389,0.018505,-0.59449) - Old Polarization: (0.49539,-0.57399,0.65201) - New Momentum Direction: (0.58795,0.025166,-0.80851) - New Polarization: (-0.7332,-0.40559,-0.54581) + Old Momentum Direction: (0.74522,-0.32206,-0.58389) + Old Polarization: (-0.66679,-0.36869,-0.64766) + New Momentum Direction: (0.42966,-0.43613,-0.79068) + New Polarization: (-0.90297,-0.21349,-0.37292) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 681, parentID 637) is processed with stopping code 2 +Track (trackID 709, parentID 1) is processed with stopping code 2 ### pop requested out of 99 stacked tracks. -** Photon Absorbed! ** -Track (trackID 680, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 708, parentID 1) is processed with stopping code 2 ### pop requested out of 98 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88406,0.45797,-0.093246) - Old Polarization: (-0.40691,0.6561,-0.63557) - New Momentum Direction: (0.77653,0.61741,-0.12571) - New Polarization: (-0.58276,0.62791,-0.51587) + Old Momentum Direction: (0.74235,-0.1671,-0.64884) + Old Polarization: (-0.66996,-0.19711,-0.71575) + New Momentum Direction: (0.41616,-0.22678,-0.88056) + New Polarization: (-0.90926,-0.11189,-0.4009) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 679, parentID 637) is processed with stopping code 2 +Track (trackID 707, parentID 1) is processed with stopping code 2 ### pop requested out of 97 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.4882,-0.52337,0.69839) - Old Polarization: (-0.85371,-0.45256,0.25762) - New Momentum Direction: (0.66249,-0.71022,0.23813) - New Polarization: (-0.54053,-0.67334,-0.50442) + Old Momentum Direction: (0.73351,0.67848,-0.040332) + Old Polarization: (-0.67967,0.73188,-0.04897) + New Momentum Direction: (0.38923,0.91952,-0.054661) + New Polarization: (-0.92113,0.38833,-0.026759) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 678, parentID 637) is processed with stopping code 2 +Track (trackID 706, parentID 1) is processed with stopping code 2 ### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63353,0.5155,0.57698) - Old Polarization: (-0.69092,0.71257,0.12199) - New Momentum Direction: (-0.63353,0.5155,0.57698) - New Polarization: (-0.69092,-0.71257,-0.12199) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63353,0.5155,0.57698) - Old Polarization: (-0.69092,-0.71257,-0.12199) - New Momentum Direction: (-0.63353,0.5155,-0.57698) - New Polarization: (0.69092,0.71257,-0.12199) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63353,0.5155,-0.57698) - Old Polarization: (0.69092,0.71257,-0.12199) - New Momentum Direction: (-0.63353,-0.5155,-0.57698) - New Polarization: (-0.69092,0.71257,0.12199) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 677, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 705, parentID 1) is processed with stopping code 2 ### pop requested out of 95 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50078,0.14749,0.85292) - Old Polarization: (-0.84363,0.30366,0.44281) - New Momentum Direction: (0.67422,0.19858,0.71133) - New Polarization: (0.50561,0.57794,-0.64058) + Old Momentum Direction: (0.73879,0.017678,-0.6737) + Old Polarization: (-0.67387,0.0053416,-0.73883) + New Momentum Direction: (0.39896,0.024054,-0.91665) + New Polarization: (-0.91693,0.0010486,-0.39905) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 676, parentID 637) is processed with stopping code 2 +Track (trackID 704, parentID 1) is processed with stopping code 2 ### pop requested out of 94 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.73356,0.56191,-0.38229) +Old Polarization: (-0.67958,0.59991,-0.42224) +New Polarization: (-0.27417,0.6895,-0.46657) +Polarization Change: (-0.3128,0.78664,-0.53231) +New Momentum Direction: (-0.3424,-0.56311,-0.63096) +Momentum Change: (-0.37528,-0.61719,-0.69155) Photon at Boundary! - Old Momentum Direction: (0.65144,-0.72643,0.21892) - Old Polarization: (-0.67118,-0.68632,-0.28014) - New Momentum Direction: (0.88077,-0.36965,0.29599) - New Polarization: (0.36125,0.92861,0.084753) + Old Momentum Direction: (-0.37528,-0.61719,-0.69155) + Old Polarization: (-0.3128,0.78664,-0.53231) + New Momentum Direction: (-0.51006,-0.83885,-0.19019) + New Polarization: (-0.50758,0.11503,0.85389) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 675, parentID 637) is processed with stopping code 2 +Track (trackID 703, parentID 1) is processed with stopping code 2 ### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91063,0.36152,-0.20015) - Old Polarization: (-0.3796,0.5405,-0.75084) - New Momentum Direction: (0.82845,0.48998,-0.27127) - New Polarization: (-0.53452,0.54712,-0.64417) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 674, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 702, parentID 1) is processed with stopping code 2 ### pop requested out of 92 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.87859,0.46805,-0.094933) - Old Polarization: (-0.41723,0.65552,-0.62946) - New Momentum Direction: (0.76032,0.63659,-0.12912) - New Polarization: (-0.60297,0.61779,-0.50475) + Old Momentum Direction: (0.73483,0.64963,-0.19496) + Old Polarization: (-0.67823,0.70136,-0.21932) + New Momentum Direction: (0.39539,0.87975,-0.26402) + New Polarization: (-0.9185,0.37705,-0.11912) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 673, parentID 637) is processed with stopping code 2 +Track (trackID 701, parentID 1) is processed with stopping code 2 ### pop requested out of 91 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.90938,-0.23769,-0.34137) - Old Polarization: (-0.37889,-0.13462,-0.9156) - New Momentum Direction: (0.82742,-0.3209,-0.46088) - New Polarization: (-0.53316,-0.19103,-0.82417) + Old Momentum Direction: (0.75049,-0.66065,-0.017291) + Old Polarization: (-0.66087,-0.75012,-0.02393) + New Momentum Direction: (0.45536,-0.89,-0.023294) + New Polarization: (-0.8903,-0.45512,-0.014879) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 672, parentID 637) is processed with stopping code 2 +Track (trackID 700, parentID 1) is processed with stopping code 2 ### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91758,-0.18839,-0.35007) - Old Polarization: (-0.36943,-0.078822,-0.92591) - New Momentum Direction: (0.84386,-0.25427,-0.47248) - New Polarization: (-0.51521,-0.13806,-0.84587) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 671, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 699, parentID 1) is processed with stopping code 2 ### pop requested out of 89 stacked tracks. -** Photon Absorbed! ** -Track (trackID 670, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 698, parentID 1) is processed with stopping code 2 ### pop requested out of 88 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 669, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73289,0.39866,0.55131) + Old Polarization: (-0.68033,0.42246,0.59891) + New Momentum Direction: (0.38283,0.54132,0.7486) + New Polarization: (-0.9238,0.21965,0.31359) + *** FresnelRefraction *** +Track (trackID 697, parentID 1) is processed with stopping code 2 ### pop requested out of 87 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 668, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74932,-0.65481,0.098702) + Old Polarization: (-0.66219,-0.74194,0.10505) + New Momentum Direction: (0.45006,-0.88302,0.1331) + New Polarization: (-0.89299,-0.44572,0.062515) + *** FresnelRefraction *** +Track (trackID 696, parentID 1) is processed with stopping code 2 ### pop requested out of 86 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70751,0.5794,0.40463) - Old Polarization: (-0.6078,0.79101,-0.069916) - New Momentum Direction: (0.29795,0.78263,0.54655) - New Polarization: (-0.88968,0.43519,-0.13815) + Old Momentum Direction: (0.73598,0.38434,-0.55733) + Old Polarization: (-0.67694,0.40616,-0.61383) + New Momentum Direction: (-0.73598,0.38434,-0.55733) + New Polarization: (-0.67651,-0.38586,0.62726) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73598,0.38434,-0.55733) + Old Polarization: (-0.67651,-0.38586,0.62726) + New Momentum Direction: (-0.73598,0.38434,0.55733) + New Polarization: (0.67651,0.38586,0.62726) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73598,0.38434,0.55733) + Old Polarization: (0.67651,0.38586,0.62726) + New Momentum Direction: (-0.73598,-0.38434,0.55733) + New Polarization: (-0.67651,0.38586,-0.62726) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.73598,-0.38434,0.55733) + Old Polarization: (-0.67651,0.38586,-0.62726) + New Momentum Direction: (-0.39215,-0.52223,0.75729) + New Polarization: (0.91959,-0.24379,0.30808) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 667, parentID 637) is processed with stopping code 2 +Track (trackID 695, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.45403,-0.19604,0.86915) - Old Polarization: (-0.89088,-0.085102,0.44619) - New Momentum Direction: (0.61726,-0.26651,0.74025) - New Polarization: (0.51416,-0.57551,-0.63594) + Old Momentum Direction: (0.74596,-0.37061,-0.55335) + Old Polarization: (-0.66596,-0.42262,-0.61472) + New Momentum Direction: (0.43297,-0.50161,-0.74895) + New Polarization: (-0.90139,-0.24607,-0.35629) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 666, parentID 637) is processed with stopping code 2 +Track (trackID 694, parentID 1) is processed with stopping code 2 ### pop requested out of 84 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79027,-0.59986,-0.12506) - Old Polarization: (-0.51494,-0.53952,-0.66615) - New Momentum Direction: (0.55663,-0.81327,-0.16956) - New Polarization: (-0.75718,-0.41268,-0.50634) + Old Momentum Direction: (0.73765,0.31292,-0.59829) + Old Polarization: (-0.67511,0.32897,-0.66031) + New Momentum Direction: (0.40042,0.42468,-0.81198) + New Polarization: (-0.91629,0.1769,-0.35933) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 665, parentID 637) is processed with stopping code 2 +Track (trackID 693, parentID 1) is processed with stopping code 2 ### pop requested out of 83 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50297,0.1513,0.85096) - Old Polarization: (-0.84184,0.30879,0.44268) - New Momentum Direction: (0.67626,0.20343,0.70802) - New Polarization: (0.49454,0.58698,-0.64101) + Old Momentum Direction: (0.74513,-0.54261,-0.38775) + Old Polarization: (-0.66691,-0.60878,-0.42968) + New Momentum Direction: (0.42539,-0.73632,-0.52619) + New Polarization: (-0.90501,-0.34782,-0.24492) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 664, parentID 637) is processed with stopping code 2 +Track (trackID 692, parentID 1) is processed with stopping code 2 ### pop requested out of 82 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.91021,-0.21567,-0.35356) - Old Polarization: (-0.38191,-0.10689,-0.918) - New Momentum Direction: (0.8263,-0.29331,-0.48083) - New Polarization: (-0.53889,-0.16347,-0.82636) + Old Momentum Direction: (0.73634,0.67591,0.030863) + Old Polarization: (-0.67661,0.73575,0.029583) + New Momentum Direction: (0.40738,0.91231,0.041658) + New Polarization: (-0.91326,0.40708,0.015859) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 663, parentID 637) is processed with stopping code 2 +Track (trackID 691, parentID 1) is processed with stopping code 2 ### pop requested out of 81 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.84582,-0.47584,-0.24116) - Old Polarization: (-0.45247,-0.40046,-0.79681) - New Momentum Direction: (0.69075,-0.64499,-0.32688) - New Polarization: (-0.66017,-0.37807,-0.64903) + Old Momentum Direction: (0.73362,0.53369,0.4207) + Old Polarization: (-0.67956,0.57302,0.4581) + New Momentum Direction: (0.39012,0.72311,0.57002) + New Polarization: (-0.92076,0.30428,0.24416) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 662, parentID 637) is processed with stopping code 2 +Track (trackID 690, parentID 1) is processed with stopping code 2 ### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90594,-0.25026,-0.34152) - Old Polarization: (-0.38431,-0.14754,-0.91134) - New Momentum Direction: (0.81938,-0.33884,-0.46239) - New Polarization: (-0.54333,-0.20188,-0.81488) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 661, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 689, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79822,0.58169,0.15647) - Old Polarization: (-0.50587,0.78836,-0.35013) - New Momentum Direction: (0.57775,0.7882,0.21201) - New Polarization: (-0.74305,0.6154,-0.263) + Old Momentum Direction: (0.74455,-0.32901,0.58085) + Old Polarization: (-0.66749,-0.37957,0.64061) + New Momentum Direction: (0.43493,-0.4438,0.78351) + New Polarization: (-0.90042,-0.22302,0.3735) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 660, parentID 637) is processed with stopping code 2 +Track (trackID 688, parentID 1) is processed with stopping code 2 ### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7323,0.59029,0.33955) - Old Polarization: (-0.57978,0.80198,-0.14378) - New Momentum Direction: (-0.7323,0.59029,0.33955) - New Polarization: (-0.35294,-0.75542,0.55206) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.7323,0.59029,0.33955) - Old Polarization: (-0.35294,-0.75542,0.55206) - New Momentum Direction: (-0.7323,-0.59029,0.33955) - New Polarization: (0.35294,-0.75542,-0.55206) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.7323,-0.59029,0.33955) - Old Polarization: (0.35294,-0.75542,-0.55206) - New Momentum Direction: (-0.7323,-0.59029,-0.33955) - New Polarization: (-0.35294,0.75542,-0.55206) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.7323,-0.59029,-0.33955) - Old Polarization: (-0.35294,0.75542,-0.55206) - New Momentum Direction: (-0.3906,-0.79796,-0.45901) - New Polarization: (0.61484,0.14497,-0.77522) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 659, parentID 637) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. -** Photon Absorbed! ** -Track (trackID 658, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 687, parentID 1) is processed with stopping code 2 +### pop requested out of 77 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7425,-0.5393,0.39731) + Old Polarization: (-0.6698,-0.60487,0.4307) + New Momentum Direction: (0.41637,-0.732,0.53927) + New Polarization: (-0.90916,-0.34003,0.24042) + *** FresnelRefraction *** +Track (trackID 686, parentID 1) is processed with stopping code 2 ### pop requested out of 76 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73171,-0.68096,0.029828) - Old Polarization: (-0.57996,-0.64498,-0.49764) - New Momentum Direction: (0.4016,-0.91494,0.040077) - New Polarization: (-0.84378,-0.38667,-0.37218) + Old Momentum Direction: (0.7301,0.66972,0.13578) + Old Polarization: (-0.68334,0.71589,0.14335) + New Momentum Direction: (0.36805,0.91127,0.18475) + New Polarization: (-0.9298,0.36095,0.07199) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 657, parentID 637) is processed with stopping code 2 +Track (trackID 685, parentID 1) is processed with stopping code 2 ### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46222,-0.34634,0.81633) - Old Polarization: (-0.88379,-0.25531,0.3921) - New Momentum Direction: (0.62622,-0.46922,0.62264) - New Polarization: (0.030623,-0.7832,-0.62102) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 656, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 684, parentID 1) is processed with stopping code 2 ### pop requested out of 74 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68721,0.56309,0.45899) - Old Polarization: (-0.63085,0.77587,-0.0073111) - New Momentum Direction: (0.20256,0.75905,0.61872) - New Polarization: (-0.92129,0.36189,-0.14235) + Old Momentum Direction: (0.73432,0.49776,-0.46152) + Old Polarization: (-0.67874,0.52969,-0.50866) + New Momentum Direction: (0.38553,0.67661,-0.62735) + New Polarization: (-0.92266,0.27684,-0.26843) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 655, parentID 637) is processed with stopping code 2 +Track (trackID 683, parentID 1) is processed with stopping code 2 ### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74477,-0.66712,-0.016209) - Old Polarization: (-0.56578,-0.61838,-0.54544) - New Momentum Direction: (0.43011,-0.90251,-0.021928) - New Polarization: (-0.83037,-0.38597,-0.40188) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 654, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 682, parentID 1) is processed with stopping code 2 ### pop requested out of 72 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.46721,-0.43078,0.77211) - Old Polarization: (-0.87565,-0.34625,0.33668) - New Momentum Direction: (0.63576,-0.58619,0.50218) - New Polarization: (-0.25411,-0.77327,-0.58093) + Old Momentum Direction: (0.74481,-0.49032,0.4526) + Old Polarization: (-0.66722,-0.55602,0.49564) + New Momentum Direction: (0.43152,-0.66287,0.61187) + New Polarization: (-0.90207,-0.32307,0.28619) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 653, parentID 637) is processed with stopping code 2 +Track (trackID 681, parentID 1) is processed with stopping code 2 ### pop requested out of 71 stacked tracks. -** Photon Absorbed! ** -Track (trackID 652, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 680, parentID 1) is processed with stopping code 2 ### pop requested out of 70 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 651, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74525,-0.58206,0.3253) + Old Polarization: (-0.66675,-0.65582,0.35405) + New Momentum Direction: (0.43081,-0.78776,0.44026) + New Polarization: (-0.90242,-0.37968,0.20369) + *** FresnelRefraction *** +Track (trackID 679, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 650, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.74268,-0.23849,0.62574) + Old Polarization: (-0.66957,-0.27828,0.68864) + New Momentum Direction: (0.42678,-0.32207,0.84506) + New Polarization: (-0.90431,-0.16142,0.39518) + *** FresnelRefraction *** +Track (trackID 678, parentID 1) is processed with stopping code 2 ### pop requested out of 68 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.60596,-0.71542,0.34784) - Old Polarization: (-0.72312,-0.67761,-0.13395) - New Momentum Direction: (0.81745,-0.33404,0.46924) - New Polarization: (0.2036,0.92964,0.3071) + Old Momentum Direction: (0.73556,0.64517,0.20666) + Old Polarization: (-0.67746,0.70055,0.22424) + New Momentum Direction: (0.40338,0.87142,0.27913) + New Polarization: (-0.91503,0.38419,0.12296) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 649, parentID 637) is processed with stopping code 2 +Track (trackID 677, parentID 1) is processed with stopping code 2 ### pop requested out of 67 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 648, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.73828,0.31186,-0.59807) + Old Polarization: (-0.67442,0.32842,-0.66128) + New Momentum Direction: (0.40429,0.42288,-0.811) + New Polarization: (-0.91459,0.17822,-0.36301) + *** FresnelRefraction *** +Track (trackID 676, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91195,0.35081,-0.21281) - Old Polarization: (-0.37977,0.5253,-0.76147) - New Momentum Direction: (0.82998,0.4769,-0.2893) - New Polarization: (-0.53476,0.53284,-0.65583) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 647, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 675, parentID 1) is processed with stopping code 2 ### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.59095,-0.70368,0.39447) - Old Polarization: (-0.74065,-0.66707,-0.080404) - New Momentum Direction: (0.79587,-0.29043,0.53126) - New Polarization: (0.10486,0.9303,0.35148) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 646, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 674, parentID 1) is processed with stopping code 2 ### pop requested out of 64 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 645, parentID 637) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.58564,-0.708,0.39467) - Old Polarization: (-0.74494,-0.66204,-0.082243) - New Momentum Direction: (0.79347,-0.29065,0.53472) - New Polarization: (0.10305,0.93007,0.35263) + Old Momentum Direction: (0.73708,-0.2015,0.64506) + Old Polarization: (-0.67573,-0.23376,0.69911) + New Momentum Direction: (0.39406,-0.27404,0.87728) + New Polarization: (-0.91904,-0.12688,0.37318) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 644, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. +Track (trackID 673, parentID 1) is processed with stopping code 2 +### pop requested out of 63 stacked tracks. -** Photon Absorbed! ** -Track (trackID 643, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 672, parentID 1) is processed with stopping code 2 +### pop requested out of 62 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73645,0.21373,0.64184) + Old Polarization: (-0.67645,0.22144,0.70241) + New Momentum Direction: (0.40124,0.2894,0.86905) + New Polarization: (-0.91594,0.11918,0.3832) + *** FresnelRefraction *** +Track (trackID 671, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.51786,-0.6107,0.59905) - Old Polarization: (-0.8209,-0.55179,0.14713) - New Momentum Direction: (0.51786,0.6107,0.59905) - New Polarization: (0.8209,-0.55179,-0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.51786,0.6107,0.59905) - Old Polarization: (0.8209,-0.55179,-0.14713) - New Momentum Direction: (0.51786,0.6107,-0.59905) - New Polarization: (-0.8209,0.55179,-0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.51786,0.6107,-0.59905) - Old Polarization: (-0.8209,0.55179,-0.14713) - New Momentum Direction: (-0.51786,0.6107,-0.59905) - New Polarization: (-0.8209,-0.55179,0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.51786,0.6107,-0.59905) - Old Polarization: (-0.8209,-0.55179,0.14713) - New Momentum Direction: (-0.51786,-0.6107,-0.59905) - New Polarization: (0.8209,-0.55179,-0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.51786,-0.6107,-0.59905) - Old Polarization: (0.8209,-0.55179,-0.14713) - New Momentum Direction: (-0.51786,-0.6107,0.59905) - New Polarization: (-0.8209,0.55179,-0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.51786,-0.6107,0.59905) - Old Polarization: (-0.8209,0.55179,-0.14713) - New Momentum Direction: (0.51786,-0.6107,0.59905) - New Polarization: (-0.8209,-0.55179,0.14713) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.51786,-0.6107,0.59905) -Old Polarization: (-0.8209,-0.55179,0.14713) -New Polarization: (-0.7806,-0.48404,0.24216) -Polarization Change: (-0.82178,-0.50959,0.25493) -New Momentum Direction: (0.048951,0.36194,0.88127) -Momentum Change: (0.051314,0.37941,0.92381) - Photon at Boundary! - Old Momentum Direction: (0.051314,0.37941,0.92381) - Old Polarization: (-0.82178,-0.50959,0.25493) - New Momentum Direction: (0.069565,0.51435,0.85475) - New Polarization: (-0.53819,0.74079,-0.40197) + Old Momentum Direction: (0.74532,-0.6561,-0.11844) + Old Polarization: (-0.66671,-0.73309,-0.13444) + New Momentum Direction: (0.42587,-0.89039,-0.16074) + New Polarization: (-0.90478,-0.41884,-0.077037) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 642, parentID 637) is processed with stopping code 2 +Track (trackID 670, parentID 1) is processed with stopping code 2 ### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.45497,-0.24573,0.85593) - Old Polarization: (-0.89039,-0.14098,0.43281) - New Momentum Direction: (0.61796,-0.33376,0.71185) - New Polarization: (0.36583,-0.67937,-0.63611) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 641, parentID 637) is processed with stopping code 2 +Scattering Photon! +Old Momentum Direction: (0.74317,-0.47206,0.47419) +Old Polarization: (-0.66904,-0.53362,0.51733) +New Polarization: (-0.33775,-0.73796,0.32567) +Polarization Change: (-0.38623,-0.84388,0.37241) +New Momentum Direction: (-0.37706,0.474,0.68302) +Momentum Change: (-0.41304,0.51923,0.7482) + +** Photon absorbed! ** +Track (trackID 669, parentID 1) is processed with stopping code 2 ### pop requested out of 59 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.83485,0.54877,0.043384) - Old Polarization: (-0.46583,0.74626,-0.47549) - New Momentum Direction: (0.6633,0.74602,0.058978) - New Polarization: (-0.68313,0.63579,-0.35932) + Old Momentum Direction: (0.73763,0.2624,-0.62213) + Old Polarization: (-0.67513,0.27313,-0.68528) + New Momentum Direction: (0.39873,0.35639,-0.84499) + New Polarization: (-0.91702,0.14587,-0.3712) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 640, parentID 637) is processed with stopping code 2 +Track (trackID 668, parentID 1) is processed with stopping code 2 ### pop requested out of 58 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.64918,0.53244,0.54321) - Old Polarization: (-0.67356,0.73419,0.085334) - New Momentum Direction: (-0.64918,0.53244,0.54321) - New Polarization: (-0.67356,-0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64918,0.53244,0.54321) - Old Polarization: (-0.67356,-0.73419,-0.085334) - New Momentum Direction: (-0.64918,0.53244,-0.54321) - New Polarization: (0.67356,0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64918,0.53244,-0.54321) - Old Polarization: (0.67356,0.73419,-0.085334) - New Momentum Direction: (-0.64918,-0.53244,-0.54321) - New Polarization: (-0.67356,0.73419,0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64918,-0.53244,-0.54321) - Old Polarization: (-0.67356,0.73419,0.085334) - New Momentum Direction: (0.64918,-0.53244,-0.54321) - New Polarization: (-0.67356,-0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64918,-0.53244,-0.54321) - Old Polarization: (-0.67356,-0.73419,-0.085334) - New Momentum Direction: (0.64918,-0.53244,0.54321) - New Polarization: (0.67356,0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64918,-0.53244,0.54321) - Old Polarization: (0.67356,0.73419,-0.085334) - New Momentum Direction: (0.64918,0.53244,0.54321) - New Polarization: (-0.67356,0.73419,0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64918,0.53244,0.54321) - Old Polarization: (-0.67356,0.73419,0.085334) - New Momentum Direction: (-0.64918,0.53244,0.54321) - New Polarization: (-0.67356,-0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64918,0.53244,0.54321) - Old Polarization: (-0.67356,-0.73419,-0.085334) - New Momentum Direction: (-0.64918,0.53244,-0.54321) - New Polarization: (0.67356,0.73419,-0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64918,0.53244,-0.54321) - Old Polarization: (0.67356,0.73419,-0.085334) - New Momentum Direction: (-0.64918,-0.53244,-0.54321) - New Polarization: (-0.67356,0.73419,0.085334) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 639, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69887,-0.70827,0.099627) - Old Polarization: (-0.61758,-0.66782,-0.41547) - New Momentum Direction: (0.69887,0.70827,0.099627) - New Polarization: (-0.66256,0.58862,0.46318) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.69887,0.70827,0.099627) - Old Polarization: (-0.66256,0.58862,0.46318) - New Momentum Direction: (0.25909,0.95644,0.13453) - New Polarization: (-0.93419,0.21278,0.28637) + Old Momentum Direction: (0.74653,-0.54055,0.38794) + Old Polarization: (-0.6653,-0.61344,0.42551) + New Momentum Direction: (0.43952,-0.72975,0.52372) + New Polarization: (-0.8982,-0.36186,0.24958) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 638, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. +Track (trackID 667, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 80 -Track (trackID 637, parentID 1) is processed with stopping code 4 +** Photon absorbed! ** +Track (trackID 666, parentID 1) is processed with stopping code 2 +### pop requested out of 56 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7416,0.48605,-0.46237) + Old Polarization: (-0.67078,0.52824,-0.52059) + New Momentum Direction: (0.42943,0.65433,-0.62245) + New Polarization: (-0.90306,0.30492,-0.30249) + *** FresnelRefraction *** +Track (trackID 665, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73497,0.32396,0.59571) + Old Polarization: (-0.67807,0.34225,0.65045) + New Momentum Direction: (0.39455,0.43899,0.80723) + New Polarization: (-0.91885,0.18252,0.34985) + *** FresnelRefraction *** +Track (trackID 664, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73862,0.095658,0.6673) + Old Polarization: (-0.67407,0.091702,0.73296) + New Momentum Direction: (0.41159,0.12932,0.90215) + New Polarization: (-0.91133,0.049504,0.40868) + *** FresnelRefraction *** +Track (trackID 663, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + +** Photon absorbed! ** +Track (trackID 662, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + +** Photon absorbed! ** +Track (trackID 661, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7371,0.23691,-0.6329) + Old Polarization: (-0.67572,0.24463,-0.69539) + New Momentum Direction: (0.39455,0.32212,-0.86056) + New Polarization: (-0.91883,0.12909,-0.37294) + *** FresnelRefraction *** +Track (trackID 660, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74019,-0.50213,0.4472) + Old Polarization: (-0.67235,-0.56115,0.48276) + New Momentum Direction: (0.4037,-0.68321,0.60848) + New Polarization: (-0.91486,-0.30714,0.26211) + *** FresnelRefraction *** +Track (trackID 659, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74539,-0.25265,-0.61689) + Old Polarization: (-0.66658,-0.29287,-0.68549) + New Momentum Direction: (0.43207,-0.3418,-0.83456) + New Polarization: (-0.90181,-0.17083,-0.39692) + *** FresnelRefraction *** +Track (trackID 658, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.734,0.4754,0.48502) + Old Polarization: (-0.67913,0.50896,0.5289) + New Momentum Direction: (0.39154,0.6441,0.65713) + New Polarization: (-0.92015,0.27083,0.2828) + *** FresnelRefraction *** +Track (trackID 657, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74756,-0.50187,-0.43507) + Old Polarization: (-0.66419,-0.56857,-0.48538) + New Momentum Direction: (0.43981,-0.67859,-0.58828) + New Polarization: (-0.89808,-0.33487,-0.28515) + *** FresnelRefraction *** +Track (trackID 656, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + +** Photon absorbed! ** +Track (trackID 655, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + +** Photon absorbed! ** +Track (trackID 654, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74841,-0.2584,-0.61083) + Old Polarization: (-0.66319,-0.30185,-0.68488) + New Momentum Direction: (0.44876,-0.34817,-0.82304) + New Polarization: (-0.89363,-0.18192,-0.41029) + *** FresnelRefraction *** +Track (trackID 653, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74166,-0.58811,0.32261) + Old Polarization: (-0.67074,-0.65538,0.34726) + New Momentum Direction: (0.40942,-0.7999,0.43879) + New Polarization: (-0.91232,-0.36242,0.19056) + *** FresnelRefraction *** +Track (trackID 652, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73101,0.44845,0.51431) + Old Polarization: (-0.68235,0.47478,0.55586) + New Momentum Direction: (0.37138,0.6102,0.69981) + New Polarization: (-0.92847,0.24032,0.28317) + *** FresnelRefraction *** +Track (trackID 651, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + +** Photon absorbed! ** +Track (trackID 650, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74331,-0.23633,0.62581) + Old Polarization: (-0.66887,-0.27642,0.69007) + New Momentum Direction: (0.43046,-0.31888,0.8444) + New Polarization: (-0.90256,-0.16155,0.3991) + *** FresnelRefraction *** +Track (trackID 649, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74633,-0.56296,-0.35505) + Old Polarization: (-0.66557,-0.63316,-0.39513) + New Momentum Direction: (0.43207,-0.7628,-0.48109) + New Polarization: (-0.90184,-0.36674,-0.22844) + *** FresnelRefraction *** +Track (trackID 648, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73649,0.66022,0.14724) + Old Polarization: (-0.67644,0.71916,0.15887) + New Momentum Direction: (0.40893,0.89069,0.19864) + New Polarization: (-0.91257,0.39934,0.088026) + *** FresnelRefraction *** +Track (trackID 647, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + +** Photon absorbed! ** +Track (trackID 646, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + +** Photon absorbed! ** +Track (trackID 645, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74171,0.090875,0.66453) + Old Polarization: (-0.67066,0.087267,0.73661) + New Momentum Direction: (0.42952,0.12236,0.89473) + New Polarization: (-0.90302,0.049119,0.42678) + *** FresnelRefraction *** +Track (trackID 644, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73101,0.5197,0.44221) + Old Polarization: (-0.68236,0.55315,0.47792) + New Momentum Direction: (0.37277,0.70671,0.60133) + New Polarization: (-0.92792,0.28152,0.24437) + *** FresnelRefraction *** +Track (trackID 643, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74512,-0.65791,-0.10933) + Old Polarization: (-0.66693,-0.73466,-0.12439) + New Momentum Direction: (0.42471,-0.89308,-0.14841) + New Polarization: (-0.90533,-0.41871,-0.071143) + *** FresnelRefraction *** +Track (trackID 642, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74199,-0.071468,-0.6666) + Old Polarization: (-0.67036,-0.09242,-0.73626) + New Momentum Direction: (0.41626,-0.096928,-0.90407) + New Polarization: (-0.90921,-0.053399,-0.4129) + *** FresnelRefraction *** +Track (trackID 641, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7476,-0.1278,-0.65174) + Old Polarization: (-0.6641,-0.15654,-0.73107) + New Momentum Direction: (0.44696,-0.17213,-0.87784) + New Polarization: (-0.89452,-0.094751,-0.43688) + *** FresnelRefraction *** +Track (trackID 640, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73946,-0.1908,0.64559) + Old Polarization: (-0.67312,-0.22368,0.70489) + New Momentum Direction: (0.40914,-0.25861,0.87505) + New Polarization: (-0.91242,-0.12551,0.38952) + *** FresnelRefraction *** +Track (trackID 639, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73853,0.31034,0.59856) + Old Polarization: (-0.67419,0.33073,0.66037) + New Momentum Direction: (0.41593,0.41858,0.80734) + New Polarization: (-0.90937,0.18517,0.37249) + *** FresnelRefraction *** +Track (trackID 638, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7343,0.65929,0.16167) + Old Polarization: (-0.67883,0.71345,0.17374) + New Momentum Direction: (0.39553,0.89203,0.21874) + New Polarization: (-0.91845,0.38434,0.093433) + *** FresnelRefraction *** +Track (trackID 637, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + +** Photon absorbed! ** +Track (trackID 636, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73987,-0.017119,0.67254) + Old Polarization: (-0.67269,-0.032972,0.73919) + New Momentum Direction: (0.41622,-0.023138,0.90897) + New Polarization: (-0.90922,-0.020218,0.41582) + *** FresnelRefraction *** +Track (trackID 635, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73992,-0.021145,-0.67236) + Old Polarization: (-0.67263,-0.037039,-0.73905) + New Momentum Direction: (0.40498,-0.02874,-0.91387) + New Polarization: (-0.91429,-0.022006,-0.40447) + *** FresnelRefraction *** +Track (trackID 634, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73434,0.54321,-0.40703) + Old Polarization: (-0.67873,0.58039,-0.44997) + New Momentum Direction: (0.38743,0.73777,-0.55281) + New Polarization: (-0.92187,0.30519,-0.23878) + *** FresnelRefraction *** +Track (trackID 633, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73903,0.098889,-0.66638) + Old Polarization: (-0.6736,0.094152,-0.73307) + New Momentum Direction: (0.40267,0.13436,-0.90543) + New Polarization: (-0.9153,0.04947,-0.39972) + *** FresnelRefraction *** +Track (trackID 632, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + +** Photon absorbed! ** +Track (trackID 631, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74076,-0.025392,0.67129) + Old Polarization: (-0.6717,-0.04221,0.73962) + New Momentum Direction: (0.42127,-0.034282,0.90629) + New Polarization: (-0.90689,-0.025622,0.42058) + *** FresnelRefraction *** +Track (trackID 630, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73705,0.27153,0.6189) + Old Polarization: (-0.6758,0.28605,0.67932) + New Momentum Direction: (0.40624,0.36712,0.83677) + New Polarization: (-0.91374,0.15639,0.37499) + *** FresnelRefraction *** +Track (trackID 629, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + +** Photon absorbed! ** +Track (trackID 628, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73458,0.60018,0.31651) + Old Polarization: (-0.67852,0.64863,0.34481) + New Momentum Direction: (0.39709,0.81181,0.42811) + New Polarization: (-0.91778,0.35048,0.18669) + *** FresnelRefraction *** +Track (trackID 627, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74616,-0.64793,-0.15308) + Old Polarization: (-0.66577,-0.72587,-0.17282) + New Momentum Direction: (0.43064,-0.87834,-0.20752) + New Polarization: (-0.90252,-0.4189,-0.099873) + *** FresnelRefraction *** +Track (trackID 626, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + +** Photon absorbed! ** +Track (trackID 625, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74743,-0.57061,0.34023) + Old Polarization: (-0.6643,-0.64767,0.37313) + New Momentum Direction: (0.44343,-0.76984,0.45903) + New Polarization: (-0.89628,-0.3848,0.22048) + *** FresnelRefraction *** +Track (trackID 624, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75022,-0.64592,-0.14128) + Old Polarization: (-0.66119,-0.73256,-0.16181) + New Momentum Direction: (0.4533,-0.87078,-0.19046) + New Polarization: (-0.89136,-0.4426,-0.097896) + *** FresnelRefraction *** +Track (trackID 623, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73495,0.57208,-0.36409) + Old Polarization: (-0.67807,0.61387,-0.40421) + New Momentum Direction: (0.39255,0.77592,-0.49382) + New Polarization: (-0.9197,0.32704,-0.21724) + *** FresnelRefraction *** +Track (trackID 622, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + +** Photon absorbed! ** +Track (trackID 621, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73146,0.66479,0.15171) + Old Polarization: (-0.68188,0.71344,0.16137) + New Momentum Direction: (0.37727,0.90289,0.20604) + New Polarization: (-0.9261,0.36802,0.083025) + *** FresnelRefraction *** +Track (trackID 620, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73104,0.62451,0.27489) + Old Polarization: (-0.68233,0.66853,0.29578) + New Momentum Direction: (0.37446,0.84867,0.37355) + New Polarization: (-0.92724,0.34235,0.15171) + *** FresnelRefraction *** +Track (trackID 619, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73889,0.49091,-0.46158) + Old Polarization: (-0.67377,0.52935,-0.51558) + New Momentum Direction: (0.41378,0.66324,-0.62362) + New Polarization: (-0.91034,0.29538,-0.28988) + *** FresnelRefraction *** +Track (trackID 618, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + +** Photon absorbed! ** +Track (trackID 617, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + +** Photon absorbed! ** +Track (trackID 616, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74045,-0.52268,0.42254) + Old Polarization: (-0.67206,-0.58354,0.45587) + New Momentum Direction: (0.40457,-0.71118,0.57492) + New Polarization: (-0.91447,-0.31983,0.24789) + *** FresnelRefraction *** +Track (trackID 615, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74885,-0.62238,-0.22777) + Old Polarization: (-0.66275,-0.70339,-0.25693) + New Momentum Direction: (-0.74885,-0.62238,-0.22777) + New Polarization: (-0.66274,0.7038,0.25581) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74885,-0.62238,-0.22777) + Old Polarization: (-0.66274,0.7038,0.25581) + New Momentum Direction: (-0.74885,0.62238,-0.22777) + New Polarization: (0.66274,0.7038,-0.25581) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74885,0.62238,-0.22777) + Old Polarization: (0.66274,0.7038,-0.25581) + New Momentum Direction: (-0.44574,0.84064,-0.30764) + New Polarization: (0.89516,0.41898,-0.15213) + *** FresnelRefraction *** +Track (trackID 614, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + +** Photon absorbed! ** +Track (trackID 613, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74507,-0.42032,-0.51788) + Old Polarization: (-0.66696,-0.47568,-0.57349) + New Momentum Direction: (0.42696,-0.56986,-0.70212) + New Polarization: (-0.90426,-0.27325,-0.32811) + *** FresnelRefraction *** +Track (trackID 612, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73682,0.57514,0.35541) + Old Polarization: (-0.67608,0.62499,0.39025) + New Momentum Direction: (0.41047,0.77571,0.47935) + New Polarization: (-0.91187,0.34795,0.21777) + *** FresnelRefraction *** +Track (trackID 611, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 207 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 208 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78002,0.069942,-0.62184) + Old Polarization: (-0.62494,0.13789,-0.7684) + New Momentum Direction: (0.5305,0.094748,-0.84238) + New Polarization: (-0.84715,0.094701,-0.52285) + *** FresnelRefraction *** +Track (trackID 1105, parentID 1) is processed with stopping code 2 +### pop requested out of 207 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72945,0.38984,0.56207) + Old Polarization: (-0.68081,0.49346,0.5413) + New Momentum Direction: (0.38152,0.52681,0.75955) + New Polarization: (-0.92238,0.2708,0.27548) + *** FresnelRefraction *** +Track (trackID 1104, parentID 1) is processed with stopping code 2 +### pop requested out of 206 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77135,0.62861,-0.099355) + Old Polarization: (-0.63479,0.74881,-0.1906) + New Momentum Direction: (0.50152,0.85454,-0.13507) + New Polarization: (-0.86409,0.48708,-0.12687) + *** FresnelRefraction *** +Track (trackID 1103, parentID 1) is processed with stopping code 2 +### pop requested out of 205 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74312,0.5555,0.37309) + Old Polarization: (-0.66569,0.67042,0.32771) + New Momentum Direction: (0.41767,0.75427,0.50659) + New Polarization: (-0.90643,0.38438,0.17503) + *** FresnelRefraction *** +Track (trackID 1102, parentID 1) is processed with stopping code 2 +### pop requested out of 204 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1101, parentID 1) is processed with stopping code 2 +### pop requested out of 203 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72082,0.30297,0.6234) + Old Polarization: (-0.69027,0.3952,0.60609) + New Momentum Direction: (0.34455,0.41034,0.84433) + New Polarization: (-0.93706,0.2045,0.28301) + *** FresnelRefraction *** +Track (trackID 1100, parentID 1) is processed with stopping code 2 +### pop requested out of 202 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78917,0.25179,-0.56019) + Old Polarization: (-0.61403,0.34341,-0.71066) + New Momentum Direction: (0.56325,0.33875,-0.75366) + New Polarization: (-0.82619,0.24501,-0.50733) + *** FresnelRefraction *** +Track (trackID 1099, parentID 1) is processed with stopping code 2 +### pop requested out of 201 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78699,0.4293,-0.44312) + Old Polarization: (-0.61691,0.53777,-0.57465) + New Momentum Direction: (0.55274,0.57986,-0.59853) + New Polarization: (-0.83331,0.37772,-0.40363) + *** FresnelRefraction *** +Track (trackID 1098, parentID 1) is processed with stopping code 2 +### pop requested out of 200 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75388,0.61056,0.24265) + Old Polarization: (-0.6538,0.73361,0.18536) + New Momentum Direction: (0.45493,0.82757,0.32889) + New Polarization: (-0.88848,0.44682,0.10468) + *** FresnelRefraction *** +Track (trackID 1097, parentID 1) is processed with stopping code 2 +### pop requested out of 199 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69145,-0.26976,0.67017) + Old Polarization: (-0.72219,-0.23446,0.65075) + New Momentum Direction: (0.18391,-0.36704,0.91184) + New Polarization: (-0.98282,-0.054109,0.17645) + *** FresnelRefraction *** +Track (trackID 1096, parentID 1) is processed with stopping code 2 +### pop requested out of 198 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69371,-0.55864,0.45463) + Old Polarization: (-0.72002,-0.55388,0.41807) + New Momentum Direction: (0.21255,-0.75789,0.61679) + New Polarization: (-0.97703,-0.17488,0.1218) + *** FresnelRefraction *** +Track (trackID 1095, parentID 1) is processed with stopping code 2 +### pop requested out of 197 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1094, parentID 1) is processed with stopping code 2 +### pop requested out of 196 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77755,0.57495,-0.25464) + Old Polarization: (-0.62802,0.68968,-0.36047) + New Momentum Direction: (0.51855,0.7818,-0.34626) + New Polarization: (-0.85453,0.45974,-0.24171) + *** FresnelRefraction *** +Track (trackID 1093, parentID 1) is processed with stopping code 2 +### pop requested out of 195 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1092, parentID 1) is processed with stopping code 2 +### pop requested out of 194 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1091, parentID 1) is processed with stopping code 2 +### pop requested out of 193 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1090, parentID 1) is processed with stopping code 2 +### pop requested out of 192 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69518,-0.56976,0.43829) + Old Polarization: (-0.71855,-0.56793,0.40143) + New Momentum Direction: (0.22701,-0.77192,0.5938) + New Polarization: (-0.97374,-0.19075,0.12429) + *** FresnelRefraction *** +Track (trackID 1089, parentID 1) is processed with stopping code 2 +### pop requested out of 191 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76153,-0.27282,-0.58791) + Old Polarization: (-0.64554,-0.23832,-0.72559) + New Momentum Direction: (0.47297,-0.37088,-0.79922) + New Polarization: (-0.87942,-0.14314,-0.45401) + *** FresnelRefraction *** +Track (trackID 1088, parentID 1) is processed with stopping code 2 +### pop requested out of 190 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7487,-0.48047,-0.45672) + Old Polarization: (-0.65949,-0.46999,-0.58667) + New Momentum Direction: (0.44071,-0.65061,-0.61845) + New Polarization: (-0.89548,-0.2708,-0.35325) + *** FresnelRefraction *** +Track (trackID 1087, parentID 1) is processed with stopping code 2 +### pop requested out of 189 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1086, parentID 1) is processed with stopping code 2 +### pop requested out of 188 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70554,0.10149,0.70136) + Old Polarization: (-0.70685,0.17158,0.68624) + New Momentum Direction: (0.26813,0.13797,0.95345) + New Polarization: (-0.96236,0.083834,0.25851) + *** FresnelRefraction *** +Track (trackID 1085, parentID 1) is processed with stopping code 2 +### pop requested out of 187 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1084, parentID 1) is processed with stopping code 2 +### pop requested out of 186 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70387,0.0073452,0.71029) + Old Polarization: (-0.70898,0.068812,0.70187) + New Momentum Direction: (0.95343,0.0099493,0.30146) + New Polarization: (0.30055,0.053028,-0.95229) + *** FresnelRefraction *** +Track (trackID 1083, parentID 1) is processed with stopping code 2 +### pop requested out of 185 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78282,0.33798,-0.52247) + Old Polarization: (-0.62224,0.43048,-0.65383) + New Momentum Direction: (0.53323,0.45949,-0.71031) + New Polarization: (-0.84596,0.29331,-0.44533) + *** FresnelRefraction *** +Track (trackID 1082, parentID 1) is processed with stopping code 2 +### pop requested out of 184 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73949,0.53223,0.41217) + Old Polarization: (-0.66968,0.64393,0.36999) + New Momentum Direction: (0.40418,0.72318,0.56005) + New Polarization: (-0.91252,0.36085,0.19259) + *** FresnelRefraction *** +Track (trackID 1081, parentID 1) is processed with stopping code 2 +### pop requested out of 183 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78253,0.42303,-0.45683) + Old Polarization: (-0.62257,0.52342,-0.58175) + New Momentum Direction: (0.53222,0.57522,-0.62118) + New Polarization: (-0.84658,0.35589,-0.39578) + *** FresnelRefraction *** +Track (trackID 1080, parentID 1) is processed with stopping code 2 +### pop requested out of 182 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.77956,0.56668,-0.26677) +Old Polarization: (-0.62559,0.68388,-0.37541) +New Polarization: (-0.23269,0.74306,-0.40812) +Polarization Change: (-0.26469,0.84524,-0.46424) +New Momentum Direction: (-0.70369,-0.46998,-0.45448) +Momentum Change: (-0.73261,-0.48929,-0.47315) + Photon at Boundary! + Old Momentum Direction: (-0.73261,-0.48929,-0.47315) + Old Polarization: (-0.26469,0.84524,-0.46424) + New Momentum Direction: (-0.38375,-0.66383,-0.64193) + New Polarization: (0.49196,0.44132,-0.75047) + *** FresnelRefraction *** +Track (trackID 1079, parentID 1) is processed with stopping code 2 +### pop requested out of 181 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1078, parentID 1) is processed with stopping code 2 +### pop requested out of 180 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70922,-0.70409,0.035521) + Old Polarization: (-0.7028,-0.71009,-0.042896) + New Momentum Direction: (0.28455,-0.95744,0.048302) + New Polarization: (-0.95742,-0.28638,-0.03645) + *** FresnelRefraction *** +Track (trackID 1077, parentID 1) is processed with stopping code 2 +### pop requested out of 179 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69414,-0.4602,0.55351) + Old Polarization: (-0.71982,-0.44827,0.53001) + New Momentum Direction: (0.22601,-0.62277,0.74905) + New Polarization: (-0.97412,-0.14735,0.17142) + *** FresnelRefraction *** +Track (trackID 1076, parentID 1) is processed with stopping code 2 +### pop requested out of 178 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69978,-0.076241,0.71028) + Old Polarization: (-0.71341,-0.023349,0.70036) + New Momentum Direction: (0.94875,-0.10337,0.29865) + New Polarization: (0.28914,-0.09759,-0.9523) + *** FresnelRefraction *** +Track (trackID 1075, parentID 1) is processed with stopping code 2 +### pop requested out of 177 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78499,0.48679,-0.38318) + Old Polarization: (-0.61928,0.59986,-0.50662) + New Momentum Direction: (0.54576,0.65843,-0.51829) + New Polarization: (-0.83779,0.41703,-0.3524) + *** FresnelRefraction *** +Track (trackID 1074, parentID 1) is processed with stopping code 2 +### pop requested out of 176 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77547,0.60443,-0.18252) + Old Polarization: (-0.63021,0.72338,-0.28204) + New Momentum Direction: (0.51411,0.8211,-0.24796) + New Polarization: (-0.85696,0.47953,-0.18887) + *** FresnelRefraction *** +Track (trackID 1073, parentID 1) is processed with stopping code 2 +### pop requested out of 175 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72243,0.27081,0.6362) + Old Polarization: (-0.68872,0.36333,0.62742) + New Momentum Direction: (0.3626,0.365,0.85749) + New Polarization: (-0.93028,0.19668,0.30966) + *** FresnelRefraction *** +Track (trackID 1072, parentID 1) is processed with stopping code 2 +### pop requested out of 174 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72057,-0.68363,-0.11586) + Old Polarization: (-0.6905,-0.69228,-0.20966) + New Momentum Direction: (0.34075,-0.92694,-0.1571) + New Polarization: (-0.93844,-0.32525,-0.11638) + *** FresnelRefraction *** +Track (trackID 1071, parentID 1) is processed with stopping code 2 +### pop requested out of 173 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69897,-0.21016,0.68357) + Old Polarization: (-0.71474,-0.17277,0.67772) + New Momentum Direction: (0.2606,-0.28371,0.92282) + New Polarization: (-0.96521,-0.055538,0.2555) + *** FresnelRefraction *** +Track (trackID 1070, parentID 1) is processed with stopping code 2 +### pop requested out of 172 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1069, parentID 1) is processed with stopping code 2 +### pop requested out of 171 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1068, parentID 1) is processed with stopping code 2 +### pop requested out of 170 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72906,-0.63357,-0.25896) + Old Polarization: (-0.68111,-0.63424,-0.36582) + New Momentum Direction: (0.36783,-0.86077,-0.35182) + New Polarization: (-0.92787,-0.31483,-0.19984) + *** FresnelRefraction *** +Track (trackID 1067, parentID 1) is processed with stopping code 2 +### pop requested out of 169 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1066, parentID 1) is processed with stopping code 2 +### pop requested out of 168 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71519,0.21688,0.66443) + Old Polarization: (-0.6965,0.30028,0.65171) + New Momentum Direction: (0.3229,0.29368,0.89972) + New Polarization: (-0.945,0.15229,0.28944) + *** FresnelRefraction *** +Track (trackID 1065, parentID 1) is processed with stopping code 2 +### pop requested out of 167 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71626,-0.69248,-0.086279) + Old Polarization: (-0.69509,-0.69702,-0.17611) + New Momentum Direction: (0.31479,-0.94188,-0.11735) + New Polarization: (-0.94757,-0.30468,-0.096364) + *** FresnelRefraction *** +Track (trackID 1064, parentID 1) is processed with stopping code 2 +### pop requested out of 166 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69616,-0.14208,0.70368) + Old Polarization: (-0.71722,-0.095401,0.69029) + New Momentum Direction: (0.94549,-0.19297,0.26232) + New Polarization: (0.22307,-0.20307,-0.95341) + *** FresnelRefraction *** +Track (trackID 1063, parentID 1) is processed with stopping code 2 +### pop requested out of 165 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72522,-0.67568,-0.13232) + Old Polarization: (-0.68555,-0.69083,-0.22974) + New Momentum Direction: (0.36937,-0.91196,-0.17859) + New Polarization: (-0.92746,-0.34977,-0.13217) + *** FresnelRefraction *** +Track (trackID 1062, parentID 1) is processed with stopping code 2 +### pop requested out of 164 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.76657,0.64214,-0.0049328) +Old Polarization: (-0.64003,0.76339,-0.087182) +New Polarization: (0.10735,0.87037,-0.032031) +Polarization Change: (0.12233,0.99182,-0.036501) +New Momentum Direction: (0.28474,-0.0041664,0.84109) +Momentum Change: (0.32065,-0.004692,0.94719) + Photon at Boundary! + Old Momentum Direction: (0.32065,-0.004692,0.94719) + Old Polarization: (0.12233,0.99182,-0.036501) + New Momentum Direction: (-0.32065,-0.004692,0.94719) + New Polarization: (0.12233,-0.99182,0.036501) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.32065,-0.004692,0.94719) + Old Polarization: (0.12233,-0.99182,0.036501) + New Momentum Direction: (-0.43597,-0.0063794,0.89994) + New Polarization: (-0.1251,-0.98984,-0.067619) + *** FresnelRefraction *** +Track (trackID 1061, parentID 1) is processed with stopping code 2 +### pop requested out of 163 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78587,0.48864,-0.379) + Old Polarization: (-0.61815,0.60369,-0.50343) + New Momentum Direction: (0.54984,0.66001,-0.51192) + New Polarization: (-0.83511,0.42242,-0.35236) + *** FresnelRefraction *** +Track (trackID 1060, parentID 1) is processed with stopping code 2 +### pop requested out of 162 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7312,-0.63163,-0.25765) + Old Polarization: (-0.67881,-0.63633,-0.36647) + New Momentum Direction: (0.38213,-0.85566,-0.34903) + New Polarization: (-0.92206,-0.32786,-0.20573) + *** FresnelRefraction *** +Track (trackID 1059, parentID 1) is processed with stopping code 2 +### pop requested out of 161 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1058, parentID 1) is processed with stopping code 2 +### pop requested out of 160 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1057, parentID 1) is processed with stopping code 2 +### pop requested out of 159 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1056, parentID 1) is processed with stopping code 2 +### pop requested out of 158 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70087,-0.66487,0.25832) + Old Polarization: (-0.71222,-0.67208,0.2026) + New Momentum Direction: (0.25531,-0.90123,0.35015) + New Polarization: (-0.96627,-0.25051,0.059798) + *** FresnelRefraction *** +Track (trackID 1055, parentID 1) is processed with stopping code 2 +### pop requested out of 157 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7834,0.32959,-0.52694) + Old Polarization: (-0.6215,0.42209,-0.65998) + New Momentum Direction: (0.53603,0.44767,-0.71573) + New Polarization: (-0.84419,0.28889,-0.45154) + *** FresnelRefraction *** +Track (trackID 1054, parentID 1) is processed with stopping code 2 +### pop requested out of 156 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69217,-0.33788,0.63776) + Old Polarization: (-0.72165,-0.31062,0.61865) + New Momentum Direction: (0.20024,-0.45866,0.86576) + New Polarization: (-0.9797,-0.085401,0.18135) + *** FresnelRefraction *** +Track (trackID 1053, parentID 1) is processed with stopping code 2 +### pop requested out of 155 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1052, parentID 1) is processed with stopping code 2 +### pop requested out of 154 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1051, parentID 1) is processed with stopping code 2 +### pop requested out of 153 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1050, parentID 1) is processed with stopping code 2 +### pop requested out of 152 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70564,0.11335,0.69944) + Old Polarization: (-0.7067,0.18434,0.68308) + New Momentum Direction: (0.26629,0.1542,0.95148) + New Polarization: (-0.96285,0.088562,0.25512) + *** FresnelRefraction *** +Track (trackID 1049, parentID 1) is processed with stopping code 2 +### pop requested out of 151 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.70648,0.12591,0.69645) +Old Polarization: (-0.7058,0.19815,0.68014) +New Polarization: (-0.059776,0.47244,0.73023) +Polarization Change: (-0.068568,0.54192,0.83763) +New Momentum Direction: (0.78101,0.5008,-0.26007) +Momentum Change: (0.81056,0.51975,-0.26991) + Photon at Boundary! + Old Momentum Direction: (0.81056,0.51975,-0.26991) + Old Polarization: (-0.068568,0.54192,0.83763) + New Momentum Direction: (0.60463,0.70688,-0.36709) + New Polarization: (-0.13167,0.54323,0.82919) + *** FresnelRefraction *** +Track (trackID 1048, parentID 1) is processed with stopping code 2 +### pop requested out of 150 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77949,0.55967,-0.28135) + Old Polarization: (-0.62575,0.67504,-0.39084) + New Momentum Direction: (0.52592,0.75991,-0.38202) + New Polarization: (-0.8501,0.4553,-0.26465) + *** FresnelRefraction *** +Track (trackID 1047, parentID 1) is processed with stopping code 2 +### pop requested out of 149 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73872,0.4741,0.47908) + Old Polarization: (-0.67054,0.58904,0.45102) + New Momentum Direction: (0.41611,0.63961,0.64633) + New Polarization: (-0.90712,0.34131,0.24625) + *** FresnelRefraction *** +Track (trackID 1046, parentID 1) is processed with stopping code 2 +### pop requested out of 148 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1045, parentID 1) is processed with stopping code 2 +### pop requested out of 147 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73899,0.48171,0.47101) + Old Polarization: (-0.67023,0.59668,0.44132) + New Momentum Direction: (0.41568,0.65031,0.63585) + New Polarization: (-0.90732,0.34503,0.24027) + *** FresnelRefraction *** +Track (trackID 1044, parentID 1) is processed with stopping code 2 +### pop requested out of 146 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69515,-0.35467,0.62528) + Old Polarization: (-0.71881,-0.33225,0.61068) + New Momentum Direction: (0.23523,-0.47953,0.84541) + New Polarization: (-0.97191,-0.10923,0.20847) + *** FresnelRefraction *** +Track (trackID 1043, parentID 1) is processed with stopping code 2 +### pop requested out of 145 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1042, parentID 1) is processed with stopping code 2 +### pop requested out of 144 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75135,-0.4926,-0.43911) + Old Polarization: (-0.65643,-0.48974,-0.57381) + New Momentum Direction: (0.45859,-0.66335,-0.59132) + New Polarization: (-0.8864,-0.2942,-0.3574) + *** FresnelRefraction *** +Track (trackID 1041, parentID 1) is processed with stopping code 2 +### pop requested out of 143 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1040, parentID 1) is processed with stopping code 2 +### pop requested out of 142 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7339,0.42577,0.52925) + Old Polarization: (-0.6759,0.5351,0.50678) + New Momentum Direction: (0.40008,0.57447,0.71409) + New Polarization: (-0.91439,0.30287,0.26865) + *** FresnelRefraction *** +Track (trackID 1039, parentID 1) is processed with stopping code 2 +### pop requested out of 141 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72972,-0.65072,-0.20993) + Old Polarization: (-0.68052,-0.66137,-0.31541) + New Momentum Direction: (0.38272,-0.87924,-0.28365) + New Polarization: (-0.92187,-0.3433,-0.17973) + *** FresnelRefraction *** +Track (trackID 1038, parentID 1) is processed with stopping code 2 +### pop requested out of 140 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70456,-0.6876,0.17553) + Old Polarization: (-0.70817,-0.6972,0.11138) + New Momentum Direction: (0.27344,-0.932,0.23792) + New Polarization: (-0.96105,-0.27503,0.027149) + *** FresnelRefraction *** +Track (trackID 1037, parentID 1) is processed with stopping code 2 +### pop requested out of 139 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69057,-0.43768,0.5758) + Old Polarization: (-0.72327,-0.41899,0.54893) + New Momentum Direction: (0.18315,-0.59491,0.78265) + New Polarization: (-0.98309,-0.11151,0.14529) + *** FresnelRefraction *** +Track (trackID 1036, parentID 1) is processed with stopping code 2 +### pop requested out of 138 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69371,-0.18021,0.69734) + Old Polarization: (-0.71973,-0.13664,0.68067) + New Momentum Direction: (0.94375,-0.24517,0.2219) + New Polarization: (0.15936,-0.25077,-0.95484) + *** FresnelRefraction *** +Track (trackID 1035, parentID 1) is processed with stopping code 2 +### pop requested out of 137 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72744,0.3577,0.58557) + Old Polarization: (-0.68307,0.45856,0.56845) + New Momentum Direction: (-0.72744,0.3577,0.58557) + New Polarization: (-0.66727,-0.56769,-0.48216) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.72744,0.3577,0.58557) + Old Polarization: (-0.66727,-0.56769,-0.48216) + New Momentum Direction: (-0.72744,0.3577,-0.58557) + New Polarization: (0.66727,0.56769,-0.48216) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1034, parentID 1) is processed with stopping code 2 ### pop requested out of 136 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76609,-0.014351,-0.64257) - Old Polarization: (-0.6328,0.15819,-0.75798) - New Momentum Direction: (0.49334,-0.019422,-0.86962) - New Polarization: (-0.86332,0.11123,-0.49225) + Old Momentum Direction: (0.77122,0.63371,-0.060171) + Old Polarization: (-0.63473,0.75837,-0.14829) + New Momentum Direction: (0.50482,0.85936,-0.081596) + New Polarization: (-0.86203,0.49689,-0.10007) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 842, parentID 637) is processed with stopping code 2 +Track (trackID 1033, parentID 1) is processed with stopping code 2 ### pop requested out of 135 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 841, parentID 637) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79875,0.30719,-0.51733) - Old Polarization: (-0.59585,0.52307,-0.60939) - New Momentum Direction: (0.57636,0.41724,-0.70266) - New Polarization: (-0.81329,0.37682,-0.44335) + Old Momentum Direction: (0.69229,-0.49509,0.525) + Old Polarization: (-0.72156,-0.48379,0.49527) + New Momentum Direction: (0.20303,-0.67179,0.71238) + New Polarization: (-0.97914,-0.14482,0.14249) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 840, parentID 637) is processed with stopping code 2 +Track (trackID 1032, parentID 1) is processed with stopping code 2 +### pop requested out of 134 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1031, parentID 1) is processed with stopping code 2 ### pop requested out of 133 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79169,0.24078,-0.56148) - Old Polarization: (-0.60389,0.44756,-0.65956) - New Momentum Direction: (0.55805,0.32705,-0.76264) - New Polarization: (-0.8251,0.31645,-0.46805) + Old Momentum Direction: (0.75029,-0.46623,-0.46871) + Old Polarization: (-0.65772,-0.45476,-0.60049) + New Momentum Direction: (0.44647,-0.63104,-0.6344) + New Polarization: (-0.89264,-0.26492,-0.3647) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 839, parentID 637) is processed with stopping code 2 +Track (trackID 1030, parentID 1) is processed with stopping code 2 ### pop requested out of 132 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80166,0.44847,0.39523) - Old Polarization: (-0.59264,0.68272,0.4274) - New Momentum Direction: (0.58296,0.60956,0.5372) - New Polarization: (-0.80905,0.49638,0.31473) + Old Momentum Direction: (0.76965,0.63636,-0.051899) + Old Polarization: (-0.63659,0.75861,-0.13881) + New Momentum Direction: (0.49788,0.86437,-0.070496) + New Polarization: (-0.86603,0.49123,-0.093217) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 838, parentID 637) is processed with stopping code 2 +Track (trackID 1029, parentID 1) is processed with stopping code 2 ### pop requested out of 131 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 837, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.70493,0.069796,0.70584) + Old Polarization: (-0.70762,0.13717,0.69315) + New Momentum Direction: (0.26948,0.094764,0.95833) + New Polarization: (-0.96207,0.070255,0.26359) + *** FresnelRefraction *** +Track (trackID 1028, parentID 1) is processed with stopping code 2 ### pop requested out of 130 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.82256,0.54575,-0.15984) - Old Polarization: (-0.56844,0.7971,-0.20372) - New Momentum Direction: (0.63674,0.73999,-0.21673) - New Polarization: (-0.77092,0.61664,-0.15949) + Old Momentum Direction: (0.69818,-0.16302,0.69712) + Old Polarization: (-0.71534,-0.11947,0.68849) + New Momentum Direction: (0.24688,-0.22065,0.94359) + New Polarization: (-0.96872,-0.030987,0.24621) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 836, parentID 637) is processed with stopping code 2 +Track (trackID 1027, parentID 1) is processed with stopping code 2 ### pop requested out of 129 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 835, parentID 637) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68206,-0.68377,-0.25933) - Old Polarization: (-0.72885,-0.60663,-0.31746) - New Momentum Direction: (0.13144,-0.9269,-0.35154) - New Polarization: (-0.99012,-0.1053,-0.092563) + Old Momentum Direction: (0.69708,-0.56238,0.44476) + Old Polarization: (-0.71674,-0.56322,0.41117) + New Momentum Direction: (0.24761,-0.75993,0.60099) + New Polarization: (-0.96872,-0.20489,0.14005) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 834, parentID 637) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. +Track (trackID 1026, parentID 1) is processed with stopping code 2 +### pop requested out of 128 stacked tracks. -** Photon Absorbed! ** -Track (trackID 833, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1025, parentID 1) is processed with stopping code 2 +### pop requested out of 127 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7861,0.27556,-0.55327) + Old Polarization: (-0.618,0.36629,-0.69564) + New Momentum Direction: (0.54927,0.37254,-0.74801) + New Polarization: (-0.83558,0.256,-0.48607) + *** FresnelRefraction *** +Track (trackID 1024, parentID 1) is processed with stopping code 2 ### pop requested out of 126 stacked tracks. -** Photon Absorbed! ** -Track (trackID 832, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1023, parentID 1) is processed with stopping code 2 ### pop requested out of 125 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8074,0.34714,-0.47708) - Old Polarization: (-0.58507,0.57544,-0.57145) - New Momentum Direction: (0.60459,0.46865,-0.64408) - New Polarization: (-0.79316,0.42859,-0.43267) + Old Momentum Direction: (0.76945,0.63608,-0.057852) + Old Polarization: (-0.63686,0.75719,-0.14518) + New Momentum Direction: (0.49628,0.8646,-0.078635) + New Polarization: (-0.86697,0.48881,-0.097106) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 831, parentID 637) is processed with stopping code 2 +Track (trackID 1022, parentID 1) is processed with stopping code 2 ### pop requested out of 124 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.82132,0.56913,-0.039022) - Old Polarization: (-0.57044,0.81873,-0.06544) - New Momentum Direction: (0.63096,0.774,-0.053068) - New Polarization: (-0.7758,0.62902,-0.049702) + Old Momentum Direction: (0.69547,-0.23861,0.67778) + Old Polarization: (-0.71823,-0.20258,0.66566) + New Momentum Direction: (0.22866,-0.32328,0.91826) + New Polarization: (-0.97333,-0.057999,0.22195) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 830, parentID 637) is processed with stopping code 2 +Track (trackID 1021, parentID 1) is processed with stopping code 2 ### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71015,-0.34285,0.61493) - Old Polarization: (-0.6969,-0.2182,0.68316) - New Momentum Direction: (0.30267,-0.46412,0.83245) - New Polarization: (-0.94892,-0.065047,0.30875) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 829, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1020, parentID 1) is processed with stopping code 2 ### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67946,-0.70794,-0.19277) - Old Polarization: (-0.73209,-0.63668,-0.24225) - New Momentum Direction: (0.91969,-0.2934,-0.26093) - New Polarization: (0.18778,0.91229,-0.36397) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 828, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1019, parentID 1) is processed with stopping code 2 ### pop requested out of 121 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80049,0.31468,-0.51009) - Old Polarization: (-0.59369,0.53294,-0.60291) - New Momentum Direction: (0.58225,0.42687,-0.69193) - New Polarization: (-0.80919,0.38662,-0.44241) + Old Momentum Direction: (0.76356,-0.33951,-0.54928) + Old Polarization: (-0.64278,-0.31839,-0.69675) + New Momentum Direction: (0.49352,-0.45728,-0.73982) + New Polarization: (-0.8678,-0.20217,-0.45393) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 827, parentID 637) is processed with stopping code 2 +Track (trackID 1018, parentID 1) is processed with stopping code 2 ### pop requested out of 120 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79755,0.24735,-0.55021) - Old Polarization: (-0.59632,0.46116,-0.65707) - New Momentum Direction: (0.58127,0.33364,-0.74217) - New Polarization: (-0.80899,0.33509,-0.48296) + Old Momentum Direction: (0.69841,-0.48886,0.52272) + Old Polarization: (-0.71564,-0.48569,0.50195) + New Momentum Direction: (0.26708,-0.65825,0.70383) + New Polarization: (-0.96365,-0.18807,0.18978) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 826, parentID 637) is processed with stopping code 2 +Track (trackID 1017, parentID 1) is processed with stopping code 2 ### pop requested out of 119 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75344,-0.38715,-0.53145) + Old Polarization: (-0.65442,-0.36317,-0.66321) + New Momentum Direction: (0.44766,-0.52652,-0.72276) + New Polarization: (-0.89225,-0.20955,-0.39998) + *** FresnelRefraction *** +Track (trackID 1016, parentID 1) is processed with stopping code 2 +### pop requested out of 118 stacked tracks. -** Photon Absorbed! ** -Track (trackID 825, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1015, parentID 1) is processed with stopping code 2 +### pop requested out of 117 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1014, parentID 1) is processed with stopping code 2 +### pop requested out of 116 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78403,0.33767,-0.52084) + Old Polarization: (-0.62071,0.43173,-0.65447) + New Momentum Direction: (0.53887,0.45826,-0.70684) + New Polarization: (-0.84238,0.29678,-0.4498) + *** FresnelRefraction *** +Track (trackID 1013, parentID 1) is processed with stopping code 2 +### pop requested out of 115 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72312,0.36372,0.58719) + Old Polarization: (-0.68762,0.45945,0.56221) + New Momentum Direction: (0.34589,0.49408,0.79765) + New Polarization: (-0.93643,0.23506,0.26047) + *** FresnelRefraction *** +Track (trackID 1012, parentID 1) is processed with stopping code 2 +### pop requested out of 114 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77311,0.6302,-0.071736) + Old Polarization: (-0.6325,0.75753,-0.16154) + New Momentum Direction: (0.51279,0.853,-0.097097) + New Polarization: (-0.85735,0.50292,-0.10968) + *** FresnelRefraction *** +Track (trackID 1011, parentID 1) is processed with stopping code 2 +### pop requested out of 113 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69545,-0.1468,0.70342) + Old Polarization: (-0.71792,-0.10037,0.68885) + New Momentum Direction: (0.9452,-0.19951,0.25842) + New Polarization: (0.21645,-0.20962,-0.95352) + *** FresnelRefraction *** +Track (trackID 1010, parentID 1) is processed with stopping code 2 +### pop requested out of 112 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71697,0.18138,0.67309) + Old Polarization: (-0.69484,0.26368,0.66908) + New Momentum Direction: (0.34314,0.24439,0.90693) + New Polarization: (-0.93792,0.14122,0.3168) + *** FresnelRefraction *** +Track (trackID 1009, parentID 1) is processed with stopping code 2 +### pop requested out of 111 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71922,-0.69401,-0.032747) + Old Polarization: (-0.69225,-0.71178,-0.11901) + New Momentum Direction: (0.34816,-0.93639,-0.044183) + New Polarization: (-0.9359,-0.34451,-0.073464) + *** FresnelRefraction *** +Track (trackID 1008, parentID 1) is processed with stopping code 2 +### pop requested out of 110 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.78168,0.25227,-0.57038) +Old Polarization: (-0.62353,0.33639,-0.70573) +New Polarization: (-0.448,0.20432,-0.77191) +Polarization Change: (-0.4893,0.22316,-0.84308) +New Momentum Direction: (-0.55262,0.56934,0.47142) +Momentum Change: (-0.59877,0.6169,0.5108) +Scattering Photon! +Old Momentum Direction: (-0.59877,0.6169,0.5108) +Old Polarization: (-0.4893,0.22316,-0.84308) +New Polarization: (-0.4615,0.12321,-0.82906) +Polarization Change: (-0.48232,0.12877,-0.86648) +New Momentum Direction: (-0.46112,-0.87486,0.12667) +Momentum Change: (-0.4625,-0.87747,0.12705) + +** Photon absorbed! ** +Track (trackID 1007, parentID 1) is processed with stopping code 2 +### pop requested out of 109 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75548,0.62266,0.20382) + Old Polarization: (-0.6521,0.74471,0.14201) + New Momentum Direction: (0.45733,0.84517,0.27666) + New Polarization: (-0.88734,0.4543,0.078949) + *** FresnelRefraction *** +Track (trackID 1006, parentID 1) is processed with stopping code 2 +### pop requested out of 108 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1005, parentID 1) is processed with stopping code 2 +### pop requested out of 107 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1004, parentID 1) is processed with stopping code 2 +### pop requested out of 106 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72816,0.40876,0.55018) + Old Polarization: (-0.68214,0.51051,0.52352) + New Momentum Direction: (0.36853,0.55441,0.7462) + New Polarization: (-0.92763,0.27174,0.25623) + *** FresnelRefraction *** +Track (trackID 1003, parentID 1) is processed with stopping code 2 +### pop requested out of 105 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7227,0.30051,0.62242) + Old Polarization: (-0.68832,0.39458,0.60871) + New Momentum Direction: (0.35804,0.40596,0.84084) + New Polarization: (-0.93198,0.21016,0.29539) + *** FresnelRefraction *** +Track (trackID 1002, parentID 1) is processed with stopping code 2 +### pop requested out of 104 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1001, parentID 1) is processed with stopping code 2 +### pop requested out of 103 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70413,0.046362,0.70855) + Old Polarization: (-0.70853,0.11152,0.69681) + New Momentum Direction: (0.95562,0.06292,0.28781) + New Polarization: (0.27889,0.12164,-0.95259) + *** FresnelRefraction *** +Track (trackID 1000, parentID 1) is processed with stopping code 2 +### pop requested out of 102 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75256,-0.4577,-0.47346) + Old Polarization: (-0.65515,-0.44768,-0.60857) + New Momentum Direction: (0.45729,-0.61811,-0.63939) + New Polarization: (-0.88715,-0.26687,-0.37649) + *** FresnelRefraction *** +Track (trackID 999, parentID 1) is processed with stopping code 2 +### pop requested out of 101 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7273,0.3898,0.56488) + Old Polarization: (-0.68311,0.49064,0.54096) + New Momentum Direction: (0.36771,0.52817,0.7654) + New Polarization: (-0.92799,0.26168,0.26525) + *** FresnelRefraction *** +Track (trackID 998, parentID 1) is processed with stopping code 2 +### pop requested out of 100 stacked tracks. + +** Photon absorbed! ** +Track (trackID 997, parentID 1) is processed with stopping code 2 +### pop requested out of 99 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.717,0.27973,0.63848) + Old Polarization: (-0.69435,0.36747,0.61875) + New Momentum Direction: (0.32208,0.37991,0.86714) + New Polarization: (-0.94512,0.18219,0.27122) + *** FresnelRefraction *** +Track (trackID 996, parentID 1) is processed with stopping code 2 +### pop requested out of 98 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69522,-0.14408,0.70421) + Old Polarization: (-0.71814,-0.09729,0.68907) + New Momentum Direction: (0.94527,-0.19591,0.26093) + New Polarization: (0.22052,-0.20581,-0.95342) + *** FresnelRefraction *** +Track (trackID 995, parentID 1) is processed with stopping code 2 +### pop requested out of 97 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77561,0.6025,-0.18823) + Old Polarization: (-0.63007,0.72106,-0.28823) + New Momentum Direction: (0.5143,0.81859,-0.25574) + New Polarization: (-0.85687,0.47806,-0.19296) + *** FresnelRefraction *** +Track (trackID 994, parentID 1) is processed with stopping code 2 +### pop requested out of 96 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75317,-0.40199,-0.5207) + Old Polarization: (-0.65466,-0.38053,-0.65316) + New Momentum Direction: (0.44906,-0.54602,-0.70726) + New Polarization: (-0.8915,-0.22082,-0.39556) + *** FresnelRefraction *** +Track (trackID 993, parentID 1) is processed with stopping code 2 +### pop requested out of 95 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69797,-0.57003,0.43347) + Old Polarization: (-0.71583,-0.57276,0.39942) + New Momentum Direction: (0.25508,-0.76966,0.58528) + New Polarization: (-0.96675,-0.21423,0.13961) + *** FresnelRefraction *** +Track (trackID 992, parentID 1) is processed with stopping code 2 +### pop requested out of 94 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73152,0.42725,0.53135) + Old Polarization: (-0.67848,0.53321,0.50533) + New Momentum Direction: (0.38527,0.57826,0.71915) + New Polarization: (-0.92074,0.2929,0.25776) + *** FresnelRefraction *** +Track (trackID 991, parentID 1) is processed with stopping code 2 +### pop requested out of 93 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77003,-0.21203,-0.60174) + Old Polarization: (-0.6357,-0.17489,-0.75186) + New Momentum Direction: (0.50824,-0.28621,-0.81226) + New Polarization: (-0.8597,-0.11268,-0.49822) + *** FresnelRefraction *** +Track (trackID 990, parentID 1) is processed with stopping code 2 +### pop requested out of 92 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70612,-0.69367,0.1422) + Old Polarization: (-0.70644,-0.70382,0.074627) + New Momentum Direction: (-0.70612,-0.69367,0.1422) + New Polarization: (-0.70266,0.71126,-0.019512) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.70612,-0.69367,0.1422) + Old Polarization: (-0.70266,0.71126,-0.019512) + New Momentum Direction: (-0.95714,-0.21616,0.19275) + New Polarization: (-0.23061,0.97145,-0.055679) + *** FresnelRefraction *** +Track (trackID 989, parentID 1) is processed with stopping code 2 +### pop requested out of 91 stacked tracks. + +** Photon absorbed! ** +Track (trackID 988, parentID 1) is processed with stopping code 2 +### pop requested out of 90 stacked tracks. + +** Photon absorbed! ** +Track (trackID 987, parentID 1) is processed with stopping code 2 +### pop requested out of 89 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72076,0.30989,0.62006) + Old Polarization: (-0.69031,0.40225,0.60139) + New Momentum Direction: (0.34249,0.42001,0.84041) + New Polarization: (-0.93781,0.20687,0.27879) + *** FresnelRefraction *** +Track (trackID 986, parentID 1) is processed with stopping code 2 +### pop requested out of 88 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78237,0.038658,-0.62162) + Old Polarization: (-0.62185,0.10419,-0.77618) + New Momentum Direction: (0.54322,0.052113,-0.83797) + New Polarization: (-0.83894,0.072895,-0.53932) + *** FresnelRefraction *** +Track (trackID 985, parentID 1) is processed with stopping code 2 +### pop requested out of 87 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71638,-0.69577,-0.052067) + Old Polarization: (-0.69511,-0.70527,-0.13934) + New Momentum Direction: (-0.71638,-0.69577,-0.052067) + New Polarization: (-0.68664,0.68979,0.2296) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.71638,-0.69577,-0.052067) + Old Polarization: (-0.68664,0.68979,0.2296) + New Momentum Direction: (-0.71638,0.69577,-0.052067) + New Polarization: (0.661,0.6529,-0.36988) + *** FresnelReflection *** + +** Photon absorbed! ** +Track (trackID 984, parentID 1) is processed with stopping code 2 +### pop requested out of 86 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75363,0.60386,0.2596) + Old Polarization: (-0.65403,0.72823,0.20473) + New Momentum Direction: (0.45641,0.81743,0.35141) + New Polarization: (-0.88768,0.44537,0.11694) + *** FresnelRefraction *** +Track (trackID 983, parentID 1) is processed with stopping code 2 +### pop requested out of 85 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69811,-0.072766,0.71229) + Old Polarization: (-0.71503,-0.019282,0.69883) + New Momentum Direction: (0.94866,-0.098882,0.30045) + New Polarization: (0.29197,-0.091578,-0.95203) + *** FresnelRefraction *** +Track (trackID 982, parentID 1) is processed with stopping code 2 +### pop requested out of 84 stacked tracks. + +** Photon absorbed! ** +Track (trackID 981, parentID 1) is processed with stopping code 2 +### pop requested out of 83 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78243,0.59192,-0.19347) + Old Polarization: (-0.62162,0.72384,-0.2994) + New Momentum Direction: (0.54536,0.79672,-0.26042) + New Polarization: (-0.83746,0.50483,-0.20931) + *** FresnelRefraction *** +Track (trackID 980, parentID 1) is processed with stopping code 2 +### pop requested out of 82 stacked tracks. + +** Photon absorbed! ** +Track (trackID 979, parentID 1) is processed with stopping code 2 +### pop requested out of 81 stacked tracks. + +** Photon absorbed! ** +Track (trackID 978, parentID 1) is processed with stopping code 2 +### pop requested out of 80 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75214,0.60806,0.25407) + Old Polarization: (-0.65577,0.72874,0.19724) + New Momentum Direction: (0.44716,0.8253,0.34484) + New Polarization: (-0.8924,0.43774,0.10956) + *** FresnelRefraction *** +Track (trackID 977, parentID 1) is processed with stopping code 2 +### pop requested out of 79 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74341,-0.5413,-0.39286) + Old Polarization: (-0.66533,-0.5384,-0.51717) + New Momentum Direction: (0.42583,-0.73226,-0.53147) + New Polarization: (-0.90259,-0.30273,-0.30609) + *** FresnelRefraction *** +Track (trackID 976, parentID 1) is processed with stopping code 2 +### pop requested out of 78 stacked tracks. + +** Photon absorbed! ** +Track (trackID 975, parentID 1) is processed with stopping code 2 +### pop requested out of 77 stacked tracks. + +** Photon absorbed! ** +Track (trackID 974, parentID 1) is processed with stopping code 2 +### pop requested out of 76 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74569,0.56743,0.34925) + Old Polarization: (-0.66284,0.68502,0.30231) + New Momentum Direction: (0.42802,0.76966,0.47372) + New Polarization: (-0.9016,0.39992,0.16487) + *** FresnelRefraction *** +Track (trackID 973, parentID 1) is processed with stopping code 2 +### pop requested out of 75 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78231,0.42761,-0.45293) + Old Polarization: (-0.62285,0.52813,-0.57718) + New Momentum Direction: (0.53126,0.5816,-0.61605) + New Polarization: (-0.84718,0.35854,-0.39209) + *** FresnelRefraction *** +Track (trackID 972, parentID 1) is processed with stopping code 2 +### pop requested out of 74 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75091,-0.43199,-0.49952) + Old Polarization: (-0.65714,-0.41362,-0.63015) + New Momentum Direction: (0.44236,-0.58665,-0.67836) + New Polarization: (-0.89478,-0.2374,-0.37818) + *** FresnelRefraction *** +Track (trackID 971, parentID 1) is processed with stopping code 2 +### pop requested out of 73 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77403,-0.085904,-0.62729) + Old Polarization: (-0.63153,-0.034121,-0.7746) + New Momentum Direction: (0.51432,-0.11636,-0.84967) + New Polarization: (-0.85654,-0.020558,-0.51567) + *** FresnelRefraction *** +Track (trackID 970, parentID 1) is processed with stopping code 2 +### pop requested out of 72 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70552,-0.034192,0.70786) + Old Polarization: (-0.70754,0.022921,0.70631) + New Momentum Direction: (0.29398,-0.046115,0.9547) + New Polarization: (-0.95514,0.023192,0.29524) + *** FresnelRefraction *** +Track (trackID 969, parentID 1) is processed with stopping code 2 +### pop requested out of 71 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75966,0.63535,0.13873) + Old Polarization: (-0.64751,0.75879,0.070507) + New Momentum Direction: (0.47005,0.86232,0.18829) + New Polarization: (-0.88083,0.47193,0.037605) + *** FresnelRefraction *** +Track (trackID 968, parentID 1) is processed with stopping code 2 +### pop requested out of 70 stacked tracks. + +** Photon absorbed! ** +Track (trackID 967, parentID 1) is processed with stopping code 2 +### pop requested out of 69 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72377,0.33563,0.60292) + Old Polarization: (-0.68704,0.43184,0.58437) + New Momentum Direction: (0.35728,0.45429,0.81607) + New Polarization: (-0.93219,0.22784,0.28129) + *** FresnelRefraction *** +Track (trackID 966, parentID 1) is processed with stopping code 2 +### pop requested out of 68 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69124,-0.4273,0.58275) + Old Polarization: (-0.72263,-0.40844,0.55766) + New Momentum Direction: (-0.69124,-0.4273,0.58275) + New Polarization: (-0.72263,0.4083,-0.55777) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69124,-0.4273,0.58275) + Old Polarization: (-0.72263,0.4083,-0.55777) + New Momentum Direction: (-0.69124,-0.4273,-0.58275) + New Polarization: (0.72263,-0.4083,-0.55777) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69124,-0.4273,-0.58275) + Old Polarization: (0.72263,-0.4083,-0.55777) + New Momentum Direction: (-0.69124,0.4273,-0.58275) + New Polarization: (-0.72263,-0.4083,0.55777) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 965, parentID 1) is processed with stopping code 2 +### pop requested out of 67 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76697,-0.19291,-0.612) + Old Polarization: (-0.6395,-0.15126,-0.75376) + New Momentum Direction: (0.49069,-0.26195,-0.83103) + New Polarization: (-0.86993,-0.093078,-0.48432) + *** FresnelRefraction *** +Track (trackID 964, parentID 1) is processed with stopping code 2 +### pop requested out of 66 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69618,-0.64744,0.3101) + Old Polarization: (-0.71705,-0.64774,0.25743) + New Momentum Direction: (0.21589,-0.88062,0.42178) + New Polarization: (-0.97598,-0.20751,0.066313) + *** FresnelRefraction *** +Track (trackID 963, parentID 1) is processed with stopping code 2 +### pop requested out of 65 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72812,0.40296,0.5545) + Old Polarization: (-0.6822,0.50474,0.52901) + New Momentum Direction: (0.36975,0.54621,0.75162) + New Polarization: (-0.92715,0.26967,0.26013) + *** FresnelRefraction *** +Track (trackID 962, parentID 1) is processed with stopping code 2 +### pop requested out of 64 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77156,0.62974,-0.090123) + Old Polarization: (-0.63448,0.7515,-0.18078) + New Momentum Direction: (0.50347,0.8553,-0.1224) + New Polarization: (-0.86292,0.49067,-0.12087) + *** FresnelRefraction *** +Track (trackID 961, parentID 1) is processed with stopping code 2 +### pop requested out of 63 stacked tracks. + +** Photon absorbed! ** +Track (trackID 960, parentID 1) is processed with stopping code 2 +### pop requested out of 62 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71063,0.067471,0.70032) + Old Polarization: (-0.7019,0.1364,0.69909) + New Momentum Direction: (0.31761,0.090934,0.94385) + New Polarization: (-0.94724,0.075807,0.31144) + *** FresnelRefraction *** +Track (trackID 959, parentID 1) is processed with stopping code 2 +### pop requested out of 61 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70762,-0.031235,0.70591) + Old Polarization: (-0.70543,0.026211,0.7083) + New Momentum Direction: (0.31037,-0.042022,0.94969) + New Polarization: (-0.94993,0.02438,0.31153) + *** FresnelRefraction *** +Track (trackID 958, parentID 1) is processed with stopping code 2 +### pop requested out of 60 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75145,0.60974,0.25206) + Old Polarization: (-0.65656,0.72878,0.19444) + New Momentum Direction: (0.44293,0.82855,0.34252) + New Polarization: (-0.89452,0.43413,0.1066) + *** FresnelRefraction *** +Track (trackID 957, parentID 1) is processed with stopping code 2 +### pop requested out of 59 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78312,0.10825,-0.61237) + Old Polarization: (-0.62122,0.18111,-0.76242) + New Momentum Direction: (0.54245,0.14624,-0.82726) + New Polarization: (-0.83966,0.1259,-0.52832) + *** FresnelRefraction *** +Track (trackID 956, parentID 1) is processed with stopping code 2 +### pop requested out of 58 stacked tracks. + +** Photon absorbed! ** +Track (trackID 955, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. + +** Photon absorbed! ** +Track (trackID 954, parentID 1) is processed with stopping code 2 +### pop requested out of 56 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76482,-0.26429,-0.58753) + Old Polarization: (-0.64168,-0.23125,-0.73128) + New Momentum Direction: (0.48896,-0.35785,-0.79553) + New Polarization: (-0.87064,-0.14392,-0.47039) + *** FresnelRefraction *** +Track (trackID 953, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75427,-0.39638,-0.5234) + Old Polarization: (-0.65341,-0.37524,-0.65745) + New Momentum Direction: (0.45418,-0.53787,-0.71023) + New Polarization: (-0.88891,-0.22016,-0.4017) + *** FresnelRefraction *** +Track (trackID 952, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75039,0.57486,0.32628) + Old Polarization: (-0.65756,0.69944,0.27998) + New Momentum Direction: (0.45041,0.77647,0.44071) + New Polarization: (-0.89062,0.42536,0.1608) + *** FresnelRefraction *** +Track (trackID 951, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + +** Photon absorbed! ** +Track (trackID 950, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71176,-0.70031,0.054489) + Old Polarization: (-0.70032,-0.71349,-0.021984) + New Momentum Direction: (0.3099,-0.9479,0.073754) + New Polarization: (-0.94954,-0.31251,-0.026638) + *** FresnelRefraction *** +Track (trackID 949, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75975,0.63018,0.16016) + Old Polarization: (-0.6473,0.75634,0.094637) + New Momentum Direction: (0.47363,0.85359,0.21694) + New Polarization: (-0.87885,0.47414,0.053161) + *** FresnelRefraction *** +Track (trackID 948, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + +** Photon absorbed! ** +Track (trackID 947, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77315,0.62859,-0.084327) + Old Polarization: (-0.63252,0.75447,-0.17522) + New Momentum Direction: (0.51176,0.8515,-0.11423) + New Polarization: (-0.85801,0.49978,-0.1185) + *** FresnelRefraction *** +Track (trackID 946, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.775,0.60423,-0.18517) + Old Polarization: (-0.63081,0.7219,-0.2845) + New Momentum Direction: (0.5116,0.82151,-0.25176) + New Polarization: (-0.85847,0.47646,-0.18977) + *** FresnelRefraction *** +Track (trackID 945, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71102,0.12154,0.69259) + Old Polarization: (-0.70124,0.19561,0.68557) + New Momentum Direction: (0.31055,0.1643,0.93625) + New Polarization: (-0.94942,0.10175,0.29707) + *** FresnelRefraction *** +Track (trackID 944, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78489,0.33668,-0.52019) + Old Polarization: (-0.61963,0.43176,-0.65547) + New Momentum Direction: (0.5428,0.45633,-0.70507) + New Polarization: (-0.83985,0.29863,-0.45329) + *** FresnelRefraction *** +Track (trackID 943, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74593,0.53094,0.40211) + Old Polarization: (-0.6625,0.65353,0.36606) + New Momentum Direction: (0.44047,0.71568,0.54202) + New Polarization: (-0.89551,0.39301,0.20881) + *** FresnelRefraction *** +Track (trackID 942, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + +** Photon absorbed! ** +Track (trackID 941, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.75147,-0.45286,-0.4798) +Old Polarization: (-0.65642,-0.44,-0.61279) +New Polarization: (-0.21233,-0.57153,-0.62256) +Polarization Change: (-0.24367,-0.65589,-0.71445) +New Momentum Direction: (-0.93187,0.3623,-0.014789) +Momentum Change: (-0.93193,0.36233,-0.01479) + Photon at Boundary! + Old Momentum Direction: (-0.93193,0.36233,-0.01479) + Old Polarization: (-0.24367,-0.65589,-0.71445) + New Momentum Direction: (-0.87127,0.4904,-0.020017) + New Polarization: (0.3821,0.65214,-0.65476) + *** FresnelRefraction *** +Track (trackID 940, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69718,-0.11132,0.7082) + Old Polarization: (-0.7161,-0.061651,0.69527) + New Momentum Direction: (0.94686,-0.15119,0.2839) + New Polarization: (0.26067,-0.15641,-0.95267) + *** FresnelRefraction *** +Track (trackID 939, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75935,0.60613,0.23665) + Old Polarization: (-0.64747,0.73999,0.18221) + New Momentum Direction: (0.48286,0.81573,0.31848) + New Polarization: (-0.87359,0.47393,0.11059) + *** FresnelRefraction *** +Track (trackID 938, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72333,-0.67478,-0.14653) + Old Polarization: (-0.6875,-0.68401,-0.24386) + New Momentum Direction: (0.35363,-0.91408,-0.19849) + New Polarization: (-0.93358,-0.33171,-0.13564) + *** FresnelRefraction *** +Track (trackID 937, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71894,0.32737,0.61316) + Old Polarization: (-0.69215,0.4181,0.58832) + New Momentum Direction: (0.3247,0.44546,0.83435) + New Polarization: (-0.9441,0.20576,0.25756) + *** FresnelRefraction *** +Track (trackID 936, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + +** Photon absorbed! ** +Track (trackID 935, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + +** Photon absorbed! ** +Track (trackID 934, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + +** Photon absorbed! ** +Track (trackID 933, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69743,-0.58573,0.41292) + Old Polarization: (-0.71628,-0.58831,0.37529) + New Momentum Direction: (0.24718,-0.79196,0.5583) + New Polarization: (-0.96876,-0.2139,0.12549) + *** FresnelRefraction *** +Track (trackID 932, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + +** Photon absorbed! ** +Track (trackID 931, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70911,-0.7039,0.041046) + Old Polarization: (-0.70294,-0.71029,-0.036849) + New Momentum Direction: (0.28484,-0.95695,0.055802) + New Polarization: (-0.95735,-0.28694,-0.033898) + *** FresnelRefraction *** +Track (trackID 930, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72618,-0.65266,-0.21609) + Old Polarization: (-0.68428,-0.65573,-0.31903) + New Momentum Direction: (0.35805,-0.88638,-0.29347) + New Polarization: (-0.93176,-0.31895,-0.17347) + *** FresnelRefraction *** +Track (trackID 929, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78098,0.5941,-0.19265) + Old Polarization: (-0.62343,0.72315,-0.2973) + New Momentum Direction: (0.53896,0.80126,-0.25982) + New Polarization: (-0.84159,0.49928,-0.20604) + *** FresnelRefraction *** +Track (trackID 928, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77797,-0.086334,-0.62234) + Old Polarization: (-0.62667,-0.035385,-0.77848) + New Momentum Direction: (0.53283,-0.11628,-0.83819) + New Polarization: (-0.84514,-0.023009,-0.53406) + *** FresnelRefraction *** +Track (trackID 927, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76587,-0.2878,-0.575) + Old Polarization: (-0.6403,-0.25952,-0.72295) + New Momentum Direction: (0.49747,-0.38827,-0.77574) + New Polarization: (-0.86571,-0.16514,-0.47251) + *** FresnelRefraction *** +Track (trackID 926, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.69123,-0.54458,0.47501) +Old Polarization: (-0.72246,-0.53518,0.43776) +New Polarization: (-0.73597,0.060819,0.45259) +Polarization Change: (-0.84972,0.070218,0.52254) +New Momentum Direction: (-0.033778,0.97392,-0.1858) +Momentum Change: (-0.034049,0.98171,-0.18729) + Photon at Boundary! + Old Momentum Direction: (-0.034049,0.98171,-0.18729) + Old Polarization: (-0.84972,0.070218,0.52254) + New Momentum Direction: (-0.046314,0.9659,-0.25475) + New Polarization: (-0.94752,-0.12323,-0.29499) + *** FresnelRefraction *** +Track (trackID 925, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78233,0.50893,-0.35909) + Old Polarization: (-0.62255,0.62041,-0.477) + New Momentum Direction: (0.53474,0.69045,-0.48717) + New Polarization: (-0.84481,0.42394,-0.32646) + *** FresnelRefraction *** +Track (trackID 924, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78287,0.50815,-0.35902) + Old Polarization: (-0.62186,0.62058,-0.47767) + New Momentum Direction: (0.53724,0.68885,-0.48668) + New Polarization: (-0.84322,0.42577,-0.32818) + *** FresnelRefraction *** +Track (trackID 923, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70839,-0.68288,0.17848) + Old Polarization: (-0.70435,-0.70025,0.11637) + New Momentum Direction: (0.30667,-0.92088,0.24069) + New Polarization: (-0.95095,-0.30719,0.036296) + *** FresnelRefraction *** +Track (trackID 922, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7837,0.013502,-0.62099) + Old Polarization: (-0.62003,0.076484,-0.78084) + New Momentum Direction: (0.5508,0.018143,-0.83444) + New Polarization: (-0.8339,0.054054,-0.54927) + *** FresnelRefraction *** +Track (trackID 921, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.71452,0.26196,0.64872) +Old Polarization: (-0.69699,0.34684,0.62762) +New Polarization: (-0.45595,0.53727,0.54992) +Polarization Change: (-0.5101,0.60108,0.61523) +New Momentum Direction: (0.72382,0.6851,-0.069204) +Momentum Change: (0.72452,0.68576,-0.069271) + Photon at Boundary! + Old Momentum Direction: (0.72452,0.68576,-0.069271) + Old Polarization: (-0.5101,0.60108,0.61523) + New Momentum Direction: (0.34769,0.93286,-0.094231) + New Polarization: (-0.804,0.34834,0.48192) + *** FresnelRefraction *** +Track (trackID 920, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77797,0.58338,-0.23328) + Old Polarization: (-0.62739,0.70142,-0.33821) + New Momentum Direction: (0.52209,0.79192,-0.31668) + New Polarization: (-0.8523,0.47061,-0.22828) + *** FresnelRefraction *** +Track (trackID 919, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.76776,-0.17094,-0.61752) + Old Polarization: (-0.63868,-0.12694,-0.75893) + New Momentum Direction: (0.49209,-0.23225,-0.83899) + New Polarization: (-0.86921,-0.077814,-0.48828) + *** FresnelRefraction *** +Track (trackID 918, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69832,-0.66894,0.25469) + Old Polarization: (-0.71471,-0.67117,0.19679) + New Momentum Direction: (-0.69832,-0.66894,0.25469) + New Polarization: (-0.71306,0.68117,-0.16601) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69832,-0.66894,0.25469) + Old Polarization: (-0.71306,0.68117,-0.16601) + New Momentum Direction: (-0.69832,0.66894,0.25469) + New Polarization: (0.71306,0.68117,0.16601) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 917, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + +** Photon absorbed! ** +Track (trackID 916, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + +** Photon absorbed! ** +Track (trackID 915, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71877,0.29514,0.6295) + Old Polarization: (-0.69245,0.38505,0.61012) + New Momentum Direction: (0.33156,0.40049,0.85421) + New Polarization: (-0.94178,0.19411,0.27454) + *** FresnelRefraction *** +Track (trackID 914, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73852,0.45406,0.49842) + Old Polarization: (-0.67079,0.56946,0.47515) + New Momentum Direction: (0.41993,0.61119,0.6709) + New Polarization: (-0.90537,0.33339,0.26297) + *** FresnelRefraction *** +Track (trackID 913, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.77707,0.6237,-0.084584) + Old Polarization: (-0.6277,0.75802,-0.17722) + New Momentum Direction: (0.53013,0.84022,-0.11395) + New Polarization: (-0.84677,0.51765,-0.12251) + *** FresnelRefraction *** +Track (trackID 912, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78652,0.49866,-0.36432) + Old Polarization: (-0.61727,0.61668,-0.48855) + New Momentum Direction: (0.55332,0.67259,-0.49139) + New Polarization: (-0.83278,0.43393,-0.34379) + *** FresnelRefraction *** +Track (trackID 911, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.76321,0.63546,0.11708) +Old Polarization: (-0.64342,0.76405,0.047302) +New Polarization: (-0.70913,-0.04813,-0.60446) +Polarization Change: (-0.76002,-0.051585,-0.64785) +New Momentum Direction: (0.11018,0.96666,-0.20623) +Momentum Change: (0.11078,0.97197,-0.20736) + Photon at Boundary! + Old Momentum Direction: (0.11078,0.97197,-0.20736) + Old Polarization: (-0.76002,-0.051585,-0.64785) + New Momentum Direction: (0.14988,0.94807,-0.28054) + New Polarization: (-0.71305,-0.092908,-0.69493) + *** FresnelRefraction *** +Track (trackID 910, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + +** Photon absorbed! ** +Track (trackID 909, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69316,-0.53898,0.47858) + Old Polarization: (-0.72063,-0.5322,0.44436) + New Momentum Direction: (0.20894,-0.73126,0.64931) + New Polarization: (-0.97784,-0.16499,0.12884) + *** FresnelRefraction *** +Track (trackID 908, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.74704,-0.47274,-0.46739) +Old Polarization: (-0.6614,-0.45773,-0.59417) +New Polarization: (-0.49502,-0.18503,-0.71469) +Polarization Change: (-0.55692,-0.20817,-0.80406) +New Momentum Direction: (0.74994,-0.096452,-0.49446) +Momentum Change: (0.83009,-0.10676,-0.54731) + Photon at Boundary! + Old Momentum Direction: (0.83009,-0.10676,-0.54731) + Old Polarization: (-0.55692,-0.20817,-0.80406) + New Momentum Direction: (0.6526,-0.14507,-0.74369) + New Polarization: (-0.75722,-0.15997,-0.63327) + *** FresnelRefraction *** +Track (trackID 907, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70603,-0.68973,0.16059) + Old Polarization: (-0.70663,-0.70115,0.095206) + New Momentum Direction: (0.28356,-0.93397,0.21746) + New Polarization: (-0.95806,-0.28569,0.022275) + *** FresnelRefraction *** +Track (trackID 906, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70136,-0.60647,0.37454) + Old Polarization: (-0.71228,-0.6164,0.33571) + New Momentum Direction: (0.2788,-0.81709,0.50461) + New Polarization: (-0.96005,-0.25027,0.12518) + *** FresnelRefraction *** +Track (trackID 905, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.71878,-0.69013,-0.084099) + Old Polarization: (-0.69249,-0.69994,-0.17477) + New Momentum Direction: (0.33452,-0.93547,-0.114) + New Polarization: (-0.94076,-0.32438,-0.09878) + *** FresnelRefraction *** +Track (trackID 904, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69869,-0.09667,0.70887) + Old Polarization: (-0.71457,-0.045779,0.69806) + New Momentum Direction: (0.9477,-0.13112,0.291) + New Polarization: (0.27415,-0.13245,-0.95252) + *** FresnelRefraction *** +Track (trackID 903, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70518,-0.68922,0.16643) + Old Polarization: (-0.7075,-0.6994,0.10143) + New Momentum Direction: (0.27724,-0.93396,0.22553) + New Polarization: (-0.95993,-0.27922,0.023726) + *** FresnelRefraction *** +Track (trackID 902, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78166,0.21191,-0.5866) + Old Polarization: (-0.62344,0.29281,-0.72498) + New Momentum Direction: (0.53093,0.28792,-0.797) + New Polarization: (-0.84724,0.19935,-0.49238) + *** FresnelRefraction *** +Track (trackID 901, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + +** Photon absorbed! ** +Track (trackID 900, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + +** Photon absorbed! ** +Track (trackID 899, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 154 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 155 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7882,-0.44387,0.42629) + Old Polarization: (-0.47101,0.010723,0.88206) + New Momentum Direction: (0.55017,-0.60227,0.57842) + New Polarization: (-0.72007,0.008593,0.69385) + *** FresnelRefraction *** +Track (trackID 1259, parentID 1) is processed with stopping code 2 +### pop requested out of 154 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74316,-0.54823,0.38362) + Old Polarization: (-0.51928,-0.11099,0.84736) + New Momentum Direction: (0.43536,-0.73761,0.51614) + New Polarization: (-0.78574,-0.031499,0.61775) + *** FresnelRefraction *** +Track (trackID 1258, parentID 1) is processed with stopping code 2 +### pop requested out of 153 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1257, parentID 1) is processed with stopping code 2 +### pop requested out of 152 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.86633,0.37972,-0.32447) + Old Polarization: (-0.38455,0.92165,0.051844) + New Momentum Direction: (0.73541,0.51517,-0.4402) + New Polarization: (-0.58208,0.81285,-0.02116) + *** FresnelRefraction *** +Track (trackID 1256, parentID 1) is processed with stopping code 2 +### pop requested out of 151 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.45531,-0.8804,-0.13262) + Old Polarization: (-0.83985,-0.47415,0.26427) + New Momentum Direction: (0.61694,-0.76622,-0.1797) + New Polarization: (0.73939,0.64252,-0.20118) + *** FresnelRefraction *** +Track (trackID 1255, parentID 1) is processed with stopping code 2 +### pop requested out of 150 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.46223,-0.28614,-0.83933) + Old Polarization: (-0.83285,0.18489,-0.5217) + New Momentum Direction: (0.62549,-0.3872,-0.67737) + New Polarization: (0.45568,-0.52343,0.71998) + *** FresnelRefraction *** +Track (trackID 1254, parentID 1) is processed with stopping code 2 +### pop requested out of 149 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88516,0.37416,-0.27657) + Old Polarization: (-0.35966,0.92733,0.10347) + New Momentum Direction: (0.77943,0.5038,-0.37239) + New Polarization: (-0.53763,0.84304,0.015245) + *** FresnelRefraction *** +Track (trackID 1253, parentID 1) is processed with stopping code 2 +### pop requested out of 148 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1252, parentID 1) is processed with stopping code 2 +### pop requested out of 147 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37882,-0.76086,-0.52686) + Old Polarization: (-0.92421,-0.34071,-0.17249) + New Momentum Direction: (0.51365,-0.47522,-0.71438) + New Polarization: (-0.41916,0.58751,-0.6922) + *** FresnelRefraction *** +Track (trackID 1251, parentID 1) is processed with stopping code 2 +### pop requested out of 146 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.62686,-0.74063,0.24189) + Old Polarization: (-0.6502,-0.32622,0.68616) + New Momentum Direction: (0.8445,-0.42501,0.32587) + New Polarization: (-0.029974,0.57,0.8211) + *** FresnelRefraction *** +Track (trackID 1250, parentID 1) is processed with stopping code 2 +### pop requested out of 145 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1249, parentID 1) is processed with stopping code 2 +### pop requested out of 144 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.48041,-0.23038,-0.84625) + Old Polarization: (-0.81233,0.24689,-0.52836) + New Momentum Direction: (0.65051,-0.31195,-0.69248) + New Polarization: (0.58169,-0.3816,0.71834) + *** FresnelRefraction *** +Track (trackID 1248, parentID 1) is processed with stopping code 2 +### pop requested out of 143 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37583,-0.74494,-0.5512) + Old Polarization: (-0.92622,-0.32086,-0.1979) + New Momentum Direction: (0.51052,-0.42281,-0.74873) + New Polarization: (-0.49195,0.57055,-0.65762) + *** FresnelRefraction *** +Track (trackID 1247, parentID 1) is processed with stopping code 2 +### pop requested out of 142 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1246, parentID 1) is processed with stopping code 2 +### pop requested out of 141 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.8249,-0.36237,0.43385) + Old Polarization: (-0.42859,0.099502,0.898) + New Momentum Direction: (0.64598,-0.48935,0.58587) + New Polarization: (-0.65048,0.048788,0.75796) + *** FresnelRefraction *** +Track (trackID 1245, parentID 1) is processed with stopping code 2 +### pop requested out of 140 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1244, parentID 1) is processed with stopping code 2 +### pop requested out of 139 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.89705,-0.14854,0.41621) + Old Polarization: (-0.34955,0.33778,0.87391) + New Momentum Direction: (0.80114,-0.20116,0.56365) + New Polarization: (-0.52181,0.22639,0.82247) + *** FresnelRefraction *** +Track (trackID 1243, parentID 1) is processed with stopping code 2 +### pop requested out of 138 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74148,-0.54451,0.39208) + Old Polarization: (-0.52239,-0.10174,0.84662) + New Momentum Direction: (0.41688,-0.73763,0.53114) + New Polarization: (-0.7975,-0.01646,0.60309) + *** FresnelRefraction *** +Track (trackID 1242, parentID 1) is processed with stopping code 2 +### pop requested out of 137 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.38326,-0.61337,-0.69057) + Old Polarization: (-0.9188,-0.17672,-0.35297) + New Momentum Direction: (0.52004,-0.83225,-0.19213) + New Polarization: (-0.56207,-0.50281,0.6567) + *** FresnelRefraction *** +Track (trackID 1241, parentID 1) is processed with stopping code 2 +### pop requested out of 136 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.94367,0.33041,-0.017904) + Old Polarization: (-0.29737,0.87056,0.39205) + New Momentum Direction: (0.89411,0.44719,-0.024232) + New Polarization: (-0.42168,0.85887,0.29073) + *** FresnelRefraction *** +Track (trackID 1240, parentID 1) is processed with stopping code 2 +### pop requested out of 135 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1239, parentID 1) is processed with stopping code 2 +### pop requested out of 134 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96102,0.20373,0.18693) + Old Polarization: (-0.27631,0.73245,0.62223) + New Momentum Direction: (0.92771,0.27506,0.25238) + New Polarization: (-0.37317,0.70161,0.60703) + *** FresnelRefraction *** +Track (trackID 1238, parentID 1) is processed with stopping code 2 +### pop requested out of 133 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.83024,0.36199,-0.42387) + Old Polarization: (-0.42402,0.90375,-0.058725) + New Momentum Direction: (0.65529,0.49055,-0.57441) + New Polarization: (-0.64553,0.75858,-0.088587) + *** FresnelRefraction *** +Track (trackID 1237, parentID 1) is processed with stopping code 2 +### pop requested out of 132 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1236, parentID 1) is processed with stopping code 2 +### pop requested out of 131 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1235, parentID 1) is processed with stopping code 2 +### pop requested out of 130 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.76693,-0.48961,0.41485) +Old Polarization: (-0.49474,-0.039375,0.86815) +New Polarization: (-0.67735,0.20212,0.50851) +Polarization Change: (-0.77788,0.23211,0.58398) +New Momentum Direction: (0.34924,0.92976,0.095648) +Momentum Change: (0.35001,0.93183,0.09586) +Scattering Photon! +Old Momentum Direction: (0.35001,0.93183,0.09586) +Old Polarization: (-0.77788,0.23211,0.58398) +New Polarization: (-0.77987,0.22262,0.57489) +Polarization Change: (-0.78449,0.22394,0.57829) +New Momentum Direction: (0.60164,0.48697,0.62758) +Momentum Change: (0.60376,0.48869,0.6298) + Photon at Boundary! + Old Momentum Direction: (0.60376,0.48869,0.6298) + Old Polarization: (-0.78449,0.22394,0.57829) + New Momentum Direction: (-0.60376,0.48869,0.6298) + New Polarization: (-0.78449,-0.22394,-0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.60376,0.48869,0.6298) + Old Polarization: (-0.78449,-0.22394,-0.57829) + New Momentum Direction: (-0.60376,-0.48869,0.6298) + New Polarization: (0.78449,-0.22394,0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.60376,-0.48869,0.6298) + Old Polarization: (0.78449,-0.22394,0.57829) + New Momentum Direction: (-0.60376,-0.48869,-0.6298) + New Polarization: (-0.78449,0.22394,0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.60376,-0.48869,-0.6298) + Old Polarization: (-0.78449,0.22394,0.57829) + New Momentum Direction: (0.60376,-0.48869,-0.6298) + New Polarization: (-0.78449,-0.22394,-0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.60376,-0.48869,-0.6298) + Old Polarization: (-0.78449,-0.22394,-0.57829) + New Momentum Direction: (0.60376,-0.48869,0.6298) + New Polarization: (0.78449,0.22394,-0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.60376,-0.48869,0.6298) + Old Polarization: (0.78449,0.22394,-0.57829) + New Momentum Direction: (0.60376,0.48869,0.6298) + New Polarization: (-0.78449,0.22394,0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.60376,0.48869,0.6298) + Old Polarization: (-0.78449,0.22394,0.57829) + New Momentum Direction: (-0.60376,0.48869,0.6298) + New Polarization: (-0.78449,-0.22394,-0.57829) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.60376,0.48869,0.6298) + Old Polarization: (-0.78449,-0.22394,-0.57829) + New Momentum Direction: (-0.60376,0.48869,-0.6298) + New Polarization: (0.78449,0.22394,-0.57829) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.60376,0.48869,-0.6298) +Old Polarization: (0.78449,0.22394,-0.57829) +New Polarization: (0.77568,0.23402,-0.57579) +Polarization Change: (0.78038,0.23543,-0.57928) +New Momentum Direction: (0.50667,0.29543,0.80263) +Momentum Change: (0.50968,0.29719,0.8074) + Photon at Boundary! + Old Momentum Direction: (0.50968,0.29719,0.8074) + Old Polarization: (0.78038,0.23543,-0.57928) + New Momentum Direction: (0.50968,-0.29719,0.8074) + New Polarization: (-0.78038,0.23543,0.57928) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.50968,-0.29719,0.8074) + Old Polarization: (-0.78038,0.23543,0.57928) + New Momentum Direction: (0.69215,-0.40358,0.59837) + New Polarization: (0.44432,-0.41507,-0.79391) + *** FresnelRefraction *** +Track (trackID 1234, parentID 1) is processed with stopping code 2 +### pop requested out of 129 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.88215,-0.19057,0.43069) +Old Polarization: (-0.36842,0.29046,0.88312) +New Polarization: (0.22389,0.068492,0.83497) +Polarization Change: (0.25818,0.078982,0.96286) +New Momentum Direction: (0.74534,0.38537,-0.23146) +Momentum Change: (0.85631,0.44274,-0.26592) + Photon at Boundary! + Old Momentum Direction: (0.85631,0.44274,-0.26592) + Old Polarization: (0.25818,0.078982,0.96286) + New Momentum Direction: (0.71168,0.60222,-0.36171) + New Polarization: (-0.44135,0.78388,0.43673) + *** FresnelRefraction *** +Track (trackID 1233, parentID 1) is processed with stopping code 2 +### pop requested out of 128 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1232, parentID 1) is processed with stopping code 2 +### pop requested out of 127 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95792,0.17805,0.22515) + Old Polarization: (-0.28428,0.69705,0.65826) + New Momentum Direction: (0.92082,0.24192,0.3059) + New Polarization: (-0.38798,0.64801,0.65541) + *** FresnelRefraction *** +Track (trackID 1231, parentID 1) is processed with stopping code 2 +### pop requested out of 126 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.43892,-0.87304,-0.21247) + Old Polarization: (-0.86175,-0.47598,0.17558) + New Momentum Direction: (0.59095,-0.75429,-0.28607) + New Polarization: (0.60054,0.6481,-0.4683) + *** FresnelRefraction *** +Track (trackID 1230, parentID 1) is processed with stopping code 2 +### pop requested out of 125 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88562,-0.19227,0.42274) + Old Polarization: (-0.36035,0.28972,0.88669) + New Momentum Direction: (0.77925,-0.25947,0.57047) + New Polarization: (-0.5395,0.18547,0.8213) + *** FresnelRefraction *** +Track (trackID 1229, parentID 1) is processed with stopping code 2 +### pop requested out of 124 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.9573,0.26162,0.12297) + Old Polarization: (-0.28545,0.78832,0.54504) + New Momentum Direction: (0.91952,0.35571,0.16719) + New Polarization: (-0.39038,0.77715,0.49359) + *** FresnelRefraction *** +Track (trackID 1228, parentID 1) is processed with stopping code 2 +### pop requested out of 123 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.94521,0.057855,0.3213) +Old Polarization: (-0.29599,0.56708,0.76864) +New Polarization: (-0.41197,-0.14807,0.75626) +Polarization Change: (-0.47145,-0.16944,0.86546) +New Momentum Direction: (0.63099,-0.71332,0.20407) +Momentum Change: (0.64785,-0.73239,0.20952) + Photon at Boundary! + Old Momentum Direction: (0.64785,-0.73239,0.20952) + Old Polarization: (-0.47145,-0.16944,0.86546) + New Momentum Direction: (-0.64785,-0.73239,0.20952) + New Polarization: (-0.47145,0.16944,-0.86546) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.64785,-0.73239,0.20952) + Old Polarization: (-0.47145,0.16944,-0.86546) + New Momentum Direction: (-0.87725,-0.38722,0.28371) + New Polarization: (-0.41888,0.32883,-0.84641) + *** FresnelRefraction *** +Track (trackID 1227, parentID 1) is processed with stopping code 2 +### pop requested out of 122 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1226, parentID 1) is processed with stopping code 2 +### pop requested out of 121 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.46379,-0.27245,-0.84301) + Old Polarization: (-0.82963,0.20029,-0.52116) + New Momentum Direction: (0.62945,-0.36977,-0.68342) + New Polarization: (0.48884,-0.49523,0.71818) + *** FresnelRefraction *** +Track (trackID 1225, parentID 1) is processed with stopping code 2 +### pop requested out of 120 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.82592,-0.35385,0.43892) + Old Polarization: (-0.4292,0.11019,0.89646) + New Momentum Direction: (0.64429,-0.47999,0.59539) + New Polarization: (-0.65438,0.056929,0.75402) + *** FresnelRefraction *** +Track (trackID 1224, parentID 1) is processed with stopping code 2 +### pop requested out of 119 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.73562,0.27388,-0.61956) + Old Polarization: (-0.52932,0.80315,-0.27344) + New Momentum Direction: (0.39183,0.37198,-0.84149) + New Polarization: (-0.81092,0.57167,-0.12489) + *** FresnelRefraction *** +Track (trackID 1223, parentID 1) is processed with stopping code 2 ### pop requested out of 118 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76971,0.18734,0.61029) - Old Polarization: (-0.62881,0.38751,0.67412) - New Momentum Direction: (0.49958,0.25421,0.82812) - New Polarization: (-0.85998,0.26046,0.43885) + Old Momentum Direction: (0.40286,-0.85502,-0.32657) + Old Polarization: (-0.89596,-0.44129,0.050095) + New Momentum Direction: (0.54761,-0.70928,-0.4439) + New Polarization: (0.24977,0.64489,-0.72231) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 824, parentID 637) is processed with stopping code 2 +Track (trackID 1222, parentID 1) is processed with stopping code 2 ### pop requested out of 117 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8251,0.56365,-0.038859) - Old Polarization: (-0.56496,0.82247,-0.066012) - New Momentum Direction: (0.64535,0.76208,-0.052539) - New Polarization: (-0.76387,0.64335,-0.050992) + Old Momentum Direction: (0.82733,-0.36249,0.42911) + Old Polarization: (-0.42402,0.098042,0.90033) + New Momentum Direction: (0.65575,-0.4872,0.57674) + New Polarization: (-0.64025,0.045965,0.76679) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 823, parentID 637) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.75303,-0.11038,-0.64866) -Old Polarization: (-0.64781,0.04828,-0.76027) -New Polarization: (-0.2647,0.63786,-0.53768) -Polarization Change: (-0.30243,0.72879,-0.61433) -New Momentum Direction: (0.56607,-0.29623,-0.63011) -Momentum Change: (0.63083,-0.33012,-0.70219) - Photon at Boundary! - Old Momentum Direction: (0.63083,-0.33012,-0.70219) - Old Polarization: (-0.30243,0.72879,-0.61433) - New Momentum Direction: (-0.63083,-0.33012,-0.70219) - New Polarization: (-0.30243,-0.72879,0.61433) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63083,-0.33012,-0.70219) - Old Polarization: (-0.30243,-0.72879,0.61433) - New Momentum Direction: (-0.85605,-0.44798,-0.25788) - New Polarization: (-0.051061,-0.42317,0.90461) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 822, parentID 637) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.70569,-0.36064,0.60986) -Old Polarization: (-0.70166,-0.23624,0.67221) -New Polarization: (-0.65276,-0.40187,0.48962) -Polarization Change: (-0.71766,-0.44182,0.5383) -New Momentum Direction: (-0.54443,-0.013987,-0.73732) -Momentum Change: (-0.59394,-0.015259,-0.80436) - Photon at Boundary! - Old Momentum Direction: (-0.59394,-0.015259,-0.80436) - Old Polarization: (-0.71766,-0.44182,0.5383) - New Momentum Direction: (-0.80667,-0.020724,-0.59064) - New Polarization: (-0.55297,-0.32624,0.76667) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 821, parentID 637) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74192,-0.04193,0.66918) - Old Polarization: (-0.66047,0.12619,0.74017) - New Momentum Direction: (0.41381,-0.056931,0.90858) - New Polarization: (-0.90408,0.091395,0.41748) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 820, parentID 637) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7544,-0.097375,-0.64915) - Old Polarization: (-0.64626,0.063097,-0.76051) - New Momentum Direction: (0.45416,-0.13216,-0.88107) - New Polarization: (-0.88441,0.052504,-0.46375) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 819, parentID 637) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7985,0.42611,0.42524) - Old Polarization: (-0.59627,0.65706,0.46124) - New Momentum Direction: (0.57464,0.5793,0.57811) - New Polarization: (-0.81456,0.47323,0.33548) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 818, parentID 637) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69225,-0.59519,-0.4081) - Old Polarization: (-0.71682,-0.50168,-0.48425) - New Momentum Direction: (0.1937,-0.80913,-0.55479) - New Polarization: (-0.97852,-0.11865,-0.1686) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 817, parentID 637) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81776,0.50246,-0.28072) - Old Polarization: (-0.5743,0.74462,-0.34017) - New Momentum Direction: (0.62329,0.68267,-0.38141) - New Polarization: (-0.78113,0.56637,-0.26279) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 816, parentID 637) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 815, parentID 637) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68253,-0.60371,0.41194) - Old Polarization: (-0.72847,-0.51644,0.45012) - New Momentum Direction: (0.14222,-0.81763,0.5579) - New Polarization: (-0.98865,-0.089714,0.12055) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 814, parentID 637) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 813, parentID 637) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 812, parentID 637) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72831,-0.16042,0.6662) - Old Polarization: (-0.67595,-0.0086404,0.73689) - New Momentum Direction: (0.36671,-0.2178,0.90448) - New Polarization: (-0.92467,0.021783,0.38014) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 811, parentID 637) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78238,0.12561,-0.61) - Old Polarization: (-0.61407,0.31907,-0.72188) - New Momentum Direction: (0.5391,0.16987,-0.82493) - New Polarization: (-0.83639,0.2232,-0.50063) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 810, parentID 637) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79049,0.23696,-0.56478) - Old Polarization: (-0.60537,0.44232,-0.66172) - New Momentum Direction: (0.55358,0.3222,-0.76794) - New Polarization: (-0.82806,0.31114,-0.46637) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 809, parentID 637) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 808, parentID 637) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75723,-0.068079,-0.6496) - Old Polarization: (-0.64307,0.096423,-0.75972) - New Momentum Direction: (0.46144,-0.09247,-0.88234) - New Polarization: (-0.88068,0.072319,-0.46815) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 807, parentID 637) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 806, parentID 637) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 805, parentID 637) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79937,0.40559,0.44329) - Old Polarization: (-0.59464,0.63974,0.48696) - New Momentum Direction: (0.58218,0.54885,0.59986) - New Polarization: (-0.80886,0.46586,0.35877) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 804, parentID 637) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 803, parentID 637) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78985,0.20362,-0.57851) - Old Polarization: (-0.60565,0.40754,-0.68345) - New Momentum Direction: (0.55688,0.27577,-0.78348) - New Polarization: (-0.82545,0.28854,-0.48515) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 802, parentID 637) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73045,-0.13946,0.66858) - Old Polarization: (-0.67351,0.015259,0.73902) - New Momentum Direction: (0.37369,-0.1894,0.90801) - New Polarization: (-0.92177,0.033363,0.38631) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 801, parentID 637) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67387,-0.73859,0.019872) - Old Polarization: (-0.73875,-0.67398,0.0014702) - New Momentum Direction: (0.91098,-0.41158,0.026864) - New Polarization: (0.41089,0.91126,0.027918) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 800, parentID 637) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72938,-0.30045,-0.6146) - Old Polarization: (-0.67469,-0.16737,-0.71887) - New Momentum Direction: (0.36799,-0.40836,-0.83536) - New Polarization: (-0.9241,-0.061003,-0.37726) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 799, parentID 637) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79636,0.40673,0.44764) - Old Polarization: (-0.59862,0.63577,0.48728) - New Momentum Direction: (0.56979,0.55263,0.60823) - New Polarization: (-0.81763,0.45561,0.35199) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 798, parentID 637) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67542,-0.65039,0.34756) - Old Polarization: (-0.73596,-0.56475,0.37339) - New Momentum Direction: (-0.67542,-0.65039,0.34756) - New Polarization: (-0.73596,0.56475,-0.37339) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67542,-0.65039,0.34756) - Old Polarization: (-0.73596,0.56475,-0.37339) - New Momentum Direction: (-0.67542,0.65039,0.34756) - New Polarization: (0.73596,0.56475,0.37339) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67542,0.65039,0.34756) - Old Polarization: (0.73596,0.56475,0.37339) - New Momentum Direction: (-0.67542,0.65039,-0.34756) - New Polarization: (-0.73596,-0.56475,0.37339) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.67542,0.65039,-0.34756) -Old Polarization: (-0.73596,-0.56475,0.37339) -New Polarization: (-0.5234,-0.46921,0.55891) -Polarization Change: (-0.58282,-0.52248,0.62236) -New Momentum Direction: (-0.75395,0.21381,-0.52655) -Momentum Change: (-0.79855,0.22646,-0.5577) - Photon at Boundary! - Old Momentum Direction: (-0.79855,0.22646,-0.5577) - Old Polarization: (-0.58282,-0.52248,0.62236) - New Momentum Direction: (-0.57515,0.30776,-0.75795) - New Polarization: (0.805,0.048113,-0.59132) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 797, parentID 637) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 796, parentID 637) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71578,-0.411,-0.56458) - Old Polarization: (-0.69012,-0.29273,-0.66185) - New Momentum Direction: (0.31436,-0.5587,-0.76748) - New Polarization: (-0.94449,-0.10281,-0.31203) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 795, parentID 637) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67885,-0.6182,0.39622) - Old Polarization: (-0.73216,-0.52893,0.42917) - New Momentum Direction: (0.072255,-0.83972,0.5382) - New Polarization: (-0.99643,-0.037165,0.075788) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 794, parentID 637) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81906,0.56079,0.12102) - Old Polarization: (-0.57276,0.81143,0.11635) - New Momentum Direction: (0.62676,0.76168,0.16437) - New Polarization: (-0.77857,0.62072,0.092372) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 793, parentID 637) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77198,0.19485,0.60504) - Old Polarization: (-0.6261,0.39737,0.67089) - New Momentum Direction: (0.50859,0.26394,0.81955) - New Polarization: (-0.85471,0.26964,0.44357) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 792, parentID 637) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70058,-0.55192,-0.45229) - Old Polarization: (-0.70779,-0.45695,-0.53873) - New Momentum Direction: (-0.70058,-0.55192,-0.45229) - New Polarization: (-0.69716,0.39425,0.59879) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70058,-0.55192,-0.45229) - Old Polarization: (-0.69716,0.39425,0.59879) - New Momentum Direction: (-0.70058,0.55192,-0.45229) - New Polarization: (0.69716,0.39425,-0.59879) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70058,0.55192,-0.45229) - Old Polarization: (0.69716,0.39425,-0.59879) - New Momentum Direction: (-0.70058,0.55192,0.45229) - New Polarization: (-0.69716,-0.39425,-0.59879) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 791, parentID 637) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81627,0.42775,-0.38826) - Old Polarization: (-0.57466,0.66985,-0.47018) - New Momentum Direction: (0.62695,0.57686,-0.5236) - New Polarization: (-0.77698,0.51204,-0.36622) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 790, parentID 637) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72614,-0.18339,0.66264) - Old Polarization: (-0.67846,-0.034921,0.73381) - New Momentum Direction: (0.36006,-0.24884,0.89913) - New Polarization: (-0.92741,0.0092359,0.37394) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 789, parentID 637) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 788, parentID 637) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80421,0.33801,-0.48887) - Old Polarization: (-0.58919,0.56149,-0.58101) - New Momentum Direction: (0.59352,0.45772,-0.66199) - New Polarization: (-0.80132,0.41269,-0.43309) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 787, parentID 637) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80404,0.45254,0.38566) - Old Polarization: (-0.5896,0.69062,0.41882) - New Momentum Direction: (0.59155,0.61366,0.52296) - New Polarization: (-0.8029,0.50761,0.31255) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 786, parentID 637) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8222,0.55364,-0.13215) - Old Polarization: (-0.56909,0.80416,-0.17168) - New Momentum Direction: (0.63478,0.75158,-0.1794) - New Polarization: (-0.77262,0.62061,-0.13378) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 785, parentID 637) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82017,0.48978,-0.29569) - Old Polarization: (-0.57063,0.73757,-0.36108) - New Momentum Direction: (0.63374,0.66222,-0.3998) - New Polarization: (-0.77253,0.56837,-0.28313) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 784, parentID 637) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81309,0.4274,-0.39524) - Old Polarization: (-0.57906,0.6636,-0.47364) - New Momentum Direction: (0.61512,0.57886,-0.5353) - New Polarization: (-0.78633,0.49997,-0.36292) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 783, parentID 637) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 782, parentID 637) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 781, parentID 637) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 780, parentID 637) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81628,0.48664,-0.31123) - Old Polarization: (-0.576,0.7265,-0.37474) - New Momentum Direction: (0.61961,0.66125,-0.42289) - New Polarization: (-0.78379,0.55008,-0.28826) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 779, parentID 637) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73746,-0.11425,0.66566) - Old Polarization: (-0.66569,0.043535,0.74496) - New Momentum Direction: (0.40936,-0.15434,0.89923) - New Polarization: (-0.90625,0.045248,0.42032) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 778, parentID 637) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.68534,-0.64839,-0.33153) -Old Polarization: (-0.72472,-0.56265,-0.39774) -New Polarization: (-0.7244,-0.56291,-0.39681) -Polarization Change: (-0.72473,-0.56317,-0.39699) -New Momentum Direction: (0.68583,-0.53491,-0.4932) -Momentum Change: (0.68592,-0.53498,-0.49327) - Photon at Boundary! - Old Momentum Direction: (0.68592,-0.53498,-0.49327) - Old Polarization: (-0.72473,-0.56317,-0.39699) - New Momentum Direction: (0.14908,-0.72697,-0.67029) - New Polarization: (-0.98735,-0.14639,-0.060837) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 777, parentID 637) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.76997,0.13954,0.62263) - Old Polarization: (-0.62808,0.33778,0.70101) - New Momentum Direction: (0.51189,0.18786,0.83826) - New Polarization: (-0.85238,0.23244,0.46842) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 776, parentID 637) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82128,0.46297,-0.3334) - Old Polarization: (-0.56844,0.71393,-0.40888) - New Momentum Direction: (0.64084,0.62296,-0.44861) - New Polarization: (-0.76623,0.55488,-0.32403) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 775, parentID 637) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78766,0.34825,0.50825) - Old Polarization: (-0.60866,0.56773,0.55427) - New Momentum Direction: (0.54515,0.47387,0.69157) - New Polarization: (-0.83339,0.39579,0.38575) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 774, parentID 637) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80686,0.35697,-0.47068) - Old Polarization: (-0.586,0.58432,-0.5614) - New Momentum Direction: (0.6011,0.48293,-0.63676) - New Polarization: (-0.79595,0.43326,-0.42278) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 773, parentID 637) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72018,-0.43197,-0.54291) - Old Polarization: (-0.68584,-0.32515,-0.65107) - New Momentum Direction: (0.35645,-0.58173,-0.73112) - New Polarization: (-0.92944,-0.1409,-0.34102) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 772, parentID 637) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 771, parentID 637) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71893,-0.26501,0.64258) - Old Polarization: (-0.68687,-0.12913,0.71522) - New Momentum Direction: (0.33909,-0.35867,0.8697) - New Polarization: (-0.93581,-0.033976,0.35085) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 770, parentID 637) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 769, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 768, parentID 637) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.69419,-0.57933,-0.42717) -Old Polarization: (-0.71458,-0.48341,-0.50565) -New Polarization: (-0.7544,-0.30926,-0.44209) -Polarization Change: (-0.8134,-0.33344,-0.47666) -New Momentum Direction: (0.19529,-0.91954,0.31) -Momentum Change: (0.19729,-0.92897,0.31319) - -** Photon Absorbed! ** -Track (trackID 767, parentID 637) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81482,0.49723,0.29804) - Old Polarization: (-0.57628,0.75061,0.32326) - New Momentum Direction: (0.62381,0.67037,0.40182) - New Polarization: (-0.77921,0.57338,0.25311) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 766, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82211,0.51883,-0.23441) - Old Polarization: (-0.56854,0.76977,-0.2902) - New Momentum Direction: (0.63763,0.70202,-0.31718) - New Polarization: (-0.7698,0.59605,-0.2283) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 765, parentID 637) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74781,0.022385,0.66354) - Old Polarization: (-0.65379,0.19877,0.73011) - New Momentum Direction: (0.42883,0.030459,0.90287) - New Polarization: (-0.897,0.133,0.42156) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 764, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 763, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 60 -Track (trackID 637, parentID 1) is processed with stopping code 4 +Track (trackID 1221, parentID 1) is processed with stopping code 2 ### pop requested out of 116 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8701,-0.48638,-0.079804) - Old Polarization: (-0.37162,-0.75373,0.54203) - New Momentum Direction: (0.74563,-0.65757,-0.10789) - New Polarization: (-0.56386,-0.7089,0.42371) + Old Momentum Direction: (0.43501,-0.87356,-0.21832) + Old Polarization: (-0.86476,-0.47288,0.16907) + New Momentum Direction: (0.58704,-0.75404,-0.29463) + New Polarization: (0.58559,0.64681,-0.48859) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 902, parentID 637) is processed with stopping code 2 +Track (trackID 1220, parentID 1) is processed with stopping code 2 ### pop requested out of 115 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 901, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.38088,-0.79051,-0.47961) + Old Polarization: (-0.9208,-0.37142,-0.11907) + New Momentum Direction: (0.51727,-0.55514,-0.65134) + New Polarization: (-0.27413,0.6135,-0.74059) + *** FresnelRefraction *** +Track (trackID 1219, parentID 1) is processed with stopping code 2 ### pop requested out of 114 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93447,-0.33692,0.11515) - Old Polarization: (-0.30021,-0.57172,0.76355) - New Momentum Direction: (0.87495,-0.45818,0.15659) - New Polarization: (-0.4392,-0.61482,0.65506) + Old Momentum Direction: (0.39832,-0.82048,-0.41007) + Old Polarization: (-0.90761,-0.41718,-0.046889) + New Momentum Direction: (0.53615,-0.63865,-0.55197) + New Polarization: (-0.030118,0.639,-0.76861) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 900, parentID 637) is processed with stopping code 2 +Track (trackID 1218, parentID 1) is processed with stopping code 2 ### pop requested out of 113 stacked tracks. -** Photon Absorbed! ** -Track (trackID 899, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1217, parentID 1) is processed with stopping code 2 ### pop requested out of 112 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 898, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.56846,-0.80778,0.15603) + Old Polarization: (-0.71367,-0.38981,0.582) + New Momentum Direction: (0.77239,-0.59873,0.212) + New Polarization: (0.28622,0.62606,0.72535) + *** FresnelRefraction *** +Track (trackID 1216, parentID 1) is processed with stopping code 2 ### pop requested out of 111 stacked tracks. -** Photon Absorbed! ** -Track (trackID 897, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1215, parentID 1) is processed with stopping code 2 ### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72565,-0.55357,-0.40865) - Old Polarization: (-0.54127,-0.82593,0.15769) - New Momentum Direction: (-0.72565,-0.55357,-0.40865) - New Polarization: (-0.32704,0.80002,-0.50301) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.72565,-0.55357,-0.40865) - Old Polarization: (-0.32704,0.80002,-0.50301) - New Momentum Direction: (-0.72565,0.55357,-0.40865) - New Polarization: (0.32704,0.80002,0.50301) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 896, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1214, parentID 1) is processed with stopping code 2 ### pop requested out of 109 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75345,0.65751,0.00050121) - Old Polarization: (-0.50877,0.58252,0.63389) - New Momentum Direction: (0.4536,0.89121,0.00067936) - New Polarization: (-0.77748,0.39534,0.48912) + Old Momentum Direction: (0.79101,0.32712,-0.517) + Old Polarization: (-0.46669,0.86906,-0.16415) + New Momentum Direction: (0.5625,0.44207,-0.69868) + New Polarization: (-0.7101,0.69116,-0.13438) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 895, parentID 637) is processed with stopping code 2 +Track (trackID 1213, parentID 1) is processed with stopping code 2 ### pop requested out of 108 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.44347,-0.33396,-0.83175) +Old Polarization: (-0.85156,0.1325,-0.50723) +New Polarization: (-0.85474,0.14788,0.010731) +Polarization Change: (-0.98529,0.17047,0.01237) +New Momentum Direction: (0.12554,0.76535,-0.5476) +Momentum Change: (0.13223,0.80613,-0.57678) Photon at Boundary! - Old Momentum Direction: (0.86052,0.47404,0.18652) - Old Polarization: (-0.38532,0.36617,0.84703) - New Momentum Direction: (0.72164,0.6442,0.25347) - New Polarization: (-0.58846,0.37798,0.71473) + Old Momentum Direction: (0.13223,0.80613,-0.57678) + Old Polarization: (-0.98529,0.17047,0.01237) + New Momentum Direction: (0.13223,0.80613,0.57678) + New Polarization: (0.98529,-0.17047,0.01237) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.13223,0.80613,0.57678) + Old Polarization: (0.98529,-0.17047,0.01237) + New Momentum Direction: (0.17963,0.59479,0.78355) + New Polarization: (0.94842,-0.31621,0.022611) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 894, parentID 637) is processed with stopping code 2 +Track (trackID 1212, parentID 1) is processed with stopping code 2 ### pop requested out of 107 stacked tracks. -** Photon Absorbed! ** -Track (trackID 893, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1211, parentID 1) is processed with stopping code 2 ### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70667,0.7015,-0.092267) - Old Polarization: (-0.56314,0.6366,0.52689) - New Momentum Direction: (0.28874,0.94923,-0.12485) - New Polarization: (-0.85788,0.31441,0.40644) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 892, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1210, parentID 1) is processed with stopping code 2 ### pop requested out of 105 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.96493,-0.073373,0.25203) - Old Polarization: (-0.26249,-0.26864,0.92678) - New Momentum Direction: (0.93456,-0.099455,0.34161) - New Polarization: (-0.3558,-0.26044,0.89754) + Old Momentum Direction: (0.46292,-0.26956,-0.84442) + Old Polarization: (-0.82967,0.20358,-0.51982) + New Momentum Direction: (0.62943,-0.36652,-0.68519) + New Polarization: (0.49514,-0.4904,0.71717) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 891, parentID 637) is processed with stopping code 2 +Track (trackID 1209, parentID 1) is processed with stopping code 2 ### pop requested out of 104 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 890, parentID 637) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.9595,-0.18871,0.20915) - Old Polarization: (-0.26979,-0.40196,0.87501) - New Momentum Direction: (0.92402,-0.25612,0.28387) - New Polarization: (-0.3734,-0.44494,0.81401) + Old Momentum Direction: (0.89205,-0.15888,0.4231) + Old Polarization: (-0.35728,0.32542,0.87548) + New Momentum Direction: (0.78895,-0.21601,0.57523) + New Polarization: (-0.53629,0.21488,0.81623) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 889, parentID 637) is processed with stopping code 2 +Track (trackID 1208, parentID 1) is processed with stopping code 2 +### pop requested out of 103 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.47894,-0.23112,-0.84687) +Old Polarization: (-0.81339,0.24601,-0.52715) +New Polarization: (-0.80507,-0.22484,-0.22719) +Polarization Change: (-0.92942,-0.25957,-0.26228) +New Momentum Direction: (0.31151,-0.92436,-0.18907) +Momentum Change: (0.31352,-0.93032,-0.19029) + Photon at Boundary! + Old Momentum Direction: (0.31352,-0.93032,-0.19029) + Old Polarization: (-0.92942,-0.25957,-0.26228) + New Momentum Direction: (0.42504,-0.86763,-0.25798) + New Polarization: (0.29396,0.40187,-0.86723) + *** FresnelRefraction *** +Track (trackID 1207, parentID 1) is processed with stopping code 2 ### pop requested out of 102 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.5368,0.71265,-0.45165) - Old Polarization: (-0.75974,0.64109,0.10859) - New Momentum Direction: (0.73002,0.29965,-0.61423) - New Polarization: (0.041884,-0.91668,-0.39742) + Old Momentum Direction: (0.6319,0.11766,-0.76607) + Old Polarization: (-0.64371,0.63018,-0.43418) + New Momentum Direction: (0.85882,0.15992,-0.48668) + New Polarization: (0.27281,0.66134,0.69871) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 888, parentID 637) is processed with stopping code 2 +Track (trackID 1206, parentID 1) is processed with stopping code 2 ### pop requested out of 101 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 887, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.92116,-0.064226,0.38386) + Old Polarization: (-0.32088,0.43283,0.84244) + New Momentum Direction: (0.85082,-0.086713,0.51826) + New Polarization: (-0.46953,0.31733,0.82392) + *** FresnelRefraction *** +Track (trackID 1205, parentID 1) is processed with stopping code 2 ### pop requested out of 100 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88414,0.41209,0.22017) - Old Polarization: (-0.35793,0.29452,0.88608) - New Momentum Direction: (0.77261,0.55997,0.29917) - New Polarization: (-0.54322,0.33916,0.76804) + Old Momentum Direction: (0.66978,0.16608,-0.72375) + Old Polarization: (-0.60197,0.69212,-0.39825) + New Momentum Direction: (0.90278,0.22386,-0.36725) + New Polarization: (0.092029,0.73355,0.67338) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 886, parentID 637) is processed with stopping code 2 +Track (trackID 1204, parentID 1) is processed with stopping code 2 ### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82284,-0.5344,-0.19329) - Old Polarization: (-0.42778,-0.80638,0.40836) - New Momentum Direction: (0.63817,-0.72399,-0.26187) - New Polarization: (-0.65394,-0.68925,0.31194) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 885, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1203, parentID 1) is processed with stopping code 2 ### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79012,-0.55263,-0.26516) - Old Polarization: (-0.46671,-0.82284,0.32422) - New Momentum Direction: (0.55375,-0.75074,-0.36021) - New Polarization: (-0.71588,-0.65017,0.25454) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 884, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1202, parentID 1) is processed with stopping code 2 ### pop requested out of 97 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37464,-0.69028,-0.619) + Old Polarization: (-0.92678,-0.25943,-0.27162) + New Momentum Direction: (0.37464,0.69028,-0.619) + New Polarization: (0.73246,0.18898,0.65405) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.37464,0.69028,-0.619) + Old Polarization: (0.73246,0.18898,0.65405) + New Momentum Direction: (0.37464,0.69028,0.619) + New Polarization: (-0.73246,-0.18898,0.65405) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 883, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1201, parentID 1) is processed with stopping code 2 ### pop requested out of 96 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 882, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.39665,-0.8267,-0.39904) + Old Polarization: (-0.9072,-0.41941,-0.032861) + New Momentum Direction: (0.53566,-0.65014,-0.53888) + New Polarization: (0.0043566,0.64028,-0.76813) + *** FresnelRefraction *** +Track (trackID 1200, parentID 1) is processed with stopping code 2 ### pop requested out of 95 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 881, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.43144,-0.39049,-0.81325) + Old Polarization: (-0.86726,0.068709,-0.49309) + New Momentum Direction: (0.58368,-0.52827,-0.61664) + New Polarization: (0.1452,-0.67928,0.71937) + *** FresnelRefraction *** +Track (trackID 1199, parentID 1) is processed with stopping code 2 ### pop requested out of 94 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.52897,0.68996,-0.49412) - Old Polarization: (-0.77323,0.63179,0.054419) - New Momentum Direction: (0.71209,0.22469,-0.66517) - New Polarization: (-0.075106,-0.91759,-0.39036) + Old Momentum Direction: (0.42074,-0.86645,-0.26877) + Old Polarization: (-0.87959,-0.46214,0.11289) + New Momentum Direction: (0.56882,-0.73784,-0.36336) + New Polarization: (0.44395,0.64736,-0.61955) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 880, parentID 637) is processed with stopping code 2 +Track (trackID 1198, parentID 1) is processed with stopping code 2 ### pop requested out of 93 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.55233,0.7185,-0.42271) - Old Polarization: (-0.74312,0.65416,0.14091) - New Momentum Direction: (0.74839,0.33445,-0.57277) - New Polarization: (0.11716,-0.91664,-0.38216) + Old Momentum Direction: (0.72951,0.26695,-0.62973) + Old Polarization: (-0.53614,0.79487,-0.28413) + New Momentum Direction: (0.36897,0.36276,-0.85573) + New Polarization: (-0.82208,0.55693,-0.11837) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 879, parentID 637) is processed with stopping code 2 +Track (trackID 1197, parentID 1) is processed with stopping code 2 ### pop requested out of 92 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.89777,-0.44037,-0.0093488) - Old Polarization: (-0.33811,-0.70258,0.62616) - New Momentum Direction: (0.80417,-0.59426,-0.012616) - New Polarization: (-0.50773,-0.6978,0.50526) + Old Momentum Direction: (0.5166,-0.85546,0.036069) + Old Polarization: (-0.77203,-0.44718,0.45166) + New Momentum Direction: (0.69968,-0.71279,0.048851) + New Polarization: (0.62873,0.64676,0.43174) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 878, parentID 637) is processed with stopping code 2 +Track (trackID 1196, parentID 1) is processed with stopping code 2 ### pop requested out of 91 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.51396,0.68369,-0.51808) - Old Polarization: (-0.78818,0.61475,0.029355) - New Momentum Direction: (0.6959,0.15375,-0.70149) - New Polarization: (-0.15728,-0.92047,-0.35777) + Old Momentum Direction: (0.95255,0.30234,0.035259) + Old Polarization: (-0.28484,0.84455,0.45344) + New Momentum Direction: (0.9119,0.40766,0.047542) + New Polarization: (-0.39547,0.84177,0.36747) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 877, parentID 637) is processed with stopping code 2 +Track (trackID 1195, parentID 1) is processed with stopping code 2 ### pop requested out of 90 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.66682,-0.67474,0.31634) +Old Polarization: (-0.60523,-0.24268,0.75816) +New Polarization: (0.2777,0.12138,0.86219) +Polarization Change: (0.30387,0.13282,0.94341) +New Momentum Direction: (-0.7171,0.65745,0.13841) +Momentum Change: (-0.72975,0.66905,0.14085) + Photon at Boundary! + Old Momentum Direction: (-0.72975,0.66905,0.14085) + Old Polarization: (0.30387,0.13282,0.94341) + New Momentum Direction: (0.72975,0.66905,0.14085) + New Polarization: (0.13458,0.06142,-0.989) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.72975,0.66905,0.14085) + Old Polarization: (0.13458,0.06142,-0.989) + New Momentum Direction: (0.72975,-0.66905,0.14085) + New Polarization: (-0.13458,0.06142,0.989) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.72975,-0.66905,0.14085) + Old Polarization: (-0.13458,0.06142,0.989) + New Momentum Direction: (-0.72975,-0.66905,0.14085) + New Polarization: (-0.055366,-0.14751,-0.98751) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.72975,-0.66905,0.14085) + Old Polarization: (-0.055366,-0.14751,-0.98751) + New Momentum Direction: (-0.72975,0.66905,0.14085) + New Polarization: (0.055366,-0.14751,0.98751) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 876, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1194, parentID 1) is processed with stopping code 2 ### pop requested out of 89 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.94983,0.13261,0.28325) - Old Polarization: (-0.28192,-0.029059,0.959) - New Momentum Direction: (0.90519,0.18021,0.38491) - New Polarization: (-0.40104,0.062334,0.91394) + Old Momentum Direction: (0.54188,-0.83501,0.095515) + Old Polarization: (-0.74376,-0.4235,0.51717) + New Momentum Direction: (0.7344,-0.66626,0.12945) + New Polarization: (0.47633,0.64181,0.60099) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 875, parentID 637) is processed with stopping code 2 +Track (trackID 1193, parentID 1) is processed with stopping code 2 ### pop requested out of 88 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.41604,0.36948,-0.8309) - Old Polarization: (-0.90561,0.2511,-0.34179) - New Momentum Direction: (0.56101,0.49822,-0.66109) - New Polarization: (-0.086271,0.82944,0.55189) + Old Momentum Direction: (0.94145,0.33606,-0.02719) + Old Polarization: (-0.30106,0.87422,0.38093) + New Momentum Direction: (0.88939,0.45566,-0.036866) + New Polarization: (-0.42893,0.85966,0.27748) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 874, parentID 637) is processed with stopping code 2 +Track (trackID 1192, parentID 1) is processed with stopping code 2 ### pop requested out of 87 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.58632,0.72825,-0.35479) - Old Polarization: (-0.70491,0.67447,0.2195) - New Momentum Direction: (0.79045,0.38263,-0.47832) - New Polarization: (0.2624,-0.91713,-0.30003) + Old Momentum Direction: (0.45217,-0.33039,-0.82848) + Old Polarization: (-0.84614,0.1349,-0.5156) + New Momentum Direction: (0.60955,-0.44539,-0.6558) + New Polarization: (0.33516,-0.6049,0.72233) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 873, parentID 637) is processed with stopping code 2 +Track (trackID 1191, parentID 1) is processed with stopping code 2 ### pop requested out of 86 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.92328,-0.37563,0.080399) - Old Polarization: (-0.31348,-0.6158,0.72285) - New Momentum Direction: (0.85254,-0.51109,0.10939) - New Polarization: (-0.46481,-0.64567,0.60585) + Old Momentum Direction: (0.41781,-0.43158,-0.79948) + Old Polarization: (-0.88056,0.024333,-0.47332) + New Momentum Direction: (0.56695,-0.58562,-0.57932) + New Polarization: (0.0076668,-0.69949,0.7146) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 872, parentID 637) is processed with stopping code 2 +Track (trackID 1190, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.82582,0.55098,0.12021) - Old Polarization: (-0.42284,0.46392,0.77845) - New Momentum Direction: (0.6486,0.74363,0.16224) - New Polarization: (-0.64373,0.42222,0.63823) + Old Momentum Direction: (0.70529,-0.61182,0.35812) + Old Polarization: (-0.56262,-0.17573,0.80782) + New Momentum Direction: (0.27609,-0.82948,0.48553) + New Polarization: (-0.86125,0.010725,0.50807) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 871, parentID 637) is processed with stopping code 2 +Track (trackID 1189, parentID 1) is processed with stopping code 2 ### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93012,-0.3578,0.082797) - Old Polarization: (-0.29909,-0.60715,0.73615) - New Momentum Direction: (0.86894,-0.48217,0.11158) - New Polarization: (-0.43847,-0.64546,0.6254) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 870, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1188, parentID 1) is processed with stopping code 2 ### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.44275,0.55221,-0.70642) - Old Polarization: (-0.86931,0.45742,-0.18727) - New Momentum Direction: (0.6013,0.74997,-0.27566) - New Polarization: (-0.65028,0.65979,0.37658) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 869, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1187, parentID 1) is processed with stopping code 2 ### pop requested out of 82 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.45544,-0.13442,-0.88006) - Old Polarization: (-0.85554,-0.33947,-0.3909) - New Momentum Direction: (0.6176,-0.18228,-0.76508) - New Polarization: (0.53065,-0.62141,0.57642) + Old Momentum Direction: (0.44188,-0.34017,-0.83008) + Old Polarization: (-0.85346,0.12559,-0.50579) + New Momentum Direction: (0.60013,-0.462,-0.653) + New Polarization: (0.30042,-0.6264,0.71928) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 868, parentID 637) is processed with stopping code 2 +Track (trackID 1186, parentID 1) is processed with stopping code 2 ### pop requested out of 81 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.57566,-0.41825,-0.70262) - Old Polarization: (-0.71627,-0.67241,-0.18658) - New Momentum Direction: (0.7791,-0.56605,-0.26944) - New Polarization: (-0.45734,-0.80715,0.37329) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 867, parentID 637) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. + Old Momentum Direction: (0.38261,-0.63399,-0.67206) + Old Polarization: (-0.92071,-0.20113,-0.33444) + New Momentum Direction: (0.38261,-0.63399,0.67206) + New Polarization: (0.92071,0.20113,-0.33444) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38261,-0.63399,0.67206) + Old Polarization: (0.92071,0.20113,-0.33444) + New Momentum Direction: (0.38261,0.63399,0.67206) + New Polarization: (-0.92071,0.20113,0.33444) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38261,0.63399,0.67206) + Old Polarization: (-0.92071,0.20113,0.33444) + New Momentum Direction: (-0.38261,0.63399,0.67206) + New Polarization: (-0.92071,-0.20113,-0.33444) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.38261,0.63399,0.67206) + Old Polarization: (-0.92071,-0.20113,-0.33444) + New Momentum Direction: (-0.38261,0.63399,-0.67206) + New Polarization: (0.92071,0.20113,-0.33444) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 866, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1185, parentID 1) is processed with stopping code 2 +### pop requested out of 80 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.44136,-0.87944,-0.17828) + Old Polarization: (-0.85509,-0.47244,0.2136) + New Momentum Direction: (0.59829,-0.76397,-0.24167) + New Polarization: (0.6724,0.64272,-0.36714) + *** FresnelRefraction *** +Track (trackID 1184, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.9532,0.12187,0.27671) - Old Polarization: (-0.27371,-0.040992,0.96094) - New Momentum Direction: (0.91277,0.16464,0.37383) - New Polarization: (-0.38613,0.049204,0.92113) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 865, parentID 637) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. + Old Momentum Direction: (0.38495,-0.72776,-0.56761) + Old Polarization: (-0.92283,-0.31305,-0.22447) + New Momentum Direction: (0.38495,0.72776,-0.56761) + New Polarization: (0.73238,0.13338,0.6677) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38495,0.72776,-0.56761) + Old Polarization: (0.73238,0.13338,0.6677) + New Momentum Direction: (0.38495,0.72776,0.56761) + New Polarization: (-0.73238,-0.13338,0.6677) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38495,0.72776,0.56761) + Old Polarization: (-0.73238,-0.13338,0.6677) + New Momentum Direction: (-0.38495,0.72776,0.56761) + New Polarization: (-0.73238,0.13338,-0.6677) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 864, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1183, parentID 1) is processed with stopping code 2 +### pop requested out of 78 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.55231,-0.82431,0.12434) + Old Polarization: (-0.73138,-0.40756,0.54679) + New Momentum Direction: (0.7507,-0.63866,0.16901) + New Polarization: (0.39083,0.63559,0.66579) + *** FresnelRefraction *** +Track (trackID 1182, parentID 1) is processed with stopping code 2 ### pop requested out of 77 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.41976,0.041296,-0.9067) - Old Polarization: (-0.8968,-0.135,-0.42133) - New Momentum Direction: (0.56941,0.056019,-0.82014) - New Polarization: (0.81905,0.046601,0.57183) + Old Momentum Direction: (0.48936,-0.19775,-0.84936) + Old Polarization: (-0.80116,0.28278,-0.52743) + New Momentum Direction: (0.66447,-0.26851,-0.69741) + New Polarization: (0.6362,-0.28638,0.71641) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 863, parentID 637) is processed with stopping code 2 +Track (trackID 1181, parentID 1) is processed with stopping code 2 ### pop requested out of 76 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.94043,-0.3156,0.12641) - Old Polarization: (-0.29029,-0.55189,0.78176) - New Momentum Direction: (0.88774,-0.42734,0.17117) - New Polarization: (-0.42038,-0.601,0.67976) + Old Momentum Direction: (0.72631,0.2613,-0.63577) + Old Polarization: (-0.53953,0.78979,-0.29177) + New Momentum Direction: (0.35938,0.35474,-0.86314) + New Polarization: (-0.82634,0.55073,-0.11771) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 862, parentID 637) is processed with stopping code 2 +Track (trackID 1180, parentID 1) is processed with stopping code 2 ### pop requested out of 75 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6326,-0.49314,-0.59718) - Old Polarization: (-0.64953,-0.75778,-0.062291) - New Momentum Direction: (-0.6326,-0.49314,-0.59718) - New Polarization: (-0.64953,0.75778,0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6326,-0.49314,-0.59718) - Old Polarization: (-0.64953,0.75778,0.062291) - New Momentum Direction: (-0.6326,-0.49314,0.59718) - New Polarization: (0.64953,-0.75778,0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6326,-0.49314,0.59718) - Old Polarization: (0.64953,-0.75778,0.062291) - New Momentum Direction: (-0.6326,0.49314,0.59718) - New Polarization: (-0.64953,-0.75778,-0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6326,0.49314,0.59718) - Old Polarization: (-0.64953,-0.75778,-0.062291) - New Momentum Direction: (0.6326,0.49314,0.59718) - New Polarization: (-0.64953,0.75778,0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.6326,0.49314,0.59718) - Old Polarization: (-0.64953,0.75778,0.062291) - New Momentum Direction: (0.6326,0.49314,-0.59718) - New Polarization: (0.64953,-0.75778,0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.6326,0.49314,-0.59718) - Old Polarization: (0.64953,-0.75778,0.062291) - New Momentum Direction: (0.6326,-0.49314,-0.59718) - New Polarization: (-0.64953,-0.75778,-0.062291) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 861, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.89588,-0.15821,0.41517) + Old Polarization: (-0.34897,0.32781,0.87793) + New Momentum Direction: (0.80024,-0.21353,0.56037) + New Polarization: (-0.52006,0.21814,0.8258) + *** FresnelRefraction *** +Track (trackID 1179, parentID 1) is processed with stopping code 2 ### pop requested out of 74 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50316,0.6647,-0.55227) - Old Polarization: (-0.80218,0.59695,-0.012379) - New Momentum Direction: (0.50316,-0.6647,-0.55227) - New Polarization: (0.80218,0.59695,0.012379) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50316,-0.6647,-0.55227) - Old Polarization: (0.80218,0.59695,0.012379) - New Momentum Direction: (0.50316,-0.6647,0.55227) - New Polarization: (-0.80218,-0.59695,0.012379) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50316,-0.6647,0.55227) - Old Polarization: (-0.80218,-0.59695,0.012379) - New Momentum Direction: (-0.50316,-0.6647,0.55227) - New Polarization: (-0.80218,0.59695,-0.012379) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 860, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.41326,-0.44193,-0.79619) + Old Polarization: (-0.88431,0.013852,-0.46669) + New Momentum Direction: (0.56192,-0.60091,-0.56846) + New Polarization: (-0.028567,-0.70091,0.71268) + *** FresnelRefraction *** +Track (trackID 1178, parentID 1) is processed with stopping code 2 ### pop requested out of 73 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 859, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.79718,-0.42859,0.42522) + Old Polarization: (-0.4597,0.02568,0.8877) + New Momentum Direction: (0.57856,-0.57902,0.57446) + New Polarization: (-0.6991,0.010773,0.71494) + *** FresnelRefraction *** +Track (trackID 1177, parentID 1) is processed with stopping code 2 ### pop requested out of 72 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.96505,-0.097432,0.24326) - Old Polarization: (-0.26149,-0.29724,0.9183) - New Momentum Direction: (0.93494,-0.13192,0.32937) - New Polarization: (-0.35439,-0.30247,0.88483) + Old Momentum Direction: (0.74745,0.28088,-0.60202) + Old Polarization: (-0.51536,0.817,-0.25867) + New Momentum Direction: (0.43984,0.37971,-0.81385) + New Polarization: (-0.78465,0.60332,-0.14258) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 858, parentID 637) is processed with stopping code 2 +Track (trackID 1176, parentID 1) is processed with stopping code 2 ### pop requested out of 71 stacked tracks. -** Photon Absorbed! ** -Track (trackID 857, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1175, parentID 1) is processed with stopping code 2 ### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.40727,0.34653,-0.84501) - Old Polarization: (-0.91102,0.21953,-0.34906) - New Momentum Direction: (0.55268,0.47026,-0.68804) - New Polarization: (-0.010214,0.82935,0.55864) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 856, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1174, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79504,-0.55006,-0.25563) - Old Polarization: (-0.46069,-0.82174,0.33543) - New Momentum Direction: (0.56786,-0.74646,-0.34689) - New Polarization: (-0.70581,-0.65841,0.26139) + Old Momentum Direction: (0.59325,-0.78268,0.18831) + Old Polarization: (-0.6876,-0.37102,0.62414) + New Momentum Direction: (0.80068,-0.54251,0.25415) + New Polarization: (0.16784,0.61037,0.77413) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 855, parentID 637) is processed with stopping code 2 +Track (trackID 1173, parentID 1) is processed with stopping code 2 ### pop requested out of 68 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 854, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.43251,-0.87792,-0.20542) + Old Polarization: (-0.86411,-0.46865,0.18353) + New Momentum Direction: (0.58709,-0.75999,-0.27884) + New Polarization: (0.61478,0.64266,-0.4572) + *** FresnelRefraction *** +Track (trackID 1172, parentID 1) is processed with stopping code 2 ### pop requested out of 67 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93981,-0.32013,0.11947) - Old Polarization: (-0.2894,-0.55982,0.77644) - New Momentum Direction: (0.88708,-0.43248,0.1614) - New Polarization: (-0.41925,-0.60853,0.67374) + Old Momentum Direction: (0.45508,-0.31415,-0.8332) + Old Polarization: (-0.84175,0.15345,-0.5176) + New Momentum Direction: (0.61474,-0.42437,-0.66483) + New Polarization: (0.38068,-0.57859,0.72133) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 853, parentID 637) is processed with stopping code 2 +Track (trackID 1171, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49968,-0.26871,-0.82348) - Old Polarization: (-0.80447,-0.49645,-0.32614) - New Momentum Direction: (0.67707,-0.36411,-0.63953) - New Polarization: (0.059211,-0.83925,0.54051) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 852, parentID 637) is processed with stopping code 2 +Scattering Photon! +Old Momentum Direction: (0.37526,-0.67913,-0.63084) +Old Polarization: (-0.92616,-0.24727,-0.28475) +New Polarization: (-0.53673,0.76037,-0.15616) +Polarization Change: (-0.56873,0.80571,-0.16547) +New Momentum Direction: (0.74845,0.43072,-0.47518) +Momentum Change: (0.75935,0.437,-0.4821) +Scattering Photon! +Old Momentum Direction: (0.75935,0.437,-0.4821) +Old Polarization: (-0.56873,0.80571,-0.16547) +New Polarization: (-0.59874,0.74211,-0.092031) +Polarization Change: (-0.62502,0.77468,-0.09607) +New Momentum Direction: (-0.15993,-0.011817,0.94519) +Momentum Change: (-0.16682,-0.012326,0.98591) + +** Photon absorbed! ** +Track (trackID 1170, parentID 1) is processed with stopping code 2 ### pop requested out of 65 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.41422,0.33616,-0.84582) - Old Polarization: (-0.9083,0.2123,-0.36044) - New Momentum Direction: (0.55816,0.45297,-0.69518) - New Polarization: (0.034663,0.82437,0.56499) + Old Momentum Direction: (0.44301,-0.3331,-0.83234) + Old Polarization: (-0.85167,0.13361,-0.50677) + New Momentum Direction: (0.60227,-0.45284,-0.65743) + New Polarization: (0.32102,-0.61663,0.71882) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 851, parentID 637) is processed with stopping code 2 +Track (trackID 1169, parentID 1) is processed with stopping code 2 ### pop requested out of 64 stacked tracks. -** Photon Absorbed! ** -Track (trackID 850, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1168, parentID 1) is processed with stopping code 2 ### pop requested out of 63 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.61141,-0.47147,-0.63553) - Old Polarization: (-0.67403,-0.73104,-0.10612) - New Momentum Direction: (0.61141,-0.47147,0.63553) - New Polarization: (0.67403,0.73104,-0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.61141,-0.47147,0.63553) - Old Polarization: (0.67403,0.73104,-0.10612) - New Momentum Direction: (-0.61141,-0.47147,0.63553) - New Polarization: (0.67403,-0.73104,0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.61141,-0.47147,0.63553) - Old Polarization: (0.67403,-0.73104,0.10612) - New Momentum Direction: (-0.61141,0.47147,0.63553) - New Polarization: (-0.67403,-0.73104,-0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.61141,0.47147,0.63553) - Old Polarization: (-0.67403,-0.73104,-0.10612) - New Momentum Direction: (-0.61141,0.47147,-0.63553) - New Polarization: (0.67403,0.73104,-0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.61141,0.47147,-0.63553) - Old Polarization: (0.67403,0.73104,-0.10612) - New Momentum Direction: (0.61141,0.47147,-0.63553) - New Polarization: (0.67403,-0.73104,0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.61141,0.47147,-0.63553) - Old Polarization: (0.67403,-0.73104,0.10612) - New Momentum Direction: (0.61141,-0.47147,-0.63553) - New Polarization: (-0.67403,-0.73104,-0.10612) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 849, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.94031,-0.32052,0.1144) - Old Polarization: (-0.28649,-0.56406,0.77444) - New Momentum Direction: (0.88882,-0.43158,0.15404) - New Polarization: (-0.41437,-0.6134,0.67234) + Old Momentum Direction: (0.57562,-0.006153,-0.81769) + Old Polarization: (-0.70733,0.49799,-0.50168) + New Momentum Direction: (0.77688,-0.0083043,-0.62959) + New Polarization: (0.58828,0.36602,0.72108) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 848, parentID 637) is processed with stopping code 2 +Track (trackID 1167, parentID 1) is processed with stopping code 2 +### pop requested out of 62 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1166, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.89946,-0.43698,0.0052844) - Old Polarization: (-0.3393,-0.69069,0.63861) - New Momentum Direction: (0.80526,-0.59288,0.0071697) - New Polarization: (-0.51104,-0.68787,0.51543) + Old Momentum Direction: (0.38188,-0.76815,-0.51393) + Old Polarization: (-0.9224,-0.35161,-0.15986) + New Momentum Direction: (0.51665,-0.49963,-0.6953) + New Polarization: (-0.37776,0.59574,-0.70879) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 847, parentID 637) is processed with stopping code 2 +Track (trackID 1165, parentID 1) is processed with stopping code 2 ### pop requested out of 60 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 846, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.91582,-0.083972,0.39271) + Old Polarization: (-0.32733,0.41041,0.85113) + New Momentum Direction: (0.83997,-0.11346,0.53063) + New Polarization: (-0.48158,0.29475,0.82535) + *** FresnelRefraction *** +Track (trackID 1164, parentID 1) is processed with stopping code 2 ### pop requested out of 59 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.51574,-0.31232,-0.79779) - Old Polarization: (-0.78496,-0.54538,-0.29394) - New Momentum Direction: (0.70003,-0.42392,-0.57468) - New Polarization: (-0.09906,-0.8546,0.50975) + Old Momentum Direction: (0.37656,-0.68257,-0.62634) + Old Polarization: (-0.92577,-0.2526,-0.28131) + New Momentum Direction: (0.51125,-0.12444,-0.85037) + New Polarization: (-0.69559,0.52121,-0.49447) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 845, parentID 637) is processed with stopping code 2 +Track (trackID 1163, parentID 1) is processed with stopping code 2 ### pop requested out of 58 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.59731,-0.45809,-0.65831) - Old Polarization: (-0.68988,-0.71208,-0.13045) - New Momentum Direction: (0.59731,-0.45809,0.65831) - New Polarization: (0.68988,0.71208,-0.13045) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.59731,-0.45809,0.65831) - Old Polarization: (0.68988,0.71208,-0.13045) - New Momentum Direction: (-0.59731,-0.45809,0.65831) - New Polarization: (0.68988,-0.71208,0.13045) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59731,-0.45809,0.65831) - Old Polarization: (0.68988,-0.71208,0.13045) - New Momentum Direction: (-0.59731,0.45809,0.65831) - New Polarization: (-0.68988,-0.71208,-0.13045) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59731,0.45809,0.65831) - Old Polarization: (-0.68988,-0.71208,-0.13045) - New Momentum Direction: (-0.59731,0.45809,-0.65831) - New Polarization: (0.68988,0.71208,-0.13045) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 844, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93836,-0.32487,0.11808) - Old Polarization: (-0.29229,-0.5634,0.77275) - New Momentum Direction: (0.88385,-0.43963,0.15979) - New Polarization: (-0.42458,-0.61066,0.66845) + Old Momentum Direction: (0.95912,0.23843,0.15242) + Old Polarization: (-0.28217,0.76493,0.57902) + New Momentum Direction: (0.92331,0.3236,0.20686) + New Polarization: (-0.38347,0.74676,0.54342) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 843, parentID 637) is processed with stopping code 2 +Track (trackID 1162, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1161, parentID 1) is processed with stopping code 2 ### pop requested out of 56 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 47 -Track (trackID 637, parentID 1) is processed with stopping code 4 +** Photon absorbed! ** +Track (trackID 1160, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.47709,-0.87684,-0.059533) + Old Polarization: (-0.8146,-0.46662,0.34451) + New Momentum Direction: (0.64795,-0.75738,-0.080854) + New Polarization: (0.76161,0.64278,0.082356) + *** FresnelRefraction *** +Track (trackID 1159, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74864,0.29084,-0.59577) + Old Polarization: (-0.51509,0.82092,-0.24651) + New Momentum Direction: (0.43364,0.39529,-0.80975) + New Polarization: (-0.78964,0.5996,-0.13017) + *** FresnelRefraction *** +Track (trackID 1158, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41767,-0.45913,-0.78406) + Old Polarization: (-0.88486,-0.0095637,-0.46577) + New Momentum Direction: (0.56304,-0.61893,-0.54764) + New Polarization: (-0.076532,-0.69886,0.71116) + *** FresnelRefraction *** +Track (trackID 1157, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95002,0.31056,0.031807) + Old Polarization: (-0.29152,0.84606,0.44631) + New Momentum Direction: (0.90601,0.42106,0.043124) + New Polarization: (-0.40753,0.84026,0.35762) + *** FresnelRefraction *** +Track (trackID 1156, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.42393,-0.86881,-0.25584) + Old Polarization: (-0.87612,-0.46498,0.12729) + New Momentum Direction: (0.57305,-0.74298,-0.34583) + New Polarization: (0.48283,0.64706,-0.59007) + *** FresnelRefraction *** +Track (trackID 1155, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.9479,0.31856,-0.0024572) + Old Polarization: (-0.28936,0.86418,0.41165) + New Momentum Direction: (0.90325,0.4291,-0.0033099) + New Polarization: (-0.40634,0.85776,0.31484) + *** FresnelRefraction *** +Track (trackID 1154, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58638,-0.79239,0.16818) + Old Polarization: (-0.69607,-0.3867,0.60494) + New Momentum Direction: (0.78863,-0.57175,0.22619) + New Polarization: (0.23531,0.62051,0.74807) + *** FresnelRefraction *** +Track (trackID 1153, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95743,0.27017,0.10166) + Old Polarization: (-0.28233,0.80309,0.52473) + New Momentum Direction: (0.92046,0.36579,0.13763) + New Polarization: (-0.38613,0.79675,0.46485) + *** FresnelRefraction *** +Track (trackID 1152, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.79146,-0.44758,0.41625) + Old Polarization: (-0.46458,0.0020061,0.88553) + New Momentum Direction: (0.57,-0.60167,0.55955) + New Polarization: (-0.7026,-0.0038516,0.71157) + *** FresnelRefraction *** +Track (trackID 1151, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67558,-0.66683,0.31452) + Old Polarization: (-0.59546,-0.24194,0.76609) + New Momentum Direction: (-0.67558,-0.66683,0.31452) + New Polarization: (-0.55196,0.17462,-0.81538) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67558,-0.66683,0.31452) + Old Polarization: (-0.55196,0.17462,-0.81538) + New Momentum Direction: (-0.67558,0.66683,0.31452) + New Polarization: (0.55196,0.17462,0.81538) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67558,0.66683,0.31452) + Old Polarization: (0.55196,0.17462,0.81538) + New Momentum Direction: (-0.67558,0.66683,-0.31452) + New Polarization: (-0.55196,-0.17462,0.81538) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67558,0.66683,-0.31452) + Old Polarization: (-0.55196,-0.17462,0.81538) + New Momentum Direction: (0.67558,0.66683,-0.31452) + New Polarization: (0.50238,-0.72858,-0.4656) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.67558,0.66683,-0.31452) + Old Polarization: (0.50238,-0.72858,-0.4656) + New Momentum Direction: (0.67558,-0.66683,-0.31452) + New Polarization: (-0.50238,-0.72858,0.4656) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1150, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.90775,-0.10418,0.40638) + Old Polarization: (-0.33972,0.3858,0.85776) + New Momentum Direction: (0.82157,-0.14157,0.55225) + New Polarization: (-0.50474,0.26973,0.82005) + *** FresnelRefraction *** +Track (trackID 1149, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.90614,-0.1142,0.40728) + Old Polarization: (-0.34018,0.37551,0.86213) + New Momentum Direction: (0.81919,-0.15484,0.55223) + New Polarization: (-0.50532,0.26053,0.82266) + *** FresnelRefraction *** +Track (trackID 1148, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95594,0.27423,0.10481) + Old Polarization: (-0.28741,0.80139,0.52457) + New Momentum Direction: (0.91678,0.37308,0.1426) + New Polarization: (-0.39486,0.79293,0.46405) + *** FresnelRefraction *** +Track (trackID 1147, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.803,0.33335,-0.49403) + Old Polarization: (-0.45225,0.8807,-0.14083) + New Momentum Direction: (0.59618,0.44907,-0.66551) + New Polarization: (-0.68544,0.7163,-0.1307) + *** FresnelRefraction *** +Track (trackID 1146, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.38857,-0.61795,-0.68349) + Old Polarization: (-0.91705,-0.18717,-0.35213) + New Momentum Direction: (0.38857,-0.61795,0.68349) + New Polarization: (0.65426,0.70735,0.26758) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38857,-0.61795,0.68349) + Old Polarization: (0.65426,0.70735,0.26758) + New Momentum Direction: (0.38857,0.61795,0.68349) + New Polarization: (-0.65426,0.70735,-0.26758) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.38857,0.61795,0.68349) + Old Polarization: (-0.65426,0.70735,-0.26758) + New Momentum Direction: (-0.38857,0.61795,0.68349) + New Polarization: (-0.65426,-0.70735,0.26758) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.38857,0.61795,0.68349) + Old Polarization: (-0.65426,-0.70735,0.26758) + New Momentum Direction: (-0.38857,0.61795,-0.68349) + New Polarization: (0.9135,0.35537,-0.19804) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.38857,0.61795,-0.68349) + Old Polarization: (0.9135,0.35537,-0.19804) + New Momentum Direction: (-0.38857,-0.61795,-0.68349) + New Polarization: (-0.9135,0.35537,0.19804) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.38857,-0.61795,-0.68349) + Old Polarization: (-0.9135,0.35537,0.19804) + New Momentum Direction: (-0.52415,-0.83357,-0.17446) + New Polarization: (-0.80928,0.42373,0.40684) + *** FresnelRefraction *** +Track (trackID 1145, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.39293,-0.8387,-0.37708) + Old Polarization: (-0.90644,-0.42231,-0.0052484) + New Momentum Direction: (0.53448,-0.67174,-0.51292) + New Polarization: (0.072653,0.64115,-0.76397) + *** FresnelRefraction *** +Track (trackID 1144, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93066,-0.016129,0.36553) + Old Polarization: (-0.31249,0.48459,0.81702) + New Momentum Direction: (0.86849,-0.021851,0.49522) + New Polarization: (-0.45291,0.37107,0.81067) + *** FresnelRefraction *** +Track (trackID 1143, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.65624,0.15835,-0.73775) + Old Polarization: (-0.61691,0.67559,-0.40374) + New Momentum Direction: (0.89138,0.21509,-0.39897) + New Polarization: (0.1311,0.72026,0.6812) + *** FresnelRefraction *** +Track (trackID 1142, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.81977,-0.36568,0.44075) + Old Polarization: (-0.43705,0.097893,0.8941) + New Momentum Direction: (0.62698,-0.49743,0.59955) + New Polarization: (-0.66869,0.051208,0.74178) + *** FresnelRefraction *** +Track (trackID 1141, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1140, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.83741,0.37063,-0.40172) +Old Polarization: (-0.4175,0.90809,-0.032498) +New Polarization: (-0.35207,0.90557,-0.031777) +Polarization Change: (-0.36216,0.93154,-0.032688) +New Momentum Direction: (-0.92019,-0.3519,0.16673) +Momentum Change: (-0.92094,-0.35218,0.16686) + +** Photon absorbed! ** +Track (trackID 1139, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7779,-0.47402,0.41253) + Old Polarization: (-0.48072,-0.026116,0.87648) + New Momentum Direction: (0.53107,-0.63918,0.55625) + New Polarization: (-0.72967,-0.011241,0.68371) + *** FresnelRefraction *** +Track (trackID 1138, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37897,-0.76579,-0.51957) + Old Polarization: (-0.92383,-0.34579,-0.16419) + New Momentum Direction: (0.514,-0.48909,-0.70469) + New Polarization: (-0.39753,0.59215,-0.70095) + *** FresnelRefraction *** +Track (trackID 1137, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93408,0.34911,-0.074917) + Old Polarization: (-0.30734,0.89292,0.32899) + New Momentum Direction: (0.87576,0.47201,-0.10129) + New Polarization: (-0.44298,0.86911,0.22004) + *** FresnelRefraction *** +Track (trackID 1136, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.84207,-0.30929,0.44188) + Old Polarization: (-0.41206,0.15975,0.89705) + New Momentum Direction: (0.68034,-0.42026,0.60043) + New Polarization: (-0.62795,0.088188,0.77324) + *** FresnelRefraction *** +Track (trackID 1135, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93697,0.022321,0.34871) + Old Polarization: (-0.30784,0.52489,0.79355) + New Momentum Direction: (0.87995,0.030347,0.4741) + New Polarization: (-0.44242,0.41595,0.79452) + *** FresnelRefraction *** +Track (trackID 1134, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.89388,-0.15913,0.41912) + Old Polarization: (-0.35315,0.32599,0.87694) + New Momentum Direction: (0.79455,-0.21552,0.56767) + New Polarization: (-0.52815,0.21598,0.82123) + *** FresnelRefraction *** +Track (trackID 1133, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95928,0.21309,0.18541) + Old Polarization: (-0.28241,0.73627,0.61494) + New Momentum Direction: (0.92351,0.28937,0.25179) + New Polarization: (-0.38354,0.70594,0.59543) + *** FresnelRefraction *** +Track (trackID 1132, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.60503,0.057209,-0.79414) + Old Polarization: (-0.67413,0.56753,-0.47271) + New Momentum Direction: (0.81802,0.077348,-0.56997) + New Polarization: (0.44666,0.53893,0.71418) + *** FresnelRefraction *** +Track (trackID 1131, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93947,0.33912,-0.048914) + Old Polarization: (-0.30038,0.88387,0.35853) + New Momentum Direction: (0.88658,0.45785,-0.06604) + New Polarization: (-0.42907,0.86727,0.25249) + *** FresnelRefraction *** +Track (trackID 1130, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.49054,-0.18871,-0.85074) + Old Polarization: (-0.79893,0.29245,-0.52553) + New Momentum Direction: (0.66751,-0.25679,-0.69892) + New Polarization: (0.64872,-0.26019,0.71517) + *** FresnelRefraction *** +Track (trackID 1129, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1128, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.8491,-0.29425,0.4387) + Old Polarization: (-0.40302,0.17601,0.89811) + New Momentum Direction: (0.69841,-0.39867,0.59438) + New Polarization: (-0.61174,0.09855,0.7849) + *** FresnelRefraction *** +Track (trackID 1127, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1126, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1125, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93256,-0.0024734,0.361) + Old Polarization: (-0.31182,0.4984,0.80893) + New Momentum Direction: (0.87163,-0.0033584,0.49016) + New Polarization: (-0.45107,0.38587,0.80476) + *** FresnelRefraction *** +Track (trackID 1124, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.64082,0.118,-0.75857) + Old Polarization: (-0.63444,0.63776,-0.43675) + New Momentum Direction: (0.86411,0.15912,-0.47749) + New Polarization: (0.26227,0.66737,0.69702) + *** FresnelRefraction *** +Track (trackID 1123, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.43306,-0.38525,-0.81489) + Old Polarization: (-0.86557,0.07448,-0.49521) + New Momentum Direction: (0.58575,-0.52108,-0.62078) + New Polarization: (0.16232,-0.675,0.71974) + *** FresnelRefraction *** +Track (trackID 1122, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67655,0.17373,-0.71561) + Old Polarization: (-0.59435,0.70256,-0.39135) + New Momentum Direction: (0.91034,0.23377,-0.3415) + New Polarization: (0.060107,0.74175,0.66798) + *** FresnelRefraction *** +Track (trackID 1121, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.91927,0.36962,-0.13539) +Old Polarization: (-0.32684,0.90839,0.26075) +New Polarization: (-0.053957,0.88289,0.022333) +Polarization Change: (-0.06098,0.99782,0.025241) +New Momentum Direction: (-0.68267,-0.025376,-0.64612) +Momentum Change: (-0.72602,-0.026988,-0.68715) +Scattering Photon! +Old Momentum Direction: (-0.72602,-0.026988,-0.68715) +Old Polarization: (-0.06098,0.99782,0.025241) +New Polarization: (0.37754,0.78288,-0.010083) +Polarization Change: (0.43435,0.90067,-0.0116) +New Momentum Direction: (-0.057446,0.016529,-0.86765) +Momentum Change: (-0.066052,0.019005,-0.99764) + Photon at Boundary! + Old Momentum Direction: (-0.066052,0.019005,-0.99764) + Old Polarization: (0.43435,0.90067,-0.0116) + New Momentum Direction: (-0.089735,0.025819,-0.99563) + New Polarization: (0.052458,0.9984,0.021163) + *** FresnelRefraction *** +Track (trackID 1120, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93767,0.34376,-0.051096) + Old Polarization: (-0.30472,0.88391,0.35475) + New Momentum Direction: (0.88222,0.46572,-0.069225) + New Polarization: (-0.43699,0.86465,0.24784) + *** FresnelRefraction *** +Track (trackID 1119, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88917,0.37451,-0.2629) + Old Polarization: (-0.35535,0.92714,0.1189) + New Momentum Direction: (0.78749,0.50445,-0.35412) + New Polarization: (-0.53046,0.84727,0.027313) + *** FresnelRefraction *** +Track (trackID 1118, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.45297,-0.88195,-0.13035) +Old Polarization: (-0.84087,-0.47122,0.26625) +New Polarization: (-0.26499,-0.77687,0.28236) +Polarization Change: (-0.30528,-0.89498,0.32529) +New Momentum Direction: (-0.27756,-0.1977,-0.80443) +Momentum Change: (-0.31771,-0.2263,-0.92079) + Photon at Boundary! + Old Momentum Direction: (-0.31771,-0.2263,-0.92079) + Old Polarization: (-0.30528,-0.89498,0.32529) + New Momentum Direction: (-0.43178,-0.30755,-0.84793) + New Polarization: (-0.37101,-0.79631,0.47775) + *** FresnelRefraction *** +Track (trackID 1117, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.43486,-0.38072,-0.81606) + Old Polarization: (-0.8639,0.079337,-0.49737) + New Momentum Direction: (0.58785,-0.51467,-0.62414) + New Polarization: (0.17737,-0.67075,0.72016) + *** FresnelRefraction *** +Track (trackID 1116, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.44505,-0.87886,-0.17188) + Old Polarization: (-0.85202,-0.47465,0.22084) + New Momentum Direction: (0.60219,-0.76373,-0.23257) + New Polarization: (0.68414,0.6438,-0.34274) + *** FresnelRefraction *** +Track (trackID 1115, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58098,-0.79365,0.18052) + Old Polarization: (-0.6998,-0.37382,0.60871) + New Momentum Direction: (0.78964,-0.56238,0.24536) + New Polarization: (0.20169,0.61557,0.76183) + *** FresnelRefraction *** +Track (trackID 1114, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1113, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.9567,0.14144,0.2544) + Old Polarization: (-0.28259,0.6608,0.69533) + New Momentum Direction: (0.9192,0.19135,0.34418) + New Polarization: (-0.38747,0.59547,0.70377) + *** FresnelRefraction *** +Track (trackID 1112, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.494,-0.1908,-0.84827) + Old Polarization: (-0.79692,0.29076,-0.5295) + New Momentum Direction: (0.66938,-0.25854,-0.69648) + New Polarization: (0.64555,-0.26156,0.71753) + *** FresnelRefraction *** +Track (trackID 1111, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1110, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1109, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50269,-0.86446,0.0018868) + Old Polarization: (-0.78743,-0.457,0.41364) + New Momentum Direction: (0.68091,-0.73236,0.0025558) + New Polarization: (0.69429,0.64662,0.31598) + *** FresnelRefraction *** +Track (trackID 1108, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.8565,0.37858,-0.35084) + Old Polarization: (-0.39619,0.91788,0.023262) + New Momentum Direction: (0.71276,0.51446,-0.47676) + New Polarization: (-0.60209,0.79745,-0.039617) + *** FresnelRefraction *** +Track (trackID 1107, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.79712,0.33143,-0.50473) + Old Polarization: (-0.45958,0.87518,-0.15113) + New Momentum Direction: (0.57908,0.44749,-0.68148) + New Polarization: (-0.69846,0.70345,-0.13159) + *** FresnelRefraction *** +Track (trackID 1106, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 33 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 35 stacked tracks. +Track (trackID 1293, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.51593,-0.10272,-0.85045) + Old Polarization: (-0.090652,0.98066,-0.17345) + New Momentum Direction: (0.6952,-0.13842,-0.70536) + New Polarization: (0.47704,0.82289,0.30869) + *** FresnelRefraction *** +Track (trackID 1292, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.26464,-0.82261,-0.50327) +Old Polarization: (-0.95961,0.17297,0.22188) +New Polarization: (-0.76222,0.29123,0.38418) +Polarization Change: (-0.84515,0.32291,0.42598) +New Momentum Direction: (0.15038,-0.55794,0.7213) +Momentum Change: (0.16271,-0.60369,0.78044) + Photon at Boundary! + Old Momentum Direction: (0.16271,-0.60369,0.78044) + Old Polarization: (-0.84515,0.32291,0.42598) + New Momentum Direction: (0.16271,0.60369,0.78044) + New Polarization: (0.84515,0.32291,-0.42598) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.16271,0.60369,0.78044) + Old Polarization: (0.84515,0.32291,-0.42598) + New Momentum Direction: (0.22127,0.82099,0.52632) + New Polarization: (0.68646,0.25222,-0.68202) + *** FresnelRefraction *** +Track (trackID 1291, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.85623,-0.14034,-0.49716) + Old Polarization: (0.285,0.93101,0.22803) + New Momentum Direction: (0.7132,-0.19042,-0.6746) + New Polarization: (-0.47533,0.57594,-0.6651) + *** FresnelRefraction *** +Track (trackID 1290, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.81422,-0.57616,0.071297) + Old Polarization: (0.23984,0.44566,0.86248) + New Momentum Direction: (-0.81422,-0.57616,0.071297) + New Polarization: (0.012604,-0.14032,-0.99003) + *** FresnelReflection *** +Scattering Photon! +Old Momentum Direction: (-0.81422,-0.57616,0.071297) +Old Polarization: (0.012604,-0.14032,-0.99003) +New Polarization: (-0.26943,-0.28854,-0.78935) +Polarization Change: (-0.30528,-0.32693,-0.89438) +New Momentum Direction: (0.21086,0.79749,-0.36349) +Momentum Change: (0.23392,0.88469,-0.40323) + Photon at Boundary! + Old Momentum Direction: (0.23392,0.88469,-0.40323) + Old Polarization: (-0.30528,-0.32693,-0.89438) + New Momentum Direction: (-0.23392,0.88469,-0.40323) + New Polarization: (-0.30528,0.32693,0.89438) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.23392,0.88469,-0.40323) + Old Polarization: (-0.30528,0.32693,0.89438) + New Momentum Direction: (-0.31698,0.77521,-0.54641) + New Polarization: (-0.82582,-0.50891,-0.24294) + *** FresnelRefraction *** +Track (trackID 1289, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58805,-0.78964,0.17511) + Old Polarization: (-0.012828,0.20736,0.97818) + New Momentum Direction: (0.79698,-0.55543,0.23732) + New Polarization: (-0.010984,0.37952,0.92512) + *** FresnelRefraction *** +Track (trackID 1288, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1287, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.51684,-0.094565,-0.85084) + Old Polarization: (-0.092937,0.98181,-0.16558) + New Momentum Direction: (0.7014,-0.12833,-0.70112) + New Polarization: (0.45354,0.83919,0.30011) + *** FresnelRefraction *** +Track (trackID 1286, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92624,-0.27258,-0.26035) + Old Polarization: (0.37029,0.78711,0.49329) + New Momentum Direction: (0.86079,-0.36805,-0.35154) + New Polarization: (-0.50408,-0.52114,-0.6887) + *** FresnelRefraction *** +Track (trackID 1285, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.19841,-0.93651,-0.28911) + Old Polarization: (-0.88709,0.046153,0.45928) + New Momentum Direction: (-0.26965,-0.87915,-0.39292) + New Polarization: (-0.90033,0.08542,0.42674) + *** FresnelRefraction *** +Track (trackID 1284, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.12499,-0.25734,-0.9582) + Old Polarization: (-0.52861,0.80002,-0.28381) + New Momentum Direction: (0.16977,-0.34954,-0.92141) + New Polarization: (0.31761,-0.86569,0.38692) + *** FresnelRefraction *** +Track (trackID 1283, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1282, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.54376,-0.82043,0.17671) + Old Polarization: (-0.06103,0.17135,0.98332) + New Momentum Direction: (0.73522,-0.63432,0.23893) + New Polarization: (-0.039191,0.31213,0.94923) + *** FresnelRefraction *** +Track (trackID 1281, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50522,-0.84556,0.17256) + Old Polarization: (-0.1024,0.13981,0.98487) + New Momentum Direction: (0.68018,-0.69526,0.23232) + New Polarization: (-0.070992,0.25296,0.96487) + *** FresnelRefraction *** +Track (trackID 1280, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68842,-0.083046,-0.72054) + Old Polarization: (0.098277,0.99494,-0.020775) + New Momentum Direction: (0.934,-0.11267,-0.33905) + New Polarization: (0.13489,0.98994,0.042624) + *** FresnelRefraction *** +Track (trackID 1279, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.080125,-0.98966,-0.11898) + Old Polarization: (-0.75945,-0.016703,0.65035) + New Momentum Direction: (-0.10852,-0.98095,-0.16115) + New Polarization: (-0.90521,0.030506,0.42388) + *** FresnelRefraction *** +Track (trackID 1278, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.26481,-0.77388,-0.57531) + Old Polarization: (-0.96408,0.22528,0.14072) + New Momentum Direction: (-0.35909,-0.51228,-0.78014) + New Polarization: (-0.8994,0.4132,0.14265) + *** FresnelRefraction *** +Track (trackID 1277, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1276, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1275, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41391,-0.12504,-0.90169) + Old Polarization: (-0.20676,0.95172,-0.22688) + New Momentum Direction: (0.55966,-0.16907,-0.8113) + New Polarization: (0.72256,0.57894,0.3778) + *** FresnelRefraction *** +Track (trackID 1274, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93065,-0.28974,-0.22348) + Old Polarization: (0.36554,0.7637,0.5321) + New Momentum Direction: (0.86759,-0.39376,-0.30371) + New Polarization: (-0.49701,-0.66655,-0.5556) + *** FresnelRefraction *** +Track (trackID 1273, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1272, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1271, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.13062,-0.98929,0.065184) + Old Polarization: (-0.52224,-0.01277,0.8527) + New Momentum Direction: (0.17747,-0.98013,0.08856) + New Polarization: (-0.33933,0.023528,0.94037) + *** FresnelRefraction *** +Track (trackID 1270, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.13498,-0.25499,-0.95748) + Old Polarization: (-0.51909,0.80491,-0.28753) + New Momentum Direction: (0.18276,-0.34525,-0.92055) + New Polarization: (0.37647,-0.84038,0.38992) + *** FresnelRefraction *** +Track (trackID 1269, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.21565,-0.9172,-0.33503) + Old Polarization: (-0.91035,0.064737,0.40873) + New Momentum Direction: (-0.29219,-0.84175,-0.45395) + New Polarization: (-0.92062,0.11902,0.37188) + *** FresnelRefraction *** +Track (trackID 1268, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.23858,-0.96382,0.11886) + Old Polarization: (-0.4029,0.013128,0.91515) + New Momentum Direction: (0.32341,-0.93244,0.16113) + New Polarization: (-0.38899,0.024219,0.92092) + *** FresnelRefraction *** +Track (trackID 1267, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.90833,-0.21142,-0.36088) + Old Polarization: (0.35027,0.85605,0.38012) + New Momentum Direction: (0.8253,-0.28544,-0.48724) + New Polarization: (-0.50978,-0.0054576,-0.86029) + *** FresnelRefraction *** +Track (trackID 1266, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.095851,-0.98675,-0.13093) + Old Polarization: (-0.77287,-0.0091127,0.6345) + New Momentum Direction: (-0.13032,-0.97536,-0.17801) + New Polarization: (-0.84854,0.016853,0.52887) + *** FresnelRefraction *** +Track (trackID 1265, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.2602,-0.95829,0.11825) + Old Polarization: (-0.38028,0.01086,0.92481) + New Momentum Direction: (0.34992,-0.92318,0.15902) + New Polarization: (-0.37002,0.019735,0.92881) + *** FresnelRefraction *** +Track (trackID 1264, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.20339,-0.9734,0.10549) +Old Polarization: (-0.4414,0.0050139,0.89729) +New Polarization: (-0.59479,-0.00035445,0.68425) +Polarization Change: (-0.65605,-0.00039096,0.75472) +New Momentum Direction: (-0.16019,0.97232,-0.13874) +Momentum Change: (-0.16097,0.97706,-0.13942) + Photon at Boundary! + Old Momentum Direction: (-0.16097,0.97706,-0.13942) + Old Polarization: (-0.65605,-0.00039096,0.75472) + New Momentum Direction: (-0.21872,0.95722,-0.18944) + New Polarization: (-0.6565,-0.00072408,0.75433) + *** FresnelRefraction *** + Photon at Boundary! + Old Momentum Direction: (-0.21872,0.95722,-0.18944) + Old Polarization: (-0.6565,-0.00072408,0.75433) + New Momentum Direction: (-0.16097,0.70447,-0.69124) + New Polarization: (-0.7836,0.33459,0.52347) + *** FresnelRefraction *** + Photon at Boundary! + Old Momentum Direction: (-0.16097,0.70447,-0.69124) + Old Polarization: (-0.7836,0.33459,0.52347) + New Momentum Direction: (-0.21872,0.26451,-0.93925) + New Polarization: (-0.78634,-0.61773,0.0091529) + *** FresnelRefraction *** +Track (trackID 1263, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92242,-0.35124,-0.16056) + Old Polarization: (0.37272,0.70077,0.60827) + New Momentum Direction: (0.85468,-0.47216,-0.21584) + New Polarization: (-0.50911,-0.84366,-0.17044) + *** FresnelRefraction *** +Track (trackID 1262, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.26561,-0.74998,-0.60579) + Old Polarization: (-0.96136,0.25319,0.10805) + New Momentum Direction: (-0.36105,-0.43765,-0.82347) + New Polarization: (-0.87332,0.46836,0.13399) + *** FresnelRefraction *** +Track (trackID 1261, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.037289,-0.9993,-0.0037047) + Old Polarization: (-0.62741,-0.026297,0.77825) + New Momentum Direction: (0.050554,-0.99871,-0.0050227) + New Polarization: (0.8548,0.040668,0.51736) + *** FresnelRefraction *** +Track (trackID 1260, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 124 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 125 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70996,-0.6731,0.20709) + Old Polarization: (0.078407,0.36779,0.9266) + New Momentum Direction: (0.28732,-0.91549,0.28167) + New Polarization: (-0.16369,0.24281,0.95616) + *** FresnelRefraction *** +Track (trackID 1417, parentID 1) is processed with stopping code 2 +### pop requested out of 124 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.91811,-0.39497,-0.032681) +Old Polarization: (0.31536,0.67813,0.66385) +New Polarization: (0.48625,0.71642,-0.31624) +Polarization Change: (0.5275,0.7772,-0.34307) +New Momentum Direction: (0.68879,-0.18511,0.63973) +Momentum Change: (0.71891,-0.1932,0.66771) + Photon at Boundary! + Old Momentum Direction: (0.71891,-0.1932,0.66771) + Old Polarization: (0.5275,0.7772,-0.34307) + New Momentum Direction: (0.33725,-0.26166,0.90432) + New Polarization: (-0.8185,0.39308,0.41898) + *** FresnelRefraction *** +Track (trackID 1416, parentID 1) is processed with stopping code 2 +### pop requested out of 123 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50437,-0.82792,0.24526) + Old Polarization: (-0.1497,0.1959,0.96913) + New Momentum Direction: (0.68592,-0.64674,0.33354) + New Polarization: (-0.1161,0.35522,0.92754) + *** FresnelRefraction *** +Track (trackID 1415, parentID 1) is processed with stopping code 2 +### pop requested out of 122 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58551,-0.13308,-0.79967) + Old Polarization: (-0.053811,0.97788,-0.20214) + New Momentum Direction: (0.78838,-0.17919,-0.58851) + New Polarization: (0.45604,0.8123,0.36359) + *** FresnelRefraction *** +Track (trackID 1414, parentID 1) is processed with stopping code 2 +### pop requested out of 121 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.027098,-0.40953,-0.9119) + Old Polarization: (-0.68041,0.66074,-0.31695) + New Momentum Direction: (0.036809,-0.55629,-0.83018) + New Polarization: (-0.46445,-0.74509,0.47868) + *** FresnelRefraction *** +Track (trackID 1413, parentID 1) is processed with stopping code 2 +### pop requested out of 120 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.20294,-0.96643,0.15753) + Old Polarization: (-0.48485,0.040596,0.87365) + New Momentum Direction: (0.27557,-0.93718,0.21391) + New Polarization: (-0.44118,0.074407,0.89433) + *** FresnelRefraction *** +Track (trackID 1412, parentID 1) is processed with stopping code 2 +### pop requested out of 119 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.23217,-0.83499,-0.49888) + Old Polarization: (-0.97233,0.18563,0.14181) + New Momentum Direction: (-0.31465,-0.66624,-0.67611) + New Polarization: (-0.93633,0.33479,0.10585) + *** FresnelRefraction *** +Track (trackID 1411, parentID 1) is processed with stopping code 2 +### pop requested out of 118 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.90449,-0.17929,-0.38698) + Old Polarization: (0.2961,0.91702,0.26722) + New Momentum Direction: (0.81511,-0.24353,-0.52563) + New Polarization: (-0.46316,0.27103,-0.84382) + *** FresnelRefraction *** +Track (trackID 1410, parentID 1) is processed with stopping code 2 +### pop requested out of 117 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1409, parentID 1) is processed with stopping code 2 +### pop requested out of 116 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.23278,-0.7927,-0.56342) + Old Polarization: (-0.96957,0.23434,0.070881) + New Momentum Direction: (-0.31621,-0.56055,-0.76537) + New Polarization: (-0.90351,0.42393,0.062803) + *** FresnelRefraction *** +Track (trackID 1408, parentID 1) is processed with stopping code 2 +### pop requested out of 115 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.22723,-0.78916,-0.57061) + Old Polarization: (-0.96996,0.23564,0.060369) + New Momentum Direction: (-0.30729,-0.55689,-0.77165) + New Polarization: (-0.90449,0.42294,0.054966) + *** FresnelRefraction *** +Track (trackID 1407, parentID 1) is processed with stopping code 2 +### pop requested out of 114 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.049455,-0.99736,0.053202) +Old Polarization: (-0.65463,0.0078612,0.75591) +New Polarization: (-0.5792,-0.48461,0.42417) +Polarization Change: (-0.6687,-0.55948,0.48971) +New Momentum Direction: (-0.25463,-0.35288,-0.75084) +Momentum Change: (-0.29341,-0.40662,-0.8652) + Photon at Boundary! + Old Momentum Direction: (-0.29341,-0.40662,-0.8652) + Old Polarization: (-0.6687,-0.55948,0.48971) + New Momentum Direction: (-0.39903,-0.553,-0.73141) + New Polarization: (-0.54908,-0.49473,0.67361) + *** FresnelRefraction *** +Track (trackID 1406, parentID 1) is processed with stopping code 2 +### pop requested out of 113 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1405, parentID 1) is processed with stopping code 2 +### pop requested out of 112 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68096,-0.70267,0.20628) + Old Polarization: (0.05585,0.33069,0.94208) + New Momentum Direction: (0.9155,-0.29146,0.27733) + New Polarization: (-0.052861,0.59621,0.80109) + *** FresnelRefraction *** +Track (trackID 1404, parentID 1) is processed with stopping code 2 +### pop requested out of 111 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74908,-0.116,-0.65224) + Old Polarization: (0.12672,0.99146,-0.030795) + New Momentum Direction: (0.44286,-0.15699,-0.88274) + New Polarization: (-0.24567,0.92562,-0.28787) + *** FresnelRefraction *** +Track (trackID 1403, parentID 1) is processed with stopping code 2 +### pop requested out of 110 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93577,-0.33187,-0.11919) + Old Polarization: (0.33839,0.75008,0.56822) + New Momentum Direction: (0.87916,-0.44848,-0.16107) + New Polarization: (-0.46589,-0.87996,-0.092832) + *** FresnelRefraction *** +Track (trackID 1402, parentID 1) is processed with stopping code 2 +### pop requested out of 109 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.23307,-0.82833,-0.50946) +Old Polarization: (-0.97241,0.19352,0.13024) +New Polarization: (-0.90029,0.04191,0.21871) +Polarization Change: (-0.97074,0.045189,0.23582) +New Momentum Direction: (0.13415,-0.66397,0.67945) +Momentum Change: (0.13982,-0.69205,0.70818) + Photon at Boundary! + Old Momentum Direction: (0.13982,-0.69205,0.70818) + Old Polarization: (-0.97074,0.045189,0.23582) + New Momentum Direction: (0.13982,0.69205,0.70818) + New Polarization: (0.9746,0.030152,-0.22189) + *** FresnelReflection *** +Scattering Photon! +Old Momentum Direction: (0.13982,0.69205,0.70818) +Old Polarization: (0.9746,0.030152,-0.22189) +New Polarization: (0.2832,0.38143,-0.77926) +Polarization Change: (0.31031,0.41793,-0.85384) +New Momentum Direction: (0.13152,-0.86034,-0.37332) +Momentum Change: (0.13888,-0.90847,-0.3942) + Photon at Boundary! + Old Momentum Direction: (0.13888,-0.90847,-0.3942) + Old Polarization: (0.31031,0.41793,-0.85384) + New Momentum Direction: (0.18833,-0.82387,-0.53457) + New Polarization: (0.27989,0.56677,-0.77488) + *** FresnelRefraction *** +Track (trackID 1401, parentID 1) is processed with stopping code 2 +### pop requested out of 108 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.57842,-0.12566,-0.806) + Old Polarization: (-0.066393,0.97753,-0.20005) + New Momentum Direction: (0.78505,-0.17056,-0.59548) + New Polarization: (0.45354,0.81304,0.36505) + *** FresnelRefraction *** +Track (trackID 1400, parentID 1) is processed with stopping code 2 +### pop requested out of 107 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.20632,-0.96691,0.15008) + Old Polarization: (-0.48384,0.032506,0.87455) + New Momentum Direction: (0.27812,-0.939,0.20231) + New Polarization: (-0.44944,0.05893,0.89136) + *** FresnelRefraction *** +Track (trackID 1399, parentID 1) is processed with stopping code 2 +### pop requested out of 106 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1398, parentID 1) is processed with stopping code 2 +### pop requested out of 105 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.17576,-0.9473,-0.26782) + Old Polarization: (-0.91432,0.056251,0.40107) + New Momentum Direction: (-0.2373,-0.90163,-0.36159) + New Polarization: (-0.92911,0.10197,0.35548) + *** FresnelRefraction *** +Track (trackID 1397, parentID 1) is processed with stopping code 2 +### pop requested out of 104 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.080253,-0.99389,0.075781) + Old Polarization: (-0.62183,0.0094984,0.7831) + New Momentum Direction: (0.10892,-0.98871,0.10285) + New Polarization: (-0.59812,0.017456,0.80122) + *** FresnelRefraction *** +Track (trackID 1396, parentID 1) is processed with stopping code 2 ### pop requested out of 103 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88952,-0.45689,0.00048713) - Old Polarization: (-0.43523,-0.84702,0.30518) - New Momentum Direction: (0.78456,-0.62006,0.00066109) - New Polarization: (-0.60415,-0.7642,0.22583) + Old Momentum Direction: (0.90584,-0.18063,-0.38318) + Old Polarization: (0.29736,0.91536,0.27146) + New Momentum Direction: (0.8178,-0.24539,-0.52056) + New Polarization: (-0.46364,0.25493,-0.84856) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 949, parentID 637) is processed with stopping code 2 +Track (trackID 1395, parentID 1) is processed with stopping code 2 ### pop requested out of 102 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 948, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.77838,-0.11831,-0.61655) + Old Polarization: (0.15813,0.98737,0.010174) + New Momentum Direction: (0.52547,-0.16034,-0.83557) + New Polarization: (-0.29804,0.88517,-0.35729) + *** FresnelRefraction *** +Track (trackID 1394, parentID 1) is processed with stopping code 2 ### pop requested out of 101 stacked tracks. -** Photon Absorbed! ** -Track (trackID 947, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1393, parentID 1) is processed with stopping code 2 ### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57915,0.34542,-0.73842) - Old Polarization: (-0.80637,0.10964,-0.58116) - New Momentum Direction: (0.78247,0.46669,-0.41225) - New Polarization: (0.13837,0.51518,0.84584) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 946, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1392, parentID 1) is processed with stopping code 2 ### pop requested out of 99 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.55576,0.60221,-0.57313) - Old Polarization: (-0.83129,0.41032,-0.37495) - New Momentum Direction: (0.55576,-0.60221,-0.57313) - New Polarization: (0.83129,0.41032,0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.55576,-0.60221,-0.57313) - Old Polarization: (0.83129,0.41032,0.37495) - New Momentum Direction: (0.55576,-0.60221,0.57313) - New Polarization: (-0.83129,-0.41032,0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.55576,-0.60221,0.57313) - Old Polarization: (-0.83129,-0.41032,0.37495) - New Momentum Direction: (-0.55576,-0.60221,0.57313) - New Polarization: (-0.83129,0.41032,-0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.55576,-0.60221,0.57313) - Old Polarization: (-0.83129,0.41032,-0.37495) - New Momentum Direction: (-0.55576,0.60221,0.57313) - New Polarization: (0.83129,0.41032,0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.55576,0.60221,0.57313) - Old Polarization: (0.83129,0.41032,0.37495) - New Momentum Direction: (-0.55576,0.60221,-0.57313) - New Polarization: (-0.83129,-0.41032,0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.55576,0.60221,-0.57313) - Old Polarization: (-0.83129,-0.41032,0.37495) - New Momentum Direction: (0.55576,0.60221,-0.57313) - New Polarization: (-0.83129,0.41032,-0.37495) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 945, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.31023,-0.92964,0.19881) + Old Polarization: (-0.36599,0.076214,0.92749) + New Momentum Direction: (0.41887,-0.86746,0.26843) + New Polarization: (-0.31604,0.13786,0.93868) + *** FresnelRefraction *** +Track (trackID 1391, parentID 1) is processed with stopping code 2 ### pop requested out of 98 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79748,0.43433,0.41878) - Old Polarization: (-0.54382,0.21687,0.81069) - New Momentum Direction: (0.57973,0.58656,0.56556) - New Polarization: (-0.77158,0.17213,0.6124) + Old Momentum Direction: (0.94086,-0.29333,-0.16955) + Old Polarization: (0.33845,0.79093,0.50979) + New Momentum Direction: (0.88812,-0.39791,-0.23) + New Polarization: (-0.45935,-0.78515,-0.41537) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 944, parentID 637) is processed with stopping code 2 +Track (trackID 1390, parentID 1) is processed with stopping code 2 ### pop requested out of 97 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 943, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.62273,-0.74653,0.23429) + Old Polarization: (-0.017779,0.28586,0.95811) + New Momentum Direction: (0.84621,-0.42729,0.31837) + New Polarization: (-0.058307,0.51964,0.85239) + *** FresnelRefraction *** +Track (trackID 1389, parentID 1) is processed with stopping code 2 ### pop requested out of 96 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.56188,0.68652,-0.46149) - Old Polarization: (-0.82435,0.51114,-0.24328) - New Momentum Direction: (0.56188,-0.68652,-0.46149) - New Polarization: (0.19871,-0.42953,0.88092) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.56188,-0.68652,-0.46149) - Old Polarization: (0.19871,-0.42953,0.88092) - New Momentum Direction: (-0.56188,-0.68652,-0.46149) - New Polarization: (0.19871,0.42953,-0.88092) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56188,-0.68652,-0.46149) - Old Polarization: (0.19871,0.42953,-0.88092) - New Momentum Direction: (-0.56188,-0.68652,0.46149) - New Polarization: (-0.19871,-0.42953,-0.88092) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 942, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (-0.044397,-0.9978,-0.049157) + Old Polarization: (-0.76349,0.0021549,0.64581) + New Momentum Direction: (-0.060095,-0.99597,-0.06654) + New Polarization: (-0.7708,0.0039476,0.63706) + *** FresnelRefraction *** +Track (trackID 1388, parentID 1) is processed with stopping code 2 ### pop requested out of 95 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.66171,0.74417,0.091353) -Old Polarization: (-0.70561,0.57691,0.41146) -New Polarization: (-0.74859,0.35779,0.39063) -Polarization Change: (-0.8163,0.39015,0.42596) -New Momentum Direction: (-0.54854,-0.46175,-0.62827) -Momentum Change: (-0.5754,-0.48436,-0.65903) - -** Photon Absorbed! ** -Track (trackID 941, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.94079,-0.29164,-0.17279) + Old Polarization: (0.33881,0.79301,0.5063) + New Momentum Direction: (0.88807,-0.39551,-0.23433) + New Polarization: (-0.45959,-0.77552,-0.43283) + *** FresnelRefraction *** +Track (trackID 1387, parentID 1) is processed with stopping code 2 ### pop requested out of 94 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.83478,0.27879,0.47478) - Old Polarization: (-0.501,0.026995,0.86502) - New Momentum Direction: (0.66261,0.37924,0.64585) - New Polarization: (-0.71261,0.053811,0.6995) + Old Momentum Direction: (0.042326,-0.39682,-0.91692) + Old Polarization: (-0.66357,0.67493,-0.32272) + New Momentum Direction: (0.057486,-0.53896,-0.84037) + New Polarization: (-0.38584,-0.78835,0.4792) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 940, parentID 637) is processed with stopping code 2 +Track (trackID 1386, parentID 1) is processed with stopping code 2 ### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91286,-0.20561,0.35272) - Old Polarization: (-0.40582,-0.55153,0.72878) - New Momentum Direction: (0.83366,-0.27814,0.47713) - New Polarization: (-0.55051,-0.48765,0.67759) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 939, parentID 637) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. -** Photon Absorbed! ** -Track (trackID 938, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1385, parentID 1) is processed with stopping code 2 +### pop requested out of 92 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.54827,-0.79959,0.24508) + Old Polarization: (-0.10111,0.22752,0.96851) + New Momentum Direction: (0.74583,-0.57671,0.33339) + New Polarization: (-0.086332,0.41258,0.90682) + *** FresnelRefraction *** +Track (trackID 1384, parentID 1) is processed with stopping code 2 ### pop requested out of 91 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.8209,0.34496,0.45512) - Old Polarization: (-0.51631,0.10776,0.84959) - New Momentum Direction: (0.63399,0.46714,0.61631) - New Polarization: (-0.73311,0.10935,0.67126) + Old Momentum Direction: (0.70824,-0.67554,0.20507) + Old Polarization: (0.078796,0.3643,0.92794) + New Momentum Direction: (0.28777,-0.9164,0.27819) + New Polarization: (-0.1634,0.23924,0.95711) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 937, parentID 637) is processed with stopping code 2 +Track (trackID 1383, parentID 1) is processed with stopping code 2 ### pop requested out of 90 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.57664,0.39535,-0.71497) - Old Polarization: (-0.81112,0.17225,-0.55894) - New Momentum Direction: (0.7763,0.53224,-0.33776) - New Polarization: (-0.0047838,0.54077,0.84116) + Old Momentum Direction: (-0.038244,-0.48094,-0.87592) + Old Polarization: (-0.76044,0.58268,-0.28673) + New Momentum Direction: (-0.051569,-0.64852,-0.75945) + New Polarization: (-0.7416,-0.48445,0.46405) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 936, parentID 637) is processed with stopping code 2 +Track (trackID 1382, parentID 1) is processed with stopping code 2 ### pop requested out of 89 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 935, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.22806,-0.85863,-0.45908) + Old Polarization: (-0.96975,0.15815,0.18596) + New Momentum Direction: (-0.30865,-0.72022,-0.62131) + New Polarization: (-0.94815,0.28504,0.1406) + *** FresnelRefraction *** +Track (trackID 1381, parentID 1) is processed with stopping code 2 ### pop requested out of 88 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.72424,0.62953,0.28136) - Old Polarization: (-0.63172,0.4422,0.63671) - New Momentum Direction: (0.34751,0.85607,0.3826) - New Polarization: (-0.90081,0.19149,0.38972) + Old Momentum Direction: (0.074335,-0.99486,0.068831) + Old Polarization: (-0.62951,0.0067195,0.77696) + New Momentum Direction: (0.10073,-0.99053,0.093276) + New Polarization: (-0.61143,0.012325,0.7912) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 934, parentID 637) is processed with stopping code 2 +Track (trackID 1380, parentID 1) is processed with stopping code 2 ### pop requested out of 87 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.91099,-0.1751,0.37342) - Old Polarization: (-0.40799,-0.51509,0.7538) - New Momentum Direction: (0.82996,-0.23683,0.50505) - New Polarization: (-0.5546,-0.44742,0.70159) + Old Momentum Direction: (0.0066252,-0.43939,-0.89827) + Old Polarization: (-0.71055,0.63,-0.3134) + New Momentum Direction: (0.0089249,-0.59191,-0.80595) + New Polarization: (-0.5733,-0.66339,0.48087) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 933, parentID 637) is processed with stopping code 2 +Track (trackID 1379, parentID 1) is processed with stopping code 2 ### pop requested out of 86 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 932, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.23294,-0.8596,-0.45479) + Old Polarization: (-0.96813,0.16074,0.19207) + New Momentum Direction: (-0.31679,-0.71911,-0.61848) + New Polarization: (-0.9454,0.292,0.14473) + *** FresnelRefraction *** +Track (trackID 1378, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75194,-0.33511,-0.5677) - Old Polarization: (-0.59867,-0.70767,-0.37522) - New Momentum Direction: (0.45366,-0.45302,-0.76744) - New Polarization: (-0.84959,-0.47985,-0.21896) + Old Momentum Direction: (0.93473,-0.2541,-0.24843) + Old Polarization: (0.34072,0.83948,0.42331) + New Momentum Direction: (0.87775,-0.34259,-0.33494) + New Polarization: (-0.46814,-0.46448,-0.75173) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 931, parentID 637) is processed with stopping code 2 +Track (trackID 1377, parentID 1) is processed with stopping code 2 ### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65435,-0.054413,-0.75423) - Old Polarization: (-0.71509,-0.36888,-0.59378) - New Momentum Direction: (0.65435,-0.054413,0.75423) - New Polarization: (-0.28996,0.90311,0.31672) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65435,-0.054413,0.75423) - Old Polarization: (-0.28996,0.90311,0.31672) - New Momentum Direction: (-0.65435,-0.054413,0.75423) - New Polarization: (-0.28996,-0.90311,-0.31672) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65435,-0.054413,0.75423) - Old Polarization: (-0.28996,-0.90311,-0.31672) - New Momentum Direction: (-0.88728,-0.073783,0.45529) - New Polarization: (-0.21986,-0.80009,-0.55813) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 930, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1376, parentID 1) is processed with stopping code 2 ### pop requested out of 83 stacked tracks. -** Photon Absorbed! ** -Track (trackID 929, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1375, parentID 1) is processed with stopping code 2 ### pop requested out of 82 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 928, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.56163,-0.79094,0.24288) + Old Polarization: (-0.085654,0.23639,0.96788) + New Momentum Direction: (0.76305,-0.55575,0.32999) + New Polarization: (-0.07787,0.42779,0.90052) + *** FresnelRefraction *** +Track (trackID 1374, parentID 1) is processed with stopping code 2 ### pop requested out of 81 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.71887,-0.26401,-0.64306) - Old Polarization: (-0.63816,-0.61745,-0.4599) - New Momentum Direction: (0.33128,-0.35834,-0.87284) - New Polarization: (-0.90752,-0.37415,-0.19083) + Old Momentum Direction: (0.79598,-0.58698,0.14788) + Old Polarization: (0.18013,0.46291,0.86791) + New Momentum Direction: (0.57427,-0.79386,0.2) + New Polarization: (-0.33127,-0.0019332,0.94353) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 927, parentID 637) is processed with stopping code 2 +Track (trackID 1373, parentID 1) is processed with stopping code 2 ### pop requested out of 80 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78039,-0.40588,-0.47566) - Old Polarization: (-0.56527,-0.78313,-0.25917) - New Momentum Direction: (0.52629,-0.55193,-0.64683) - New Polarization: (-0.80802,-0.56153,-0.17829) + Old Momentum Direction: (-0.1254,-0.97883,-0.16175) + Old Polarization: (-0.85418,0.023596,0.51944) + New Momentum Direction: (-0.16977,-0.96085,-0.21898) + New Polarization: (-0.87231,0.043126,0.48706) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 926, parentID 637) is processed with stopping code 2 +Track (trackID 1372, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.56675,0.53988,-0.62235) - Old Polarization: (-0.82351,0.34843,-0.44769) - New Momentum Direction: (0.56675,0.53988,0.62235) - New Polarization: (0.82351,-0.34843,-0.44769) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.56675,0.53988,0.62235) - Old Polarization: (0.82351,-0.34843,-0.44769) - New Momentum Direction: (-0.56675,0.53988,0.62235) - New Polarization: (0.82351,0.34843,0.44769) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56675,0.53988,0.62235) - Old Polarization: (0.82351,0.34843,0.44769) - New Momentum Direction: (-0.56675,-0.53988,0.62235) - New Polarization: (-0.82351,0.34843,-0.44769) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 925, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (-0.056835,-0.99655,-0.060424) + Old Polarization: (-0.77524,0.0059158,0.63163) + New Momentum Direction: (-0.077096,-0.99365,-0.081964) + New Polarization: (-0.79075,0.010867,0.61205) + *** FresnelRefraction *** +Track (trackID 1371, parentID 1) is processed with stopping code 2 ### pop requested out of 78 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68782,-0.16786,-0.70621) - Old Polarization: (-0.67532,-0.50475,-0.53775) - New Momentum Direction: (0.93197,-0.22745,-0.28232) - New Polarization: (0.12468,-0.53015,0.83869) + Old Momentum Direction: (-0.1449,-0.97025,-0.19398) + Old Polarization: (-0.87497,0.034113,0.48298) + New Momentum Direction: (-0.19634,-0.94465,-0.26283) + New Polarization: (-0.894,0.062356,0.4437) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 924, parentID 637) is processed with stopping code 2 +Track (trackID 1370, parentID 1) is processed with stopping code 2 ### pop requested out of 77 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.57369,0.70627,-0.4148) - Old Polarization: (-0.81411,0.54736,-0.19397) - New Momentum Direction: (0.77324,0.29921,-0.55908) - New Polarization: (-0.064902,-0.83971,-0.53915) + Old Momentum Direction: (0.0015575,-0.44688,-0.89459) + Old Polarization: (-0.7181,0.62208,-0.312) + New Momentum Direction: (0.0020941,-0.60083,-0.79938) + New Polarization: (-0.59787,-0.64153,0.48062) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 923, parentID 637) is processed with stopping code 2 +Track (trackID 1369, parentID 1) is processed with stopping code 2 ### pop requested out of 76 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 922, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.53661,-0.13825,-0.83243) + Old Polarization: (-0.11186,0.96613,-0.23256) + New Momentum Direction: (0.72649,-0.18717,-0.66119) + New Polarization: (0.55754,0.72299,0.40795) + *** FresnelRefraction *** +Track (trackID 1368, parentID 1) is processed with stopping code 2 ### pop requested out of 75 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 921, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.22343,-0.88053,-0.41802) + Old Polarization: (-0.96337,0.13423,0.23217) + New Momentum Direction: (-0.30263,-0.76671,-0.5662) + New Polarization: (-0.95311,0.24271,0.18077) + *** FresnelRefraction *** +Track (trackID 1367, parentID 1) is processed with stopping code 2 ### pop requested out of 74 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.90978,-0.37843,0.17056) - Old Polarization: (-0.41018,-0.75661,0.5092) - New Momentum Direction: (0.82697,-0.51259,0.23103) - New Polarization: (-0.5587,-0.70306,0.43996) + Old Momentum Direction: (-0.11527,-0.98101,-0.15599) + Old Polarization: (-0.84886,0.01572,0.52838) + New Momentum Direction: (-0.15527,-0.96527,-0.21013) + New Polarization: (-0.86206,0.028516,0.506) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 920, parentID 637) is processed with stopping code 2 +Track (trackID 1366, parentID 1) is processed with stopping code 2 ### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56099,0.45408,-0.69218) - Old Polarization: (-0.82472,0.2342,-0.51477) - New Momentum Direction: (0.76317,0.61773,-0.18968) - New Polarization: (-0.2003,0.50522,0.83943) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 919, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1365, parentID 1) is processed with stopping code 2 ### pop requested out of 72 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88921,-0.0033382,0.4575) - Old Polarization: (-0.43633,-0.30694,0.84582) - New Momentum Direction: (0.7831,-0.0045378,0.62188) - New Polarization: (-0.6064,-0.22745,0.76194) + Old Momentum Direction: (0.56567,-0.13137,-0.8141) + Old Polarization: (-0.079188,0.97401,-0.2122) + New Momentum Direction: (0.76572,-0.17783,-0.6181) + New Polarization: (0.48954,0.78445,0.38077) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 918, parentID 637) is processed with stopping code 2 +Track (trackID 1364, parentID 1) is processed with stopping code 2 ### pop requested out of 71 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 917, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.30709,-0.22475,-0.92476) + Old Polarization: (-0.36898,0.86759,-0.33339) + New Momentum Direction: (0.41653,-0.30485,-0.85649) + New Polarization: (0.86134,-0.16906,0.47907) + *** FresnelRefraction *** +Track (trackID 1363, parentID 1) is processed with stopping code 2 ### pop requested out of 70 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 916, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.64903,-0.72685,0.22459) + Old Polarization: (0.01378,0.3064,0.9518) + New Momentum Direction: (0.87919,-0.3667,0.30423) + New Polarization: (-0.05498,0.55618,0.82924) + *** FresnelRefraction *** +Track (trackID 1362, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 915, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.12279,-0.98792,0.094559) + Old Polarization: (-0.57995,0.0058903,0.81463) + New Momentum Direction: (0.1651,-0.97805,0.12715) + New Polarization: (-0.56971,0.010659,0.82178) + *** FresnelRefraction *** +Track (trackID 1361, parentID 1) is processed with stopping code 2 ### pop requested out of 68 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88918,-0.45755,-0.0042698) - Old Polarization: (-0.43537,-0.84887,0.29978) - New Momentum Direction: (0.78414,-0.62056,-0.005791) - New Polarization: (-0.60427,-0.76562,0.22066) + Old Momentum Direction: (0.75471,-0.11447,-0.64599) + Old Polarization: (0.13116,0.99111,-0.022389) + New Momentum Direction: (0.45683,-0.15521,-0.87591) + New Polarization: (-0.25404,0.92089,-0.29568) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 914, parentID 637) is processed with stopping code 2 +Track (trackID 1360, parentID 1) is processed with stopping code 2 ### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56656,0.43445,-0.70019) - Old Polarization: (-0.82008,0.21429,-0.53061) - New Momentum Direction: (0.76765,0.58865,-0.2534) - New Polarization: (-0.12984,0.53006,0.83796) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 913, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1359, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.55692,0.57647,-0.59793) - Old Polarization: (-0.83055,0.38135,-0.40592) - New Momentum Direction: (0.55692,0.57647,0.59793) - New Polarization: (0.83055,-0.38135,-0.40592) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.55692,0.57647,0.59793) - Old Polarization: (0.83055,-0.38135,-0.40592) - New Momentum Direction: (0.55692,-0.57647,0.59793) - New Polarization: (-0.83055,-0.38135,0.40592) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.55692,-0.57647,0.59793) - Old Polarization: (-0.83055,-0.38135,0.40592) - New Momentum Direction: (-0.55692,-0.57647,0.59793) - New Polarization: (-0.83055,0.38135,-0.40592) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 912, parentID 637) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68065,-0.12455,-0.72195) - Old Polarization: (-0.68491,-0.45795,-0.56672) - New Momentum Direction: (0.91668,-0.16775,-0.36271) - New Polarization: (0.24592,-0.47864,0.84287) + Old Momentum Direction: (-0.20591,-0.71476,-0.66837) + Old Polarization: (-0.94639,0.31917,-0.049752) + New Momentum Direction: (-0.27839,-0.32554,-0.90362) + New Polarization: (-0.81388,0.57951,0.041968) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 911, parentID 637) is processed with stopping code 2 +Track (trackID 1358, parentID 1) is processed with stopping code 2 +### pop requested out of 65 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1357, parentID 1) is processed with stopping code 2 ### pop requested out of 64 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.87119,-0.47678,-0.11706) - Old Polarization: (-0.45624,-0.87432,0.16559) - New Momentum Direction: (0.74692,-0.64573,-0.15854) - New Polarization: (-0.63916,-0.763,0.096442) + Old Momentum Direction: (0.85889,-0.1421,-0.49205) + Old Polarization: (0.24467,0.95786,0.15046) + New Momentum Direction: (0.71801,-0.19312,-0.66871) + New Polarization: (-0.42095,0.64464,-0.63815) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 910, parentID 637) is processed with stopping code 2 +Track (trackID 1356, parentID 1) is processed with stopping code 2 ### pop requested out of 63 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.62438,0.10234,-0.77438) - Old Polarization: (-0.75334,-0.18315,-0.63162) - New Momentum Direction: (0.84029,0.13773,-0.52434) - New Polarization: (0.52369,0.04391,0.85078) + Old Momentum Direction: (0.74516,-0.11429,-0.65702) + Old Polarization: (0.12111,0.99201,-0.035209) + New Momentum Direction: (0.42825,-0.15487,-0.89029) + New Polarization: (-0.23676,0.93156,-0.27594) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 909, parentID 637) is processed with stopping code 2 +Track (trackID 1355, parentID 1) is processed with stopping code 2 ### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72909,0.62533,0.2782) - Old Polarization: (-0.6261,0.44519,0.64015) - New Momentum Direction: (0.3792,0.84542,0.37612) - New Polarization: (-0.88699,0.21634,0.40798) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 908, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1354, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.87227,0.10653,0.47728) - Old Polarization: (-0.45571,-0.177,0.87235) - New Momentum Direction: (0.74808,0.14456,0.64767) - New Polarization: (-0.63898,-0.10651,0.76182) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 907, parentID 637) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. + Old Momentum Direction: (-0.21895,-0.75734,-0.61522) + Old Polarization: (-0.96261,0.27073,0.0093095) + New Momentum Direction: (-0.21895,0.75734,-0.61522) + New Polarization: (0.96377,0.069409,-0.25754) + *** FresnelReflection *** Photon at Boundary! - Old Momentum Direction: (0.69862,-0.20314,-0.68605) - Old Polarization: (-0.66235,-0.54624,-0.51274) - New Momentum Direction: (0.24288,-0.27542,-0.93014) - New Polarization: (-0.93878,-0.30824,-0.15386) + Old Momentum Direction: (-0.21895,0.75734,-0.61522) + Old Polarization: (0.96377,0.069409,-0.25754) + New Momentum Direction: (-0.21895,0.75734,0.61522) + New Polarization: (-0.96377,-0.069409,-0.25754) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.21895,0.75734,0.61522) + Old Polarization: (-0.96377,-0.069409,-0.25754) + New Momentum Direction: (-0.29569,0.4714,0.83087) + New Polarization: (-0.95521,-0.13487,-0.26342) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 906, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. +Track (trackID 1353, parentID 1) is processed with stopping code 2 +### pop requested out of 60 stacked tracks. -** Photon Absorbed! ** -Track (trackID 905, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1352, parentID 1) is processed with stopping code 2 +### pop requested out of 59 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.79259,-0.58958,0.15557) + Old Polarization: (0.17148,0.46036,0.87101) + New Momentum Direction: (0.56031,-0.80087,0.21132) + New Polarization: (-0.32035,0.025739,0.94695) + *** FresnelRefraction *** +Track (trackID 1351, parentID 1) is processed with stopping code 2 ### pop requested out of 58 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.85672,0.21192,0.47023) - Old Polarization: (-0.47103,-0.049983,0.8807) - New Momentum Direction: (0.72043,0.28496,0.63229) - New Polarization: (-0.65987,0.0010483,0.75138) + Old Momentum Direction: (-0.15278,-0.61764,-0.77148) + Old Polarization: (-0.88811,0.42823,-0.16696) + New Momentum Direction: (-0.20632,-0.83408,-0.51162) + New Polarization: (-0.94901,0.043213,0.31226) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 904, parentID 637) is processed with stopping code 2 +Track (trackID 1350, parentID 1) is processed with stopping code 2 ### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75044,0.57711,0.32216) - Old Polarization: (-0.60038,0.39137,0.69741) - New Momentum Direction: (0.45458,0.77773,0.43416) - New Polarization: (-0.84891,0.23073,0.47552) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 903, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1349, parentID 1) is processed with stopping code 2 ### pop requested out of 56 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 29 -Track (trackID 637, parentID 1) is processed with stopping code 4 +** Photon absorbed! ** +Track (trackID 1348, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92767,-0.36484,-0.079571) + Old Polarization: (0.33374,0.71448,0.61493) + New Momentum Direction: (0.86423,-0.49154,-0.1072) + New Polarization: (-0.47204,-0.86597,0.16514) + *** FresnelRefraction *** +Track (trackID 1347, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.066805,-0.38122,-0.92207) + Old Polarization: (-0.63863,0.6937,-0.33307) + New Momentum Direction: (0.090444,-0.51612,-0.85173) + New Polarization: (-0.25562,-0.83861,0.48103) + *** FresnelRefraction *** +Track (trackID 1346, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1345, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1344, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.081744,-0.99272,-0.088513) + Old Polarization: (-0.80073,0.012536,0.5989) + New Momentum Direction: (-0.11112,-0.9865,-0.12032) + New Polarization: (-0.82163,0.023082,0.56955) + *** FresnelRefraction *** +Track (trackID 1343, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.89924,-0.18472,-0.39654) + Old Polarization: (0.3014,0.9186,0.25559) + New Momentum Direction: (0.80783,-0.24889,-0.53429) + New Polarization: (-0.46737,0.28183,-0.83794) + *** FresnelRefraction *** +Track (trackID 1342, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.65403,-0.72278,0.22322) + Old Polarization: (0.019352,0.31098,0.95022) + New Momentum Direction: (0.88599,-0.35153,0.30239) + New Polarization: (-0.056577,0.56531,0.82294) + *** FresnelRefraction *** +Track (trackID 1341, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1340, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1339, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1338, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.63323,-0.1172,-0.76504) +Old Polarization: (-0.004709,0.98787,-0.15523) +New Polarization: (0.68761,0.3557,-0.50208) +Polarization Change: (0.7452,0.38549,-0.54413) +New Momentum Direction: (0.63918,-0.42986,0.57085) +Momentum Change: (0.66668,-0.44835,0.59541) + Photon at Boundary! + Old Momentum Direction: (0.66668,-0.44835,0.59541) + Old Polarization: (0.7452,0.38549,-0.54413) + New Momentum Direction: (-0.66668,-0.44835,0.59541) + New Polarization: (0.7452,-0.38549,0.54413) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66668,-0.44835,0.59541) + Old Polarization: (0.7452,-0.38549,0.54413) + New Momentum Direction: (-0.66668,0.44835,0.59541) + New Polarization: (-0.7452,-0.38549,-0.54413) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66668,0.44835,0.59541) + Old Polarization: (-0.7452,-0.38549,-0.54413) + New Momentum Direction: (-0.66668,0.44835,-0.59541) + New Polarization: (0.7452,0.38549,-0.54413) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.66668,0.44835,-0.59541) +Old Polarization: (0.7452,0.38549,-0.54413) +New Polarization: (-0.065508,0.76303,-0.47375) +Polarization Change: (-0.072744,0.84732,-0.52608) +New Momentum Direction: (0.84627,-0.19503,-0.43113) +Momentum Change: (0.87282,-0.20115,-0.44466) + Photon at Boundary! + Old Momentum Direction: (0.87282,-0.20115,-0.44466) + Old Polarization: (-0.072744,0.84732,-0.52608) + New Momentum Direction: (0.74964,-0.27278,-0.60302) + New Polarization: (-0.1355,0.82856,-0.54326) + *** FresnelRefraction *** +Track (trackID 1337, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.14407,-0.59091,-0.79377) +Old Polarization: (-0.86919,0.459,-0.18394) +New Polarization: (-0.8558,0.15832,-0.21689) +Polarization Change: (-0.95413,0.17652,-0.24181) +New Momentum Direction: (-0.15242,0.31869,0.83406) +Momentum Change: (-0.16827,0.35183,0.92081) + +** Photon absorbed! ** +Track (trackID 1336, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.24581,-0.26704,-0.93181) + Old Polarization: (-0.43956,0.82607,-0.3527) + New Momentum Direction: (0.33086,-0.35944,-0.87255) + New Polarization: (0.71116,-0.51281,0.48091) + *** FresnelRefraction *** +Track (trackID 1335, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92784,-0.36809,-0.06021) + Old Polarization: (0.32124,0.7066,0.6305) + New Momentum Direction: (0.86199,-0.50027,-0.081832) + New Polarization: (-0.46581,-0.84538,0.26144) + *** FresnelRefraction *** +Track (trackID 1334, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.067423,-0.9952,-0.070925) + Old Polarization: (-0.78545,0.009109,0.61885) + New Momentum Direction: (-0.091598,-0.99112,-0.096356) + New Polarization: (-0.80508,0.016762,0.59292) + *** FresnelRefraction *** +Track (trackID 1333, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.22009,-0.74145,-0.63389) + Old Polarization: (-0.9567,0.29096,-0.0081609) + New Momentum Direction: (-0.29871,-0.41302,-0.86034) + New Polarization: (-0.84813,0.52821,0.0409) + *** FresnelRefraction *** +Track (trackID 1332, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.85893,-0.5051,0.084348) + Old Polarization: (0.24818,0.55466,0.7942) + New Momentum Direction: (0.71993,-0.68456,0.11432) + New Polarization: (-0.42382,-0.30319,0.8535) + *** FresnelRefraction *** +Track (trackID 1331, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.13874,-0.58476,-0.79926) + Old Polarization: (-0.86409,0.46578,-0.19078) + New Momentum Direction: (-0.1886,-0.79489,-0.5767) + New Polarization: (-0.93526,-0.033737,0.35235) + *** FresnelRefraction *** +Track (trackID 1330, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92475,-0.21484,-0.31414) + Old Polarization: (0.32283,0.87995,0.34853) + New Momentum Direction: (0.85693,-0.29096,-0.42545) + New Polarization: (-0.46902,-0.097888,-0.87775) + *** FresnelRefraction *** +Track (trackID 1329, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41049,-0.17521,-0.89488) + Old Polarization: (-0.25388,0.9206,-0.2967) + New Momentum Direction: (0.55813,-0.23822,-0.79482) + New Polarization: (0.81498,0.33737,0.47116) + *** FresnelRefraction *** +Track (trackID 1328, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.4604,-0.1645,-0.87234) + Old Polarization: (-0.19659,0.93939,-0.2809) + New Momentum Direction: (0.4604,-0.1645,0.87234) + New Polarization: (-0.13657,-0.98411,-0.1135) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.4604,-0.1645,0.87234) + Old Polarization: (-0.13657,-0.98411,-0.1135) + New Momentum Direction: (-0.4604,-0.1645,0.87234) + New Polarization: (-0.13657,0.98411,0.1135) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.4604,-0.1645,0.87234) + Old Polarization: (-0.13657,0.98411,0.1135) + New Momentum Direction: (-0.62164,-0.22211,0.75115) + New Polarization: (-0.54093,0.8153,-0.20659) + *** FresnelRefraction *** +Track (trackID 1327, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.18211,-0.97332,0.13959) + Old Polarization: (-0.51017,0.027834,0.85963) + New Momentum Direction: (0.24608,-0.95072,0.18863) + New Polarization: (-0.47682,0.050694,0.87754) + *** FresnelRefraction *** +Track (trackID 1326, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.39614,-0.18846,-0.89864) + Old Polarization: (-0.26912,0.91189,-0.30988) + New Momentum Direction: (0.53514,-0.25459,-0.80548) + New Polarization: (0.8408,0.25281,0.4787) + *** FresnelRefraction *** +Track (trackID 1325, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93919,-0.29392,-0.17756) + Old Polarization: (0.34332,0.79329,0.50281) + New Momentum Direction: (0.88598,-0.39691,-0.23977) + New Polarization: (-0.46367,-0.76593,-0.44538) + *** FresnelRefraction *** +Track (trackID 1324, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.26931,-0.24281,-0.93194) + Old Polarization: (-0.41086,0.84625,-0.33921) + New Momentum Direction: (0.36583,-0.32984,-0.87027) + New Polarization: (0.80086,-0.3648,0.47492) + *** FresnelRefraction *** +Track (trackID 1323, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.082764,-0.52581,-0.84657) + Old Polarization: (-0.80878,0.53176,-0.25121) + New Momentum Direction: (-0.1118,-0.7103,-0.69496) + New Polarization: (-0.85683,-0.28532,0.42947) + *** FresnelRefraction *** +Track (trackID 1322, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.17611,-0.29757,-0.93832) + Old Polarization: (-0.51431,0.78495,-0.34546) + New Momentum Direction: (0.23937,-0.40445,-0.88268) + New Polarization: (0.42247,-0.77515,0.46975) + *** FresnelRefraction *** +Track (trackID 1321, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93999,-0.29572,-0.17017) + Old Polarization: (0.34079,0.78973,0.51009) + New Momentum Direction: (0.88698,-0.40027,-0.23034) + New Polarization: (-0.46152,-0.78592,-0.41149) + *** FresnelRefraction *** +Track (trackID 1320, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1319, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1318, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.062079,-0.996,0.064201) + Old Polarization: (-0.64048,0.0095787,0.76792) + New Momentum Direction: (0.084444,-0.99259,0.08733) + New Polarization: (-0.61103,0.017646,0.79141) + *** FresnelRefraction *** +Track (trackID 1317, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37296,-0.90019,0.22486) + Old Polarization: (-0.2955,0.11449,0.94846) + New Momentum Direction: (0.5065,-0.80635,0.30538) + New Polarization: (-0.24006,0.20829,0.94815) + *** FresnelRefraction *** +Track (trackID 1316, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.17891,-0.64577,-0.74227) + Old Polarization: (-0.9085,0.39803,-0.1273) + New Momentum Direction: (-0.24324,-0.87798,-0.4123) + New Polarization: (-0.95666,0.147,0.25136) + *** FresnelRefraction *** +Track (trackID 1315, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92557,-0.21572,-0.3111) + Old Polarization: (0.32303,0.87853,0.35189) + New Momentum Direction: (0.85841,-0.2923,-0.42154) + New Polarization: (-0.46851,-0.11208,-0.87632) + *** FresnelRefraction *** +Track (trackID 1314, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.15412,-0.98091,0.11859) + Old Polarization: (-0.54317,0.016143,0.83946) + New Momentum Direction: (0.20767,-0.96506,0.15979) + New Polarization: (-0.52048,0.029296,0.85337) + *** FresnelRefraction *** +Track (trackID 1313, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1312, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88562,-0.462,0.047353) + Old Polarization: (0.27404,0.60217,0.74986) + New Momentum Direction: (0.77552,-0.62803,0.06437) + New Polarization: (-0.44946,-0.47764,0.75488) + *** FresnelRefraction *** +Track (trackID 1311, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.90511,-0.42509,0.0090493) +Old Polarization: (0.29492,0.643,0.7068) +New Polarization: (0.23652,0.21782,0.81223) +Polarization Change: (0.27075,0.24935,0.9298) +New Momentum Direction: (0.86104,-0.45066,-0.12988) +Momentum Change: (0.87818,-0.45963,-0.13246) + Photon at Boundary! + Old Momentum Direction: (0.87818,-0.45963,-0.13246) + Old Polarization: (0.27075,0.24935,0.9298) + New Momentum Direction: (0.75942,-0.62516,-0.18016) + New Polarization: (-0.44929,-0.70421,0.54976) + *** FresnelRefraction *** +Track (trackID 1310, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.86796,-0.49173,0.069554) + Old Polarization: (0.2604,0.56988,0.77937) + New Momentum Direction: (0.74057,-0.66536,0.094112) + New Polarization: (-0.43617,-0.36941,0.82054) + *** FresnelRefraction *** +Track (trackID 1309, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5499,-0.80055,0.23818) + Old Polarization: (-0.096186,0.22258,0.97016) + New Momentum Direction: (0.74334,-0.58633,0.32197) + New Polarization: (-0.080715,0.39919,0.91331) + *** FresnelRefraction *** +Track (trackID 1308, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1307, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.43336,-0.87177,0.22851) + Old Polarization: (-0.2267,0.13996,0.96386) + New Momentum Direction: (0.584,-0.75108,0.30794) + New Polarization: (-0.17908,0.25079,0.95133) + *** FresnelRefraction *** +Track (trackID 1306, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.53796,-0.14489,-0.83043) + Old Polarization: (-0.10743,0.9653,-0.23802) + New Momentum Direction: (0.7238,-0.19494,-0.6619) + New Polarization: (0.56836,0.71237,0.4117) + *** FresnelRefraction *** +Track (trackID 1305, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92525,-0.20974,-0.31612) + Old Polarization: (0.31829,0.88258,0.34604) + New Momentum Direction: (0.85682,-0.28506,-0.42965) + New Polarization: (-0.46636,-0.073004,-0.88158) + *** FresnelRefraction *** +Track (trackID 1304, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.2337,-0.84668,-0.47804) +Old Polarization: (-0.97063,0.17425,0.16589) +New Polarization: (-0.88652,-0.083936,-0.024235) +Polarization Change: (-0.99518,-0.094224,-0.027205) +New Momentum Direction: (0.025274,-0.0098458,-0.89042) +Momentum Change: (0.028371,-0.011052,-0.99954) + Photon at Boundary! + Old Momentum Direction: (0.028371,-0.011052,-0.99954) + Old Polarization: (-0.99518,-0.094224,-0.027205) + New Momentum Direction: (0.038539,-0.015014,-0.99914) + New Polarization: (0.74721,-0.66345,0.038791) + *** FresnelRefraction *** +Track (trackID 1303, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.2278,-0.78639,-0.57419) + Old Polarization: (-0.96929,0.23927,0.056854) + New Momentum Direction: (-0.30834,-0.54855,-0.77719) + New Polarization: (-0.90115,0.43015,0.053909) + *** FresnelRefraction *** +Track (trackID 1302, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.21565,-0.74973,-0.62562) + Old Polarization: (-0.96033,0.27883,-0.0031173) + New Momentum Direction: (-0.29096,-0.45038,-0.8441) + New Polarization: (-0.86568,0.49959,0.031834) + *** FresnelRefraction *** +Track (trackID 1301, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.90161,-0.18105,-0.39284) + Old Polarization: (0.29784,0.91845,0.26028) + New Momentum Direction: (0.81072,-0.24504,-0.53168) + New Polarization: (-0.46478,0.2828,-0.83905) + *** FresnelRefraction *** +Track (trackID 1300, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.12487,-0.98033,-0.15282) + Old Polarization: (-0.84908,0.025899,0.52763) + New Momentum Direction: (-0.16968,-0.96337,-0.20766) + New Polarization: (-0.87027,0.047602,0.49026) + *** FresnelRefraction *** +Track (trackID 1299, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.46073,-0.16453,-0.87216) + Old Polarization: (-0.19618,0.93948,-0.28087) + New Momentum Direction: (0.62201,-0.22213,-0.75084) + New Polarization: (0.73344,0.50106,0.45936) + *** FresnelRefraction *** +Track (trackID 1298, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1297, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.1543,-0.98042,0.12234) + Old Polarization: (-0.54157,0.019643,0.84042) + New Momentum Direction: (0.20846,-0.96396,0.1653) + New Polarization: (-0.51402,0.0358,0.85703) + *** FresnelRefraction *** +Track (trackID 1296, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.21801,-0.96167,0.16632) + Old Polarization: (-0.46784,0.04658,0.88258) + New Momentum Direction: (0.29623,-0.92799,0.22599) + New Polarization: (-0.42127,0.085408,0.90291) + *** FresnelRefraction *** +Track (trackID 1295, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.11486,-0.56891,-0.81434) + Old Polarization: (-0.848,0.48313,-0.21791) + New Momentum Direction: (-0.15477,-0.76659,-0.62321) + New Polarization: (-0.91331,-0.12951,0.38613) + *** FresnelRefraction *** +Track (trackID 1294, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 86 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 87 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.83234,0.016915,-0.554) + Old Polarization: (0.010686,0.99886,0.046553) + New Momentum Direction: (0.65855,0.022966,-0.75219) + New Polarization: (-0.020406,0.99971,0.012658) + *** FresnelRefraction *** +Track (trackID 1503, parentID 1) is processed with stopping code 2 +### pop requested out of 86 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.019562,-0.56621,-0.82403) + Old Polarization: (-0.90437,0.3414,-0.25606) + New Momentum Direction: (0.026602,-0.76999,-0.6375) + New Polarization: (-0.79964,-0.39909,0.44867) + *** FresnelRefraction *** +Track (trackID 1502, parentID 1) is processed with stopping code 2 ### pop requested out of 85 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.68653,-0.66953,-0.28356) - Old Polarization: (-0.63944,-0.74159,0.20287) - New Momentum Direction: (-0.68653,-0.66953,-0.28356) - New Polarization: (-0.58538,0.74027,-0.33065) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.68653,-0.66953,-0.28356) - Old Polarization: (-0.58538,0.74027,-0.33065) - New Momentum Direction: (-0.68653,0.66953,-0.28356) - New Polarization: (0.58538,0.74027,0.33065) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 978, parentID 637) is processed with stopping code 2 + Old Momentum Direction: (0.96353,-0.26514,0.036052) + Old Polarization: (0.16087,0.68166,0.71377) + New Momentum Direction: (0.93191,-0.35939,0.048865) + New Polarization: (-0.2596,-0.56684,0.78186) + *** FresnelRefraction *** +Track (trackID 1501, parentID 1) is processed with stopping code 2 ### pop requested out of 84 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.63633,0.43336,-0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,0.43336,-0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,-0.63819) - Old Polarization: (-0.70479,-0.66293,0.25258) - New Momentum Direction: (-0.63633,0.43336,0.63819) - New Polarization: (0.70479,0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,0.63819) - Old Polarization: (0.70479,0.66293,0.25258) - New Momentum Direction: (-0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,0.43336,0.63819) - New Polarization: (0.70479,0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,0.63819) - Old Polarization: (0.70479,0.66293,0.25258) - New Momentum Direction: (-0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,-0.43336,-0.63819) - New Polarization: (0.70479,-0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,-0.63819) - Old Polarization: (0.70479,-0.66293,-0.25258) - New Momentum Direction: (0.63633,-0.43336,-0.63819) - New Polarization: (0.70479,0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.63633,-0.43336,-0.63819) - Old Polarization: (0.70479,0.66293,0.25258) - New Momentum Direction: (0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,-0.66293,0.25258) - New Momentum Direction: (-0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,0.43336,0.63819) - New Polarization: (0.70479,0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,0.63819) - Old Polarization: (0.70479,0.66293,0.25258) - New Momentum Direction: (-0.63633,0.43336,-0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,-0.63819) - Old Polarization: (-0.70479,-0.66293,0.25258) - New Momentum Direction: (0.63633,0.43336,-0.63819) - New Polarization: (-0.70479,0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.63633,0.43336,-0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,0.43336,-0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,0.43336,-0.63819) - Old Polarization: (-0.70479,-0.66293,0.25258) - New Momentum Direction: (-0.63633,-0.43336,-0.63819) - New Polarization: (0.70479,-0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,-0.63819) - Old Polarization: (0.70479,-0.66293,-0.25258) - New Momentum Direction: (0.63633,-0.43336,-0.63819) - New Polarization: (0.70479,0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.63633,-0.43336,-0.63819) - Old Polarization: (0.70479,0.66293,0.25258) - New Momentum Direction: (0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,-0.66293,0.25258) - New Momentum Direction: (-0.63633,-0.43336,0.63819) - New Polarization: (-0.70479,0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,0.63819) - Old Polarization: (-0.70479,0.66293,-0.25258) - New Momentum Direction: (-0.63633,-0.43336,-0.63819) - New Polarization: (0.70479,-0.66293,-0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.63633,-0.43336,-0.63819) - Old Polarization: (0.70479,-0.66293,-0.25258) - New Momentum Direction: (-0.63633,0.43336,-0.63819) - New Polarization: (-0.70479,-0.66293,0.25258) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 977, parentID 637) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 976, parentID 637) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 975, parentID 637) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71566,-0.66015,-0.22809) - Old Polarization: (-0.60324,-0.74882,0.27452) - New Momentum Direction: (0.34265,-0.88796,-0.3068) - New Polarization: (-0.87494,-0.42056,0.24002) + Old Momentum Direction: (0.016545,-0.96536,-0.2604) + Old Polarization: (-0.9178,-0.11799,0.37912) + New Momentum Direction: (0.022305,-0.93609,-0.35105) + New Polarization: (-0.7891,0.19912,-0.58109) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 974, parentID 637) is processed with stopping code 2 +Track (trackID 1500, parentID 1) is processed with stopping code 2 +### pop requested out of 83 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.66754,-0.015929,-0.74441) + Old Polarization: (-0.17189,0.96947,-0.17488) + New Momentum Direction: (0.66754,-0.015929,0.74441) + New Polarization: (-0.084429,-0.99494,0.054421) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66754,-0.015929,0.74441) + Old Polarization: (-0.084429,-0.99494,0.054421) + New Momentum Direction: (-0.66754,-0.015929,0.74441) + New Polarization: (-0.084429,0.99494,-0.054421) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1499, parentID 1) is processed with stopping code 2 +### pop requested out of 82 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41948,-0.13975,-0.89694) + Old Polarization: (-0.45508,0.82257,-0.341) + New Momentum Direction: (0.56927,-0.18966,-0.79998) + New Polarization: (0.81362,0.26974,0.51503) + *** FresnelRefraction *** +Track (trackID 1498, parentID 1) is processed with stopping code 2 +### pop requested out of 81 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1497, parentID 1) is processed with stopping code 2 ### pop requested out of 80 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 973, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.050862,-0.80513,-0.59092) + Old Polarization: (-0.99795,0.06396,-0.0012496) + New Momentum Direction: (-0.068426,-0.60276,-0.79498) + New Polarization: (-0.99275,0.12009,-0.0056077) + *** FresnelRefraction *** +Track (trackID 1496, parentID 1) is processed with stopping code 2 ### pop requested out of 79 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 972, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.0096063,-0.96683,-0.25523) + Old Polarization: (-0.91693,-0.11035,0.38349) + New Momentum Direction: (0.013048,-0.9379,-0.34667) + New Polarization: (-0.81713,0.18982,-0.5443) + *** FresnelRefraction *** +Track (trackID 1495, parentID 1) is processed with stopping code 2 ### pop requested out of 78 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 971, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.015138,-0.96565,-0.25939) + Old Polarization: (-0.91764,-0.11645,0.37997) + New Momentum Direction: (0.020439,-0.93645,-0.35022) + New Polarization: (-0.79484,0.19727,-0.57386) + *** FresnelRefraction *** +Track (trackID 1494, parentID 1) is processed with stopping code 2 ### pop requested out of 77 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 970, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.80357,0.015716,-0.59501) + Old Polarization: (-0.020214,0.9998,-0.00089206) + New Momentum Direction: (0.59094,0.021301,-0.80643) + New Polarization: (-0.038859,0.99924,-0.0020815) + *** FresnelRefraction *** +Track (trackID 1493, parentID 1) is processed with stopping code 2 ### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65676,0.47142,-0.58858) - Old Polarization: (-0.67833,0.7103,-0.18799) - New Momentum Direction: (-0.65676,0.47142,-0.58858) - New Polarization: (-0.67833,-0.7103,0.18799) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65676,0.47142,-0.58858) - Old Polarization: (-0.67833,-0.7103,0.18799) - New Momentum Direction: (-0.65676,0.47142,0.58858) - New Polarization: (0.67833,0.7103,0.18799) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65676,0.47142,0.58858) - Old Polarization: (0.67833,0.7103,0.18799) - New Momentum Direction: (-0.65676,-0.47142,0.58858) - New Polarization: (-0.67833,0.7103,-0.18799) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 969, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1492, parentID 1) is processed with stopping code 2 ### pop requested out of 75 stacked tracks. -** Photon Absorbed! ** -Track (trackID 968, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1491, parentID 1) is processed with stopping code 2 ### pop requested out of 74 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 967, parentID 637) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.21028,-0.97695,0.036731) + Old Polarization: (-0.69084,-0.1219,0.71265) + New Momentum Direction: (0.28558,-0.95705,0.049885) + New Polarization: (0.52364,0.19943,0.82827) + *** FresnelRefraction *** +Track (trackID 1490, parentID 1) is processed with stopping code 2 ### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.94085,0.24902,0.22975) - Old Polarization: (-0.31858,0.41935,0.85009) - New Momentum Direction: (0.88759,0.33856,0.31236) - New Polarization: (-0.44539,0.45769,0.76951) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 966, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1489, parentID 1) is processed with stopping code 2 ### pop requested out of 72 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 965, parentID 637) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.95364,-0.002067,0.30094) - Old Polarization: (-0.29912,0.10354,0.94858) - New Momentum Direction: (0.91331,-0.0027973,0.40726) - New Polarization: (-0.40593,0.074769,0.91084) + Old Momentum Direction: (0.6464,-0.016932,-0.76281) + Old Polarization: (-0.19873,0.96151,-0.18975) + New Momentum Direction: (0.6464,-0.016932,0.76281) + New Polarization: (-0.076493,-0.99616,0.042708) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.6464,-0.016932,0.76281) + Old Polarization: (-0.076493,-0.99616,0.042708) + New Momentum Direction: (-0.6464,-0.016932,0.76281) + New Polarization: (-0.076493,0.99616,-0.042708) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.6464,-0.016932,0.76281) + Old Polarization: (-0.076493,0.99616,-0.042708) + New Momentum Direction: (-0.6464,-0.016932,-0.76281) + New Polarization: (0.037066,-0.99927,-0.0092288) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.6464,-0.016932,-0.76281) + Old Polarization: (0.037066,-0.99927,-0.0092288) + New Momentum Direction: (0.6464,-0.016932,-0.76281) + New Polarization: (0.037066,0.99927,0.0092288) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.6464,-0.016932,-0.76281) + Old Polarization: (0.037066,0.99927,0.0092288) + New Momentum Direction: (0.87704,-0.022974,-0.47986) + New Polarization: (0.036131,0.99918,0.0182) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 964, parentID 637) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. +Track (trackID 1488, parentID 1) is processed with stopping code 2 +### pop requested out of 71 stacked tracks. -** Photon Absorbed! ** -Track (trackID 963, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1487, parentID 1) is processed with stopping code 2 +### pop requested out of 70 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.39328,-0.90347,0.17048) + Old Polarization: (-0.48582,-0.046785,0.87281) + New Momentum Direction: (0.53033,-0.81603,0.22989) + New Polarization: (-0.28201,0.085919,0.95556) + *** FresnelRefraction *** +Track (trackID 1486, parentID 1) is processed with stopping code 2 ### pop requested out of 69 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.56071,-0.49543,-0.66345) - Old Polarization: (-0.80105,-0.52737,-0.28319) - New Momentum Direction: (0.56071,-0.49543,0.66345) - New Polarization: (0.80105,0.52737,-0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.56071,-0.49543,0.66345) - Old Polarization: (0.80105,0.52737,-0.28319) - New Momentum Direction: (-0.56071,-0.49543,0.66345) - New Polarization: (0.80105,-0.52737,0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56071,-0.49543,0.66345) - Old Polarization: (0.80105,-0.52737,0.28319) - New Momentum Direction: (-0.56071,0.49543,0.66345) - New Polarization: (-0.80105,-0.52737,-0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56071,0.49543,0.66345) - Old Polarization: (-0.80105,-0.52737,-0.28319) - New Momentum Direction: (-0.56071,0.49543,-0.66345) - New Polarization: (0.80105,0.52737,-0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56071,0.49543,-0.66345) - Old Polarization: (0.80105,0.52737,-0.28319) - New Momentum Direction: (0.56071,0.49543,-0.66345) - New Polarization: (0.80105,-0.52737,0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.56071,0.49543,-0.66345) - Old Polarization: (0.80105,-0.52737,0.28319) - New Momentum Direction: (0.56071,-0.49543,-0.66345) - New Polarization: (-0.80105,-0.52737,-0.28319) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 962, parentID 637) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74754,-0.65296,-0.12178) -Old Polarization: (-0.56226,-0.71967,0.40735) -New Polarization: (-0.44577,-0.72269,0.42968) -Polarization Change: (-0.46842,-0.75942,0.45152) -New Momentum Direction: (-0.86874,0.48774,-0.080934) -Momentum Change: (-0.86911,0.48795,-0.080969) - -** Photon Absorbed! ** -Track (trackID 961, parentID 637) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81875,0.5501,-0.16444) - Old Polarization: (-0.47132,0.80751,0.35466) - New Momentum Direction: (0.62922,0.74467,-0.2226) - New Polarization: (-0.69682,0.66735,0.26284) + Old Momentum Direction: (0.97536,-0.09379,-0.19968) + Old Polarization: (0.17589,0.87695,0.44725) + New Momentum Direction: (0.95436,-0.12697,-0.27032) + New Polarization: (-0.26087,0.086284,-0.96151) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 960, parentID 637) is processed with stopping code 2 +Track (trackID 1485, parentID 1) is processed with stopping code 2 +### pop requested out of 68 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.51416,-0.085881,-0.85338) + Old Polarization: (-0.34747,0.88881,-0.29879) + New Momentum Direction: (0.69415,-0.11595,-0.71043) + New Polarization: (0.60623,0.62631,0.49013) + *** FresnelRefraction *** +Track (trackID 1484, parentID 1) is processed with stopping code 2 +### pop requested out of 67 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1483, parentID 1) is processed with stopping code 2 ### pop requested out of 66 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.95674,0.063019,0.28402) - Old Polarization: (-0.29088,0.18883,0.93794) - New Momentum Direction: (0.92019,0.084795,0.38217) - New Polarization: (-0.39143,0.18573,0.90127) + Old Momentum Direction: (0.03204,-0.55492,-0.83129) + Old Polarization: (-0.89562,0.35326,-0.27033) + New Momentum Direction: (0.043363,-0.75103,-0.65884) + New Polarization: (-0.76384,-0.44998,0.46267) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 959, parentID 637) is processed with stopping code 2 +Track (trackID 1482, parentID 1) is processed with stopping code 2 ### pop requested out of 65 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.55985,0.19749,-0.80472) - Old Polarization: (-0.80447,0.3622,-0.47079) - New Momentum Direction: (0.75405,0.26599,-0.60055) - New Polarization: (0.3375,0.62747,0.70169) + Old Momentum Direction: (0.89452,-0.41795,0.15859) + Old Polarization: (0.086071,0.50917,0.85635) + New Momentum Direction: (0.7969,-0.56481,0.21432) + New Polarization: (-0.15735,0.14847,0.97632) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 958, parentID 637) is processed with stopping code 2 +Track (trackID 1481, parentID 1) is processed with stopping code 2 ### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81093,0.55342,-0.19005) - Old Polarization: (-0.48085,0.81534,0.3225) - New Momentum Direction: (0.61219,0.74784,-0.25682) - New Polarization: (-0.70943,0.66292,0.23925) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 957, parentID 637) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1480, parentID 1) is processed with stopping code 2 ### pop requested out of 63 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.93195,-0.22061,0.28774) - Old Polarization: (-0.32793,-0.17434,0.92848) - New Momentum Direction: (0.87086,-0.29907,0.39007) - New Polarization: (-0.46475,-0.24261,0.85156) + Old Momentum Direction: (0.60094,-0.75793,0.25381) + Old Polarization: (-0.24972,0.12361,0.96039) + New Momentum Direction: (0.81451,-0.46716,0.34401) + New Polarization: (-0.25815,0.23919,0.93603) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 956, parentID 637) is processed with stopping code 2 +Track (trackID 1479, parentID 1) is processed with stopping code 2 ### pop requested out of 62 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.51577,-0.091951,-0.85178) -Old Polarization: (-0.85587,-0.010787,-0.51709) -New Polarization: (-0.75847,0.42917,0.023318) -Polarization Change: (-0.87002,0.49229,0.026748) -New Momentum Direction: (0.40146,0.73535,-0.47593) -Momentum Change: (0.41665,0.76317,-0.49394) Photon at Boundary! - Old Momentum Direction: (0.41665,0.76317,-0.49394) - Old Polarization: (-0.87002,0.49229,0.026748) - New Momentum Direction: (0.56537,0.48075,-0.67025) - New Polarization: (-0.1184,-0.75688,-0.64275) + Old Momentum Direction: (0.35606,-0.92185,0.15303) + Old Polarization: (-0.52728,-0.063,0.84735) + New Momentum Direction: (0.48218,-0.85121,0.20723) + New Polarization: (-0.21291,0.1156,0.97021) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 955, parentID 637) is processed with stopping code 2 +Track (trackID 1478, parentID 1) is processed with stopping code 2 ### pop requested out of 61 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.85902,-0.49009,0.14798) - Old Polarization: (-0.42156,-0.51316,0.74763) - New Momentum Direction: (0.71835,-0.66599,0.20109) - New Polarization: (-0.62386,-0.48877,0.60984) + Old Momentum Direction: (0.12821,-0.42134,-0.89779) + Old Polarization: (-0.7887,0.50551,-0.34987) + New Momentum Direction: (0.17306,-0.56872,-0.80412) + New Polarization: (-0.2612,-0.81371,0.51929) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 954, parentID 637) is processed with stopping code 2 +Track (trackID 1477, parentID 1) is processed with stopping code 2 ### pop requested out of 60 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.52972,-0.31759,-0.78646) - Old Polarization: (-0.84267,-0.30245,-0.44545) - New Momentum Direction: (0.71419,-0.42819,-0.5537) - New Polarization: (0.10515,-0.71644,0.68967) + Old Momentum Direction: (0.37267,-0.17193,-0.9119) + Old Polarization: (-0.50757,0.78489,-0.35541) + New Momentum Direction: (0.50659,-0.23371,-0.82991) + New Polarization: (0.8569,0.030058,0.5146) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 953, parentID 637) is processed with stopping code 2 +Track (trackID 1476, parentID 1) is processed with stopping code 2 ### pop requested out of 59 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.53251,-0.37173,-0.76043) - Old Polarization: (-0.83651,-0.3682,-0.4058) - New Momentum Direction: (0.72061,-0.50303,-0.47716) - New Polarization: (-0.077363,-0.74224,0.66565) + Old Momentum Direction: (0.36505,-0.91874,0.1505) + Old Polarization: (-0.51868,-0.066458,0.85238) + New Momentum Direction: (0.49131,-0.8471,0.20256) + New Polarization: (-0.19384,0.12038,0.97362) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 952, parentID 637) is processed with stopping code 2 +Track (trackID 1475, parentID 1) is processed with stopping code 2 ### pop requested out of 58 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.58419,-0.56243,-0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (-0.58419,-0.56243,-0.58515) - New Polarization: (-0.77042,0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified + Old Momentum Direction: (0.099488,-0.9887,-0.11212) + Old Polarization: (-0.82295,-0.1451,0.54927) + New Momentum Direction: (0.13409,-0.97938,-0.15111) + New Polarization: (0.49724,0.1984,-0.84462) + *** FresnelRefraction *** +Track (trackID 1474, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.076635,-0.47658,-0.87578) +Old Polarization: (-0.84014,0.44214,-0.31412) +New Polarization: (-0.31033,0.34692,0.87422) +Polarization Change: (-0.31333,0.35027,0.88268) +New Momentum Direction: (0.94267,0.20265,0.2542) +Momentum Change: (0.94536,0.20323,0.25493) Photon at Boundary! - Old Momentum Direction: (-0.58419,-0.56243,-0.58515) - Old Polarization: (-0.77042,0.61106,0.18181) - New Momentum Direction: (-0.58419,-0.56243,0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,-0.56243,0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (-0.58419,0.56243,0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,0.56243,0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (0.58419,0.56243,0.58515) - New Polarization: (-0.77042,0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,0.56243,0.58515) - Old Polarization: (-0.77042,0.61106,0.18181) - New Momentum Direction: (0.58419,0.56243,-0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,0.56243,-0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (0.58419,-0.56243,-0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,-0.56243,-0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (0.58419,-0.56243,0.58515) - New Polarization: (0.77042,0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,-0.56243,0.58515) - Old Polarization: (0.77042,0.61106,-0.18181) - New Momentum Direction: (-0.58419,-0.56243,0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,-0.56243,0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (-0.58419,0.56243,0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,0.56243,0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (-0.58419,0.56243,-0.58515) - New Polarization: (0.77042,0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,0.56243,-0.58515) - Old Polarization: (0.77042,0.61106,-0.18181) - New Momentum Direction: (0.58419,0.56243,-0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,0.56243,-0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (0.58419,-0.56243,-0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,-0.56243,-0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (0.58419,-0.56243,0.58515) - New Polarization: (0.77042,0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,-0.56243,0.58515) - Old Polarization: (0.77042,0.61106,-0.18181) - New Momentum Direction: (-0.58419,-0.56243,0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,-0.56243,0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (-0.58419,0.56243,0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,0.56243,0.58515) - Old Polarization: (-0.77042,-0.61106,-0.18181) - New Momentum Direction: (-0.58419,0.56243,-0.58515) - New Polarization: (0.77042,0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58419,0.56243,-0.58515) - Old Polarization: (0.77042,0.61106,-0.18181) - New Momentum Direction: (0.58419,0.56243,-0.58515) - New Polarization: (0.77042,-0.61106,0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58419,0.56243,-0.58515) - Old Polarization: (0.77042,-0.61106,0.18181) - New Momentum Direction: (0.58419,-0.56243,-0.58515) - New Polarization: (-0.77042,-0.61106,-0.18181) - *** TotalInternalReflection *** -No Absorbtion length specified + Old Momentum Direction: (0.94536,0.20323,0.25493) + Old Polarization: (-0.31333,0.35027,0.88268) + New Momentum Direction: (0.89633,0.27639,0.34671) + New Polarization: (-0.43395,0.38635,0.81389) + *** FresnelRefraction *** +Track (trackID 1473, parentID 1) is processed with stopping code 2 +### pop requested out of 56 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.90521,-0.0084625,-0.42488) +Old Polarization: (0.098777,0.97661,0.19099) +New Polarization: (0.079621,0.91771,0.26746) +Polarization Change: (0.083007,0.95675,0.27883) +New Momentum Direction: (-0.67571,0.25167,-0.66239) +Momentum Change: (-0.69012,0.25704,-0.67651) -** Photon Absorbed! ** -Track (trackID 951, parentID 637) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1472, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1471, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.35438,-0.1855,-0.91652) + Old Polarization: (-0.52801,0.76923,-0.35985) + New Momentum Direction: (0.48197,-0.25229,-0.83908) + New Polarization: (0.85522,-0.072809,0.51313) + *** FresnelRefraction *** +Track (trackID 1470, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1469, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.91854,-0.37143,0.13533) + Old Polarization: (0.10547,0.56018,0.82163) + New Momentum Direction: (0.84303,-0.50537,0.18413) + New Polarization: (-0.19177,0.03744,0.98073) + *** FresnelRefraction *** +Track (trackID 1468, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1467, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50128,-0.08592,-0.86101) + Old Polarization: (-0.3628,0.8825,-0.29929) + New Momentum Direction: (0.68084,-0.1167,-0.72307) + New Polarization: (0.62625,0.6047,0.49208) + *** FresnelRefraction *** +Track (trackID 1466, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1465, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.23709,-0.29246,-0.92642) + Old Polarization: (-0.66111,0.65017,-0.37444) + New Momentum Direction: (0.32171,-0.39685,-0.85966) + New Polarization: (0.48071,-0.71375,0.50939) + *** FresnelRefraction *** +Track (trackID 1464, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34129,-0.20038,-0.91835) + Old Polarization: (-0.54372,0.75489,-0.36677) + New Momentum Direction: (0.46266,-0.27164,-0.84389) + New Polarization: (0.84132,-0.16559,0.51455) + *** FresnelRefraction *** +Track (trackID 1463, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1462, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.017783,-0.94198,-0.3352) + Old Polarization: (-0.95209,-0.086416,0.29336) + New Momentum Direction: (-0.02407,-0.89082,-0.45371) + New Polarization: (-0.9546,0.15528,-0.25424) + *** FresnelRefraction *** +Track (trackID 1461, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.97832,-0.1062,-0.17779) + Old Polarization: (0.1795,0.86303,0.47218) + New Momentum Direction: (0.95991,-0.14375,-0.24064) + New Polarization: (-0.25807,-0.11816,-0.95887) + *** FresnelRefraction *** +Track (trackID 1460, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1459, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1458, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93962,-0.025191,-0.34129) + Old Polarization: (0.12952,0.94927,0.28653) + New Momentum Direction: (0.88506,-0.034263,-0.46421) + New Polarization: (-0.22782,0.83778,-0.49621) + *** FresnelRefraction *** +Track (trackID 1457, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93775,-0.33273,0.099543) + Old Polarization: (0.1313,0.605,0.78532) + New Momentum Direction: (0.8822,-0.45113,0.13496) + New Polarization: (-0.22971,-0.1621,0.95967) + *** FresnelRefraction *** +Track (trackID 1456, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.098688,-0.9899,-0.10181) + Old Polarization: (-0.8184,-0.13894,0.5576) + New Momentum Direction: (0.13378,-0.98136,-0.138) + New Polarization: (0.56897,0.19007,-0.80009) + *** FresnelRefraction *** +Track (trackID 1455, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.40035,-0.89773,0.18385) + Old Polarization: (-0.47657,-0.032619,0.87853) + New Momentum Direction: (0.54371,-0.80127,0.24968) + New Polarization: (-0.34082,0.061057,0.93814) + *** FresnelRefraction *** +Track (trackID 1454, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.53386,-0.8115,0.23762) + Old Polarization: (-0.32551,0.062133,0.9435) + New Momentum Direction: (0.72289,-0.61147,0.32176) + New Polarization: (-0.31864,0.11818,0.94048) + *** FresnelRefraction *** +Track (trackID 1453, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.97679,-0.094818,-0.19205) + Old Polarization: (0.17423,0.87328,0.455) + New Momentum Direction: (0.95682,-0.12868,-0.26064) + New Polarization: (-0.25734,0.041921,-0.96541) + *** FresnelRefraction *** +Track (trackID 1452, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1451, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.14234,-0.39696,-0.90673) + Old Polarization: (-0.76902,0.53238,-0.3538) + New Momentum Direction: (0.19294,-0.53807,-0.82052) + New Polarization: (-0.15084,-0.84256,0.51705) + *** FresnelRefraction *** +Track (trackID 1450, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75516,-0.60741,0.24654) + Old Polarization: (-0.074696,0.29391,0.95291) + New Momentum Direction: (-0.75516,-0.60741,0.24654) + New Polarization: (-0.019006,-0.35565,-0.93443) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.75516,-0.60741,0.24654) + Old Polarization: (-0.019006,-0.35565,-0.93443) + New Momentum Direction: (-0.75516,0.60741,0.24654) + New Polarization: (0.019006,-0.35565,0.93443) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.75516,0.60741,0.24654) + Old Polarization: (0.019006,-0.35565,0.93443) + New Momentum Direction: (0.75516,0.60741,0.24654) + New Polarization: (0.0048085,0.37095,-0.92864) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.75516,0.60741,0.24654) + Old Polarization: (0.0048085,0.37095,-0.92864) + New Momentum Direction: (0.75516,0.60741,-0.24654) + New Polarization: (-0.0048085,-0.37095,-0.92864) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1449, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.072888,-0.98686,-0.14423) + Old Polarization: (-0.849,-0.13728,0.51024) + New Momentum Direction: (0.098667,-0.97578,-0.19525) + New Polarization: (0.028448,0.19889,-0.97961) + *** FresnelRefraction *** +Track (trackID 1448, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.44462,-0.87357,0.19797) +Old Polarization: (-0.42698,-0.012419,0.90417) +New Polarization: (-0.47265,-0.14853,0.78524) +Polarization Change: (-0.50906,-0.15997,0.84573) +New Momentum Direction: (-0.00034381,0.97323,0.18388) +Momentum Change: (-0.00034712,0.98261,0.18566) + Photon at Boundary! + Old Momentum Direction: (-0.00034712,0.98261,0.18566) + Old Polarization: (-0.50906,-0.15997,0.84573) + New Momentum Direction: (-0.00046813,0.96815,0.25037) + New Polarization: (-0.40114,-0.22953,0.8868) + *** FresnelRefraction *** +Track (trackID 1447, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.10872,-0.43502,-0.89383) + Old Polarization: (-0.80503,0.48898,-0.3359) + New Momentum Direction: (0.1477,-0.59101,-0.79303) + New Polarization: (-0.36049,-0.77883,0.51329) + *** FresnelRefraction *** +Track (trackID 1446, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.87341,-0.45254,0.17991) + Old Polarization: (0.061983,0.46973,0.88063) + New Momentum Direction: (0.75291,-0.61157,0.24313) + New Polarization: (-0.11489,0.24161,0.96355) + *** FresnelRefraction *** +Track (trackID 1445, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.56803,-0.78708,0.24052) + Old Polarization: (-0.28531,0.085801,0.95459) + New Momentum Direction: (0.7652,-0.55632,0.324) + New Polarization: (-0.28238,0.16225,0.94548) + *** FresnelRefraction *** +Track (trackID 1444, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.039658,-0.53895,-0.8414) + Old Polarization: (-0.88524,0.37161,-0.27976) + New Momentum Direction: (0.053759,-0.73057,-0.68072) + New Polarization: (-0.72882,-0.4947,0.47338) + *** FresnelRefraction *** +Track (trackID 1443, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.026572,-0.93229,-0.36073) + Old Polarization: (-0.96151,-0.074893,0.26438) + New Momentum Direction: (-0.035983,-0.87182,-0.4885) + New Polarization: (-0.97577,0.13621,-0.17122) + *** FresnelRefraction *** +Track (trackID 1442, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88903,0.0021227,-0.45785) + Old Polarization: (0.077108,0.98501,0.15429) + New Momentum Direction: (0.7844,0.0028755,-0.62025) + New Polarization: (-0.14238,0.97412,-0.17554) + *** FresnelRefraction *** +Track (trackID 1441, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.079842,-0.47607,-0.87577) + Old Polarization: (-0.83867,0.44277,-0.31715) + New Momentum Direction: (0.10835,-0.64604,-0.75557) + New Polarization: (-0.53217,-0.67966,0.50483) + *** FresnelRefraction *** +Track (trackID 1440, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1439, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92273,-0.016753,-0.38507) + Old Polarization: (0.11629,0.9646,0.2367) + New Momentum Direction: (0.85311,-0.022676,-0.52123) + New Polarization: (-0.20748,0.90191,-0.37883) + *** FresnelRefraction *** +Track (trackID 1438, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96611,-0.065992,-0.24956) + Old Polarization: (0.16269,0.90626,0.39016) + New Momentum Direction: (0.93668,-0.089523,-0.33854) + New Polarization: (-0.25979,0.47062,-0.84323) + *** FresnelRefraction *** +Track (trackID 1437, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.17992,-0.98368,-0.0015711) + Old Polarization: (-0.72773,-0.13418,0.67262) + New Momentum Direction: (0.24346,-0.96991,-0.0021259) + New Polarization: (0.8147,0.20331,0.54307) + *** FresnelRefraction *** +Track (trackID 1436, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.032315,-0.68823,-0.72477) + Old Polarization: (-0.96801,0.20207,-0.14872) + New Momentum Direction: (-0.032315,-0.68823,0.72477) + New Polarization: (0.99773,0.020676,0.064119) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.032315,-0.68823,0.72477) + Old Polarization: (0.99773,0.020676,0.064119) + New Momentum Direction: (-0.04376,-0.18657,0.98147) + New Polarization: (0.99758,0.045047,0.053041) + *** FresnelRefraction *** +Track (trackID 1435, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75194,-0.60956,0.25104) + Old Polarization: (-0.080933,0.29257,0.95281) + New Momentum Direction: (0.44371,-0.82865,0.34127) + New Polarization: (-0.16039,0.30123,0.93997) + *** FresnelRefraction *** +Track (trackID 1434, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.038476,-0.53873,-0.8416) + Old Polarization: (-0.88543,0.372,-0.27861) + New Momentum Direction: (0.052211,-0.73103,-0.68034) + New Polarization: (-0.7311,-0.49206,0.47262) + *** FresnelRefraction *** +Track (trackID 1433, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.42726,-0.13213,-0.89442) + Old Polarization: (-0.44615,0.82962,-0.33568) + New Momentum Direction: (0.58083,-0.17962,-0.79396) + New Polarization: (0.79859,0.31475,0.51301) + *** FresnelRefraction *** +Track (trackID 1432, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.38558,-0.16737,-0.90736) + Old Polarization: (-0.49382,0.79328,-0.35617) + New Momentum Direction: (0.52207,-0.22662,-0.82225) + New Polarization: (0.85148,0.082766,0.51782) + *** FresnelRefraction *** +Track (trackID 1431, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.072924,-0.48577,-0.87104) +Old Polarization: (-0.84639,0.43182,-0.31168) +New Polarization: (-0.69837,0.51771,-0.33803) +Polarization Change: (-0.74873,0.55504,-0.36241) +New Momentum Direction: (0.12128,-0.38756,-0.84412) +Momentum Change: (0.12947,-0.41374,-0.90114) + Photon at Boundary! + Old Momentum Direction: (0.12947,-0.41374,-0.90114) + Old Polarization: (-0.74873,0.55504,-0.36241) + New Momentum Direction: (0.17571,-0.5615,-0.8086) + New Polarization: (-0.19202,-0.82515,0.53127) + *** FresnelRefraction *** +Track (trackID 1430, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1429, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.19601,-0.98045,0.017267) + Old Polarization: (-0.7089,-0.12951,0.69331) + New Momentum Direction: (0.26543,-0.96385,0.023383) + New Polarization: (0.67774,0.20378,0.7065) + *** FresnelRefraction *** +Track (trackID 1428, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1427, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92818,-0.35451,0.11315) + Old Polarization: (0.12402,0.58137,0.80413) + New Momentum Direction: (0.86424,-0.47925,0.15296) + New Polarization: (-0.2188,-0.084293,0.97212) + *** FresnelRefraction *** +Track (trackID 1426, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.75702,-0.60341,0.25064) + Old Polarization: (-0.075925,0.29976,0.95099) + New Momentum Direction: (0.45778,-0.82105,0.34104) + New Polarization: (-0.1504,0.30655,0.9399) + *** FresnelRefraction *** +Track (trackID 1425, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95033,-0.30188,0.075769) + Old Polarization: (0.14265,0.63883,0.75601) + New Momentum Direction: (0.90615,-0.41024,0.10297) + New Polarization: (-0.24392,-0.30796,0.9196) + *** FresnelRefraction *** +Track (trackID 1424, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1423, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.27837,-0.95546,0.097987) +Old Polarization: (-0.6145,-0.098765,0.78271) +New Polarization: (-0.74071,-0.069561,0.49649) +Polarization Change: (-0.82814,-0.077772,0.5551) +New Momentum Direction: (-0.39596,0.71853,-0.49006) +Momentum Change: (-0.41434,0.75189,-0.51281) + Photon at Boundary! + Old Momentum Direction: (-0.41434,0.75189,-0.51281) + Old Polarization: (-0.82814,-0.077772,0.5551) + New Momentum Direction: (-0.41434,0.75189,0.51281) + New Polarization: (0.82814,0.077772,0.5551) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.41434,0.75189,0.51281) + Old Polarization: (0.82814,0.077772,0.5551) + New Momentum Direction: (-0.56222,0.44692,0.69583) + New Polarization: (0.71812,-0.15344,0.67879) + *** FresnelRefraction *** +Track (trackID 1422, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95452,-0.29221,0.05915) + Old Polarization: (0.15366,0.6522,0.74231) + New Momentum Direction: (0.91513,-0.39515,0.079987) + New Polarization: (-0.25534,-0.41455,0.87347) + *** FresnelRefraction *** +Track (trackID 1421, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.15427,-0.38094,-0.91164) + Old Polarization: (-0.75459,0.5502,-0.3576) + New Momentum Direction: (0.20935,-0.51697,-0.83001) + New Polarization: (-0.06466,-0.85428,0.51577) + *** FresnelRefraction *** +Track (trackID 1420, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.085814,-0.46506,-0.88111) + Old Polarization: (-0.83051,0.45513,-0.32111) + New Momentum Direction: (0.11662,-0.63202,-0.76612) + New Polarization: (-0.49458,-0.7059,0.50705) + *** FresnelRefraction *** +Track (trackID 1419, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.23317,-0.30868,-0.92214) + Old Polarization: (-0.67053,0.63576,-0.38236) + New Momentum Direction: (0.3138,-0.4154,-0.8538) + New Polarization: (0.4219,-0.74457,0.51732) + *** FresnelRefraction *** +Track (trackID 1418, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 75 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 76 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.30247,-0.48084,-0.82299) + Old Polarization: (-0.66504,0.51207,-0.5436) + New Momentum Direction: (0.4065,-0.64622,-0.64588) + New Polarization: (0.15584,-0.64752,0.74595) + *** FresnelRefraction *** +Track (trackID 1578, parentID 1) is processed with stopping code 2 +### pop requested out of 75 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.16703,-0.61938,-0.76712) + Old Polarization: (-0.81443,0.35185,-0.46142) + New Momentum Direction: (0.22692,-0.84147,-0.49034) + New Polarization: (-0.42828,-0.5384,0.72574) + *** FresnelRefraction *** +Track (trackID 1577, parentID 1) is processed with stopping code 2 +### pop requested out of 74 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.094503,-0.72947,-0.67745) + Old Polarization: (-0.9037,0.22259,-0.36575) + New Momentum Direction: (0.094503,0.72947,-0.67745) + New Polarization: (0.96838,0.090474,0.23251) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.094503,0.72947,-0.67745) + Old Polarization: (0.96838,0.090474,0.23251) + New Momentum Direction: (0.094503,0.72947,0.67745) + New Polarization: (-0.98003,-0.051422,0.19208) + *** FresnelReflection *** + +** Photon absorbed! ** +Track (trackID 1576, parentID 1) is processed with stopping code 2 +### pop requested out of 73 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78052,-0.49754,0.37847) + Old Polarization: (-0.10528,0.49216,0.86411) + New Momentum Direction: (0.53839,-0.6707,0.51019) + New Polarization: (-0.19914,0.48702,0.85038) + *** FresnelRefraction *** +Track (trackID 1575, parentID 1) is processed with stopping code 2 +### pop requested out of 72 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.029841,-0.84237,-0.53807) + Old Polarization: (-0.97503,0.093991,-0.20122) + New Momentum Direction: (0.040433,-0.68325,-0.72907) + New Polarization: (-0.96009,0.17554,-0.21775) + *** FresnelRefraction *** +Track (trackID 1574, parentID 1) is processed with stopping code 2 +### pop requested out of 71 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1573, parentID 1) is processed with stopping code 2 +### pop requested out of 70 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1572, parentID 1) is processed with stopping code 2 +### pop requested out of 69 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.59378,-0.68988,0.41413) + Old Polarization: (-0.32295,0.26707,0.90795) + New Momentum Direction: (0.79941,-0.22381,0.55754) + New Polarization: (-0.389,0.5144,0.76424) + *** FresnelRefraction *** +Track (trackID 1571, parentID 1) is processed with stopping code 2 +### pop requested out of 68 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.46209,-0.79866,0.3855) + Old Polarization: (-0.47667,0.14288,0.86739) + New Momentum Direction: (0.62481,-0.5813,0.52125) + New Polarization: (-0.45918,0.26637,0.84747) + *** FresnelRefraction *** +Track (trackID 1570, parentID 1) is processed with stopping code 2 +### pop requested out of 67 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1569, parentID 1) is processed with stopping code 2 +### pop requested out of 66 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1568, parentID 1) is processed with stopping code 2 +### pop requested out of 65 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.44783,-0.80635,0.38632) + Old Polarization: (-0.49242,0.13821,0.85931) + New Momentum Direction: (0.60898,-0.59429,0.52532) + New Polarization: (-0.47227,0.26044,0.8421) + *** FresnelRefraction *** +Track (trackID 1567, parentID 1) is processed with stopping code 2 +### pop requested out of 64 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34372,-0.43693,-0.83123) + Old Polarization: (-0.61588,0.56332,-0.55078) + New Momentum Direction: (0.46261,-0.58807,-0.66345) + New Polarization: (0.33118,-0.57954,0.74461) + *** FresnelRefraction *** +Track (trackID 1566, parentID 1) is processed with stopping code 2 +### pop requested out of 63 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.40715,-0.36579,-0.83691) + Old Polarization: (-0.53948,0.64307,-0.54353) + New Momentum Direction: (0.55245,-0.49633,-0.66966) + New Polarization: (0.55269,-0.38328,0.74002) + *** FresnelRefraction *** +Track (trackID 1565, parentID 1) is processed with stopping code 2 +### pop requested out of 62 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98941,-0.14496,-0.0073497) + Old Polarization: (0.13507,0.90099,0.41228) + New Momentum Direction: (0.98057,-0.19592,-0.0099337) + New Polarization: (-0.18838,-0.95451,0.23112) + *** FresnelRefraction *** +Track (trackID 1564, parentID 1) is processed with stopping code 2 +### pop requested out of 61 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88895,-0.065978,-0.45322) + Old Polarization: (0.019832,0.99419,-0.10583) + New Momentum Direction: (0.78598,-0.089064,-0.6118) + New Polarization: (-0.036776,0.98108,-0.19007) + *** FresnelRefraction *** +Track (trackID 1563, parentID 1) is processed with stopping code 2 +### pop requested out of 60 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.4978,-0.77017,0.39878) + Old Polarization: (-0.43528,0.17583,0.88296) + New Momentum Direction: (0.67303,-0.50631,0.53915) + New Polarization: (-0.42729,0.32883,0.84219) + *** FresnelRefraction *** +Track (trackID 1562, parentID 1) is processed with stopping code 2 +### pop requested out of 59 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.16687,-0.62006,-0.7666) + Old Polarization: (-0.81488,0.35099,-0.46128) + New Momentum Direction: (0.22664,-0.84214,-0.48932) + New Polarization: (-0.42989,-0.5373,0.7256) + *** FresnelRefraction *** +Track (trackID 1561, parentID 1) is processed with stopping code 2 +### pop requested out of 58 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.14544,-0.65754,-0.73925) + Old Polarization: (-0.84512,0.30593,-0.43838) + New Momentum Direction: (0.19636,-0.88777,-0.4163) + New Polarization: (-0.53707,-0.45259,0.71184) + *** FresnelRefraction *** +Track (trackID 1560, parentID 1) is processed with stopping code 2 ### pop requested out of 57 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.52011,0.013367,-0.85399) - Old Polarization: (-0.84853,0.12209,-0.51487) - New Momentum Direction: (0.70763,0.018186,-0.70635) - New Polarization: (0.69969,0.12126,0.70408) + Old Momentum Direction: (0.97181,-0.20748,0.11195) + Old Polarization: (0.11334,0.82756,0.54981) + New Momentum Direction: (0.94777,-0.28071,0.15147) + New Polarization: (-0.19049,-0.11724,0.97466) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 950, parentID 637) is processed with stopping code 2 +Track (trackID 1559, parentID 1) is processed with stopping code 2 ### pop requested out of 56 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98576,-0.16659,0.022943) + Old Polarization: (0.1385,0.88166,0.4511) + New Momentum Direction: (0.97413,-0.22387,0.030831) + New Polarization: (-0.20118,-0.797,0.56949) + *** FresnelRefraction *** +Track (trackID 1558, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5398,-0.25674,-0.80169) + Old Polarization: (-0.38672,0.77028,-0.50706) + New Momentum Direction: (0.73058,-0.34748,-0.5878) + New Polarization: (0.6589,0.13289,0.7404) + *** FresnelRefraction *** +Track (trackID 1557, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1556, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.43001,-0.82004,0.37765) +Old Polarization: (-0.51285,0.12239,0.84971) +New Polarization: (-0.27417,-0.2284,0.79923) +Polarization Change: (-0.31324,-0.26094,0.91312) +New Momentum Direction: (-0.35032,0.9069,0.13899) +Momentum Change: (-0.35671,0.92343,0.14153) + Photon at Boundary! + Old Momentum Direction: (-0.35671,0.92343,0.14153) + Old Polarization: (-0.31324,-0.26094,0.91312) + New Momentum Direction: (-0.48496,0.85311,0.19241) + New Polarization: (-0.39668,-0.41067,0.82097) + *** FresnelRefraction *** +Track (trackID 1555, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1554, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1553, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.99082,-0.12811,-0.043209) + Old Polarization: (0.13498,0.91913,0.3701) + New Momentum Direction: (0.98312,-0.17337,-0.058476) + New Polarization: (-0.18281,-0.94418,-0.27406) + *** FresnelRefraction *** +Track (trackID 1552, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1551, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95551,-0.06544,-0.28761) + Old Polarization: (0.094225,0.99171,0.087396) + New Momentum Direction: (0.91689,-0.088555,-0.3892) + New Polarization: (-0.16651,0.80132,-0.5746) + *** FresnelRefraction *** +Track (trackID 1550, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.24257,-0.94162,0.23348) + Old Polarization: (-0.72782,-0.017504,0.68554) + New Momentum Direction: (0.32955,-0.88925,0.31721) + New Polarization: (-0.64614,0.032553,0.76253) + *** FresnelRefraction *** +Track (trackID 1549, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.42134,-0.3593,-0.8327) + Old Polarization: (-0.52421,0.65276,-0.5469) + New Momentum Direction: (0.56892,-0.48515,-0.66405) + New Polarization: (0.57524,-0.34231,0.74292) + *** FresnelRefraction *** +Track (trackID 1548, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.47842,-0.7859,0.39177) + Old Polarization: (-0.45776,0.15753,0.87501) + New Momentum Direction: (0.64675,-0.54884,0.52961) + New Polarization: (-0.44382,0.29391,0.84655) + *** FresnelRefraction *** +Track (trackID 1547, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.29351,-0.91596,0.27362) + Old Polarization: (-0.67293,0.0053317,0.73969) + New Momentum Direction: (0.39626,-0.84054,0.36941) + New Polarization: (-0.6706,0.0098428,0.74175) + *** FresnelRefraction *** +Track (trackID 1546, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96019,-0.069806,-0.2705) + Old Polarization: (0.10201,0.98903,0.10687) + New Momentum Direction: (0.92608,-0.094285,-0.36535) + New Polarization: (-0.17739,0.74581,-0.64211) + *** FresnelRefraction *** +Track (trackID 1545, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.16444,-0.97752,0.13197) + Old Polarization: (-0.81889,-0.060709,0.57073) + New Momentum Direction: (0.22303,-0.95824,0.17899) + New Polarization: (-0.29639,0.10826,0.94891) + *** FresnelRefraction *** +Track (trackID 1544, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.94789,-0.25635,0.18919) + Old Polarization: (0.080995,0.76819,0.63508) + New Momentum Direction: (0.90153,-0.34817,0.25696) + New Polarization: (-0.14648,0.31321,0.93832) + *** FresnelRefraction *** +Track (trackID 1543, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.83406,-0.43471,0.33966) + Old Polarization: (-0.040104,0.56628,0.82324) + New Momentum Direction: (0.67094,-0.5843,0.45654) + New Polarization: (-0.074616,0.55936,0.82556) + *** FresnelRefraction *** +Track (trackID 1542, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1541, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.02562,-0.85432,-0.51911) + Old Polarization: (-0.98047,0.079802,-0.17972) + New Momentum Direction: (0.034698,-0.71029,-0.70305) + New Polarization: (-0.96879,0.14885,-0.1982) + *** FresnelRefraction *** +Track (trackID 1540, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.69551,-0.59142,0.40804) + Old Polarization: (-0.20368,0.3823,0.90131) + New Momentum Direction: (-0.69551,-0.59142,0.40804) + New Polarization: (-0.12425,-0.46033,-0.87901) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69551,-0.59142,0.40804) + Old Polarization: (-0.12425,-0.46033,-0.87901) + New Momentum Direction: (-0.69551,0.59142,0.40804) + New Polarization: (0.12425,-0.46033,0.87901) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69551,0.59142,0.40804) + Old Polarization: (0.12425,-0.46033,0.87901) + New Momentum Direction: (-0.69551,0.59142,-0.40804) + New Polarization: (-0.12425,0.46033,0.87901) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.69551,0.59142,-0.40804) + Old Polarization: (-0.12425,0.46033,0.87901) + New Momentum Direction: (-0.25451,0.796,-0.54918) + New Polarization: (0.25298,0.60291,0.75664) + *** FresnelRefraction *** +Track (trackID 1539, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.11788,-0.99105,0.062652) + Old Polarization: (-0.86939,-0.07251,0.48877) + New Momentum Direction: (0.16037,-0.98337,0.085234) + New Polarization: (0.22194,0.12006,0.96764) + *** FresnelRefraction *** +Track (trackID 1538, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.037908,-0.98573,-0.16403) + Old Polarization: (-0.97009,-0.075684,0.23062) + New Momentum Direction: (0.051184,-0.97382,-0.22148) + New Polarization: (-0.68201,0.12792,-0.72007) + *** FresnelRefraction *** +Track (trackID 1537, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.078265,-0.9964,-0.032566) + Old Polarization: (-0.92016,-0.084769,0.38226) + New Momentum Direction: (0.10595,-0.99339,-0.044086) + New Polarization: (0.917,0.11476,-0.38202) + *** FresnelRefraction *** +Track (trackID 1536, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1535, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.8455,-0.41504,0.33596) + Old Polarization: (-0.033072,0.58726,0.80872) + New Momentum Direction: (0.69126,-0.56166,0.45465) + New Polarization: (-0.062307,0.5805,0.81187) + *** FresnelRefraction *** +Track (trackID 1534, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.51789,-0.27022,-0.81165) + Old Polarization: (-0.4122,0.75256,-0.51357) + New Momentum Direction: (0.70311,-0.36687,-0.60914) + New Polarization: (0.66964,0.05341,0.74077) + *** FresnelRefraction *** +Track (trackID 1533, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.0045811,-0.93295,-0.35999) + Old Polarization: (-0.99996,-0.0070269,0.0054857) + New Momentum Direction: (0.0062269,-0.87208,-0.48933) + New Polarization: (-0.99926,0.013115,-0.03609) + *** FresnelRefraction *** +Track (trackID 1532, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98784,-0.11006,-0.10979) + Old Polarization: (0.13808,0.94565,0.29441) + New Momentum Direction: (0.97784,-0.14822,-0.14786) + New Polarization: (-0.19548,-0.39349,-0.8983) + *** FresnelRefraction *** +Track (trackID 1531, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.026419,-0.97597,-0.2163) + Old Polarization: (-0.98337,-0.064262,0.16985) + New Momentum Direction: (0.035675,-0.95573,-0.29207) + New Polarization: (-0.87112,0.11349,-0.47777) + *** FresnelRefraction *** +Track (trackID 1530, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.32438,-0.8944,0.30792) +Old Polarization: (-0.63447,0.035718,0.77213) +New Polarization: (0.24055,0.014513,0.86426) +Polarization Change: (0.26811,0.016176,0.96325) +New Momentum Direction: (-0.84411,0.23439,0.23101) +Momentum Change: (-0.9317,0.2587,0.25498) + Photon at Boundary! + Old Momentum Direction: (-0.9317,0.2587,0.25498) + Old Polarization: (0.26811,0.016176,0.96325) + New Momentum Direction: (-0.87,0.35115,0.3461) + New Polarization: (0.41027,0.12631,0.90317) + *** FresnelRefraction *** +Track (trackID 1529, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1528, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95141,-0.25498,0.17263) + Old Polarization: (0.094599,0.77555,0.62416) + New Momentum Direction: (0.90984,-0.34362,0.23264) + New Polarization: (-0.16646,0.21132,0.96314) + *** FresnelRefraction *** +Track (trackID 1527, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93645,-0.062487,-0.34519) + Old Polarization: (0.073982,0.99705,0.020214) + New Momentum Direction: (0.88053,-0.08443,-0.46641) + New Polarization: (-0.13378,0.89973,-0.41543) + *** FresnelRefraction *** +Track (trackID 1526, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.030893,-0.84192,-0.53872) + Old Polarization: (-0.97475,0.093881,-0.20262) + New Momentum Direction: (0.041828,-0.68281,-0.72939) + New Polarization: (-0.9599,0.17508,-0.21895) + *** FresnelRefraction *** +Track (trackID 1525, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.3657,-0.87029,0.32994) + Old Polarization: (-0.58914,0.057986,0.80595) + New Momentum Direction: (0.49348,-0.74716,0.44522) + New Polarization: (-0.57149,0.10733,0.81356) + *** FresnelRefraction *** +Track (trackID 1524, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.033883,-0.98742,-0.15446) + Old Polarization: (-0.96794,-0.070909,0.24097) + New Momentum Direction: (0.045999,-0.97668,-0.20969) + New Polarization: (-0.68895,0.12099,-0.71464) + *** FresnelRefraction *** +Track (trackID 1523, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1522, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1521, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.32321,-0.8981,0.29823) + Old Polarization: (-0.63864,0.025552,0.76908) + New Momentum Direction: (0.32321,0.8981,0.29823) + New Polarization: (0.69591,-0.012012,-0.71803) + *** FresnelReflection *** + +** Photon absorbed! ** +Track (trackID 1520, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.78957,-0.098179,-0.60575) + Old Polarization: (-0.097187,0.95465,-0.28141) + New Momentum Direction: (0.55802,-0.13277,-0.81914) + New Polarization: (-0.18474,0.94247,-0.27861) + *** FresnelRefraction *** +Track (trackID 1519, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.23516,-0.94697,0.21897) + Old Polarization: (-0.73896,-0.027839,0.67318) + New Momentum Direction: (0.31829,-0.90047,0.29639) + New Polarization: (-0.59911,0.051225,0.79902) + *** FresnelRefraction *** +Track (trackID 1518, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.66281,-0.62007,0.41977) + Old Polarization: (-0.24482,0.35033,0.90406) + New Momentum Direction: (-0.66281,-0.62007,0.41977) + New Polarization: (-0.24482,-0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,-0.62007,0.41977) + Old Polarization: (-0.24482,-0.35033,-0.90406) + New Momentum Direction: (-0.66281,0.62007,0.41977) + New Polarization: (0.24482,-0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,0.62007,0.41977) + Old Polarization: (0.24482,-0.35033,0.90406) + New Momentum Direction: (-0.66281,0.62007,-0.41977) + New Polarization: (-0.24482,0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,0.62007,-0.41977) + Old Polarization: (-0.24482,0.35033,0.90406) + New Momentum Direction: (0.66281,0.62007,-0.41977) + New Polarization: (-0.24482,-0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,0.62007,-0.41977) + Old Polarization: (-0.24482,-0.35033,-0.90406) + New Momentum Direction: (0.66281,-0.62007,-0.41977) + New Polarization: (0.24482,-0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,-0.62007,-0.41977) + Old Polarization: (0.24482,-0.35033,0.90406) + New Momentum Direction: (0.66281,-0.62007,0.41977) + New Polarization: (-0.24482,0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,-0.62007,0.41977) + Old Polarization: (-0.24482,0.35033,0.90406) + New Momentum Direction: (-0.66281,-0.62007,0.41977) + New Polarization: (-0.24482,-0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,-0.62007,0.41977) + Old Polarization: (-0.24482,-0.35033,-0.90406) + New Momentum Direction: (-0.66281,0.62007,0.41977) + New Polarization: (0.24482,-0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,0.62007,0.41977) + Old Polarization: (0.24482,-0.35033,0.90406) + New Momentum Direction: (0.66281,0.62007,0.41977) + New Polarization: (0.24482,0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,0.62007,0.41977) + Old Polarization: (0.24482,0.35033,-0.90406) + New Momentum Direction: (0.66281,-0.62007,0.41977) + New Polarization: (-0.24482,0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,-0.62007,0.41977) + Old Polarization: (-0.24482,0.35033,0.90406) + New Momentum Direction: (0.66281,-0.62007,-0.41977) + New Polarization: (0.24482,-0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,-0.62007,-0.41977) + Old Polarization: (0.24482,-0.35033,0.90406) + New Momentum Direction: (-0.66281,-0.62007,-0.41977) + New Polarization: (0.24482,0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,-0.62007,-0.41977) + Old Polarization: (0.24482,0.35033,-0.90406) + New Momentum Direction: (-0.66281,0.62007,-0.41977) + New Polarization: (-0.24482,0.35033,0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66281,0.62007,-0.41977) + Old Polarization: (-0.24482,0.35033,0.90406) + New Momentum Direction: (0.66281,0.62007,-0.41977) + New Polarization: (-0.24482,-0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,0.62007,-0.41977) + Old Polarization: (-0.24482,-0.35033,-0.90406) + New Momentum Direction: (0.66281,0.62007,0.41977) + New Polarization: (0.24482,0.35033,-0.90406) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.66281,0.62007,0.41977) + Old Polarization: (0.24482,0.35033,-0.90406) + New Momentum Direction: (0.66281,-0.62007,0.41977) + New Polarization: (-0.24482,0.35033,0.90406) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1517, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.26486,-0.51033,-0.81817) + Old Polarization: (-0.70444,0.477,-0.52558) + New Momentum Direction: (0.3586,-0.69094,-0.62771) + New Polarization: (0.0091803,-0.66978,0.7425) + *** FresnelRefraction *** +Track (trackID 1516, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.1157,-0.69103,-0.7135) + Old Polarization: (-0.87509,0.26893,-0.40236) + New Momentum Direction: (0.15691,-0.93714,-0.31168) + New Polarization: (-0.63543,-0.33738,0.69455) + *** FresnelRefraction *** +Track (trackID 1515, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5039,-0.7674,0.39647) + Old Polarization: (-0.4282,0.1767,0.88624) + New Momentum Direction: (0.67882,-0.50394,0.53409) + New Polarization: (-0.42156,0.32809,0.84536) + *** FresnelRefraction *** +Track (trackID 1514, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1513, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.959,-0.065235,-0.27581) + Old Polarization: (0.096493,0.99016,0.10131) + New Momentum Direction: (0.9233,-0.088404,-0.37377) + New Polarization: (-0.16997,0.77862,-0.60404) + *** FresnelRefraction *** +Track (trackID 1512, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.67463,-0.60669,0.42047) + Old Polarization: (-0.23224,0.36625,0.90107) + New Momentum Direction: (-0.67463,-0.60669,0.42047) + New Polarization: (-0.23224,-0.36625,-0.90107) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67463,-0.60669,0.42047) + Old Polarization: (-0.23224,-0.36625,-0.90107) + New Momentum Direction: (-0.67463,0.60669,0.42047) + New Polarization: (0.23224,-0.36625,0.90107) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1511, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.65858,-0.17004,-0.73305) + Old Polarization: (-0.24982,0.86948,-0.42613) + New Momentum Direction: (0.89233,-0.2304,-0.38817) + New Polarization: (0.44867,0.54696,0.70677) + *** FresnelRefraction *** +Track (trackID 1510, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.91379,-0.06063,-0.40164) + Old Polarization: (0.046526,0.99791,-0.044787) + New Momentum Direction: (0.83556,-0.082004,-0.54324) + New Polarization: (-0.085768,0.9572,-0.27642) + *** FresnelRefraction *** +Track (trackID 1509, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.68541,-0.15553,-0.71135) + Old Polarization: (-0.21778,0.88842,-0.40408) + New Momentum Direction: (0.92666,-0.21027,-0.31159) + New Polarization: (0.37306,0.61621,0.69362) + *** FresnelRefraction *** +Track (trackID 1508, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1507, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.29895,-0.46793,-0.83166) + Old Polarization: (-0.66268,0.5253,-0.53377) + New Momentum Direction: (0.40655,-0.63635,-0.65557) + New Polarization: (0.17793,-0.64866,0.73999) + *** FresnelRefraction *** +Track (trackID 1506, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5122,-0.75963,0.40077) + Old Polarization: (-0.41853,0.18672,0.8888) + New Momentum Direction: (0.69102,-0.47974,0.54069) + New Polarization: (-0.41565,0.34826,0.84021) + *** FresnelRefraction *** +Track (trackID 1505, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74144,-0.11631,-0.66086) + Old Polarization: (-0.15643,0.92777,-0.33878) + New Momentum Direction: (-0.74144,-0.11631,-0.66086) + New Polarization: (-0.053999,-0.97133,0.23153) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74144,-0.11631,-0.66086) + Old Polarization: (-0.053999,-0.97133,0.23153) + New Momentum Direction: (-0.74144,-0.11631,0.66086) + New Polarization: (0.053999,0.97133,0.23153) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.74144,-0.11631,0.66086) + Old Polarization: (0.053999,0.97133,0.23153) + New Momentum Direction: (-0.40961,-0.15812,0.89845) + New Polarization: (0.10855,0.96942,0.2201) + *** FresnelRefraction *** +Track (trackID 1504, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 69 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 70 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1647, parentID 1) is processed with stopping code 2 +### pop requested out of 69 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1646, parentID 1) is processed with stopping code 2 +### pop requested out of 68 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41322,-0.90454,-0.10516) + Old Polarization: (-0.83617,-0.33116,-0.4372) + New Momentum Direction: (0.55945,-0.81655,-0.14237) + New Polarization: (0.55624,0.49721,-0.66587) + *** FresnelRefraction *** +Track (trackID 1645, parentID 1) is processed with stopping code 2 +### pop requested out of 67 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.59683,-0.19725,0.77774) + Old Polarization: (-0.61904,0.50348,0.60274) + New Momentum Direction: (0.80937,-0.26749,0.52285) + New Polarization: (0.54949,0.030594,-0.83494) + *** FresnelRefraction *** +Track (trackID 1644, parentID 1) is processed with stopping code 2 +### pop requested out of 66 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.7856,-0.40017,-0.47191) + Old Polarization: (-0.39428,0.26401,-0.88025) + New Momentum Direction: (0.55313,-0.53881,-0.6354) + New Polarization: (-0.63374,0.22294,-0.74072) + *** FresnelRefraction *** +Track (trackID 1643, parentID 1) is processed with stopping code 2 +### pop requested out of 65 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.81276,0.10222,0.57356) + Old Polarization: (-0.36452,0.8572,0.36378) + New Momentum Direction: (0.61411,0.13847,0.77698) + New Polarization: (-0.59173,0.73222,0.3372) + *** FresnelRefraction *** +Track (trackID 1642, parentID 1) is processed with stopping code 2 +### pop requested out of 64 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.63255,-0.65176,-0.41844) + Old Polarization: (-0.57743,-0.036788,-0.81561) + New Momentum Direction: (0.63255,0.65176,-0.41844) + New Polarization: (0.57743,-0.036788,0.81561) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.63255,0.65176,-0.41844) + Old Polarization: (0.57743,-0.036788,0.81561) + New Momentum Direction: (-0.63255,0.65176,-0.41844) + New Polarization: (0.57743,0.036788,-0.81561) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.63255,0.65176,-0.41844) + Old Polarization: (0.57743,0.036788,-0.81561) + New Momentum Direction: (-0.63255,0.65176,0.41844) + New Polarization: (-0.57743,-0.036788,-0.81561) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.63255,0.65176,0.41844) + Old Polarization: (-0.57743,-0.036788,-0.81561) + New Momentum Direction: (-0.63255,-0.65176,0.41844) + New Polarization: (0.57743,-0.036788,0.81561) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.63255,-0.65176,0.41844) + Old Polarization: (0.57743,-0.036788,0.81561) + New Momentum Direction: (0.63255,-0.65176,0.41844) + New Polarization: (0.57743,0.036788,-0.81561) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1641, parentID 1) is processed with stopping code 2 +### pop requested out of 63 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41696,-0.90136,-0.11707) + Old Polarization: (-0.83113,-0.32595,-0.45054) + New Momentum Direction: (0.56504,-0.80967,-0.15865) + New Polarization: (0.51306,0.4954,-0.70096) + *** FresnelRefraction *** +Track (trackID 1640, parentID 1) is processed with stopping code 2 +### pop requested out of 62 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5972,-0.20995,0.77413) + Old Polarization: (-0.61981,0.49179,0.61153) + New Momentum Direction: (0.80392,-0.28262,0.52329) + New Polarization: (0.54638,0.0034465,-0.83753) + *** FresnelRefraction *** +Track (trackID 1639, parentID 1) is processed with stopping code 2 +### pop requested out of 61 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58747,-0.7077,-0.39248) + Old Polarization: (-0.6297,-0.095148,-0.77099) + New Momentum Direction: (0.79826,-0.27996,-0.5333) + New Polarization: (-0.49558,0.19795,-0.84571) + *** FresnelRefraction *** +Track (trackID 1638, parentID 1) is processed with stopping code 2 +### pop requested out of 60 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.97282,0.056305,-0.22461) + Old Polarization: (-0.17879,0.79905,-0.57406) + New Momentum Direction: (0.94917,0.076534,-0.30531) + New Polarization: (-0.26952,0.69865,-0.66276) + *** FresnelRefraction *** +Track (trackID 1637, parentID 1) is processed with stopping code 2 +### pop requested out of 59 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.57863,-0.22332,0.78442) + Old Polarization: (-0.63998,0.47189,0.60642) + New Momentum Direction: (0.78654,-0.30356,0.53777) + New Polarization: (0.54933,-0.053894,-0.83387) + *** FresnelRefraction *** +Track (trackID 1636, parentID 1) is processed with stopping code 2 +### pop requested out of 58 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.48115,-0.83931,-0.25311) + Old Polarization: (-0.75414,-0.24907,-0.60765) + New Momentum Direction: (0.65387,-0.6739,-0.34397) + New Polarization: (-0.027279,0.43333,-0.90082) + *** FresnelRefraction *** +Track (trackID 1635, parentID 1) is processed with stopping code 2 +### pop requested out of 57 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41542,-0.90292,-0.11024) + Old Polarization: (-0.83365,-0.32943,-0.44328) + New Momentum Direction: (0.56236,-0.81332,-0.14923) + New Polarization: (0.53783,0.49684,-0.68109) + *** FresnelRefraction *** +Track (trackID 1634, parentID 1) is processed with stopping code 2 +### pop requested out of 56 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1633, parentID 1) is processed with stopping code 2 +### pop requested out of 55 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.97709,0.076491,-0.1986) +Old Polarization: (-0.17463,0.82155,-0.54273) +New Polarization: (-0.28457,0.29532,-0.76276) +Polarization Change: (-0.3286,0.341,-0.88076) +New Momentum Direction: (0.091492,-0.82509,-0.35358) +Momentum Change: (0.1014,-0.91442,-0.39186) + +** Photon absorbed! ** +Track (trackID 1632, parentID 1) is processed with stopping code 2 +### pop requested out of 54 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1631, parentID 1) is processed with stopping code 2 +### pop requested out of 53 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.62384,-0.15908,0.76519) + Old Polarization: (-0.58753,0.55019,0.59338) + New Momentum Direction: (0.84334,-0.21506,0.49247) + New Polarization: (0.52731,0.15461,-0.83549) + *** FresnelRefraction *** +Track (trackID 1630, parentID 1) is processed with stopping code 2 +### pop requested out of 52 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1629, parentID 1) is processed with stopping code 2 +### pop requested out of 51 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96363,0.2036,0.17312) + Old Polarization: (-0.18679,0.97638,-0.10855) + New Momentum Direction: (0.93213,0.27588,0.23458) + New Polarization: (-0.2895,0.95685,0.025091) + *** FresnelRefraction *** +Track (trackID 1628, parentID 1) is processed with stopping code 2 +### pop requested out of 50 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.63608,-0.13179,0.76028) + Old Polarization: (-0.5728,0.57954,0.57969) + New Momentum Direction: (0.86387,-0.17898,0.47084) + New Polarization: (0.50206,0.23049,-0.83355) + *** FresnelRefraction *** +Track (trackID 1627, parentID 1) is processed with stopping code 2 +### pop requested out of 49 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.72883,0.0045545,0.68468) + Old Polarization: (-0.46432,0.73821,0.48935) + New Momentum Direction: (-0.72883,0.0045545,0.68468) + New Polarization: (-0.24277,-0.93673,-0.2522) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.72883,0.0045545,0.68468) + Old Polarization: (-0.24277,-0.93673,-0.2522) + New Momentum Direction: (-0.72883,0.0045545,-0.68468) + New Polarization: (0.19411,0.96032,-0.20024) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.72883,0.0045545,-0.68468) + Old Polarization: (0.19411,0.96032,-0.20024) + New Momentum Direction: (-0.36511,0.0061927,-0.93094) + New Polarization: (0.37841,0.91463,-0.14233) + *** FresnelRefraction *** +Track (trackID 1626, parentID 1) is processed with stopping code 2 +### pop requested out of 48 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.70443,-0.53238,-0.46943) + Old Polarization: (-0.49256,0.10953,-0.86336) + New Momentum Direction: (-0.70443,-0.53238,-0.46943) + New Polarization: (-0.34,-0.32746,0.88157) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.70443,-0.53238,-0.46943) + Old Polarization: (-0.34,-0.32746,0.88157) + New Momentum Direction: (-0.70443,0.53238,-0.46943) + New Polarization: (0.34,-0.32746,-0.88157) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.70443,0.53238,-0.46943) + Old Polarization: (0.34,-0.32746,-0.88157) + New Momentum Direction: (-0.70443,0.53238,0.46943) + New Polarization: (-0.34,0.32746,-0.88157) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.70443,0.53238,0.46943) + Old Polarization: (-0.34,0.32746,-0.88157) + New Momentum Direction: (-0.26882,0.72245,0.63703) + New Polarization: (0.62307,0.63479,-0.45698) + *** FresnelRefraction *** +Track (trackID 1625, parentID 1) is processed with stopping code 2 +### pop requested out of 47 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50623,-0.81092,-0.29349) + Old Polarization: (-0.72465,-0.21548,-0.65456) + New Momentum Direction: (0.50623,0.81092,-0.29349) + New Polarization: (0.50907,-0.0062872,0.8607) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.50623,0.81092,-0.29349) + Old Polarization: (0.50907,-0.0062872,0.8607) + New Momentum Direction: (-0.50623,0.81092,-0.29349) + New Polarization: (0.50907,0.0062872,-0.8607) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.50623,0.81092,-0.29349) + Old Polarization: (0.50907,0.0062872,-0.8607) + New Momentum Direction: (-0.50623,0.81092,0.29349) + New Polarization: (-0.50907,-0.0062872,-0.8607) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.50623,0.81092,0.29349) + Old Polarization: (-0.50907,-0.0062872,-0.8607) + New Momentum Direction: (-0.68817,0.60601,0.39897) + New Polarization: (-0.5095,-0.012141,-0.86038) + *** FresnelRefraction *** +Track (trackID 1624, parentID 1) is processed with stopping code 2 +### pop requested out of 46 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.80649,-0.34988,-0.47662) + Old Polarization: (-0.37328,0.32384,-0.86936) + New Momentum Direction: (0.59535,-0.47546,-0.64768) + New Polarization: (-0.60815,0.26015,-0.74998) + *** FresnelRefraction *** +Track (trackID 1623, parentID 1) is processed with stopping code 2 +### pop requested out of 45 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.44613,-0.87922,-0.16716) + Old Polarization: (-0.80008,-0.30812,-0.51472) + New Momentum Direction: (0.6012,-0.76669,-0.22526) + New Polarization: (0.31657,0.48734,-0.81381) + *** FresnelRefraction *** +Track (trackID 1622, parentID 1) is processed with stopping code 2 +### pop requested out of 44 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1621, parentID 1) is processed with stopping code 2 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96228,0.0076138,-0.27194) + Old Polarization: (-0.18585,0.74839,-0.63668) + New Momentum Direction: (0.93,0.010287,-0.36741) + New Polarization: (-0.28881,0.63875,-0.71315) + *** FresnelRefraction *** +Track (trackID 1620, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1619, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1618, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.87074,0.15047,0.46816) + Old Polarization: (-0.29184,0.92437,0.2457) + New Momentum Direction: (0.74991,0.20242,0.62981) + New Polarization: (-0.47102,0.83187,0.29347) + *** FresnelRefraction *** +Track (trackID 1617, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.58681,-0.71309,-0.38362) + Old Polarization: (-0.63139,-0.10635,-0.76814) + New Momentum Direction: (0.7934,-0.31857,-0.51867) + New Polarization: (-0.47251,0.21484,-0.85474) + *** FresnelRefraction *** +Track (trackID 1616, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5815,-0.7154,-0.38738) + Old Polarization: (-0.63659,-0.10363,-0.76421) + New Momentum Direction: (0.5815,0.7154,-0.38738) + New Polarization: (0.50871,0.051848,0.85938) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.5815,0.7154,-0.38738) + Old Polarization: (0.50871,0.051848,0.85938) + New Momentum Direction: (-0.5815,0.7154,-0.38738) + New Polarization: (0.50871,-0.051848,-0.85938) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.5815,0.7154,-0.38738) +Old Polarization: (0.50871,-0.051848,-0.85938) +New Polarization: (0.40028,-0.40592,-0.66572) +Polarization Change: (0.4567,-0.46313,-0.75956) +New Momentum Direction: (0.13691,-0.7189,0.52066) +Momentum Change: (0.15243,-0.80044,0.57971) + Photon at Boundary! + Old Momentum Direction: (0.15243,-0.80044,0.57971) + Old Polarization: (0.4567,-0.46313,-0.75956) + New Momentum Direction: (0.20724,-0.57955,0.78814) + New Polarization: (0.61019,0.70629,0.35892) + *** FresnelRefraction *** +Track (trackID 1615, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.9783,0.18967,0.083375) + Old Polarization: (-0.16824,0.9621,-0.21462) + New Momentum Direction: (0.9599,0.25665,0.11282) + New Polarization: (-0.24775,0.9649,-0.08714) + *** FresnelRefraction *** +Track (trackID 1614, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98464,0.1091,-0.13631) + Old Polarization: (-0.1615,0.86572,-0.47376) + New Momentum Direction: (0.97165,0.14774,-0.18459) + New Polarization: (-0.2263,0.80726,-0.54509) + *** FresnelRefraction *** +Track (trackID 1613, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1612, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.54562,-0.27878,0.7903) + Old Polarization: (-0.67835,0.40681,0.61183) + New Momentum Direction: (0.74229,-0.37927,0.55241) + New Polarization: (0.50857,-0.2179,-0.83299) + *** FresnelRefraction *** +Track (trackID 1611, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.9741,0.062191,-0.2174) + Old Polarization: (-0.17759,0.80555,-0.56528) + New Momentum Direction: (0.95156,0.084562,-0.2956) + New Polarization: (-0.26624,0.7075,-0.65465) + *** FresnelRefraction *** +Track (trackID 1610, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.49046,-0.38897,0.77984) + Old Polarization: (-0.74463,0.27785,0.6069) + New Momentum Direction: (0.66447,-0.52697,0.52988) + New Polarization: (0.30112,-0.46015,-0.83522) + *** FresnelRefraction *** +Track (trackID 1609, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34305,-0.75858,0.55396) + Old Polarization: (-0.92341,-0.16427,0.3469) + New Momentum Direction: (0.46219,-0.47891,0.74634) + New Polarization: (-0.70738,0.30844,0.63598) + *** FresnelRefraction *** +Track (trackID 1608, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1607, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95076,-0.03436,-0.30802) + Old Polarization: (-0.19637,0.70211,-0.68446) + New Momentum Direction: (0.90882,-0.046252,-0.41462) + New Polarization: (-0.30993,0.59044,-0.7452) + *** FresnelRefraction *** +Track (trackID 1606, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34082,-0.74224,0.57699) + Old Polarization: (-0.92019,-0.13764,0.36648) + New Momentum Direction: (0.46221,-0.41718,0.78251) + New Polarization: (-0.75966,0.26895,0.5921) + *** FresnelRefraction *** +Track (trackID 1605, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.83833,0.12838,0.52983) + Old Polarization: (-0.33396,0.8891,0.31299) + New Momentum Direction: (0.67486,0.17378,0.71719) + New Polarization: (-0.54234,0.77586,0.32234) + *** FresnelRefraction *** +Track (trackID 1604, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1603, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96611,0.025543,-0.25685) + Old Polarization: (-0.18387,0.76648,-0.61539) + New Momentum Direction: (0.93684,0.03461,-0.34803) + New Polarization: (-0.28333,0.65851,-0.6972) + *** FresnelRefraction *** +Track (trackID 1602, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.89477,0.17408,0.4112) + Old Polarization: (-0.265,0.94819,0.17524) + New Momentum Direction: (0.79817,0.23486,0.55477) + New Polarization: (-0.42849,0.86863,0.24875) + *** FresnelRefraction *** +Track (trackID 1601, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98611,0.11999,-0.11481) + Old Polarization: (-0.15925,0.87933,-0.44881) + New Momentum Direction: (0.97441,0.1624,-0.1554) + New Polarization: (-0.21961,0.83521,-0.50418) + *** FresnelRefraction *** +Track (trackID 1600, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1599, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1598, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.97841,0.19331,0.073104) + Old Polarization: (-0.17258,0.9588,-0.22566) + New Momentum Direction: (0.9597,0.26286,0.099404) + New Polarization: (-0.25304,0.96214,-0.10126) + *** FresnelRefraction *** +Track (trackID 1597, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.35576,-0.93307,0.053081) + Old Polarization: (-0.90016,-0.35738,-0.24897) + New Momentum Direction: (0.48392,-0.87213,0.072203) + New Polarization: (0.87184,0.4876,0.046396) + *** FresnelRefraction *** +Track (trackID 1596, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.38406,-0.92253,-0.038013) + Old Polarization: (-0.86786,-0.34663,-0.35591) + New Momentum Direction: (0.52188,-0.85145,-0.051654) + New Polarization: (0.76525,0.49408,-0.41265) + *** FresnelRefraction *** +Track (trackID 1595, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.54881,-0.27743,0.78857) + Old Polarization: (-0.67527,0.40892,0.61383) + New Momentum Direction: (0.74493,-0.37658,0.5507) + New Polarization: (0.51004,-0.21063,-0.83396) + *** FresnelRefraction *** +Track (trackID 1594, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1593, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.32309,-0.84065,0.43464) + Old Polarization: (-0.94462,-0.25858,0.20207) + New Momentum Direction: (0.4365,-0.68166,0.5872) + New Polarization: (-0.39425,0.44175,0.80587) + *** FresnelRefraction *** +Track (trackID 1592, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74618,-0.46151,-0.47981) + Old Polarization: (-0.44356,0.19282,-0.87526) + New Momentum Direction: (0.42841,-0.62639,-0.65123) + New Polarization: (-0.71951,0.1995,-0.66521) + *** FresnelRefraction *** +Track (trackID 1591, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1590, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.93184,0.20387,0.30018) + Old Polarization: (-0.22594,0.97331,0.040342) + New Momentum Direction: (0.87018,0.27684,0.40761) + New Polarization: (-0.36335,0.91927,0.15136) + *** FresnelRefraction *** +Track (trackID 1589, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.49716,-0.82469,-0.26967) +Old Polarization: (-0.73733,-0.23773,-0.63232) +New Polarization: (-0.82489,0.3706,0.2799) +Polarization Change: (-0.87139,0.39149,0.29568) +New Momentum Direction: (-0.0016005,0.57733,-0.76912) +Momentum Change: (-0.0016643,0.60032,-0.79975) + Photon at Boundary! + Old Momentum Direction: (-0.0016643,0.60032,-0.79975) + Old Polarization: (-0.87139,0.39149,0.29568) + New Momentum Direction: (-0.0022517,0.81221,-0.58336) + New Polarization: (-0.78094,0.36294,0.50834) + *** FresnelRefraction *** +Track (trackID 1588, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.86122,0.14399,0.48741) + Old Polarization: (-0.30416,0.91435,0.26731) + New Momentum Direction: (0.72877,0.19401,0.6567) + New Polarization: (-0.49167,0.81576,0.30463) + *** FresnelRefraction *** +Track (trackID 1587, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.31447,-0.85479,0.41284) +Old Polarization: (-0.94856,-0.2662,0.17137) +New Polarization: (-0.8686,0.10287,0.11027) +Polarization Change: (-0.98526,0.11669,0.12508) +New Momentum Direction: (-0.10822,0.023778,-0.87461) +Momentum Change: (-0.12275,0.026971,-0.99207) +Scattering Photon! +Old Momentum Direction: (-0.12275,0.026971,-0.99207) +Old Polarization: (-0.98526,0.11669,0.12508) +New Polarization: (-0.9679,0.13951,0.097642) +Polarization Change: (-0.98487,0.14196,0.099355) +New Momentum Direction: (0.15107,0.43905,0.87025) +Momentum Change: (0.15316,0.44511,0.88228) + +** Photon absorbed! ** +Track (trackID 1586, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34589,-0.75284,0.55999) + Old Polarization: (-0.92109,-0.15876,0.3555) + New Momentum Direction: (0.34589,0.75284,0.55999) + New Polarization: (0.82457,0.040885,-0.56428) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.34589,0.75284,0.55999) + Old Polarization: (0.82457,0.040885,-0.56428) + New Momentum Direction: (0.34589,0.75284,-0.55999) + New Polarization: (-0.82457,-0.040885,-0.56428) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1585, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.92302,0.19361,0.3325) + Old Polarization: (-0.23242,0.96925,0.080807) + New Momentum Direction: (0.85427,0.26157,0.44922) + New Polarization: (-0.374,0.90946,0.18167) + *** FresnelRefraction *** +Track (trackID 1584, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.50193,-0.81629,-0.28589) + Old Polarization: (-0.72991,-0.22245,-0.64633) + New Momentum Direction: (0.68194,-0.61974,-0.38843) + New Polarization: (-0.15207,0.39932,-0.90411) + *** FresnelRefraction *** +Track (trackID 1583, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.79801,-0.36892,-0.47653) + Old Polarization: (-0.38223,0.30151,-0.8735) + New Momentum Direction: (0.57666,-0.50012,-0.64602) + New Polarization: (-0.6205,0.24627,-0.74454) + *** FresnelRefraction *** +Track (trackID 1582, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.42029,-0.89742,-0.1341) + Old Polarization: (-0.82511,-0.31649,-0.46801) + New Momentum Direction: (0.57141,-0.80016,-0.18232) + New Polarization: (0.44929,0.49092,-0.74641) + *** FresnelRefraction *** +Track (trackID 1581, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1580, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1579, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 42 +Track (trackID 1, parentID 0) is processed with stopping code 4 +### pop requested out of 43 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.19368,-0.71729,-0.66931) + Old Polarization: (-0.96364,-0.011067,-0.26699) + New Momentum Direction: (0.26071,-0.34686,-0.90095) + New Polarization: (-0.95804,0.022221,-0.28579) + *** FresnelRefraction *** +Track (trackID 1689, parentID 1) is processed with stopping code 2 +### pop requested out of 42 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.16868,-0.79502,-0.58266) + Old Polarization: (-0.9836,-0.097492,-0.15172) + New Momentum Direction: (0.22901,-0.56723,-0.79108) + New Polarization: (-0.89985,0.18658,-0.39429) + *** FresnelRefraction *** +Track (trackID 1688, parentID 1) is processed with stopping code 2 +### pop requested out of 41 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1687, parentID 1) is processed with stopping code 2 +### pop requested out of 40 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1686, parentID 1) is processed with stopping code 2 +### pop requested out of 39 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.50397,-0.83977,0.20201) +Old Polarization: (-0.57839,-0.15443,0.80101) +New Polarization: (-0.75869,-0.057965,0.43453) +Polarization Change: (-0.86585,-0.066152,0.49591) +New Momentum Direction: (0.020213,0.98028,0.16606) +Momentum Change: (0.020326,0.98575,0.16699) + Photon at Boundary! + Old Momentum Direction: (0.020326,0.98575,0.16699) + Old Polarization: (-0.86585,-0.066152,0.49591) + New Momentum Direction: (0.027535,0.97369,0.22621) + New Polarization: (-0.79944,-0.1144,0.58975) + *** FresnelRefraction *** +Track (trackID 1685, parentID 1) is processed with stopping code 2 +### pop requested out of 38 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.95432,-0.22626,0.19515) + Old Polarization: (-0.022714,0.59631,0.80244) + New Momentum Direction: (0.91563,-0.30444,0.26258) + New Polarization: (-0.041275,0.5785,0.81464) + *** FresnelRefraction *** +Track (trackID 1684, parentID 1) is processed with stopping code 2 +### pop requested out of 37 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1683, parentID 1) is processed with stopping code 2 +### pop requested out of 36 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.98751,-0.11355,0.10924) + Old Polarization: (0.007772,0.72755,0.68601) + New Momentum Direction: (0.97687,-0.1541,0.14825) + New Polarization: (-0.014324,0.64458,0.76441) + *** FresnelRefraction *** +Track (trackID 1682, parentID 1) is processed with stopping code 2 +### pop requested out of 35 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1681, parentID 1) is processed with stopping code 2 +### pop requested out of 34 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1680, parentID 1) is processed with stopping code 2 +### pop requested out of 33 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.59779,-0.071529,-0.79846) + Old Polarization: (-0.4642,0.78115,-0.41752) + New Momentum Direction: (0.80925,-0.096831,-0.57943) + New Polarization: (0.53448,0.53072,0.65777) + *** FresnelRefraction *** +Track (trackID 1679, parentID 1) is processed with stopping code 2 +### pop requested out of 32 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.33484,-0.94215,-0.015212) + Old Polarization: (-0.78918,-0.28922,0.54179) + New Momentum Direction: (0.45069,-0.89245,-0.020475) + New Polarization: (0.8365,0.4142,0.35876) + *** FresnelRefraction *** +Track (trackID 1678, parentID 1) is processed with stopping code 2 +### pop requested out of 31 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.71304,0.031241,-0.70043) +Old Polarization: (-0.3257,0.89943,-0.29145) +New Polarization: (-0.27175,0.73737,-0.46294) +Polarization Change: (-0.29795,0.80845,-0.50757) +New Momentum Direction: (-0.80048,-0.48839,-0.30801) +Momentum Change: (-0.81102,-0.49483,-0.31207) + +** Photon absorbed! ** +Track (trackID 1677, parentID 1) is processed with stopping code 2 +### pop requested out of 30 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.37115,-0.33412,-0.86638) + Old Polarization: (-0.73806,0.46004,-0.49359) + New Momentum Direction: (0.50434,-0.45401,-0.73452) + New Polarization: (0.46926,-0.56995,0.6745) + *** FresnelRefraction *** +Track (trackID 1676, parentID 1) is processed with stopping code 2 +### pop requested out of 29 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.91909,-0.30336,0.25148) + Old Polarization: (-0.07166,0.49889,0.8637) + New Momentum Direction: (0.84614,-0.41031,0.34014) + New Polarization: (-0.13085,0.45874,0.87888) + *** FresnelRefraction *** +Track (trackID 1675, parentID 1) is processed with stopping code 2 +### pop requested out of 28 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.86046,0.098242,-0.49995) + Old Polarization: (-0.144,0.98812,-0.053668) + New Momentum Direction: (0.72406,0.13299,-0.67679) + New Polarization: (-0.26127,0.961,-0.090683) + *** FresnelRefraction *** +Track (trackID 1674, parentID 1) is processed with stopping code 2 +### pop requested out of 27 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.60506,-0.06299,-0.79368) + Old Polarization: (-0.4554,0.79031,-0.4099) + New Momentum Direction: (0.82003,-0.08537,-0.56592) + New Polarization: (0.50928,0.56,0.65348) + *** FresnelRefraction *** +Track (trackID 1673, parentID 1) is processed with stopping code 2 +### pop requested out of 26 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.4643,-0.86963,0.16786) + Old Polarization: (-0.62595,-0.18811,0.75684) + New Momentum Direction: (0.63023,-0.74223,0.22785) + New Polarization: (0.051985,0.33315,0.94144) + *** FresnelRefraction *** +Track (trackID 1672, parentID 1) is processed with stopping code 2 +### pop requested out of 25 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.87655,-0.38199,0.29282) + Old Polarization: (-0.12757,0.40225,0.9066) + New Momentum Direction: (0.75657,-0.51898,0.39784) + New Polarization: (-0.23329,0.35414,0.90563) + *** FresnelRefraction *** +Track (trackID 1671, parentID 1) is processed with stopping code 2 +### pop requested out of 24 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.20471,-0.67873,-0.70528) + Old Polarization: (-0.94966,0.036834,-0.31109) + New Momentum Direction: (0.27564,-0.91388,-0.29806) + New Polarization: (-0.71783,-0.40192,0.56849) + *** FresnelRefraction *** +Track (trackID 1670, parentID 1) is processed with stopping code 2 +### pop requested out of 23 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.96979,0.073524,-0.2326) + Old Polarization: (-0.0075656,0.9621,0.27258) + New Momentum Direction: (0.94421,0.099262,-0.31402) + New Polarization: (-0.013839,0.96461,0.2633) + *** FresnelRefraction *** +Track (trackID 1669, parentID 1) is processed with stopping code 2 +### pop requested out of 22 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1668, parentID 1) is processed with stopping code 2 +### pop requested out of 21 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.88935,0.097901,-0.44663) + Old Polarization: (-0.10489,0.99444,0.0091132) + New Momentum Direction: (0.78746,0.13198,-0.60207) + New Polarization: (-0.18972,0.98128,-0.033036) + *** FresnelRefraction *** +Track (trackID 1667, parentID 1) is processed with stopping code 2 +### pop requested out of 20 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.3811,-0.33509,-0.86167) + Old Polarization: (-0.73118,0.46115,-0.50271) + New Momentum Direction: (0.51358,-0.45158,-0.72959) + New Polarization: (0.47966,-0.55393,0.6805) + *** FresnelRefraction *** +Track (trackID 1666, parentID 1) is processed with stopping code 2 +### pop requested out of 19 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.6496,-0.70279,0.29003) + Old Polarization: (-0.40025,0.008205,0.91637) + New Momentum Direction: (0.87578,-0.28304,0.39101) + New Polarization: (-0.40306,0.016922,0.91502) + *** FresnelRefraction *** +Track (trackID 1665, parentID 1) is processed with stopping code 2 +### pop requested out of 18 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1664, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.53144,-0.13848,-0.8357) + Old Polarization: (-0.54503,0.69932,-0.46248) + New Momentum Direction: (0.53144,-0.13848,0.8357) + New Polarization: (-0.054291,-0.99009,-0.12954) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.53144,-0.13848,0.8357) + Old Polarization: (-0.054291,-0.99009,-0.12954) + New Momentum Direction: (-0.53144,-0.13848,0.8357) + New Polarization: (-0.054291,0.99009,0.12954) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.53144,-0.13848,0.8357) + Old Polarization: (-0.054291,0.99009,0.12954) + New Momentum Direction: (-0.71962,-0.18751,0.66858) + New Polarization: (-0.44691,0.86199,-0.23927) + *** FresnelRefraction *** +Track (trackID 1663, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.54769,-0.11396,-0.82888) + Old Polarization: (-0.52474,0.72484,-0.44638) + New Momentum Direction: (0.7451,-0.15504,-0.64868) + New Polarization: (0.65608,0.34529,0.67107) + *** FresnelRefraction *** +Track (trackID 1662, parentID 1) is processed with stopping code 2 +### pop requested out of 15 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.5945,-0.080629,-0.80005) + Old Polarization: (-0.46811,0.77427,-0.42588) + New Momentum Direction: (0.8016,-0.10872,-0.5879) + New Polarization: (0.55384,0.50539,0.6617) + *** FresnelRefraction *** +Track (trackID 1661, parentID 1) is processed with stopping code 2 +### pop requested out of 14 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.23485,-0.94765,-0.21636) + Old Polarization: (-0.9104,-0.29244,0.29265) + New Momentum Direction: (0.31681,-0.90247,-0.29186) + New Polarization: (0.42355,0.40993,-0.80781) + *** FresnelRefraction *** +Track (trackID 1660, parentID 1) is processed with stopping code 2 +### pop requested out of 13 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.94764,-0.23411,0.21717) + Old Polarization: (-0.043063,0.58018,0.81335) + New Momentum Direction: (0.90072,-0.31848,0.29543) + New Polarization: (-0.079678,0.54743,0.83305) + *** FresnelRefraction *** +Track (trackID 1659, parentID 1) is processed with stopping code 2 +### pop requested out of 12 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.2073,-0.6413,-0.73875) + Old Polarization: (-0.93626,0.088873,-0.33988) + New Momentum Direction: (0.28161,-0.87118,-0.40218) + New Polarization: (-0.63759,-0.48312,0.60006) + *** FresnelRefraction *** +Track (trackID 1658, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1657, parentID 1) is processed with stopping code 2 +### pop requested out of 10 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.92486,-0.2863,0.25033) +Old Polarization: (-0.070739,0.51723,0.85292) +New Polarization: (0.41687,0.39595,0.64836) +Polarization Change: (0.48106,0.45693,0.7482) +New Momentum Direction: (0.089125,-0.81021,0.43749) +Momentum Change: (0.096343,-0.87582,0.47292) + Photon at Boundary! + Old Momentum Direction: (0.096343,-0.87582,0.47292) + Old Polarization: (0.48106,0.45693,0.7482) + New Momentum Direction: (0.13109,-0.75414,0.6435) + New Polarization: (0.37882,0.63795,0.67046) + *** FresnelRefraction *** +Track (trackID 1656, parentID 1) is processed with stopping code 2 +### pop requested out of 9 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.19985,-0.65914,-0.72498) + Old Polarization: (-0.94428,0.067928,-0.32207) + New Momentum Direction: (0.27173,-0.89618,-0.35076) + New Polarization: (-0.68379,-0.43626,0.5849) + *** FresnelRefraction *** +Track (trackID 1655, parentID 1) is processed with stopping code 2 +### pop requested out of 8 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.24855,-0.95346,-0.17072) + Old Polarization: (-0.89019,-0.29432,0.34776) + New Momentum Direction: (0.33638,-0.91295,-0.23104) + New Polarization: (0.65135,0.40273,-0.64308) + *** FresnelRefraction *** +Track (trackID 1654, parentID 1) is processed with stopping code 2 +### pop requested out of 7 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.21902,-0.94426,-0.24578) + Old Polarization: (-0.92485,-0.28118,0.2561) + New Momentum Direction: (0.29678,-0.89499,-0.33303) + New Polarization: (0.2399,0.40744,-0.88116) + *** FresnelRefraction *** +Track (trackID 1653, parentID 1) is processed with stopping code 2 +### pop requested out of 6 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.74465,0.045206,-0.66592) + Old Polarization: (-0.28511,0.92364,-0.25612) + New Momentum Direction: (0.42874,0.061189,-0.90136) + New Polarization: (-0.51478,0.83644,-0.18808) + *** FresnelRefraction *** +Track (trackID 1652, parentID 1) is processed with stopping code 2 +### pop requested out of 5 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.60474,-0.74855,0.27196) + Old Polarization: (-0.45566,-0.045132,0.88901) + New Momentum Direction: (0.8178,-0.44265,0.36778) + New Polarization: (-0.3681,0.088906,0.92553) + *** FresnelRefraction *** +Track (trackID 1651, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.83819,-0.44604,0.31382) +Old Polarization: (-0.17503,0.32496,0.92939) +New Polarization: (-0.87405,0.27505,0.16631) +Polarization Change: (-0.93855,0.29535,0.17858) +New Momentum Direction: (0.22725,0.18492,0.88847) +Momentum Change: (0.24291,0.19766,0.9497) + Photon at Boundary! + Old Momentum Direction: (0.24291,0.19766,0.9497) + Old Polarization: (-0.93855,0.29535,0.17858) + New Momentum Direction: (-0.24291,0.19766,0.9497) + New Polarization: (-0.93855,-0.29535,-0.17858) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.24291,0.19766,0.9497) + Old Polarization: (-0.93855,-0.29535,-0.17858) + New Momentum Direction: (-0.33051,0.26895,0.90467) + New Polarization: (-0.94096,-0.16828,-0.29374) + *** FresnelRefraction *** +Track (trackID 1650, parentID 1) is processed with stopping code 2 +### pop requested out of 3 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.34891,-0.93683,0.024774) + Old Polarization: (-0.76581,-0.26978,0.58374) + New Momentum Direction: (0.47351,-0.88015,0.033621) + New Polarization: (0.71548,0.40662,0.56811) + *** FresnelRefraction *** +Track (trackID 1649, parentID 1) is processed with stopping code 2 +### pop requested out of 2 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.51468,-0.15968,-0.84238) + Old Polarization: (-0.56582,0.67491,-0.47365) + New Momentum Direction: (0.6957,-0.21585,-0.68513) + New Polarization: (0.71728,0.15726,0.6788) + *** FresnelRefraction *** +Track (trackID 1648, parentID 1) is processed with stopping code 2 +### pop requested out of 1 stacked tracks. Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 40 -Track (trackID 637, parentID 1) is processed with stopping code 4 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48071,-0.64456,-0.59453) - Old Polarization: (-0.87561,-0.38925,-0.28597) - New Momentum Direction: (0.48071,0.64456,-0.59453) - New Polarization: (0.87561,-0.38925,0.28597) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48071,0.64456,-0.59453) - Old Polarization: (0.87561,-0.38925,0.28597) - New Momentum Direction: (0.48071,0.64456,0.59453) - New Polarization: (-0.87561,0.38925,0.28597) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48071,0.64456,0.59453) - Old Polarization: (-0.87561,0.38925,0.28597) - New Momentum Direction: (-0.48071,0.64456,0.59453) - New Polarization: (-0.87561,-0.38925,-0.28597) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48071,0.64456,0.59453) - Old Polarization: (-0.87561,-0.38925,-0.28597) - New Momentum Direction: (-0.48071,-0.64456,0.59453) - New Polarization: (0.87561,-0.38925,0.28597) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48071,-0.64456,0.59453) - Old Polarization: (0.87561,-0.38925,0.28597) - New Momentum Direction: (-0.48071,-0.64456,-0.59453) - New Polarization: (-0.87561,0.38925,0.28597) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1018, parentID 637) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98249,0.16137,0.093141) - Old Polarization: (-0.18203,0.7247,0.66459) - New Momentum Direction: (0.96776,0.21816,0.12592) - New Polarization: (-0.24868,0.74796,0.6154) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1017, parentID 637) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69422,-0.71414,0.089789) - Old Polarization: (-0.5814,-0.48284,0.65486) - New Momentum Direction: (0.69422,0.71414,0.089789) - New Polarization: (-0.18723,0.29963,-0.9355) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.69422,0.71414,0.089789) - Old Polarization: (-0.18723,0.29963,-0.9355) - New Momentum Direction: (0.21479,0.96903,0.12184) - New Polarization: (-0.38506,0.19866,-0.90125) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1016, parentID 637) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67927,-0.73088,0.066429) - Old Polarization: (-0.6016,-0.5027,0.62078) - New Momentum Direction: (0.92319,-0.37359,0.090283) - New Polarization: (0.26628,0.79109,0.5507) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1015, parentID 637) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49254,-0.4843,-0.72309) - Old Polarization: (-0.86413,-0.17349,-0.47242) - New Momentum Direction: (0.49254,-0.4843,0.72309) - New Polarization: (0.46351,0.84919,0.25304) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.49254,-0.4843,0.72309) - Old Polarization: (0.46351,0.84919,0.25304) - New Momentum Direction: (-0.49254,-0.4843,0.72309) - New Polarization: (0.46351,-0.84919,-0.25304) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.49254,-0.4843,0.72309) - Old Polarization: (0.46351,-0.84919,-0.25304) - New Momentum Direction: (-0.49254,0.4843,0.72309) - New Polarization: (-0.46351,-0.84919,0.25304) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.49254,0.4843,0.72309) - Old Polarization: (-0.46351,-0.84919,0.25304) - New Momentum Direction: (-0.66426,0.65316,0.36352) - New Polarization: (-0.73598,-0.48642,-0.47088) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1014, parentID 637) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1013, parentID 637) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86147,-0.41724,0.28947) - Old Polarization: (-0.3508,-0.076793,0.9333) - New Momentum Direction: (-0.86147,-0.41724,0.28947) - New Polarization: (0.13272,-0.7352,-0.66472) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.86147,-0.41724,0.28947) - Old Polarization: (0.13272,-0.7352,-0.66472) - New Momentum Direction: (-0.86147,0.41724,0.28947) - New Polarization: (-0.13272,-0.7352,0.66472) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.86147,0.41724,0.28947) - Old Polarization: (-0.13272,-0.7352,0.66472) - New Momentum Direction: (-0.86147,0.41724,-0.28947) - New Polarization: (0.13272,0.7352,0.66472) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.86147,0.41724,-0.28947) - Old Polarization: (0.13272,0.7352,0.66472) - New Momentum Direction: (-0.72602,0.56501,-0.39199) - New Polarization: (0.24214,0.74356,0.62328) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1012, parentID 637) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88745,0.31788,-0.33374) - Old Polarization: (-0.31238,0.94726,0.07159) - New Momentum Direction: (0.78332,0.42872,-0.45012) - New Polarization: (-0.48785,0.87275,-0.017732) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1011, parentID 637) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83297,0.3028,-0.46312) - Old Polarization: (-0.39065,0.91457,-0.10466) - New Momentum Direction: (0.66118,0.41055,-0.62792) - New Polarization: (-0.61041,0.781,-0.13209) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1010, parentID 637) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87492,0.31776,-0.36544) - Old Polarization: (-0.33086,0.94326,0.028072) - New Momentum Direction: (0.7563,0.42928,-0.49369) - New Polarization: (-0.51732,0.85435,-0.04961) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1009, parentID 637) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1008, parentID 637) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85235,0.30727,-0.42318) - Old Polarization: (-0.36178,0.93077,-0.052851) - New Momentum Direction: (0.70836,0.41472,-0.57117) - New Polarization: (-0.56401,0.81909,-0.10476) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1007, parentID 637) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87286,0.32663,-0.36253) - Old Polarization: (-0.33747,0.94069,0.035003) - New Momentum Direction: (0.74808,0.44419,-0.49303) - New Polarization: (-0.53085,0.84638,-0.042914) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1006, parentID 637) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50981,-0.76206,-0.39919) - Old Polarization: (-0.83505,-0.54993,-0.016634) - New Momentum Direction: (0.69134,-0.47856,-0.54133) - New Polarization: (0.10396,0.8073,-0.58092) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1005, parentID 637) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54031,-0.78006,-0.31554) - Old Polarization: (-0.79957,-0.59279,0.09634) - New Momentum Direction: (0.72673,-0.54013,-0.4244) - New Polarization: (0.33695,0.8187,-0.46496) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1004, parentID 637) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47772,-0.58697,-0.65364) - Old Polarization: (-0.87841,-0.30813,-0.3653) - New Momentum Direction: (0.47772,-0.58697,0.65364) - New Polarization: (0.87841,0.30813,-0.3653) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47772,-0.58697,0.65364) - Old Polarization: (0.87841,0.30813,-0.3653) - New Momentum Direction: (0.47772,0.58697,0.65364) - New Polarization: (-0.87841,0.30813,0.3653) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1003, parentID 637) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58027,-0.11957,-0.8056) - Old Polarization: (-0.74022,0.3351,-0.58291) - New Momentum Direction: (0.78424,-0.1616,-0.59904) - New Polarization: (0.60767,0.0051009,0.79417) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1002, parentID 637) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84912,-0.44382,0.28639) - Old Polarization: (-0.36924,-0.11105,0.92268) - New Momentum Direction: (0.69666,-0.6028,0.38897) - New Polarization: (-0.57918,-0.15265,0.80078) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1001, parentID 637) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1000, parentID 637) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.51445,-0.77419,-0.36875) -Old Polarization: (-0.82679,-0.5619,0.026237) -New Polarization: (-0.6951,-0.52673,-0.22539) -Polarization Change: (-0.77166,-0.58475,-0.25022) -New Momentum Direction: (0.058482,0.28886,-0.8554) -Momentum Change: (0.064639,0.31927,-0.94546) - Photon at Boundary! - Old Momentum Direction: (0.064639,0.31927,-0.94546) - Old Polarization: (-0.77166,-0.58475,-0.25022) - New Momentum Direction: (0.087848,0.43391,-0.89666) - New Polarization: (-0.35742,0.85394,0.37821) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 999, parentID 637) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8384,0.30514,-0.45162) - Old Polarization: (-0.38284,0.91947,-0.08946) - New Momentum Direction: (0.67432,0.41342,-0.61187) - New Polarization: (-0.59816,0.79168,-0.1243) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 998, parentID 637) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83818,-0.47408,0.26963) - Old Polarization: (-0.38198,-0.15742,0.91066) - New Momentum Direction: (0.67601,-0.64054,0.3643) - New Polarization: (-0.59503,-0.18287,0.78262) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 997, parentID 637) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 996, parentID 637) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 995, parentID 637) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 994, parentID 637) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57229,-0.79791,-0.18929) - Old Polarization: (-0.75011,-0.60262,0.27237) - New Momentum Direction: (0.77488,-0.57782,-0.2563) - New Polarization: (0.55361,0.81606,-0.16603) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 993, parentID 637) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68106,0.10509,-0.72465) - Old Polarization: (-0.60025,0.64691,-0.47033) - New Momentum Direction: (0.92055,0.14204,-0.36389) - New Polarization: (0.20331,0.62122,0.75681) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 992, parentID 637) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67467,-0.73681,0.044019) - Old Polarization: (-0.60917,-0.52213,0.59691) - New Momentum Direction: (0.91174,-0.40643,0.059487) - New Polarization: (0.32237,0.79776,0.50957) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 991, parentID 637) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88608,0.32112,-0.33429) - Old Polarization: (-0.31584,0.9461,0.071637) - New Momentum Direction: (0.77924,0.43416,-0.45198) - New Polarization: (-0.49432,0.86911,-0.017391) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 990, parentID 637) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48517,-0.57741,-0.65666) - Old Polarization: (-0.8742,-0.30326,-0.37923) - New Momentum Direction: (0.48517,-0.57741,0.65666) - New Polarization: (0.8742,0.30326,-0.37923) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48517,-0.57741,0.65666) - Old Polarization: (0.8742,0.30326,-0.37923) - New Momentum Direction: (0.48517,0.57741,0.65666) - New Polarization: (-0.8742,0.30326,0.37923) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48517,0.57741,0.65666) - Old Polarization: (-0.8742,0.30326,0.37923) - New Momentum Direction: (-0.48517,0.57741,0.65666) - New Polarization: (-0.8742,-0.30326,-0.37923) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48517,0.57741,0.65666) - Old Polarization: (-0.8742,-0.30326,-0.37923) - New Momentum Direction: (-0.48517,0.57741,-0.65666) - New Polarization: (0.8742,0.30326,-0.37923) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48517,0.57741,-0.65666) - Old Polarization: (0.8742,0.30326,-0.37923) - New Momentum Direction: (-0.48517,-0.57741,-0.65666) - New Polarization: (-0.8742,0.30326,0.37923) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 989, parentID 637) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50979,-0.76072,-0.40177) - Old Polarization: (-0.83551,-0.54909,-0.020476) - New Momentum Direction: (0.69097,-0.4754,-0.54457) - New Polarization: (0.096225,0.80711,-0.58251) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 988, parentID 637) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67313,0.095334,-0.73335) - Old Polarization: (-0.61079,0.63074,-0.47864) - New Momentum Direction: (0.91161,0.12911,-0.39026) - New Polarization: (0.24082,0.60168,0.76157) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 987, parentID 637) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 986, parentID 637) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.53977,-0.79257,-0.28368) -Old Polarization: (-0.79371,-0.59144,0.14221) -New Polarization: (-0.42154,-0.75873,-0.077138) -Polarization Change: (-0.48375,-0.87072,-0.088523) -New Momentum Direction: (-0.87298,0.48715,-0.021053) -Momentum Change: (-0.87304,0.48719,-0.021055) - Photon at Boundary! - Old Momentum Direction: (-0.87304,0.48719,-0.021055) - Old Polarization: (-0.48375,-0.87072,-0.088523) - New Momentum Direction: (-0.75003,0.66079,-0.028557) - New Polarization: (0.65865,0.74227,-0.12333) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 985, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 984, parentID 637) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65269,-0.7576,0.0060402) - Old Polarization: (-0.63895,-0.54615,0.54173) - New Momentum Direction: (0.88409,-0.46725,0.0081817) - New Polarization: (0.4223,0.80629,0.41419) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 983, parentID 637) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 982, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66144,-0.74988,0.013292) - Old Polarization: (-0.62809,-0.54415,0.55625) - New Momentum Direction: (0.89222,-0.45124,0.01793) - New Polarization: (0.3987,0.80574,0.43798) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 981, parentID 637) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50114,-0.45221,-0.73781) - Old Polarization: (-0.85571,-0.13191,-0.50037) - New Momentum Direction: (0.67339,-0.60764,-0.42108) - New Polarization: (-0.088327,-0.63163,0.77022) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 980, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5128,-0.3234,-0.79527) - Old Polarization: (-0.82906,0.053994,-0.55654) - New Momentum Direction: (0.69691,-0.43951,-0.56669) - New Polarization: (0.30462,-0.53394,0.78874) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 979, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 19 -Track (trackID 637, parentID 1) is processed with stopping code 4 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87089,-0.41097,0.26955) - Old Polarization: (-0.49028,-0.68819,0.53481) - New Momentum Direction: (0.74572,-0.55712,0.3654) - New Polarization: (-0.66541,-0.59517,0.45056) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1037, parentID 637) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1036, parentID 637) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78346,0.38289,-0.48947) - Old Polarization: (-0.62125,0.50203,-0.60168) - New Momentum Direction: (0.5345,0.52074,-0.66569) - New Polarization: (-0.84505,0.34278,-0.41037) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1035, parentID 637) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1034, parentID 637) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1033, parentID 637) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.79357,0.35615,-0.49337) -Old Polarization: (-0.60837,0.48033,-0.6318) -New Polarization: (-0.28389,-0.50646,-0.73038) -Polarization Change: (-0.30427,-0.54281,-0.7828) -New Momentum Direction: (-0.73116,0.65279,-0.16846) -Momentum Change: (-0.73518,0.65637,-0.16939) - Photon at Boundary! - Old Momentum Direction: (-0.73518,0.65637,-0.16939) - Old Polarization: (-0.30427,-0.54281,-0.7828) - New Momentum Direction: (-0.73518,-0.65637,-0.16939) - New Polarization: (0.30427,-0.54281,0.7828) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1032, parentID 637) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87556,-0.2592,0.4077) - Old Polarization: (-0.48309,-0.46066,0.74459) - New Momentum Direction: (0.75611,-0.35113,0.55228) - New Polarization: (-0.65443,-0.39911,0.64222) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1031, parentID 637) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1030, parentID 637) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1029, parentID 637) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78461,0.36002,-0.50475) - Old Polarization: (-0.61989,0.47053,-0.62797) - New Momentum Direction: (0.53974,0.48884,-0.68536) - New Polarization: (-0.84176,0.32383,-0.43193) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1028, parentID 637) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83026,0.54171,0.13125) - Old Polarization: (-0.55159,0.76468,0.3332) - New Momentum Direction: (0.66102,0.72927,0.17669) - New Polarization: (-0.74632,0.61452,0.25569) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1027, parentID 637) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81807,0.57464,-0.023349) - Old Polarization: (-0.57039,0.81587,0.094942) - New Momentum Direction: (0.63302,0.77349,-0.031429) - New Polarization: (-0.77085,0.63356,0.066274) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1026, parentID 637) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87508,-0.15714,0.45776) - Old Polarization: (-0.48385,-0.3064,0.81976) - New Momentum Direction: (0.755,-0.2129,0.6202) - New Polarization: (-0.65563,-0.26124,0.70845) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1025, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84481,-0.52168,-0.11894) - Old Polarization: (-0.5298,-0.84668,-0.049444) - New Momentum Direction: (0.68602,-0.70938,-0.16173) - New Polarization: (-0.72392,-0.68777,-0.053998) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1024, parentID 637) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87079,-0.048688,0.48924) - Old Polarization: (-0.49089,-0.14162,0.85964) - New Momentum Direction: (0.74415,-0.066153,0.66473) - New Polarization: (-0.66748,-0.11356,0.73592) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1023, parentID 637) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1022, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80599,-0.23339,-0.54398) - Old Polarization: (-0.58805,-0.42082,-0.69073) - New Momentum Direction: (0.59682,-0.31637,-0.73737) - New Polarization: (-0.79975,-0.30892,-0.51476) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1021, parentID 637) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1020, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79472,0.55118,-0.25422) - Old Polarization: (-0.60465,0.75556,-0.25205) - New Momentum Direction: (0.56568,0.74881,-0.34537) - New Polarization: (-0.82307,0.53841,-0.18076) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1019, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 18 -Track (trackID 637, parentID 1) is processed with stopping code 4 -### pop requested out of 74 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1055, parentID 637) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93603,-0.25851,-0.23877) - Old Polarization: (-0.26705,-0.07993,-0.96036) - New Momentum Direction: (0.87843,-0.35105,-0.32424) - New Polarization: (-0.40507,-0.187,-0.89496) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1054, parentID 637) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.96664,0.2561,0.0049995) - Old Polarization: (-0.21411,0.81854,-0.53305) - New Momentum Direction: (0.93748,0.34797,0.006793) - New Polarization: (-0.31363,0.8531,-0.41696) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1053, parentID 637) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75268,-0.64042,0.15276) - Old Polarization: (-0.58933,-0.75879,-0.27736) - New Momentum Direction: (0.45347,-0.86695,0.20679) - New Polarization: (-0.84344,-0.49241,-0.21478) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1052, parentID 637) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73126,-0.64241,0.22926) - Old Polarization: (-0.62784,-0.7653,-0.14186) - New Momentum Direction: (0.3858,-0.86891,0.31008) - New Polarization: (-0.88699,-0.44179,-0.1344) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1051, parentID 637) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.95085,-0.20501,-0.23207) - Old Polarization: (-0.23476,0.011443,-0.97199) - New Momentum Direction: (0.90861,-0.27651,-0.313) - New Polarization: (-0.35282,-0.10715,-0.92954) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1050, parentID 637) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85426,0.28257,0.43634) - Old Polarization: (-0.40887,0.88358,0.22828) - New Momentum Direction: (0.71197,0.3817,0.58941) - New Polarization: (-0.61119,0.75013,0.25249) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1049, parentID 637) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7108,-0.61963,0.3329) - Old Polarization: (-0.6686,-0.74219,0.046125) - New Momentum Direction: (0.32227,-0.83391,0.44803) - New Polarization: (-0.92506,-0.37792,-0.038022) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1048, parentID 637) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82341,-0.56644,-0.033873) - Old Polarization: (-0.46404,-0.6378,-0.61472) - New Momentum Direction: (0.64331,-0.76424,-0.045702) - New Polarization: (-0.68397,-0.54687,-0.48282) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1047, parentID 637) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97556,0.21577,-0.041506) - Old Polarization: (-0.19425,0.75863,-0.62189) - New Momentum Direction: (0.95476,0.29204,-0.056178) - New Polarization: (-0.27713,0.80514,-0.52435) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1046, parentID 637) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80025,0.1873,0.56966) - Old Polarization: (-0.50597,0.72076,0.4738) - New Momentum Direction: (0.58953,0.25229,0.76734) - New Polarization: (-0.73618,0.55875,0.38188) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1045, parentID 637) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1044, parentID 637) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1043, parentID 637) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1042, parentID 637) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75129,-0.6349,0.1802) - Old Polarization: (-0.59504,-0.76973,-0.23116) - New Momentum Direction: (0.45935,-0.8545,0.24252) - New Polarization: (-0.84302,-0.50542,-0.18406) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1041, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1040, parentID 637) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97883,0.18666,-0.083939) - Old Polarization: (-0.19231,0.69849,-0.6893) - New Momentum Direction: (0.96059,0.25351,-0.114) - New Polarization: (-0.26853,0.74042,-0.61618) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1039, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97913,0.0018523,-0.20324) - Old Polarization: (-0.18882,0.37844,-0.90616) - New Momentum Direction: (0.96135,0.0025091,-0.2753) - New Polarization: (-0.26418,0.2899,-0.91987) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1038, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 4 -Track (trackID 637, parentID 1) is processed with stopping code 4 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85566,0.1148,-0.50465) - Old Polarization: (-0.20036,0.97253,-0.11847) - New Momentum Direction: (0.71184,0.1558,-0.68484) - New Polarization: (-0.35503,0.92115,-0.15947) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1059, parentID 637) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97026,0.042925,-0.23823) - Old Polarization: (0.10101,0.82258,0.5596) - New Momentum Direction: (0.94512,0.057938,-0.32155) - New Polarization: (-0.1726,0.92415,-0.3408) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1058, parentID 637) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98111,0.010619,-0.19315) - Old Polarization: (0.12404,0.73165,0.6703) - New Momentum Direction: (0.96521,0.014354,-0.2611) - New Polarization: (-0.196,0.70065,-0.68605) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1057, parentID 637) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72333,-0.59453,-0.35118) - Old Polarization: (-0.53243,-0.80406,0.26458) - New Momentum Direction: (0.35439,-0.80513,-0.47558) - New Polarization: (-0.81933,-0.51247,0.25703) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1056, parentID 637) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. -Track (trackID 637, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75199,-0.565,-0.33953) - Old Polarization: (-0.65913,-0.63886,-0.39674) - New Momentum Direction: (0.4619,-0.76023,-0.45684) - New Polarization: (-0.88691,-0.39197,-0.24444) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 636, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73422,0.41935,0.53391) - Old Polarization: (-0.6789,0.4572,0.57451) - New Momentum Direction: (0.39984,0.56616,0.72083) - New Polarization: (-0.91658,0.24948,0.31248) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 635, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74402,-0.65463,0.13376) - Old Polarization: (-0.66804,-0.73255,0.13072) - New Momentum Direction: (0.43057,-0.88429,0.18068) - New Polarization: (-0.90248,-0.42437,0.073746) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 634, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 633, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 632, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73776,-0.63212,0.23693) - Old Polarization: (-0.67495,-0.69731,0.24125) - New Momentum Direction: (0.39657,-0.85961,0.32219) - New Polarization: (-0.91793,-0.37575,0.12734) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 631, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75051,-0.30605,-0.58572) - Old Polarization: (-0.66086,-0.34647,-0.66575) - New Momentum Direction: (0.45041,-0.41348,-0.79131) - New Polarization: (-0.89282,-0.20784,-0.39959) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 630, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7393,-0.49155,0.46023) - Old Polarization: (-0.67326,-0.55186,0.49211) - New Momentum Direction: (0.4153,-0.66405,0.62174) - New Polarization: (-0.90962,-0.31149,0.2749) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 629, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73701,0.65686,0.1592) - Old Polarization: (-0.6758,0.71975,0.15892) - New Momentum Direction: (-0.73701,0.65686,0.1592) - New Polarization: (-0.67523,-0.7259,-0.1309) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73701,0.65686,0.1592) - Old Polarization: (-0.67523,-0.7259,-0.1309) - New Momentum Direction: (-0.73701,-0.65686,0.1592) - New Polarization: (0.67523,-0.7259,0.1309) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 628, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73358,0.58583,0.34447) - Old Polarization: (-0.67956,0.63793,0.36227) - New Momentum Direction: (0.39195,0.79305,0.46631) - New Polarization: (-0.91996,0.34164,0.19223) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 627, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73727,0.64267,0.20838) - Old Polarization: (-0.67553,0.70563,0.21387) - New Momentum Direction: (0.41102,0.86718,0.28117) - New Polarization: (-0.91158,0.39395,0.11757) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 626, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 625, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72845,0.11081,0.67608) - Old Polarization: (-0.6851,0.11315,0.71961) - New Momentum Direction: (0.36218,0.15077,0.91984) - New Polarization: (-0.9321,0.05548,0.35791) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 624, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72936,0.082352,0.67916) - Old Polarization: (-0.68412,0.082332,0.72471) - New Momentum Direction: (0.36812,0.11192,0.92302) - New Polarization: (-0.92977,0.040676,0.36589) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 623, parentID 1) is processed with stopping code 2 +Track (trackID 1, parentID 0) is processed with stopping code 4 ### pop requested out of 41 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73081,0.5506,0.40342) - Old Polarization: (-0.68255,0.59506,0.42431) - New Momentum Direction: (0.37546,0.74764,0.54778) - New Polarization: (-0.92682,0.30658,0.21682) + Old Momentum Direction: (-0.33569,-0.84785,-0.41045) + Old Polarization: (-0.80052,0.48643,-0.35008) + New Momentum Direction: (-0.45673,-0.69248,-0.55845) + New Polarization: (-0.64751,0.68924,-0.32508) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 622, parentID 1) is processed with stopping code 2 +Track (trackID 1729, parentID 1) is processed with stopping code 2 ### pop requested out of 40 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73174,0.10115,0.67404) - Old Polarization: (-0.68158,0.10363,0.72437) - New Momentum Direction: (0.38409,0.13701,0.91307) - New Polarization: (-0.92329,0.053668,0.38033) + Old Momentum Direction: (-0.41193,-0.90768,-0.080191) + Old Polarization: (-0.91087,0.40776,0.06364) + New Momentum Direction: (-0.55625,-0.82393,-0.10829) + New Polarization: (-0.8297,0.55796,0.016713) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 621, parentID 1) is processed with stopping code 2 +Track (trackID 1728, parentID 1) is processed with stopping code 2 ### pop requested out of 39 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.73236,0.03061,0.68023) - Old Polarization: (-0.6809,0.026046,0.73191) - New Momentum Direction: (0.38724,0.041447,0.92105) - New Polarization: (-0.92197,0.01278,0.38706) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 620, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.57882,-0.61719,-0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (-0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (-0.57882,0.61719,0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (-0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (0.57882,-0.61719,-0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,-0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (-0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (-0.57882,0.61719,0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (-0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (0.57882,-0.61719,-0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,-0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (-0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (-0.57882,0.61719,0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (-0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (0.57882,-0.61719,-0.53295) + New Polarization: (0.35585,0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,-0.53295) + Old Polarization: (0.35585,0.77923,-0.51592) + New Momentum Direction: (0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (-0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (-0.57882,-0.61719,-0.53295) + New Polarization: (0.35585,-0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,-0.61719,-0.53295) + Old Polarization: (0.35585,-0.77923,0.51592) + New Momentum Direction: (-0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (0.57882,-0.61719,0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,-0.61719,0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (0.57882,0.61719,0.53295) + New Polarization: (0.35585,-0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,0.53295) + Old Polarization: (0.35585,-0.77923,0.51592) + New Momentum Direction: (0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,0.77923,0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,0.77923,0.51592) + New Momentum Direction: (-0.57882,0.61719,-0.53295) + New Polarization: (-0.35585,-0.77923,-0.51592) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.57882,0.61719,-0.53295) + Old Polarization: (-0.35585,-0.77923,-0.51592) + New Momentum Direction: (-0.57882,-0.61719,-0.53295) + New Polarization: (0.35585,-0.77923,0.51592) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1727, parentID 1) is processed with stopping code 2 ### pop requested out of 38 stacked tracks. -** Photon Absorbed! ** -Track (trackID 619, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73719,-0.58056,0.34569) - Old Polarization: (-0.67556,-0.64289,0.36098) - New Momentum Direction: (0.39743,-0.78844,0.46947) - New Polarization: (-0.91756,-0.3479,0.19248) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 618, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73949,-0.55527,0.38056) - Old Polarization: (-0.67305,-0.62042,0.40259) - New Momentum Direction: (0.41301,-0.75123,0.51486) - New Polarization: (-0.91065,-0.34781,0.22302) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 617, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7459,-0.35107,-0.56602) - Old Polarization: (-0.66605,-0.39094,-0.63525) - New Momentum Direction: (0.42444,-0.47726,-0.76947) - New Polarization: (-0.90545,-0.22222,-0.36162) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 616, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73302,0.096293,0.67336) -Old Polarization: (-0.6802,0.098673,0.72636) -New Polarization: (-0.73229,-0.11026,0.50314) -Polarization Change: (-0.81793,-0.12316,0.56198) -New Momentum Direction: (0.21378,0.79577,0.48554) -Momentum Change: (0.22353,0.83205,0.50767) - Photon at Boundary! - Old Momentum Direction: (0.22353,0.83205,0.50767) - Old Polarization: (-0.81793,-0.12316,0.56198) - New Momentum Direction: (0.30229,0.66126,0.68655) - New Polarization: (-0.7911,-0.22776,0.5677) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 615, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7303,0.17506,0.66032) - Old Polarization: (-0.68312,0.18428,0.70667) - New Momentum Direction: (-0.7303,0.17506,0.66032) - New Polarization: (-0.68311,-0.17991,-0.70781) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.7303,0.17506,0.66032) - Old Polarization: (-0.68311,-0.17991,-0.70781) - New Momentum Direction: (-0.7303,0.17506,-0.66032) - New Polarization: (0.68311,0.17991,-0.70781) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.7303,0.17506,-0.66032) -Old Polarization: (0.68311,0.17991,-0.70781) -New Polarization: (0.075429,-0.016523,-0.8649) -Polarization Change: (0.086865,-0.019028,-0.99604) -New Momentum Direction: (-0.779,-0.49902,-0.058404) -Momentum Change: (-0.84037,-0.53833,-0.063005) - -** Photon Absorbed! ** -Track (trackID 614, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73174,0.63852,0.23842) - Old Polarization: (-0.68152,0.69018,0.24329) - New Momentum Direction: (-0.73174,0.63852,0.23842) - New Polarization: (-0.68117,-0.69716,-0.22353) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73174,0.63852,0.23842) - Old Polarization: (-0.68117,-0.69716,-0.22353) - New Momentum Direction: (-0.73174,-0.63852,0.23842) - New Polarization: (0.68117,-0.69716,0.22353) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.73174,-0.63852,0.23842) - Old Polarization: (0.68117,-0.69716,0.22353) - New Momentum Direction: (-0.37712,-0.86765,0.32398) - New Polarization: (0.92592,-0.36125,0.11032) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 613, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73414,0.51075,0.44741) - Old Polarization: (-0.67898,0.55749,0.4777) - New Momentum Direction: (0.39779,0.69014,0.60454) - New Polarization: (-0.91746,0.30279,0.25803) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 612, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 611, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74353,-0.63586,-0.207) - Old Polarization: (-0.66864,-0.70259,-0.24351) - New Momentum Direction: (-0.74353,-0.63586,-0.207) - New Polarization: (-0.66807,0.69291,0.27121) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.74353,-0.63586,-0.207) - Old Polarization: (-0.66807,0.69291,0.27121) - New Momentum Direction: (-0.74353,0.63586,-0.207) - New Polarization: (0.66807,0.69291,-0.27121) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.74353,0.63586,-0.207) - Old Polarization: (0.66807,0.69291,-0.27121) - New Momentum Direction: (-0.41758,0.86401,-0.28128) - New Polarization: (0.90825,0.38781,-0.1571) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 610, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7363,0.67533,0.042366) - Old Polarization: (-0.67656,0.7358,0.029305) - New Momentum Direction: (0.4002,0.91463,0.057378) - New Polarization: (-0.91637,0.4001,0.013715) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 609, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 608, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73545,-0.057166,0.67516) - Old Polarization: (-0.67755,-0.071157,0.73202) - New Momentum Direction: (0.40509,-0.077135,0.91102) - New Polarization: (-0.91426,-0.040372,0.40312) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 607, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73577,0.012232,0.67712) - Old Polarization: (-0.67721,0.005894,0.73576) - New Momentum Direction: (0.40808,0.016489,0.9128) - New Polarization: (-0.91293,0.0023319,0.4081) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 606, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 605, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74106,0.57015,-0.35463) - Old Polarization: (-0.67132,0.61924,-0.40726) - New Momentum Direction: (0.41492,0.7726,-0.48056) - New Polarization: (-0.90978,0.34558,-0.22993) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 604, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 603, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 602, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 601, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73939,0.64836,-0.18147) - Old Polarization: (-0.67316,0.70684,-0.21733) - New Momentum Direction: (0.41145,0.8777,-0.24566) - New Polarization: (-0.91136,0.39276,-0.12315) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 600, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 599, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74777,0.13067,-0.65097) - Old Polarization: (-0.66392,0.13643,-0.73525) - New Momentum Direction: (0.43893,0.17683,-0.88095) - New Polarization: (-0.89849,0.079052,-0.43181) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 598, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 597, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74796,-0.46002,-0.47848) - Old Polarization: (-0.66373,-0.5137,-0.54366) - New Momentum Direction: (0.43741,-0.62325,-0.64825) - New Polarization: (-0.89925,-0.29997,-0.31838) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 596, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74067,-0.578,0.34252) - Old Polarization: (-0.67175,-0.6467,0.3613) - New Momentum Direction: (0.41853,-0.78132,0.46301) - New Polarization: (-0.90813,-0.36658,0.2023) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 595, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 594, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74741,0.096134,-0.65737) - Old Polarization: (-0.66432,0.098158,-0.74097) - New Momentum Direction: (0.43631,0.1302,-0.89033) - New Polarization: (-0.89978,0.056319,-0.4327) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 593, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73218,0.43868,0.52102) - Old Polarization: (-0.6811,0.47563,0.55667) - New Momentum Direction: (0.38685,0.59393,0.70541) - New Polarization: (-0.92214,0.25189,0.29363) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 592, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 591, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7299,-0.11991,0.67295) - Old Polarization: (-0.68351,-0.13841,0.7167) - New Momentum Direction: (0.3683,-0.1631,0.91529) - New Polarization: (-0.92968,-0.071505,0.36135) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 590, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73953,-0.61885,0.26481) - Old Polarization: (-0.67301,-0.68722,0.27348) - New Momentum Direction: (0.40865,-0.8391,0.35906) - New Polarization: (-0.91262,-0.3807,0.14899) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 589, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74148,0.42896,-0.51595) - Old Polarization: (-0.67088,0.46096,-0.58089) - New Momentum Direction: (0.41037,0.58299,-0.70122) - New Polarization: (-0.91186,0.25357,-0.32282) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 588, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73372,0.53581,0.41781) - Old Polarization: (-0.67943,0.58409,0.44409) - New Momentum Direction: (0.39455,0.72461,0.56504) - New Polarization: (-0.91886,0.31486,0.23783) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 587, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74454,0.54097,-0.39117) - Old Polarization: (-0.66747,0.59232,-0.45127) - New Momentum Direction: (0.43362,0.7302,-0.528) - New Polarization: (-0.90102,0.34388,-0.26439) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 586, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74475,-0.58474,-0.3216) - Old Polarization: (-0.66729,-0.64701,-0.36892) - New Momentum Direction: (0.422,-0.79438,-0.4369) - New Polarization: (-0.90657,-0.36602,-0.21015) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 585, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73814,0.59174,0.32404) - Old Polarization: (-0.67461,0.65295,0.34432) - New Momentum Direction: (0.41907,0.79637,0.4361) - New Polarization: (-0.90793,0.37137,0.1943) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 584, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74421,-0.55667,-0.36914) - Old Polarization: (-0.66791,-0.61459,-0.41973) - New Momentum Direction: (0.41768,-0.75724,-0.50214) - New Polarization: (-0.90857,-0.3443,-0.23653) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 583, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 157 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91967,-0.031955,0.3914) - Old Polarization: (-0.3832,-0.29095,0.87664) - New Momentum Direction: (0.84559,-0.043439,0.53206) - New Polarization: (-0.5269,-0.22801,0.81877) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1216, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.85712,-0.50875,-0.080725) -Old Polarization: (-0.45203,-0.818,0.35572) -New Polarization: (-0.21333,-0.78217,0.41408) -Polarization Change: (-0.23433,-0.85918,0.45485) -New Momentum Direction: (0.97077,-0.22352,0.077914) -Momentum Change: (0.97154,-0.2237,0.077975) - Photon at Boundary! - Old Momentum Direction: (0.97154,-0.2237,0.077975) - Old Polarization: (-0.23433,-0.85918,0.45485) - New Momentum Direction: (0.94678,-0.30393,0.10594) - New Polarization: (-0.31998,-0.85321,0.41188) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1215, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1214, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67231,-0.41276,-0.61451) - Old Polarization: (-0.65644,-0.71613,-0.23716) - New Momentum Direction: (-0.67231,-0.41276,-0.61451) - New Polarization: (-0.65644,0.71613,0.23716) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67231,-0.41276,-0.61451) - Old Polarization: (-0.65644,0.71613,0.23716) - New Momentum Direction: (-0.67231,-0.41276,0.61451) - New Polarization: (0.65644,-0.71613,0.23716) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67231,-0.41276,0.61451) - Old Polarization: (0.65644,-0.71613,0.23716) - New Momentum Direction: (-0.67231,0.41276,0.61451) - New Polarization: (-0.65644,-0.71613,-0.23716) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1213, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71338,0.68379,0.15333) - Old Polarization: (-0.61086,0.49957,0.61423) - New Momentum Direction: (0.3053,0.92918,0.20835) - New Polarization: (-0.89419,0.2045,0.39824) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1212, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81071,-0.53325,-0.24164) - Old Polarization: (-0.50321,-0.84565,0.1779) - New Momentum Direction: (0.6064,-0.72427,-0.32819) - New Polarization: (-0.73338,-0.66894,0.12116) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1211, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74813,-0.50738,-0.42763) - Old Polarization: (-0.57222,-0.8196,-0.028619) - New Momentum Direction: (0.43635,-0.68801,-0.57987) - New Polarization: (-0.83546,-0.54908,0.022793) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1210, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89795,-0.43242,0.081891) - Old Polarization: (-0.40499,-0.73904,0.53833) - New Momentum Direction: (0.80324,-0.58525,0.11083) - New Polarization: (-0.56909,-0.69908,0.43292) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1209, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70538,-0.45534,-0.54324) - Old Polarization: (-0.61959,-0.76834,-0.16051) - New Momentum Direction: (0.29041,-0.61469,-0.73336) - New Polarization: (-0.89932,-0.43717,0.010297) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1208, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80334,-0.52987,-0.27181) - Old Polarization: (-0.51042,-0.84777,0.14408) - New Momentum Direction: (0.59201,-0.71709,-0.36785) - New Polarization: (-0.7419,-0.66319,0.098839) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1207, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4735,0.26885,-0.83876) - Old Polarization: (-0.87566,0.041062,-0.48117) - New Momentum Direction: (0.64365,0.36545,-0.67243) - New Polarization: (0.3731,0.61731,0.69263) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1206, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5071,0.72112,-0.47205) - Old Polarization: (-0.8384,0.53971,-0.076154) - New Momentum Direction: (0.68959,0.33523,-0.64194) - New Polarization: (-0.10193,-0.83266,-0.54433) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1205, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48711,0.19061,-0.85229) - Old Polarization: (-0.86301,-0.044584,-0.50321) - New Momentum Direction: (0.65914,0.25793,-0.7064) - New Polarization: (0.57178,0.43826,0.69354) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1204, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64424,-0.36542,-0.67188) - Old Polarization: (-0.68747,-0.66165,-0.29934) - New Momentum Direction: (0.64424,-0.36542,0.67188) - New Polarization: (0.68747,0.66165,-0.29934) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64424,-0.36542,0.67188) - Old Polarization: (0.68747,0.66165,-0.29934) - New Momentum Direction: (-0.64424,-0.36542,0.67188) - New Polarization: (0.68747,-0.66165,0.29934) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64424,-0.36542,0.67188) - Old Polarization: (0.68747,-0.66165,0.29934) - New Momentum Direction: (-0.64424,0.36542,0.67188) - New Polarization: (-0.68747,-0.66165,-0.29934) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64424,0.36542,0.67188) - Old Polarization: (-0.68747,-0.66165,-0.29934) - New Momentum Direction: (-0.64424,0.36542,-0.67188) - New Polarization: (0.68747,0.66165,-0.29934) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64424,0.36542,-0.67188) - Old Polarization: (0.68747,0.66165,-0.29934) - New Momentum Direction: (0.64424,0.36542,-0.67188) - New Polarization: (0.68747,-0.66165,0.29934) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1203, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1202, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89634,-0.43722,0.073533) - Old Polarization: (-0.40667,-0.74471,0.52917) - New Momentum Direction: (0.80005,-0.59162,0.099499) - New Polarization: (-0.57212,-0.70251,0.42327) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1201, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1200, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47276,0.27361,-0.83764) - Old Polarization: (-0.87632,0.046212,-0.4795) - New Momentum Direction: (0.64283,0.37203,-0.6696) - New Polarization: (0.3592,0.62567,0.69247) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1199, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1198, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1197, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1196, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.52256,0.74156,-0.42073) - Old Polarization: (-0.82291,0.56777,-0.021345) - New Momentum Direction: (0.70804,0.41679,-0.57006) - New Polarization: (0.052359,-0.83602,-0.5462) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1195, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55735,-0.14249,-0.81796) - Old Polarization: (-0.78398,-0.41468,-0.46197) - New Momentum Direction: (0.7557,-0.1932,-0.62577) - New Polarization: (0.42135,-0.58806,0.6904) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1194, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72821,0.66059,0.18258) - Old Polarization: (-0.59436,0.47606,0.64815) - New Momentum Direction: (0.36807,0.8962,0.2477) - New Polarization: (-0.86826,0.23598,0.43639) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1193, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84743,-0.51389,-0.13336) - Old Polarization: (-0.45988,-0.83603,0.29926) - New Momentum Direction: (0.6983,-0.69286,-0.17981) - New Polarization: (-0.66095,-0.72055,0.20964) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1192, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5226,-0.0038009,-0.85257) - Old Polarization: (-0.82345,-0.26138,-0.50359) - New Momentum Direction: (0.70714,-0.005143,-0.70705) - New Polarization: (0.69196,-0.20058,0.69351) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1191, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48251,0.19357,-0.85423) - Old Polarization: (-0.86583,-0.04199,-0.49858) - New Momentum Direction: (0.65576,0.26308,-0.70765) - New Polarization: (0.56559,0.44968,0.6913) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1190, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70776,0.69275,0.13847) - Old Polarization: (-0.61705,0.51076,0.59864) - New Momentum Direction: (0.28316,0.94047,0.18798) - New Polarization: (-0.90223,0.19473,0.38478) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1189, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84156,0.38354,0.38036) - Old Polarization: (-0.46878,0.16874,0.86705) - New Momentum Direction: (0.68022,0.52047,0.51615) - New Polarization: (-0.67857,0.18082,0.71194) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1188, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73574,0.64958,0.19166) - Old Polarization: (-0.58571,0.46817,0.66164) - New Momentum Direction: (0.40167,0.87835,0.25916) - New Polarization: (-0.85226,0.25498,0.45676) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1187, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50937,0.70481,-0.49374) - Old Polarization: (-0.83956,0.53295,-0.10536) - New Momentum Direction: (0.50937,-0.70481,-0.49374) - New Polarization: (0.3293,-0.37044,0.86852) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50937,-0.70481,-0.49374) - Old Polarization: (0.3293,-0.37044,0.86852) - New Momentum Direction: (-0.50937,-0.70481,-0.49374) - New Polarization: (0.3293,0.37044,-0.86852) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.50937,-0.70481,-0.49374) - Old Polarization: (0.3293,0.37044,-0.86852) - New Momentum Direction: (-0.50937,-0.70481,0.49374) - New Polarization: (-0.3293,-0.37044,-0.86852) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1186, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92255,-0.068907,0.37967) - Old Polarization: (-0.38011,-0.33165,0.86344) - New Momentum Direction: (0.85133,-0.093687,0.5162) - New Polarization: (-0.52046,-0.27474,0.80848) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1185, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60944,-0.27499,-0.74362) - Old Polarization: (-0.72736,-0.56714,-0.38639) - New Momentum Direction: (0.60944,-0.27499,0.74362) - New Polarization: (0.25918,0.95549,0.14093) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60944,-0.27499,0.74362) - Old Polarization: (0.25918,0.95549,0.14093) - New Momentum Direction: (-0.60944,-0.27499,0.74362) - New Polarization: (0.25918,-0.95549,-0.14093) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60944,-0.27499,0.74362) - Old Polarization: (0.25918,-0.95549,-0.14093) - New Momentum Direction: (-0.60944,0.27499,0.74362) - New Polarization: (-0.25918,-0.95549,0.14093) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60944,0.27499,0.74362) - Old Polarization: (-0.25918,-0.95549,0.14093) - New Momentum Direction: (-0.82194,0.37087,0.43228) - New Polarization: (-0.51057,-0.81614,-0.27061) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1184, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.48428,0.62167,-0.61563) -Old Polarization: (-0.86667,0.43723,-0.24024) -New Polarization: (-0.56078,0.56084,-0.39228) -Polarization Change: (-0.63378,0.63385,-0.44335) -New Momentum Direction: (-0.28033,-0.68552,-0.57934) -Momentum Change: (-0.29813,-0.72905,-0.61612) -Scattering Photon! -Old Momentum Direction: (-0.29813,-0.72905,-0.61612) -Old Polarization: (-0.63378,0.63385,-0.44335) -New Polarization: (-0.17093,0.77145,-0.3622) -Polarization Change: (-0.19664,0.88752,-0.4167) -New Momentum Direction: (0.020688,-0.36576,-0.78878) -Momentum Change: (0.023787,-0.42055,-0.90696) - Photon at Boundary! - Old Momentum Direction: (0.023787,-0.42055,-0.90696) - Old Polarization: (-0.19664,0.88752,-0.4167) - New Momentum Direction: (0.032158,-0.56855,-0.82202) - New Polarization: (-0.060787,-0.82204,0.56618) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1183, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49998,0.70288,-0.50595) - Old Polarization: (-0.84645,0.52017,-0.11382) - New Momentum Direction: (0.67963,0.25515,-0.68775) - New Polarization: (-0.20956,-0.83095,-0.51537) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1182, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48602,0.62257,-0.61335) - Old Polarization: (-0.86552,0.44009,-0.23915) - New Momentum Direction: (0.48602,-0.62257,-0.61335) - New Polarization: (0.86552,0.44009,0.23915) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48602,-0.62257,-0.61335) - Old Polarization: (0.86552,0.44009,0.23915) - New Momentum Direction: (0.48602,-0.62257,0.61335) - New Polarization: (-0.86552,-0.44009,0.23915) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1181, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1180, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92357,-0.079367,0.37513) - Old Polarization: (-0.3786,-0.34355,0.85944) - New Momentum Direction: (0.85358,-0.10783,0.50968) - New Polarization: (-0.51746,-0.28873,0.80552) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1179, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77371,0.5691,0.2784) - Old Polarization: (-0.54433,0.37229,0.75174) - New Momentum Direction: (0.508,0.77374,0.3785) - New Polarization: (-0.79664,0.25492,0.54807) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1178, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78519,0.54168,0.30011) - Old Polarization: (-0.53178,0.34147,0.77499) - New Momentum Direction: (0.53885,0.73687,0.40825) - New Polarization: (-0.77822,0.2499,0.57612) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1177, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55553,0.77218,-0.30844) - Old Polarization: (-0.78755,0.60762,0.10273) - New Momentum Direction: (0.75,0.51391,-0.41642) - New Polarization: (0.3381,-0.83896,-0.42642) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1176, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1175, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85506,-0.51075,-0.089463) - Old Polarization: (-0.45413,-0.82092,0.34621) - New Momentum Direction: (0.71,-0.69364,-0.1215) - New Polarization: (-0.65506,-0.71387,0.24754) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1174, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86024,0.3119,0.40338) - Old Polarization: (-0.44898,0.08836,0.88916) - New Momentum Direction: (0.72049,0.42418,0.5486) - New Polarization: (-0.6471,0.12684,0.75178) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1173, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79019,0.53195,0.30434) - Old Polarization: (-0.52572,0.33312,0.78272) - New Momentum Direction: (0.55521,0.72191,0.41302) - New Polarization: (-0.76717,0.25271,0.58957) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1172, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1171, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48262,0.61394,-0.62463) - Old Polarization: (-0.86838,0.42826,-0.25002) - New Momentum Direction: (0.48262,0.61394,0.62463) - New Polarization: (0.86838,-0.42826,-0.25002) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48262,0.61394,0.62463) - Old Polarization: (0.86838,-0.42826,-0.25002) - New Momentum Direction: (0.48262,-0.61394,0.62463) - New Polarization: (-0.86838,-0.42826,0.25002) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1170, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66174,0.74939,0.02263) - Old Polarization: (-0.66812,0.57575,0.47131) - New Momentum Direction: (0.89704,0.44088,0.030677) - New Polarization: (0.39852,-0.83695,0.37511) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1169, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85149,0.36337,0.37806) - Old Polarization: (-0.45443,0.1516,0.87779) - New Momentum Direction: (0.70885,0.48878,0.50855) - New Polarization: (-0.6511,0.17612,0.73827) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1168, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67299,-0.41383,-0.61305) - Old Polarization: (-0.65568,-0.71736,-0.23555) - New Momentum Direction: (-0.67299,-0.41383,-0.61305) - New Polarization: (-0.65568,0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67299,-0.41383,-0.61305) - Old Polarization: (-0.65568,0.71736,0.23555) - New Momentum Direction: (-0.67299,-0.41383,0.61305) - New Polarization: (0.65568,-0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67299,-0.41383,0.61305) - Old Polarization: (0.65568,-0.71736,0.23555) - New Momentum Direction: (-0.67299,0.41383,0.61305) - New Polarization: (-0.65568,-0.71736,-0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67299,0.41383,0.61305) - Old Polarization: (-0.65568,-0.71736,-0.23555) - New Momentum Direction: (0.67299,0.41383,0.61305) - New Polarization: (-0.65568,0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67299,0.41383,0.61305) - Old Polarization: (-0.65568,0.71736,0.23555) - New Momentum Direction: (0.67299,0.41383,-0.61305) - New Polarization: (0.65568,-0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67299,0.41383,-0.61305) - Old Polarization: (0.65568,-0.71736,0.23555) - New Momentum Direction: (0.67299,-0.41383,-0.61305) - New Polarization: (-0.65568,-0.71736,-0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67299,-0.41383,-0.61305) - Old Polarization: (-0.65568,-0.71736,-0.23555) - New Momentum Direction: (-0.67299,-0.41383,-0.61305) - New Polarization: (-0.65568,0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67299,-0.41383,-0.61305) - Old Polarization: (-0.65568,0.71736,0.23555) - New Momentum Direction: (-0.67299,-0.41383,0.61305) - New Polarization: (0.65568,-0.71736,0.23555) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1167, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58718,0.78798,-0.18522) - Old Polarization: (-0.75045,0.6157,0.24029) - New Momentum Direction: (0.79739,0.54855,-0.25153) - New Polarization: (0.52385,-0.83612,-0.16276) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1166, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75053,0.61901,0.23135) - Old Polarization: (-0.56975,0.42876,0.70111) - New Momentum Direction: (0.44116,0.84063,0.31418) - New Polarization: (-0.83327,0.25371,0.49122) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1165, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63463,0.77167,-0.042098) - Old Polarization: (-0.69776,0.59556,0.39805) - New Momentum Direction: (0.86297,0.50201,-0.057244) - New Polarization: (0.50154,-0.83736,0.21748) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1164, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81946,0.45338,0.35063) - Old Polarization: (-0.49323,0.24625,0.83432) - New Momentum Direction: (-0.81946,0.45338,0.35063) - New Polarization: (0.069535,0.68589,-0.72437) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.81946,0.45338,0.35063) - Old Polarization: (0.069535,0.68589,-0.72437) - New Momentum Direction: (-0.81946,-0.45338,0.35063) - New Polarization: (-0.069535,0.68589,0.72437) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.81946,-0.45338,0.35063) - Old Polarization: (-0.069535,0.68589,0.72437) - New Momentum Direction: (-0.81946,-0.45338,-0.35063) - New Polarization: (0.069535,-0.68589,0.72437) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.81946,-0.45338,-0.35063) - Old Polarization: (0.069535,-0.68589,0.72437) - New Momentum Direction: (-0.62872,-0.61514,-0.47573) - New Polarization: (0.13225,-0.68744,0.7141) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1163, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91137,0.053506,0.40809) - Old Polarization: (-0.391,-0.19709,0.89904) - New Momentum Direction: (0.8298,0.072549,0.55333) - New Polarization: (-0.54277,-0.1256,0.83043) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1162, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72452,-0.48069,-0.49397) - Old Polarization: (-0.59822,-0.79452,-0.10428) - New Momentum Direction: (0.3629,-0.64986,-0.66782) - New Polarization: (-0.87014,-0.49276,0.0066634) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1161, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.46392,0.46856,-0.75182) -Old Polarization: (-0.88573,0.26076,-0.38404) -New Polarization: (-0.8328,-0.16135,0.21381) -Polarization Change: (-0.95197,-0.18443,0.2444) -New Momentum Direction: (0.079966,0.54651,0.72389) -Momentum Change: (0.087822,0.60021,0.79501) - -** Photon Absorbed! ** -Track (trackID 1160, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82694,-0.52505,-0.20124) - Old Polarization: (-0.4833,-0.84661,0.22289) - New Momentum Direction: (0.65106,-0.70875,-0.27165) - New Polarization: (-0.6985,-0.69951,0.15094) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1159, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91852,-0.3377,0.20563) - Old Polarization: (-0.38307,-0.63134,0.67429) - New Momentum Direction: (0.84415,-0.45789,0.27882) - New Polarization: (-0.52706,-0.6137,0.58786) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1158, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1157, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.53735,0.76584,-0.3532) - Old Polarization: (-0.80535,0.59028,0.054667) - New Momentum Direction: (0.73015,0.48638,-0.47992) - New Polarization: (0.23316,-0.83756,-0.4941) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1156, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54771,0.76867,-0.33039) - Old Polarization: (-0.7956,0.6007,0.078634) - New Momentum Direction: (0.74083,0.50148,-0.44687) - New Polarization: (0.28905,-0.83855,-0.46183) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1155, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1154, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47213,0.28658,-0.83364) - Old Polarization: (-0.87734,0.060758,-0.476) - New Momentum Direction: (0.64159,0.38944,-0.66083) - New Polarization: (0.32105,0.64609,0.69245) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1153, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46878,0.54115,-0.69814) - Old Polarization: (-0.88113,0.34209,-0.32648) - New Momentum Direction: (0.46878,0.54115,0.69814) - New Polarization: (0.58101,-0.78423,0.21776) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.46878,0.54115,0.69814) - Old Polarization: (0.58101,-0.78423,0.21776) - New Momentum Direction: (0.46878,-0.54115,0.69814) - New Polarization: (-0.58101,-0.78423,-0.21776) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1152, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.92676,-0.10318,0.36121) -Old Polarization: (-0.37273,-0.37221,0.85001) -New Polarization: (-0.021593,0.035458,0.86569) -Polarization Change: (-0.024914,0.040912,0.99885) -New Momentum Direction: (-0.049694,0.88949,-0.037673) -Momentum Change: (-0.055731,0.99755,-0.042249) - Photon at Boundary! - Old Momentum Direction: (-0.055731,0.99755,-0.042249) - Old Polarization: (-0.024914,0.040912,0.99885) - New Momentum Direction: (-0.075408,0.99551,-0.057167) - New Polarization: (-0.98646,-0.066105,0.15007) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1151, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1150, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1149, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.51431,0.71104,-0.47948) - Old Polarization: (-0.83494,0.54283,-0.090617) - New Momentum Direction: (0.69262,0.32148,-0.6457) - New Polarization: (-0.12086,-0.83081,-0.54328) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1148, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82311,-0.5245,-0.21769) - Old Polarization: (-0.487,-0.84913,0.20447) - New Momentum Direction: (0.64388,-0.70667,-0.2933) - New Polarization: (-0.70306,-0.6977,0.13758) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1147, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78517,0.55032,0.28399) - Old Polarization: (-0.52998,0.35988,0.76786) - New Momentum Direction: (0.54971,0.74234,0.38308) - New Polarization: (-0.76873,0.27008,0.57975) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1146, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.85136,-0.51476,-0.10103) -Old Polarization: (-0.45859,-0.82384,0.33313) -New Polarization: (-0.94179,0.10325,-0.022659) -Polarization Change: (-0.99376,0.10894,-0.023909) -New Momentum Direction: (0.041963,0.17832,-0.93164) -Momentum Change: (0.044196,0.18781,-0.98121) -Scattering Photon! -Old Momentum Direction: (0.044196,0.18781,-0.98121) -Old Polarization: (-0.99376,0.10894,-0.023909) -New Polarization: (-0.52973,0.5998,0.36779) -Polarization Change: (-0.60149,0.68104,0.41761) -New Momentum Direction: (0.65009,0.1853,0.63416) -Momentum Change: (0.70138,0.19991,0.68418) - Photon at Boundary! - Old Momentum Direction: (0.70138,0.19991,0.68418) - Old Polarization: (-0.60149,0.68104,0.41761) - New Momentum Direction: (0.24722,0.27176,0.93007) - New Polarization: (-0.89836,0.42397,0.1149) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1145, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66622,0.74556,0.017052) - Old Polarization: (-0.66375,0.58238,0.46934) - New Momentum Direction: (0.89682,0.4418,0.022954) - New Polarization: (0.40325,-0.83771,0.36828) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1144, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81303,0.46888,0.34516) - Old Polarization: (-0.50103,0.26146,0.82499) - New Momentum Direction: (0.61076,0.63767,0.46941) - New Polarization: (-0.73088,0.22594,0.64403) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1143, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65723,0.75353,0.0158) - Old Polarization: (-0.67294,0.57724,0.46255) - New Momentum Direction: (0.65723,-0.75353,0.0158) - New Polarization: (-0.31043,-0.28974,-0.90536) - *** FresnelReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.65723,-0.75353,0.0158) -Old Polarization: (-0.31043,-0.28974,-0.90536) -New Polarization: (-0.55373,-0.11444,-0.67764) -Polarization Change: (-0.62742,-0.12967,-0.76781) -New Momentum Direction: (0.53205,0.50837,-0.52062) -Momentum Change: (0.59023,0.56396,-0.57755) - Photon at Boundary! - Old Momentum Direction: (0.59023,0.56396,-0.57755) - Old Polarization: (-0.62742,-0.12967,-0.76781) - New Momentum Direction: (0.59023,-0.56396,-0.57755) - New Polarization: (0.62742,-0.12967,0.76781) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.59023,-0.56396,-0.57755) - Old Polarization: (0.62742,-0.12967,0.76781) - New Momentum Direction: (-0.59023,-0.56396,-0.57755) - New Polarization: (0.62742,0.12967,-0.76781) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59023,-0.56396,-0.57755) - Old Polarization: (0.62742,0.12967,-0.76781) - New Momentum Direction: (-0.59023,-0.56396,0.57755) - New Polarization: (-0.62742,-0.12967,-0.76781) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59023,-0.56396,0.57755) - Old Polarization: (-0.62742,-0.12967,-0.76781) - New Momentum Direction: (-0.59023,0.56396,0.57755) - New Polarization: (0.62742,-0.12967,0.76781) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59023,0.56396,0.57755) - Old Polarization: (0.62742,-0.12967,0.76781) - New Momentum Direction: (0.59023,0.56396,0.57755) - New Polarization: (0.62742,0.12967,-0.76781) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1142, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1141, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81345,-0.52888,-0.24205) - Old Polarization: (-0.49886,-0.84837,0.1772) - New Momentum Direction: (0.61779,-0.71502,-0.32724) - New Polarization: (-0.72352,-0.67987,0.11957) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1140, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82035,0.46131,0.33795) - Old Polarization: (-0.4898,0.26179,0.83161) - New Momentum Direction: (0.63842,0.6209,0.45486) - New Polarization: (-0.70669,0.23869,0.66605) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1139, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66644,-0.40219,-0.62778) - Old Polarization: (-0.663,-0.70483,-0.25227) - New Momentum Direction: (-0.66644,-0.40219,-0.62778) - New Polarization: (-0.663,0.70483,0.25227) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66644,-0.40219,-0.62778) - Old Polarization: (-0.663,0.70483,0.25227) - New Momentum Direction: (-0.66644,-0.40219,0.62778) - New Polarization: (0.663,-0.70483,0.25227) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66644,-0.40219,0.62778) - Old Polarization: (0.663,-0.70483,0.25227) - New Momentum Direction: (-0.66644,0.40219,0.62778) - New Polarization: (-0.663,-0.70483,-0.25227) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66644,0.40219,0.62778) - Old Polarization: (-0.663,-0.70483,-0.25227) - New Momentum Direction: (0.66644,0.40219,0.62778) - New Polarization: (-0.663,0.70483,0.25227) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66644,0.40219,0.62778) - Old Polarization: (-0.663,0.70483,0.25227) - New Momentum Direction: (0.66644,0.40219,-0.62778) - New Polarization: (0.663,-0.70483,0.25227) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1138, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1137, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49739,0.10605,-0.86102) - Old Polarization: (-0.85004,-0.13871,-0.50813) - New Momentum Direction: (0.6751,0.14394,-0.72355) - New Polarization: (0.7011,0.18002,0.68996) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1136, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92127,-0.31805,0.22384) - Old Polarization: (-0.37962,-0.61031,0.69528) - New Momentum Direction: (0.84989,-0.43094,0.30329) - New Polarization: (-0.52016,-0.59381,0.61386) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1135, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1134, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55177,-0.13411,-0.82314) - Old Polarization: (-0.7891,-0.40342,-0.46323) - New Momentum Direction: (0.75041,-0.18239,-0.63531) - New Polarization: (0.44607,-0.56955,0.69039) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1133, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54918,0.7737,-0.3159) - Old Polarization: (-0.79292,0.6018,0.095452) - New Momentum Direction: (0.74489,0.51141,-0.42849) - New Polarization: (0.3213,-0.83782,-0.4414) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1132, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92863,-0.14272,0.34246) - Old Polarization: (-0.37022,-0.41683,0.83018) - New Momentum Direction: (0.86508,-0.19297,0.46303) - New Polarization: (-0.50105,-0.37662,0.77917) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1131, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80142,0.50381,0.32233) - Old Polarization: (-0.51316,0.30237,0.80327) - New Momentum Direction: (0.58461,0.68341,0.43724) - New Polarization: (-0.74776,0.24477,0.6172) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1130, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72304,-0.48124,-0.4956) - Old Polarization: (-0.59995,-0.79309,-0.10517) - New Momentum Direction: (0.35418,-0.65148,-0.67091) - New Polarization: (-0.87409,-0.48566,0.010161) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1129, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6122,0.7794,-0.13323) - Old Polarization: (-0.72468,0.62047,0.29977) - New Momentum Direction: (0.82415,0.53722,-0.17936) - New Polarization: (0.54327,-0.83937,-0.017793) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1128, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1127, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47364,0.57122,-0.67035) - Old Polarization: (-0.87681,0.37742,-0.29791) - New Momentum Direction: (0.47364,0.57122,0.67035) - New Polarization: (0.87681,-0.37742,-0.29791) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47364,0.57122,0.67035) - Old Polarization: (0.87681,-0.37742,-0.29791) - New Momentum Direction: (0.47364,-0.57122,0.67035) - New Polarization: (-0.87681,-0.37742,0.29791) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1126, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61917,-0.30873,-0.72202) - Old Polarization: (-0.71558,-0.60047,-0.3569) - New Momentum Direction: (0.83855,-0.41811,-0.3493) - New Polarization: (-0.12091,-0.76797,0.62897) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1125, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78215,0.55503,0.28318) - Old Polarization: (-0.53386,0.36259,0.76389) - New Momentum Direction: (0.53869,0.75047,0.38289) - New Polarization: (-0.77644,0.26581,0.57139) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1124, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6522,0.75801,-0.0073316) - Old Polarization: (-0.67894,0.58842,0.43909) - New Momentum Direction: (0.88237,0.47046,-0.0099189) - New Polarization: (0.45032,-0.8381,0.30791) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1123, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1122, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5283,0.75755,-0.38342) - Old Polarization: (-0.81485,0.57926,0.02175) - New Momentum Direction: (0.71872,0.45973,-0.52162) - New Polarization: (0.1545,-0.83705,-0.52486) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1121, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85215,0.35968,0.3801) - Old Polarization: (-0.45401,0.14693,0.8788) - New Momentum Direction: (0.7097,0.48422,0.51172) - New Polarization: (-0.65082,0.17252,0.73937) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1120, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1119, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89976,0.13752,0.41414) - Old Polarization: (-0.40272,-0.10378,0.90942) - New Momentum Direction: (0.80717,0.18604,0.56024) - New Polarization: (-0.56488,-0.032185,0.82455) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1118, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61614,0.77937,-0.11383) - Old Polarization: (-0.71962,0.61578,0.32087) - New Momentum Direction: (0.83179,0.5334,-0.15367) - New Polarization: (0.54376,-0.83862,0.032344) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1117, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75794,0.61215,0.22539) - Old Polarization: (-0.56007,0.43353,0.70596) - New Momentum Direction: (0.4806,0.82293,0.303) - New Polarization: (-0.8097,0.28374,0.51369) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1116, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75529,0.61107,0.23694) - Old Polarization: (-0.56421,0.42227,0.70948) - New Momentum Direction: (-0.75529,0.61107,0.23694) - New Polarization: (-0.25819,0.05487,-0.96453) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.75529,0.61107,0.23694) - Old Polarization: (-0.25819,0.05487,-0.96453) - New Momentum Direction: (-0.75529,-0.61107,0.23694) - New Polarization: (0.25819,0.05487,0.96453) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.75529,-0.61107,0.23694) - Old Polarization: (0.25819,0.05487,0.96453) - New Momentum Direction: (-0.45922,-0.82824,0.32115) - New Polarization: (0.47097,0.079526,0.87856) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1115, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1114, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.51334,0.028486,-0.85772) - Old Polarization: (-0.83279,-0.22484,-0.50588) - New Momentum Direction: (0.69612,0.038629,-0.71689) - New Polarization: (0.71696,-0.089425,0.69136) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1113, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1112, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77251,-0.52585,-0.35597) - Old Polarization: (-0.54558,-0.83647,0.051668) - New Momentum Direction: (0.5052,-0.71466,-0.48378) - New Polarization: (-0.79817,-0.6001,0.052987) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1111, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57489,0.78492,-0.2311) - Old Polarization: (-0.76471,0.61588,0.1895) - New Momentum Direction: (0.77899,0.54326,-0.31314) - New Polarization: (0.47398,-0.8371,-0.27315) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1110, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92902,-0.26377,0.25953) - Old Polarization: (-0.36642,-0.55785,0.74467) - New Momentum Direction: (0.86751,-0.35457,0.34887) - New Polarization: (-0.49476,-0.54266,0.67877) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1109, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65189,0.7583,0.0045228) - Old Polarization: (-0.67872,0.5808,0.44946) - New Momentum Direction: (0.88645,0.46279,0.0061501) - New Polarization: (0.43476,-0.83717,0.33186) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1108, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6721,0.73966,0.034412) - Old Polarization: (-0.65704,0.57431,0.48833) - New Momentum Direction: (0.90556,0.42168,0.046365) - New Polarization: (0.36882,-0.83658,0.40511) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1107, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58546,-0.21432,-0.78186) - Old Polarization: (-0.75404,-0.49818,-0.42806) - New Momentum Direction: (0.79032,-0.28931,-0.54009) - New Polarization: (0.20216,-0.709,0.67561) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1106, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1105, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1104, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54679,0.76019,-0.3509) - Old Polarization: (-0.79862,0.5994,0.054083) - New Momentum Direction: (0.73582,0.48537,-0.47221) - New Polarization: (0.24121,-0.83944,-0.48698) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1103, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80932,0.48087,0.3373) - Old Polarization: (-0.50477,0.27576,0.81802) - New Momentum Direction: (0.60289,0.65316,0.45815) - New Polarization: (-0.73584,0.23329,0.6357) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1102, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.864,0.30115,0.40351) - Old Polarization: (-0.44391,0.077456,0.89272) - New Momentum Direction: (0.7302,0.40865,0.54755) - New Polarization: (-0.63772,0.12003,0.76086) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1101, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80201,0.49909,0.32817) - Old Polarization: (-0.51321,0.29466,0.8061) - New Momentum Direction: (0.58305,0.67883,0.44636) - New Polarization: (-0.7498,0.23807,0.61735) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1100, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1099, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66187,-0.4035,-0.63176) - Old Polarization: (-0.6677,-0.70042,-0.25218) - New Momentum Direction: (-0.66187,-0.4035,-0.63176) - New Polarization: (-0.6677,0.70042,0.25218) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66187,-0.4035,-0.63176) - Old Polarization: (-0.6677,0.70042,0.25218) - New Momentum Direction: (-0.66187,-0.4035,0.63176) - New Polarization: (0.6677,-0.70042,0.25218) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66187,-0.4035,0.63176) - Old Polarization: (0.6677,-0.70042,0.25218) - New Momentum Direction: (-0.66187,0.4035,0.63176) - New Polarization: (-0.6677,-0.70042,-0.25218) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66187,0.4035,0.63176) - Old Polarization: (-0.6677,-0.70042,-0.25218) - New Momentum Direction: (0.66187,0.4035,0.63176) - New Polarization: (-0.6677,0.70042,0.25218) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66187,0.4035,0.63176) - Old Polarization: (-0.6677,0.70042,0.25218) - New Momentum Direction: (0.66187,0.4035,-0.63176) - New Polarization: (0.6677,-0.70042,0.25218) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.66187,0.4035,-0.63176) -Old Polarization: (0.6677,-0.70042,0.25218) -New Polarization: (0.70239,-0.61961,0.19983) -Polarization Change: (0.73341,-0.64697,0.20866) -New Momentum Direction: (-0.67686,-0.71984,0.14714) -Momentum Change: (-0.67755,-0.72057,0.14729) - Photon at Boundary! - Old Momentum Direction: (-0.67755,-0.72057,0.14729) - Old Polarization: (0.73341,-0.64697,0.20866) - New Momentum Direction: (0.67755,-0.72057,0.14729) - New Polarization: (0.73341,0.64697,-0.20866) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67755,-0.72057,0.14729) - Old Polarization: (0.73341,0.64697,-0.20866) - New Momentum Direction: (0.67755,0.72057,0.14729) - New Polarization: (-0.67716,0.53305,0.50726) - *** FresnelReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.67755,0.72057,0.14729) -Old Polarization: (-0.67716,0.53305,0.50726) -New Polarization: (-0.71515,0.40213,0.46489) -Polarization Change: (-0.75837,0.42643,0.49298) -New Momentum Direction: (0.44988,0.88921,-0.077103) -Momentum Change: (0.4501,0.88964,-0.077141) - Photon at Boundary! - Old Momentum Direction: (0.4501,0.88964,-0.077141) - Old Polarization: (-0.75837,0.42643,0.49298) - New Momentum Direction: (-0.4501,0.88964,-0.077141) - New Polarization: (-0.75837,-0.42643,-0.49298) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.4501,0.88964,-0.077141) - Old Polarization: (-0.75837,-0.42643,-0.49298) - New Momentum Direction: (-0.61215,0.78375,-0.10491) - New Polarization: (-0.69959,-0.59864,-0.39014) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1098, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83197,-0.52562,-0.17763) - Old Polarization: (-0.47874,-0.84191,0.249) - New Momentum Direction: (0.65986,-0.71184,-0.24055) - New Polarization: (-0.69332,-0.70023,0.17026) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1097, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92446,-0.042136,0.37895) - Old Polarization: (-0.37301,-0.30588,0.87596) - New Momentum Direction: (0.8579,-0.056783,0.51068) - New Polarization: (-0.50773,-0.24633,0.82555) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1096, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56041,-0.15777,-0.81305) - Old Polarization: (-0.78004,-0.43048,-0.45412) - New Momentum Direction: (0.76109,-0.21427,-0.61223) - New Polarization: (0.37941,-0.6185,0.68812) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1095, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85008,0.34982,0.39369) - Old Polarization: (-0.46025,0.13008,0.87821) - New Momentum Direction: (0.69771,0.47585,0.53552) - New Polarization: (-0.66587,0.15505,0.72977) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1094, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.53663,-0.080881,-0.83993) - Old Polarization: (-0.80576,-0.34468,-0.4816) - New Momentum Direction: (0.72988,-0.11001,-0.67467) - New Polarization: (0.57417,-0.43693,0.6924) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1093, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65597,0.75472,0.0096721) - Old Polarization: (-0.67444,0.58035,0.45643) - New Momentum Direction: (0.88998,0.45582,0.013122) - New Polarization: (0.42375,-0.83731,0.34546) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1092, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48369,0.21834,-0.84757) - Old Polarization: (-0.86693,-0.013621,-0.49824) - New Momentum Direction: (0.65439,0.2954,-0.69607) - New Polarization: (0.50883,0.50892,0.69433) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1091, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78201,-0.53078,-0.32671) - Old Polarization: (-0.53528,-0.84047,0.084208) - New Momentum Direction: (0.53029,-0.722,-0.44442) - New Polarization: (-0.78346,-0.61764,0.068583) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1090, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72669,0.66687,0.16495) - Old Polarization: (-0.5956,0.49195,0.63502) - New Momentum Direction: (0.37786,0.89878,0.22231) - New Polarization: (-0.86307,0.255,0.43599) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1089, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92792,-0.21916,0.30156) - Old Polarization: (-0.37223,-0.50038,0.78171) - New Momentum Direction: (0.86306,-0.29695,0.40859) - New Polarization: (-0.5047,-0.47461,0.72113) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1088, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87245,-0.48831,-0.019534) - Old Polarization: (-0.4353,-0.79467,0.42309) - New Momentum Direction: (0.74745,-0.66378,-0.026553) - New Polarization: (-0.62371,-0.71497,0.31592) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1087, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1086, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.51149,0.074581,-0.85605) - Old Polarization: (-0.83846,-0.17471,-0.5162) - New Momentum Direction: (0.68835,0.10037,-0.7184) - New Polarization: (0.71581,0.066362,0.69514) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1085, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85824,0.3256,0.39676) - Old Polarization: (-0.44987,0.10508,0.88689) - New Momentum Direction: (0.7183,0.44136,0.53781) - New Polarization: (-0.6472,0.14024,0.74931) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1084, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62753,-0.32712,-0.70654) - Old Polarization: (-0.7063,-0.62104,-0.33978) - New Momentum Direction: (0.84979,-0.44299,-0.28569) - New Polarization: (-0.19035,-0.7633,0.61736) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1083, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1082, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1081, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78645,-0.52616,-0.32349) - Old Polarization: (-0.52919,-0.8441,0.086395) - New Momentum Direction: (0.54926,-0.71187,-0.43767) - New Polarization: (-0.76996,-0.63467,0.066008) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1080, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58694,0.78832,-0.18453) - Old Polarization: (-0.75058,0.61526,0.24101) - New Momentum Direction: (0.79746,0.54881,-0.25072) - New Polarization: (0.52455,-0.83594,-0.16141) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1079, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1078, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.46697,0.35606,-0.80942) -Old Polarization: (-0.88294,0.13738,-0.44894) -New Polarization: (-0.22283,0.88676,-0.17591) -Polarization Change: (-0.23932,0.95238,-0.18893) -New Momentum Direction: (-0.463,0.046747,0.82211) -Momentum Change: (-0.49011,0.049484,0.87025) -Scattering Photon! -Old Momentum Direction: (-0.49011,0.049484,0.87025) -Old Polarization: (-0.23932,0.95238,-0.18893) -New Polarization: (-0.37402,0.76346,-0.31416) -Polarization Change: (-0.41267,0.84235,-0.34663) -New Momentum Direction: (-0.88532,-0.45964,-0.062981) -Momentum Change: (-0.88575,-0.45986,-0.063012) - Photon at Boundary! - Old Momentum Direction: (-0.88575,-0.45986,-0.063012) - Old Polarization: (-0.41267,0.84235,-0.34663) - New Momentum Direction: (-0.77588,-0.62504,-0.085646) - New Polarization: (0.59144,-0.67338,-0.44358) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1077, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92566,-0.25585,0.27874) - Old Polarization: (-0.37596,-0.53912,0.75366) - New Momentum Direction: (0.85793,-0.34742,0.37849) - New Polarization: (-0.51203,-0.51769,0.68543) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1076, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89108,-0.45107,0.050089) - Old Polarization: (-0.41274,-0.75954,0.50274) - New Momentum Direction: (0.78902,-0.61061,0.067806) - New Polarization: (-0.58313,-0.70959,0.39554) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1075, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91673,0.00088221,0.39951) - Old Polarization: (-0.38611,-0.2549,0.88654) - New Momentum Direction: (0.83989,0.0011985,0.54275) - New Polarization: (-0.53291,-0.18773,0.82508) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1074, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83279,-0.52754,-0.1678) - Old Polarization: (-0.47894,-0.83862,0.25949) - New Momentum Direction: (0.65891,-0.71683,-0.22802) - New Polarization: (-0.69558,-0.69603,0.1781) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1073, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47618,0.56485,-0.67395) - Old Polarization: (-0.87576,0.37381,-0.30547) - New Momentum Direction: (0.47618,0.56485,0.67395) - New Polarization: (0.54043,-0.79257,0.28242) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,0.56485,0.67395) - Old Polarization: (0.54043,-0.79257,0.28242) - New Momentum Direction: (0.47618,-0.56485,0.67395) - New Polarization: (-0.54043,-0.79257,-0.28242) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,-0.56485,0.67395) - Old Polarization: (-0.54043,-0.79257,-0.28242) - New Momentum Direction: (-0.47618,-0.56485,0.67395) - New Polarization: (-0.54043,0.79257,0.28242) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.47618,-0.56485,0.67395) - Old Polarization: (-0.54043,0.79257,0.28242) - New Momentum Direction: (-0.47618,-0.56485,-0.67395) - New Polarization: (0.86864,-0.42141,-0.26055) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.47618,-0.56485,-0.67395) - Old Polarization: (0.86864,-0.42141,-0.26055) - New Momentum Direction: (-0.47618,0.56485,-0.67395) - New Polarization: (-0.86864,-0.42141,0.26055) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.47618,0.56485,-0.67395) - Old Polarization: (-0.86864,-0.42141,0.26055) - New Momentum Direction: (0.47618,0.56485,-0.67395) - New Polarization: (-0.86864,0.42141,-0.26055) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,0.56485,-0.67395) - Old Polarization: (-0.86864,0.42141,-0.26055) - New Momentum Direction: (0.47618,0.56485,0.67395) - New Polarization: (0.58207,-0.77694,0.23991) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,0.56485,0.67395) - Old Polarization: (0.58207,-0.77694,0.23991) - New Momentum Direction: (0.47618,-0.56485,0.67395) - New Polarization: (-0.58207,-0.77694,-0.23991) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,-0.56485,0.67395) - Old Polarization: (-0.58207,-0.77694,-0.23991) - New Momentum Direction: (0.47618,-0.56485,-0.67395) - New Polarization: (0.60002,0.76898,-0.22055) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.47618,-0.56485,-0.67395) - Old Polarization: (0.60002,0.76898,-0.22055) - New Momentum Direction: (-0.47618,-0.56485,-0.67395) - New Polarization: (0.60002,-0.76898,0.22055) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1072, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48731,0.18704,-0.85296) - Old Polarization: (-0.86263,-0.048608,-0.50349) - New Momentum Direction: (0.65961,0.25318,-0.70769) - New Polarization: (0.57924,0.42878,0.69328) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1071, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65917,-0.39936,-0.63719) - Old Polarization: (-0.67065,-0.6955,-0.25788) - New Momentum Direction: (-0.65917,-0.39936,-0.63719) - New Polarization: (-0.67065,0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,-0.39936,-0.63719) - Old Polarization: (-0.67065,0.6955,0.25788) - New Momentum Direction: (-0.65917,-0.39936,0.63719) - New Polarization: (0.67065,-0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,-0.39936,0.63719) - Old Polarization: (0.67065,-0.6955,0.25788) - New Momentum Direction: (-0.65917,0.39936,0.63719) - New Polarization: (-0.67065,-0.6955,-0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,0.39936,0.63719) - Old Polarization: (-0.67065,-0.6955,-0.25788) - New Momentum Direction: (0.65917,0.39936,0.63719) - New Polarization: (-0.67065,0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65917,0.39936,0.63719) - Old Polarization: (-0.67065,0.6955,0.25788) - New Momentum Direction: (0.65917,0.39936,-0.63719) - New Polarization: (0.67065,-0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65917,0.39936,-0.63719) - Old Polarization: (0.67065,-0.6955,0.25788) - New Momentum Direction: (0.65917,0.39936,0.63719) - New Polarization: (-0.67065,0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65917,0.39936,0.63719) - Old Polarization: (-0.67065,0.6955,0.25788) - New Momentum Direction: (0.65917,-0.39936,0.63719) - New Polarization: (0.67065,0.6955,-0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65917,-0.39936,0.63719) - Old Polarization: (0.67065,0.6955,-0.25788) - New Momentum Direction: (0.65917,-0.39936,-0.63719) - New Polarization: (-0.67065,-0.6955,-0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65917,-0.39936,-0.63719) - Old Polarization: (-0.67065,-0.6955,-0.25788) - New Momentum Direction: (-0.65917,-0.39936,-0.63719) - New Polarization: (-0.67065,0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,-0.39936,-0.63719) - Old Polarization: (-0.67065,0.6955,0.25788) - New Momentum Direction: (-0.65917,-0.39936,0.63719) - New Polarization: (0.67065,-0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,-0.39936,0.63719) - Old Polarization: (0.67065,-0.6955,0.25788) - New Momentum Direction: (-0.65917,-0.39936,-0.63719) - New Polarization: (-0.67065,0.6955,0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65917,-0.39936,-0.63719) - Old Polarization: (-0.67065,0.6955,0.25788) - New Momentum Direction: (0.65917,-0.39936,-0.63719) - New Polarization: (-0.67065,-0.6955,-0.25788) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1070, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58951,-0.23181,-0.77379) - Old Polarization: (-0.7489,-0.51584,-0.41601) - New Momentum Direction: (0.58951,-0.23181,0.77379) - New Polarization: (0.26767,0.95987,0.083638) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58951,-0.23181,0.77379) - Old Polarization: (0.26767,0.95987,0.083638) - New Momentum Direction: (-0.58951,-0.23181,0.77379) - New Polarization: (0.26767,-0.95987,-0.083638) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58951,-0.23181,0.77379) - Old Polarization: (0.26767,-0.95987,-0.083638) - New Momentum Direction: (-0.79751,-0.3136,0.5154) - New Polarization: (0.26927,-0.9495,-0.16107) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1069, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.48842,0.66865,-0.56068) -Old Polarization: (-0.85894,0.48169,-0.1738) -New Polarization: (-0.59924,0.65222,-0.12376) -Polarization Change: (-0.67005,0.7293,-0.13838) -New Momentum Direction: (-0.33748,-0.15275,0.82907) -Momentum Change: (-0.37165,-0.16822,0.91301) -Scattering Photon! -Old Momentum Direction: (-0.37165,-0.16822,0.91301) -Old Polarization: (-0.67005,0.7293,-0.13838) -New Polarization: (-0.46744,0.45889,0.59443) -Polarization Change: (-0.52845,0.51878,0.67201) -New Momentum Direction: (0.21811,0.80474,-0.44973) -Momentum Change: (0.23024,0.84948,-0.47473) - Photon at Boundary! - Old Momentum Direction: (0.23024,0.84948,-0.47473) - Old Polarization: (-0.52845,0.51878,0.67201) - New Momentum Direction: (0.31313,0.69647,-0.64566) - New Polarization: (0.18335,-0.71139,-0.67846) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1068, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1067, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69961,-0.45374,-0.55197) - Old Polarization: (-0.62606,-0.76158,-0.16747) - New Momentum Direction: (0.25142,-0.61463,-0.74768) - New Polarization: (-0.91289,-0.40725,0.027803) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1066, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91734,-0.34614,0.19668) - Old Polarization: (-0.3843,-0.64089,0.66451) - New Momentum Direction: (0.84184,-0.46927,0.26663) - New Polarization: (-0.52955,-0.62266,0.57608) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1065, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4666,0.36102,-0.80743) - Old Polarization: (-0.88327,0.1428,-0.44658) - New Momentum Direction: (0.63428,0.49076,-0.59737) - New Polarization: (0.086472,0.7228,0.68563) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1064, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48774,0.62961,-0.60473) - Old Polarization: (-0.86378,0.44841,-0.22981) - New Momentum Direction: (0.48774,-0.62961,-0.60473) - New Polarization: (0.86378,0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48774,-0.62961,-0.60473) - Old Polarization: (0.86378,0.44841,0.22981) - New Momentum Direction: (0.48774,-0.62961,0.60473) - New Polarization: (-0.86378,-0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48774,-0.62961,0.60473) - Old Polarization: (-0.86378,-0.44841,0.22981) - New Momentum Direction: (-0.48774,-0.62961,0.60473) - New Polarization: (-0.86378,0.44841,-0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48774,-0.62961,0.60473) - Old Polarization: (-0.86378,0.44841,-0.22981) - New Momentum Direction: (-0.48774,0.62961,0.60473) - New Polarization: (0.86378,0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48774,0.62961,0.60473) - Old Polarization: (0.86378,0.44841,0.22981) - New Momentum Direction: (-0.48774,0.62961,-0.60473) - New Polarization: (-0.86378,-0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48774,0.62961,-0.60473) - Old Polarization: (-0.86378,-0.44841,0.22981) - New Momentum Direction: (0.48774,0.62961,-0.60473) - New Polarization: (-0.86378,0.44841,-0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48774,0.62961,-0.60473) - Old Polarization: (-0.86378,0.44841,-0.22981) - New Momentum Direction: (0.48774,-0.62961,-0.60473) - New Polarization: (0.86378,0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48774,-0.62961,-0.60473) - Old Polarization: (0.86378,0.44841,0.22981) - New Momentum Direction: (0.48774,-0.62961,0.60473) - New Polarization: (-0.86378,-0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.48774,-0.62961,0.60473) - Old Polarization: (-0.86378,-0.44841,0.22981) - New Momentum Direction: (-0.48774,-0.62961,0.60473) - New Polarization: (-0.86378,0.44841,-0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48774,-0.62961,0.60473) - Old Polarization: (-0.86378,0.44841,-0.22981) - New Momentum Direction: (-0.48774,0.62961,0.60473) - New Polarization: (0.86378,0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.48774,0.62961,0.60473) - Old Polarization: (0.86378,0.44841,0.22981) - New Momentum Direction: (-0.48774,0.62961,-0.60473) - New Polarization: (-0.86378,-0.44841,0.22981) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1063, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92194,-0.30424,0.23971) - Old Polarization: (-0.38018,-0.59246,0.71025) - New Momentum Direction: (0.85046,-0.4132,0.32555) - New Polarization: (-0.52083,-0.57458,0.63134) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1062, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89849,0.12926,0.41952) - Old Polarization: (-0.40697,-0.11301,0.90642) - New Momentum Direction: (0.80207,0.17586,0.57075) - New Polarization: (-0.57327,-0.041293,0.81833) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1061, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77028,0.58325,0.25786) - Old Polarization: (-0.54682,0.39605,0.73766) - New Momentum Direction: (0.50894,0.7873,0.34807) - New Polarization: (-0.79413,0.27339,0.54278) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1060, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 105 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58471,0.66922,-0.45854) - Old Polarization: (-0.80686,0.42111,-0.41429) - New Momentum Direction: (0.58471,-0.66922,-0.45854) - New Polarization: (0.80686,0.42111,0.41429) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58471,-0.66922,-0.45854) - Old Polarization: (0.80686,0.42111,0.41429) - New Momentum Direction: (-0.58471,-0.66922,-0.45854) - New Polarization: (0.80686,-0.42111,-0.41429) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58471,-0.66922,-0.45854) - Old Polarization: (0.80686,-0.42111,-0.41429) - New Momentum Direction: (-0.58471,-0.66922,0.45854) - New Polarization: (-0.80686,0.42111,-0.41429) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1321, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82981,-0.38499,-0.40398) - Old Polarization: (-0.53137,-0.76627,-0.36121) - New Momentum Direction: (0.65988,-0.51836,-0.54393) - New Polarization: (-0.73218,-0.60617,-0.3106) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1320, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86769,-0.48715,-0.098994) - Old Polarization: (-0.49069,-0.87123,-0.013629) - New Momentum Direction: (0.73889,-0.66033,-0.13419) - New Polarization: (-0.66927,-0.74231,-0.032437) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1319, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70656,0.071971,-0.70398) - Old Polarization: (-0.67136,-0.24635,-0.699) - New Momentum Direction: (0.29782,0.097089,-0.94967) - New Polarization: (-0.93255,-0.18311,-0.31117) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1318, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1317, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60602,0.52627,-0.59647) - Old Polarization: (-0.78258,0.26008,-0.56562) - New Momentum Direction: (-0.60602,0.52627,-0.59647) - New Polarization: (-0.78258,-0.26008,0.56562) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60602,0.52627,-0.59647) - Old Polarization: (-0.78258,-0.26008,0.56562) - New Momentum Direction: (-0.60602,0.52627,0.59647) - New Polarization: (0.78258,0.26008,0.56562) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60602,0.52627,0.59647) - Old Polarization: (0.78258,0.26008,0.56562) - New Momentum Direction: (-0.60602,-0.52627,0.59647) - New Polarization: (-0.78258,0.26008,-0.56562) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1316, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6216,0.72505,0.2965) - Old Polarization: (-0.76545,0.48176,0.42661) - New Momentum Direction: (0.84506,0.35126,0.4031) - New Polarization: (0.021584,-0.77572,0.63071) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1315, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73272,-0.044842,-0.67905) - Old Polarization: (-0.64176,-0.3775,-0.66756) - New Momentum Direction: (0.39228,-0.060612,-0.91785) - New Polarization: (-0.89477,-0.25655,-0.36548) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1314, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65107,0.3112,-0.69229) - Old Polarization: (-0.7334,0.022957,-0.67941) - New Momentum Direction: (0.88168,0.42143,-0.21222) - New Polarization: (0.09204,0.28752,0.95334) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1313, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69908,0.10635,-0.70709) - Old Polarization: (-0.67986,-0.20751,-0.70337) - New Momentum Direction: (0.94258,0.14339,-0.30163) - New Polarization: (0.30772,-0.021899,0.95122) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1312, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60864,0.77815,0.15502) - Old Polarization: (-0.78315,0.55779,0.27486) - New Momentum Direction: (0.81857,0.53524,0.20849) - New Polarization: (0.4028,-0.79364,0.45595) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1311, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1310, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57214,0.78592,-0.23449) - Old Polarization: (-0.82016,0.54826,-0.16358) - New Momentum Direction: (0.77843,0.54062,-0.31903) - New Polarization: (0.34117,-0.79098,-0.5079) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1309, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58454,0.68586,-0.43348) - Old Polarization: (-0.80792,0.44289,-0.38872) - New Momentum Direction: (0.79184,0.16787,-0.5872) - New Polarization: (-0.26724,-0.7693,-0.5803) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1308, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1307, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62594,0.46572,-0.62555) - Old Polarization: (-0.76328,0.20126,-0.61392) - New Momentum Direction: (-0.62594,0.46572,-0.62555) - New Polarization: (-0.76328,-0.20126,0.61392) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62594,0.46572,-0.62555) - Old Polarization: (-0.76328,-0.20126,0.61392) - New Momentum Direction: (-0.62594,0.46572,0.62555) - New Polarization: (0.76328,0.20126,0.61392) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62594,0.46572,0.62555) - Old Polarization: (0.76328,0.20126,0.61392) - New Momentum Direction: (-0.62594,-0.46572,0.62555) - New Polarization: (-0.76328,0.20126,-0.61392) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62594,-0.46572,0.62555) - Old Polarization: (-0.76328,0.20126,-0.61392) - New Momentum Direction: (-0.62594,-0.46572,-0.62555) - New Polarization: (0.76328,-0.20126,-0.61392) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1306, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8479,-0.4585,-0.26615) - Old Polarization: (-0.51376,-0.8345,-0.19914) - New Momentum Direction: (0.69318,-0.62336,-0.36185) - New Polarization: (-0.70917,-0.67955,-0.18785) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1305, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1304, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75404,0.24943,0.60762) - Old Polarization: (-0.61762,-0.045538,0.78515) - New Momentum Direction: (0.46322,0.33656,0.81985) - New Polarization: (-0.85982,-0.053539,0.50778) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1303, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78353,-0.25532,-0.56648) - Old Polarization: (-0.58519,-0.60972,-0.53459) - New Momentum Direction: (0.53664,-0.34673,-0.76928) - New Polarization: (-0.81893,-0.43375,-0.37577) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1302, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82317,-0.091808,0.56032) - Old Polarization: (-0.54061,-0.4284,0.72403) - New Momentum Direction: (0.63818,-0.12449,0.75975) - New Polarization: (-0.75064,-0.31988,0.57811) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1301, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1300, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87104,-0.48932,-0.043017) - Old Polarization: (-0.48734,-0.87183,0.049028) - New Momentum Direction: (0.74545,-0.66401,-0.058373) - New Polarization: (-0.66383,-0.74746,0.02509) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1299, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74721,-0.11744,-0.65413) -Old Polarization: (-0.62566,-0.45621,-0.63279) -New Polarization: (-0.58789,-0.38387,-0.66043) -Polarization Change: (-0.6099,-0.39824,-0.68515) -New Momentum Direction: (-0.33161,0.90974,-0.2336) -Momentum Change: (-0.33292,0.91333,-0.23452) - Photon at Boundary! - Old Momentum Direction: (-0.33292,0.91333,-0.23452) - Old Polarization: (-0.6099,-0.39824,-0.68515) - New Momentum Direction: (-0.45197,0.83328,-0.31838) - New Polarization: (-0.58487,-0.54631,-0.59956) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1298, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58036,0.78663,-0.21069) - Old Polarization: (-0.81432,0.56308,-0.14081) - New Momentum Direction: (0.78264,0.55385,-0.28412) - New Polarization: (0.39324,-0.79374,-0.46405) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1297, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86888,-0.48961,-0.072981) - Old Polarization: (-0.48987,-0.87166,0.015583) - New Momentum Direction: (0.7406,-0.6646,-0.099065) - New Polarization: (-0.6683,-0.74387,-0.0057148) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1296, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60363,0.77927,0.1684) - Old Polarization: (-0.78648,0.5474,0.28601) - New Momentum Direction: (0.81782,0.52832,0.22816) - New Polarization: (0.37713,-0.79149,0.48096) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1295, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1294, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82106,-0.38639,-0.4202) - Old Polarization: (-0.54379,-0.75335,-0.36981) - New Momentum Direction: (0.62995,-0.52568,-0.57168) - New Polarization: (-0.75761,-0.57787,-0.30346) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1293, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7826,0.09974,0.61449) - Old Polarization: (-0.58629,-0.2138,0.78138) - New Momentum Direction: (0.53357,0.13551,0.83483) - New Polarization: (-0.82087,-0.1547,0.54976) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1292, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,0.3254,0.62054) - New Momentum Direction: (-0.66897,0.57978,0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (-0.66897,-0.57978,0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (-0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,0.57978,0.46512) - New Polarization: (-0.71347,0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,0.3254,0.62054) - New Momentum Direction: (-0.66897,0.57978,0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (-0.66897,-0.57978,0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (-0.66897,0.57978,-0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (-0.66897,0.57978,0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (-0.66897,-0.57978,0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,0.46512) - New Polarization: (-0.71347,0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,0.3254,0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (-0.66897,0.57978,-0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (0.66897,-0.57978,0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (-0.66897,-0.57978,0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,-0.57978,0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (-0.66897,0.57978,0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (-0.66897,0.57978,-0.46512) - New Polarization: (0.71347,0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (0.66897,0.57978,-0.46512) - New Polarization: (0.71347,-0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,0.57978,-0.46512) - Old Polarization: (0.71347,-0.3254,0.62054) - New Momentum Direction: (0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,-0.3254,-0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66897,-0.57978,-0.46512) - Old Polarization: (-0.71347,-0.3254,-0.62054) - New Momentum Direction: (-0.66897,-0.57978,-0.46512) - New Polarization: (-0.71347,0.3254,0.62054) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.66897,-0.57978,-0.46512) -Old Polarization: (-0.71347,0.3254,0.62054) -New Polarization: (-0.47625,-0.048972,0.72889) -Polarization Change: (-0.54612,-0.056156,0.83582) -New Momentum Direction: (0.40324,-0.86675,0.20524) -Momentum Change: (0.41242,-0.88648,0.20992) - Photon at Boundary! - Old Momentum Direction: (0.41242,-0.88648,0.20992) - Old Polarization: (-0.54612,-0.056156,0.83582) - New Momentum Direction: (-0.41242,-0.88648,0.20992) - New Polarization: (-0.54612,0.056156,-0.83582) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1291, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69298,0.10512,-0.71325) - Old Polarization: (-0.68609,-0.20777,-0.69721) - New Momentum Direction: (0.94165,0.14285,-0.30478) - New Polarization: (0.3107,-0.020602,0.95029) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1290, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85934,-0.48075,-0.17438) - Old Polarization: (-0.50087,-0.86004,-0.09724) - New Momentum Direction: (0.71908,-0.65328,-0.23696) - New Polarization: (-0.68748,-0.71853,-0.10528) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1289, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1288, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87541,-0.44792,0.18175) - Old Polarization: (-0.48313,-0.8229,0.29903) - New Momentum Direction: (0.75379,-0.60889,0.24708) - New Polarization: (-0.65694,-0.70703,0.26181) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1287, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74988,0.25985,0.6084) - Old Polarization: (-0.62246,-0.03437,0.78189) - New Momentum Direction: (0.44637,0.35147,0.82293) - New Polarization: (-0.86881,-0.050004,0.49262) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1286, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1285, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60548,0.55194,-0.57337) - Old Polarization: (-0.78461,0.29326,-0.54625) - New Momentum Direction: (-0.60548,0.55194,-0.57337) - New Polarization: (-0.78461,-0.29326,0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60548,0.55194,-0.57337) - Old Polarization: (-0.78461,-0.29326,0.54625) - New Momentum Direction: (-0.60548,0.55194,0.57337) - New Polarization: (0.78461,0.29326,0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60548,0.55194,0.57337) - Old Polarization: (0.78461,0.29326,0.54625) - New Momentum Direction: (-0.60548,-0.55194,0.57337) - New Polarization: (-0.78461,0.29326,-0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60548,-0.55194,0.57337) - Old Polarization: (-0.78461,0.29326,-0.54625) - New Momentum Direction: (0.60548,-0.55194,0.57337) - New Polarization: (-0.78461,-0.29326,0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60548,-0.55194,0.57337) - Old Polarization: (-0.78461,-0.29326,0.54625) - New Momentum Direction: (0.60548,-0.55194,-0.57337) - New Polarization: (0.78461,0.29326,0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60548,-0.55194,-0.57337) - Old Polarization: (0.78461,0.29326,0.54625) - New Momentum Direction: (0.60548,0.55194,-0.57337) - New Polarization: (-0.78461,0.29326,-0.54625) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.60548,0.55194,-0.57337) -Old Polarization: (-0.78461,0.29326,-0.54625) -New Polarization: (-0.47037,0.05229,-0.7347) -Polarization Change: (-0.53822,0.059832,-0.84068) -New Momentum Direction: (0.044581,-0.98889,-0.098923) -Momentum Change: (0.044813,-0.99403,-0.099437) - Photon at Boundary! - Old Momentum Direction: (0.044813,-0.99403,-0.099437) - Old Polarization: (-0.53822,0.059832,-0.84068) - New Momentum Direction: (0.060673,-0.98904,-0.13463) - New Polarization: (-0.41138,0.098115,-0.90617) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1284, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84486,-0.43455,-0.31205) - Old Polarization: (-0.51506,-0.81839,-0.25484) - New Momentum Direction: (0.6916,-0.58669,-0.4213) - New Polarization: (-0.708,-0.66609,-0.23466) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1283, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68853,0.49457,0.5304) - Old Polarization: (-0.691,0.22546,0.68679) - New Momentum Direction: (0.16744,0.67235,0.72105) - New Polarization: (-0.96774,-0.027558,0.25042) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1282, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6498,0.30955,-0.69422) - Old Polarization: (-0.73444,0.020363,-0.67836) - New Momentum Direction: (0.8817,0.42002,-0.21493) - New Polarization: (0.095904,0.28649,0.95327) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1281, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (-0.607,0.52801,-0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (-0.607,0.52801,0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,0.59393) - Old Polarization: (0.78194,0.26345,0.56494) - New Momentum Direction: (-0.607,-0.52801,0.59393) - New Polarization: (-0.78194,0.26345,-0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (0.607,-0.52801,0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (0.607,-0.52801,-0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,-0.52801,-0.59393) - Old Polarization: (0.78194,0.26345,0.56494) - New Momentum Direction: (0.607,0.52801,-0.59393) - New Polarization: (-0.78194,0.26345,-0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (-0.607,0.52801,-0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (-0.607,0.52801,0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,0.59393) - Old Polarization: (0.78194,0.26345,0.56494) - New Momentum Direction: (-0.607,-0.52801,0.59393) - New Polarization: (-0.78194,0.26345,-0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (0.607,-0.52801,0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (0.607,-0.52801,-0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,-0.52801,-0.59393) - Old Polarization: (0.78194,0.26345,0.56494) - New Momentum Direction: (0.607,0.52801,-0.59393) - New Polarization: (-0.78194,0.26345,-0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (-0.607,0.52801,-0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,-0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (-0.607,0.52801,0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,0.52801,0.59393) - Old Polarization: (0.78194,0.26345,0.56494) - New Momentum Direction: (-0.607,-0.52801,0.59393) - New Polarization: (-0.78194,0.26345,-0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,0.26345,-0.56494) - New Momentum Direction: (0.607,-0.52801,0.59393) - New Polarization: (-0.78194,-0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.607,-0.52801,0.59393) - Old Polarization: (-0.78194,-0.26345,0.56494) - New Momentum Direction: (0.607,-0.52801,-0.59393) - New Polarization: (0.78194,0.26345,0.56494) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1280, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.82785,-0.10694,0.55066) -Old Polarization: (-0.53473,-0.44706,0.71708) -New Polarization: (-0.41285,0.36125,0.69605) -Polarization Change: (-0.46584,0.40762,0.78539) -New Momentum Direction: (-0.27828,0.68025,-0.5181) -Momentum Change: (-0.30946,0.75648,-0.57617) - Photon at Boundary! - Old Momentum Direction: (-0.30946,0.75648,-0.57617) - Old Polarization: (-0.46584,0.40762,0.78539) - New Momentum Direction: (-0.41855,0.46645,-0.77926) - New Polarization: (-0.74298,-0.66931,-0.0015732) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1279, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65365,0.29682,-0.69616) - Old Polarization: (-0.73041,0.0066617,-0.68297) - New Momentum Direction: (0.65365,0.29682,0.69616) - New Polarization: (-0.37209,-0.67496,0.63716) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65365,0.29682,0.69616) - Old Polarization: (-0.37209,-0.67496,0.63716) - New Momentum Direction: (-0.65365,0.29682,0.69616) - New Polarization: (-0.37209,0.67496,-0.63716) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65365,0.29682,0.69616) - Old Polarization: (-0.37209,0.67496,-0.63716) - New Momentum Direction: (-0.65365,-0.29682,0.69616) - New Polarization: (0.37209,0.67496,0.63716) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65365,-0.29682,0.69616) - Old Polarization: (0.37209,0.67496,0.63716) - New Momentum Direction: (-0.8856,-0.40215,0.23236) - New Polarization: (-0.33033,0.1937,-0.92378) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1278, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70563,0.42855,0.56429) - Old Polarization: (-0.67199,0.15215,0.72476) - New Momentum Direction: (0.26913,0.58249,0.76699) - New Polarization: (-0.94166,-0.0079857,0.33648) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1277, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1276, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.79224,0.055788,0.60766) -Old Polarization: (-0.57548,-0.26286,0.77442) -New Polarization: (0.19508,-0.57812,0.64834) -Polarization Change: (0.21912,-0.64936,0.72823) -New Momentum Direction: (-0.95517,-0.062178,0.23196) -Momentum Change: (-0.96982,-0.063131,0.23552) - Photon at Boundary! - Old Momentum Direction: (-0.96982,-0.063131,0.23552) - Old Polarization: (0.21912,-0.64936,0.72823) - New Momentum Direction: (-0.96982,-0.063131,-0.23552) - New Polarization: (-0.21912,0.64936,0.72823) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.96982,-0.063131,-0.23552) - Old Polarization: (-0.21912,0.64936,0.72823) - New Momentum Direction: (-0.94358,-0.085736,-0.31984) - New Polarization: (0.31176,0.0955,-0.94535) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1275, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.71004,0.052809,-0.70218) - Old Polarization: (-0.66736,-0.2677,-0.69496) - New Momentum Direction: (-0.71004,0.052809,-0.70218) - New Polarization: (-0.5864,0.50772,0.63115) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.71004,0.052809,-0.70218) - Old Polarization: (-0.5864,0.50772,0.63115) - New Momentum Direction: (-0.95897,0.071324,-0.27438) - New Polarization: (-0.2353,0.33958,0.91067) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1274, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1273, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75389,-0.11779,-0.64635) - Old Polarization: (-0.61769,-0.46227,-0.63622) - New Momentum Direction: (0.4658,-0.15864,-0.87055) - New Polarization: (-0.85828,-0.32043,-0.40084) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1272, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1271, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1270, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1269, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57677,0.77667,-0.25321) - Old Polarization: (-0.81687,0.54568,-0.18694) - New Momentum Direction: (0.78083,0.5223,-0.3428) - New Polarization: (0.29399,-0.79133,-0.53607) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1268, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1267, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64855,0.32307,-0.68921) - Old Polarization: (-0.73621,0.036228,-0.67579) - New Momentum Direction: (0.87836,0.43755,-0.19245) - New Polarization: (0.063045,0.29305,0.95402) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1266, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75941,-0.15712,-0.63136) - Old Polarization: (-0.61185,-0.50241,-0.61092) - New Momentum Direction: (0.47285,-0.21279,-0.85506) - New Polarization: (-0.85505,-0.3452,-0.38694) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1265, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.58483,0.8109,0.020381) -Old Polarization: (-0.80666,0.57877,0.11967) -New Polarization: (-0.50464,0.67117,0.28318) -Polarization Change: (-0.56946,0.75737,0.31955) -New Momentum Direction: (0.75708,0.63133,-0.14717) -Momentum Change: (0.75958,0.63343,-0.14766) - Photon at Boundary! - Old Momentum Direction: (0.75958,0.63343,-0.14766) - Old Polarization: (-0.56946,0.75737,0.31955) - New Momentum Direction: (0.46863,0.86033,-0.20056) - New Polarization: (-0.82631,0.50719,0.24489) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1264, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84844,-0.45908,-0.26344) - Old Polarization: (-0.51308,-0.8356,-0.19628) - New Momentum Direction: (0.69461,-0.62396,-0.35805) - New Polarization: (-0.7079,-0.68143,-0.18582) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1263, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72285,0.014249,-0.69085) - Old Polarization: (-0.65299,-0.31296,-0.68968) - New Momentum Direction: (0.36991,0.019158,-0.92887) - New Polarization: (-0.90461,-0.22049,-0.36479) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1262, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72011,0.39525,0.57028) - Old Polarization: (-0.65605,0.12024,0.74508) - New Momentum Direction: (0.35479,0.53258,0.76843) - New Polarization: (-0.91094,0.011858,0.41237) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1261, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77449,0.1569,0.61283) - Old Polarization: (-0.59458,-0.15021,0.78988) - New Momentum Direction: (0.52006,0.21184,0.82744) - New Polarization: (-0.8279,-0.11323,0.54933) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1260, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (-0.60048,0.57332,-0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,-0.31549,0.52618) - New Momentum Direction: (-0.60048,-0.57332,-0.55743) - New Polarization: (0.78968,-0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,-0.55743) - Old Polarization: (0.78968,-0.31549,-0.52618) - New Momentum Direction: (-0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,-0.57332,0.55743) - Old Polarization: (-0.78968,-0.31549,0.52618) - New Momentum Direction: (0.60048,0.57332,0.55743) - New Polarization: (0.78968,-0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,0.57332,0.55743) - Old Polarization: (0.78968,-0.31549,-0.52618) - New Momentum Direction: (0.60048,0.57332,-0.55743) - New Polarization: (-0.78968,0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (-0.60048,0.57332,-0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,-0.31549,0.52618) - New Momentum Direction: (-0.60048,-0.57332,-0.55743) - New Polarization: (0.78968,-0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,-0.55743) - Old Polarization: (0.78968,-0.31549,-0.52618) - New Momentum Direction: (-0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,-0.57332,0.55743) - Old Polarization: (-0.78968,-0.31549,0.52618) - New Momentum Direction: (0.60048,0.57332,0.55743) - New Polarization: (0.78968,-0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,0.57332,0.55743) - Old Polarization: (0.78968,-0.31549,-0.52618) - New Momentum Direction: (0.60048,0.57332,-0.55743) - New Polarization: (-0.78968,0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (-0.60048,0.57332,-0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,0.57332,-0.55743) - Old Polarization: (-0.78968,-0.31549,0.52618) - New Momentum Direction: (-0.60048,-0.57332,-0.55743) - New Polarization: (0.78968,-0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,-0.55743) - Old Polarization: (0.78968,-0.31549,-0.52618) - New Momentum Direction: (-0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,0.31549,-0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.60048,-0.57332,0.55743) - Old Polarization: (-0.78968,0.31549,-0.52618) - New Momentum Direction: (0.60048,-0.57332,0.55743) - New Polarization: (-0.78968,-0.31549,0.52618) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1259, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72686,0.35152,0.59001) - Old Polarization: (-0.64836,0.067897,0.7583) - New Momentum Direction: (0.36597,0.47633,0.79949) - New Polarization: (-0.90628,-0.01281,0.42249) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1258, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80923,0.0050645,0.58747) - Old Polarization: (-0.55465,-0.32309,0.7668) - New Momentum Direction: (0.61237,0.0068152,0.79054) - New Polarization: (-0.76713,-0.23661,0.59627) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1257, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.76553,-0.18188,-0.61716) - Old Polarization: (-0.60503,-0.5298,-0.59435) - New Momentum Direction: (0.48992,-0.24643,-0.83621) - New Polarization: (-0.84576,-0.36691,-0.38739) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1256, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1255, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80948,-0.021952,0.58673) - Old Polarization: (-0.55589,-0.35032,0.75383) - New Momentum Direction: (0.6053,-0.02976,0.79544) - New Polarization: (-0.774,-0.25529,0.57944) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1254, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63267,0.6958,0.33997) - Old Polarization: (-0.75363,0.45215,0.47707) - New Momentum Direction: (0.85824,0.22522,0.46119) - New Polarization: (-0.13446,-0.76852,0.62553) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1253, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1252, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1251, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87678,-0.46638,0.11725) - Old Polarization: (-0.48084,-0.84661,0.22812) - New Momentum Direction: (0.75787,-0.63272,0.15907) - New Polarization: (-0.65237,-0.73235,0.19513) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1250, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87313,-0.39188,0.28997) - Old Polarization: (-0.48421,-0.76604,0.42275) - New Momentum Direction: (0.75119,-0.53062,0.39263) - New Polarization: (-0.65776,-0.65162,0.3778) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1249, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1248, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62207,0.46065,-0.63311) - Old Polarization: (-0.76606,0.191,-0.61373) - New Momentum Direction: (0.62207,0.46065,0.63311) - New Polarization: (0.76606,-0.191,-0.61373) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.62207,0.46065,0.63311) - Old Polarization: (0.76606,-0.191,-0.61373) - New Momentum Direction: (-0.62207,0.46065,0.63311) - New Polarization: (0.76606,0.191,0.61373) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62207,0.46065,0.63311) - Old Polarization: (0.76606,0.191,0.61373) - New Momentum Direction: (-0.62207,-0.46065,0.63311) - New Polarization: (-0.76606,0.191,-0.61373) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1247, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66771,0.22162,-0.71066) - Old Polarization: (-0.71432,-0.077963,-0.69546) - New Momentum Direction: (0.9067,0.30094,-0.29552) - New Polarization: (0.24799,0.18637,0.95067) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1246, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65209,0.63927,0.40757) - Old Polarization: (-0.7325,0.39263,0.55613) - New Momentum Direction: (-0.65209,0.63927,0.40757) - New Polarization: (-0.7325,-0.39263,-0.55613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65209,0.63927,0.40757) - Old Polarization: (-0.7325,-0.39263,-0.55613) - New Momentum Direction: (-0.65209,-0.63927,0.40757) - New Polarization: (0.7325,-0.39263,0.55613) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65209,-0.63927,0.40757) - Old Polarization: (0.7325,-0.39263,0.55613) - New Momentum Direction: (-0.65209,-0.63927,-0.40757) - New Polarization: (-0.7325,0.39263,0.55613) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1245, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86061,-0.31887,0.39708) - Old Polarization: (-0.49975,-0.6788,0.53804) - New Momentum Direction: (0.72131,-0.43367,0.54004) - New Polarization: (-0.6859,-0.55561,0.46995) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1244, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.59512,0.79562,0.1132) - Old Polarization: (-0.7955,0.56323,0.2235) - New Momentum Direction: (0.80755,0.56945,0.1536) - New Polarization: (0.48906,-0.79208,0.36528) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1243, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65915,0.60238,0.45019) - Old Polarization: (-0.72368,0.34532,0.59753) - New Momentum Direction: (-0.65915,0.60238,0.45019) - New Polarization: (-0.72368,-0.34532,-0.59753) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65915,0.60238,0.45019) - Old Polarization: (-0.72368,-0.34532,-0.59753) - New Momentum Direction: (-0.65915,-0.60238,0.45019) - New Polarization: (0.72368,-0.34532,0.59753) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65915,-0.60238,0.45019) - Old Polarization: (0.72368,-0.34532,0.59753) - New Momentum Direction: (-0.65915,-0.60238,-0.45019) - New Polarization: (-0.72368,0.34532,0.59753) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65915,-0.60238,-0.45019) - Old Polarization: (-0.72368,0.34532,0.59753) - New Momentum Direction: (0.65915,-0.60238,-0.45019) - New Polarization: (-0.72368,-0.34532,-0.59753) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.65915,-0.60238,-0.45019) - Old Polarization: (-0.72368,-0.34532,-0.59753) - New Momentum Direction: (0.65915,0.60238,-0.45019) - New Polarization: (0.72368,-0.34532,0.59753) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1242, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80608,-0.00035994,0.59181) - Old Polarization: (-0.55942,-0.32673,0.76177) - New Momentum Direction: (0.5984,-0.00048729,0.8012) - New Polarization: (-0.77839,-0.23727,0.58122) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1241, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77592,-0.22869,-0.58792) - Old Polarization: (-0.59371,-0.57971,-0.55807) - New Momentum Direction: (0.51539,-0.31066,-0.79867) - New Polarization: (-0.83164,-0.40618,-0.37867) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1240, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84832,-0.23703,0.47347) - Old Polarization: (-0.51306,-0.58898,0.6244) - New Momentum Direction: (0.6947,-0.322,0.6432) - New Polarization: (-0.70766,-0.4662,0.53092) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1239, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85362,-0.23961,0.46251) - Old Polarization: (-0.50487,-0.59912,0.62142) - New Momentum Direction: (0.71158,-0.3232,0.62385) - New Polarization: (-0.69109,-0.48201,0.53857) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1238, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58305,0.67133,-0.45758) - Old Polarization: (-0.80814,0.42136,-0.41154) - New Momentum Direction: (0.58305,-0.67133,-0.45758) - New Polarization: (0.80814,0.42136,0.41154) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58305,-0.67133,-0.45758) - Old Polarization: (0.80814,0.42136,0.41154) - New Momentum Direction: (-0.58305,-0.67133,-0.45758) - New Polarization: (0.80814,-0.42136,-0.41154) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1237, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58061,0.72384,-0.37275) - Old Polarization: (-0.81257,0.4864,-0.32117) - New Momentum Direction: (0.78601,0.35715,-0.50461) - New Polarization: (-0.051481,-0.77559,-0.62913) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1236, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1235, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86283,-0.47044,-0.18496) - Old Polarization: (-0.49408,-0.86218,-0.11195) - New Momentum Direction: (0.73218,-0.63388,-0.24921) - New Polarization: (-0.67291,-0.72981,-0.12071) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1234, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74461,-0.096637,-0.66047) - Old Polarization: (-0.62842,-0.43509,-0.64481) - New Momentum Direction: (0.42901,-0.13077,-0.89378) - New Polarization: (-0.87753,-0.29498,-0.37805) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1233, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58001,0.72237,-0.37653) - Old Polarization: (-0.81292,0.48348,-0.32467) - New Momentum Direction: (0.78589,0.34942,-0.51018) - New Polarization: (-0.063602,-0.77499,-0.62876) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1232, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7054,0.4348,0.55978) - Old Polarization: (-0.67235,0.1604,0.72265) - New Momentum Direction: (0.27451,0.58986,0.75941) - New Polarization: (-0.94004,-0.0016357,0.34107) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1231, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85293,-0.45782,-0.25083) - Old Polarization: (-0.50644,-0.84222,-0.18488) - New Momentum Direction: (0.70833,-0.61906,-0.33917) - New Polarization: (-0.69474,-0.69644,-0.17975) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1230, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8543,-0.27582,0.44056) - Old Polarization: (-0.50659,-0.63152,0.58698) - New Momentum Direction: (0.70767,-0.37493,0.59886) - New Polarization: (-0.69721,-0.50786,0.50593) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1229, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70699,0.45068,0.54503) - Old Polarization: (-0.67101,0.18402,0.71825) - New Momentum Direction: (0.30661,0.60656,0.73354) - New Polarization: (-0.92958,0.025128,0.36777) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1228, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1227, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.7716,0.14711,0.61887) -Old Polarization: (-0.59865,-0.161,0.78466) -New Polarization: (-0.60812,-0.10704,0.75161) -Polarization Change: (-0.62517,-0.11004,0.77269) -New Momentum Direction: (0.66692,-0.56033,0.4598) -Momentum Change: (0.6771,-0.56888,0.46682) - Photon at Boundary! - Old Momentum Direction: (0.6771,-0.56888,0.46682) - Old Polarization: (-0.62517,-0.11004,0.77269) - New Momentum Direction: (-0.6771,-0.56888,0.46682) - New Polarization: (-0.62517,0.11004,-0.77269) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.6771,-0.56888,0.46682) - Old Polarization: (-0.62517,0.11004,-0.77269) - New Momentum Direction: (-0.6771,-0.56888,-0.46682) - New Polarization: (0.62517,-0.11004,-0.77269) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1226, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87555,-0.43015,0.21994) - Old Polarization: (-0.4822,-0.80617,0.34289) - New Momentum Direction: (0.75527,-0.58355,0.29838) - New Polarization: (-0.65476,-0.69207,0.30385) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1225, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61724,0.46435,-0.63513) - Old Polarization: (-0.77011,0.19131,-0.60855) - New Momentum Direction: (0.61724,0.46435,0.63513) - New Polarization: (0.77011,-0.19131,-0.60855) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.61724,0.46435,0.63513) - Old Polarization: (0.77011,-0.19131,-0.60855) - New Momentum Direction: (-0.61724,0.46435,0.63513) - New Polarization: (0.77011,0.19131,0.60855) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1224, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64938,0.32636,-0.68687) - Old Polarization: (-0.73564,0.040692,-0.67615) - New Momentum Direction: (0.64938,0.32636,0.68687) - New Polarization: (-0.3128,-0.70864,0.63244) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64938,0.32636,0.68687) - Old Polarization: (-0.3128,-0.70864,0.63244) - New Momentum Direction: (-0.64938,0.32636,0.68687) - New Polarization: (-0.3128,0.70864,-0.63244) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64938,0.32636,0.68687) - Old Polarization: (-0.3128,0.70864,-0.63244) - New Momentum Direction: (-0.64938,-0.32636,0.68687) - New Polarization: (0.3128,0.70864,0.63244) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64938,-0.32636,0.68687) - Old Polarization: (0.3128,0.70864,0.63244) - New Momentum Direction: (-0.87787,-0.44119,0.18625) - New Polarization: (-0.30629,0.21829,-0.92657) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1223, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1222, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1221, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73823,-0.068384,-0.67107) - Old Polarization: (-0.63556,-0.40382,-0.65802) - New Momentum Direction: (0.41001,-0.092465,-0.90738) - New Polarization: (-0.88662,-0.27385,-0.37272) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1220, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73391,0.32243,0.59784) - Old Polarization: (-0.64046,0.03533,0.76718) - New Momentum Direction: (0.39111,0.43688,0.81004) - New Polarization: (-0.89537,-0.023013,0.44472) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1219, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1218, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.60123,0.55459,-0.57528) -Old Polarization: (-0.78794,0.29168,-0.54229) -New Polarization: (-0.49526,0.64833,-0.29408) -Polarization Change: (-0.57108,0.74758,-0.3391) -New Momentum Direction: (0.59398,0.14754,-0.67506) -Momentum Change: (0.65187,0.16192,-0.74084) - Photon at Boundary! - Old Momentum Direction: (0.65187,0.16192,-0.74084) - Old Polarization: (-0.57108,0.74758,-0.3391) - New Momentum Direction: (-0.65187,0.16192,-0.74084) - New Polarization: (-0.57108,-0.74758,0.3391) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65187,0.16192,-0.74084) - Old Polarization: (-0.57108,-0.74758,0.3391) - New Momentum Direction: (-0.65187,0.16192,0.74084) - New Polarization: (0.37723,0.91673,0.13156) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65187,0.16192,0.74084) - Old Polarization: (0.37723,0.91673,0.13156) - New Momentum Direction: (-0.65187,-0.16192,0.74084) - New Polarization: (-0.37723,0.91673,-0.13156) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65187,-0.16192,0.74084) - Old Polarization: (-0.37723,0.91673,-0.13156) - New Momentum Direction: (-0.65187,-0.16192,-0.74084) - New Polarization: (0.28944,-0.95611,-0.045713) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.65187,-0.16192,-0.74084) - Old Polarization: (0.28944,-0.95611,-0.045713) - New Momentum Direction: (0.65187,-0.16192,-0.74084) - New Polarization: (0.28944,0.95611,0.045713) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1217, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 83 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82648,0.050249,-0.56072) - Old Polarization: (-0.52533,-0.28921,-0.80024) - New Momentum Direction: (0.64918,0.067893,-0.7576) - New Polarization: (-0.73339,-0.2083,-0.64711) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1404, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,0.59652) - Old Polarization: (-0.80847,0.2862,0.51426) - New Momentum Direction: (0.57696,0.55793,-0.59652) - New Polarization: (0.80847,-0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,-0.2862,0.51426) - New Momentum Direction: (-0.57696,0.55793,-0.59652) - New Polarization: (0.80847,0.2862,-0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,0.2862,-0.51426) - New Momentum Direction: (-0.57696,-0.55793,-0.59652) - New Polarization: (-0.80847,0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,-0.55793,-0.59652) - Old Polarization: (-0.80847,0.2862,0.51426) - New Momentum Direction: (-0.57696,-0.55793,0.59652) - New Polarization: (0.80847,-0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,-0.55793,0.59652) - Old Polarization: (0.80847,-0.2862,0.51426) - New Momentum Direction: (0.57696,-0.55793,0.59652) - New Polarization: (0.80847,0.2862,-0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,-0.55793,0.59652) - Old Polarization: (0.80847,0.2862,-0.51426) - New Momentum Direction: (0.57696,0.55793,0.59652) - New Polarization: (-0.80847,0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,0.59652) - Old Polarization: (-0.80847,0.2862,0.51426) - New Momentum Direction: (0.57696,0.55793,-0.59652) - New Polarization: (0.80847,-0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,-0.2862,0.51426) - New Momentum Direction: (-0.57696,0.55793,-0.59652) - New Polarization: (0.80847,0.2862,-0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,0.2862,-0.51426) - New Momentum Direction: (-0.57696,-0.55793,-0.59652) - New Polarization: (-0.80847,0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,-0.55793,-0.59652) - Old Polarization: (-0.80847,0.2862,0.51426) - New Momentum Direction: (-0.57696,-0.55793,0.59652) - New Polarization: (0.80847,-0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,-0.55793,0.59652) - Old Polarization: (0.80847,-0.2862,0.51426) - New Momentum Direction: (0.57696,-0.55793,0.59652) - New Polarization: (0.80847,0.2862,-0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,-0.55793,0.59652) - Old Polarization: (0.80847,0.2862,-0.51426) - New Momentum Direction: (0.57696,0.55793,0.59652) - New Polarization: (-0.80847,0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,0.59652) - Old Polarization: (-0.80847,0.2862,0.51426) - New Momentum Direction: (0.57696,0.55793,-0.59652) - New Polarization: (0.80847,-0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,-0.2862,0.51426) - New Momentum Direction: (-0.57696,0.55793,-0.59652) - New Polarization: (0.80847,0.2862,-0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57696,0.55793,-0.59652) - Old Polarization: (0.80847,0.2862,-0.51426) - New Momentum Direction: (-0.57696,-0.55793,-0.59652) - New Polarization: (-0.80847,0.2862,0.51426) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1403, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75484,0.35316,-0.55272) - Old Polarization: (-0.60689,0.056392,-0.79278) - New Momentum Direction: (0.46497,0.47668,-0.74604) - New Polarization: (-0.85187,0.011439,-0.52362) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1402, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57319,0.57671,0.58212) - Old Polarization: (-0.81227,0.30622,0.49644) - New Momentum Direction: (0.57319,0.57671,-0.58212) - New Polarization: (0.81227,-0.30622,0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57319,0.57671,-0.58212) - Old Polarization: (0.81227,-0.30622,0.49644) - New Momentum Direction: (0.57319,-0.57671,-0.58212) - New Polarization: (-0.81227,-0.30622,-0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57319,-0.57671,-0.58212) - Old Polarization: (-0.81227,-0.30622,-0.49644) - New Momentum Direction: (-0.57319,-0.57671,-0.58212) - New Polarization: (-0.81227,0.30622,0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57319,-0.57671,-0.58212) - Old Polarization: (-0.81227,0.30622,0.49644) - New Momentum Direction: (-0.57319,-0.57671,0.58212) - New Polarization: (0.81227,-0.30622,0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57319,-0.57671,0.58212) - Old Polarization: (0.81227,-0.30622,0.49644) - New Momentum Direction: (-0.57319,0.57671,0.58212) - New Polarization: (-0.81227,-0.30622,-0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57319,0.57671,0.58212) - Old Polarization: (-0.81227,-0.30622,-0.49644) - New Momentum Direction: (0.57319,0.57671,0.58212) - New Polarization: (-0.81227,0.30622,0.49644) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.57319,0.57671,0.58212) -Old Polarization: (-0.81227,0.30622,0.49644) -New Polarization: (-0.51772,-0.073054,0.69221) -Polarization Change: (-0.5968,-0.084214,0.79796) -New Momentum Direction: (-0.69837,0.046193,-0.51745) -Momentum Change: (-0.80235,0.053071,-0.59449) - Photon at Boundary! - Old Momentum Direction: (-0.80235,0.053071,-0.59449) - Old Polarization: (-0.5968,-0.084214,0.79796) - New Momentum Direction: (-0.58669,0.072006,-0.8066) - New Polarization: (0.80977,0.04311,-0.58515) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1401, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1400, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1399, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1398, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58023,0.81313,0.046323) - Old Polarization: (-0.80625,0.58151,-0.10866) - New Momentum Direction: (0.78326,0.61854,0.062532) - New Polarization: (0.61878,-0.78536,0.017878) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1397, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56412,0.80933,0.16356) - Old Polarization: (-0.82241,0.56838,0.024044) - New Momentum Direction: (0.76556,0.60386,0.22197) - New Polarization: (0.52011,-0.78397,0.33892) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1396, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.76086,-0.22078,0.61021) - Old Polarization: (-0.60019,-0.59691,0.53241) - New Momentum Direction: (0.4792,-0.29862,0.82535) - New Polarization: (-0.84434,-0.41363,0.34057) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1395, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87283,-0.47176,0.12498) - Old Polarization: (-0.47327,-0.88071,-0.019186) - New Momentum Direction: (0.75067,-0.63864,0.1692) - New Polarization: (-0.65002,-0.75974,0.016266) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1394, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77913,0.26992,-0.56578) - Old Polarization: (-0.57861,-0.037607,-0.81474) - New Momentum Direction: (0.53845,0.36283,-0.76054) - New Polarization: (-0.80847,-0.032052,-0.58767) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1393, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77696,0.24878,-0.57831) - Old Polarization: (-0.58254,-0.064191,-0.81026) - New Momentum Direction: (0.51761,0.33812,-0.78598) - New Polarization: (-0.82314,-0.053889,-0.56527) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1392, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62187,0.31273,0.71797) - Old Polarization: (-0.75777,0.0089208,0.65246) - New Momentum Direction: (0.84236,0.42361,0.33314) - New Polarization: (0.18182,0.35855,-0.91563) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1391, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1390, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1389, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57165,0.81706,0.075049) - Old Polarization: (-0.81373,0.57628,-0.075789) - New Momentum Direction: (0.77616,0.62225,0.1019) - New Polarization: (0.61397,-0.78264,0.10256) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1388, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1387, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55923,0.75467,0.34313) - Old Polarization: (-0.82901,0.51051,0.2283) - New Momentum Direction: (0.75702,0.45954,0.46449) - New Polarization: (0.089011,-0.77679,0.62344) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1386, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1385, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84533,-0.44602,0.29408) - Old Polarization: (-0.50559,-0.84574,0.17062) - New Momentum Direction: (0.68783,-0.606,0.39957) - New Polarization: (-0.70526,-0.68819,0.17031) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1384, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88979,-0.33252,-0.31257) - Old Polarization: (-0.45308,-0.72569,-0.51777) - New Momentum Direction: (0.78741,-0.44915,-0.4222) - New Polarization: (-0.61408,-0.63137,-0.47358) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1383, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67619,0.60425,-0.42147) - Old Polarization: (-0.69589,0.33605,-0.63468) - New Momentum Direction: (-0.67619,0.60425,-0.42147) - New Polarization: (-0.69589,-0.33605,0.63468) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67619,0.60425,-0.42147) - Old Polarization: (-0.69589,-0.33605,0.63468) - New Momentum Direction: (-0.67619,-0.60425,-0.42147) - New Polarization: (0.69589,-0.33605,-0.63468) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67619,-0.60425,-0.42147) - Old Polarization: (0.69589,-0.33605,-0.63468) - New Momentum Direction: (-0.67619,-0.60425,0.42147) - New Polarization: (-0.69589,0.33605,-0.63468) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1382, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1381, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83902,-0.41356,0.35357) - Old Polarization: (-0.50971,-0.82478,0.24481) - New Momentum Direction: (0.68153,-0.55622,0.47554) - New Polarization: (-0.7066,-0.66921,0.22994) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1380, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77799,-0.27253,0.56609) - Old Polarization: (-0.58072,-0.65582,0.48236) - New Momentum Direction: (0.52721,-0.3686,0.76563) - New Polarization: (-0.81649,-0.46929,0.33631) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1379, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64521,0.70177,-0.30203) - Old Polarization: (-0.73216,0.45501,-0.50686) - New Momentum Direction: (0.64521,-0.70177,-0.30203) - New Polarization: (0.11687,-0.30002,0.94675) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64521,-0.70177,-0.30203) - Old Polarization: (0.11687,-0.30002,0.94675) - New Momentum Direction: (-0.64521,-0.70177,-0.30203) - New Polarization: (0.11687,0.30002,-0.94675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,-0.70177,-0.30203) - Old Polarization: (0.11687,0.30002,-0.94675) - New Momentum Direction: (-0.64521,-0.70177,0.30203) - New Polarization: (-0.11687,-0.30002,-0.94675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,-0.70177,0.30203) - Old Polarization: (-0.11687,-0.30002,-0.94675) - New Momentum Direction: (-0.64521,0.70177,0.30203) - New Polarization: (0.57012,0.17909,0.8018) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,0.70177,0.30203) - Old Polarization: (0.57012,0.17909,0.8018) - New Momentum Direction: (0.64521,0.70177,0.30203) - New Polarization: (0.57012,-0.17909,-0.8018) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64521,0.70177,0.30203) - Old Polarization: (0.57012,-0.17909,-0.8018) - New Momentum Direction: (0.64521,0.70177,-0.30203) - New Polarization: (-0.57012,0.17909,-0.8018) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64521,0.70177,-0.30203) - Old Polarization: (-0.57012,0.17909,-0.8018) - New Momentum Direction: (0.64521,-0.70177,-0.30203) - New Polarization: (0.32817,-0.10243,0.93905) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64521,-0.70177,-0.30203) - Old Polarization: (0.32817,-0.10243,0.93905) - New Momentum Direction: (-0.64521,-0.70177,-0.30203) - New Polarization: (0.32817,0.10243,-0.93905) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,-0.70177,-0.30203) - Old Polarization: (0.32817,0.10243,-0.93905) - New Momentum Direction: (-0.64521,-0.70177,0.30203) - New Polarization: (-0.32817,-0.10243,-0.93905) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,-0.70177,0.30203) - Old Polarization: (-0.32817,-0.10243,-0.93905) - New Momentum Direction: (-0.64521,0.70177,0.30203) - New Polarization: (0.47405,0.057707,0.8786) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64521,0.70177,0.30203) - Old Polarization: (0.47405,0.057707,0.8786) - New Momentum Direction: (0.64521,0.70177,0.30203) - New Polarization: (0.47405,-0.057707,-0.8786) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1378, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55727,0.78889,0.25905) - Old Polarization: (-0.82949,0.54292,0.13105) - New Momentum Direction: (0.75742,0.54987,0.35208) - New Polarization: (0.32161,-0.78348,0.53173) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1377, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1376, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58698,0.80821,-0.047497) - Old Polarization: (-0.79635,0.56581,-0.21376) - New Momentum Direction: (0.79722,0.60023,-0.06451) - New Polarization: (0.57023,-0.78382,-0.2459) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1375, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84609,-0.43931,0.3019) - Old Polarization: (-0.50345,-0.84469,0.18178) - New Momentum Direction: (0.69267,-0.59443,0.4085) - New Polarization: (-0.6998,-0.69101,0.18109) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1374, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1373, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60672,0.77954,-0.15557) - Old Polarization: (-0.77454,0.53572,-0.33629) - New Momentum Direction: (0.82288,0.52758,-0.211) - New Polarization: (0.37451,-0.78285,-0.49689) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1372, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.59522,0.80185,-0.052453) - Old Polarization: (-0.78979,0.57175,-0.22209) - New Momentum Direction: (0.80199,0.59314,-0.070673) - New Polarization: (0.55908,-0.78701,-0.26085) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1371, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1370, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5844,0.51231,0.6293) - Old Polarization: (-0.80017,0.2349,0.55186) - New Momentum Direction: (0.5844,0.51231,-0.6293) - New Polarization: (0.80017,-0.2349,0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5844,0.51231,-0.6293) - Old Polarization: (0.80017,-0.2349,0.55186) - New Momentum Direction: (-0.5844,0.51231,-0.6293) - New Polarization: (0.80017,0.2349,-0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5844,0.51231,-0.6293) - Old Polarization: (0.80017,0.2349,-0.55186) - New Momentum Direction: (-0.5844,-0.51231,-0.6293) - New Polarization: (-0.80017,0.2349,0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5844,-0.51231,-0.6293) - Old Polarization: (-0.80017,0.2349,0.55186) - New Momentum Direction: (-0.5844,-0.51231,0.6293) - New Polarization: (0.80017,-0.2349,0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5844,-0.51231,0.6293) - Old Polarization: (0.80017,-0.2349,0.55186) - New Momentum Direction: (0.5844,-0.51231,0.6293) - New Polarization: (0.80017,0.2349,-0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5844,-0.51231,0.6293) - Old Polarization: (0.80017,0.2349,-0.55186) - New Momentum Direction: (0.5844,0.51231,0.6293) - New Polarization: (-0.80017,0.2349,0.55186) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (0.5844,0.51231,0.6293) -Old Polarization: (-0.80017,0.2349,0.55186) -New Polarization: (0.29191,0.27794,0.86645) -Polarization Change: (0.30547,0.29085,0.9067) -New Momentum Direction: (0.56911,0.65461,-0.40172) -Momentum Change: (0.59536,0.6848,-0.42024) -Scattering Photon! -Old Momentum Direction: (0.59536,0.6848,-0.42024) -Old Polarization: (0.30547,0.29085,0.9067) -New Polarization: (0.63731,-0.33999,0.5126) -Polarization Change: (0.71953,-0.38386,0.57873) -New Momentum Direction: (-0.50739,-0.85863,0.061318) -Momentum Change: (-0.50778,-0.8593,0.061366) - Photon at Boundary! - Old Momentum Direction: (-0.50778,-0.8593,0.061366) - Old Polarization: (0.71953,-0.38386,0.57873) - New Momentum Direction: (-0.68789,-0.72104,0.083133) - New Polarization: (-0.54063,0.58543,0.60415) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1369, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63144,0.25103,0.73367) - Old Polarization: (-0.74593,-0.061845,0.66315) - New Momentum Direction: (0.85895,0.34148,0.38157) - New Polarization: (0.29619,0.27652,-0.91422) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1368, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1367, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75223,-0.19944,0.62799) - Old Polarization: (-0.61015,-0.57064,0.54963) - New Momentum Direction: (0.44988,-0.27033,0.8512) - New Polarization: (-0.86029,-0.38711,0.33174) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1366, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66001,0.65511,-0.36771) - Old Polarization: (-0.71447,0.39609,-0.57675) - New Momentum Direction: (-0.66001,0.65511,-0.36771) - New Polarization: (-0.71447,-0.39609,0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,0.65511,-0.36771) - Old Polarization: (-0.71447,-0.39609,0.57675) - New Momentum Direction: (-0.66001,-0.65511,-0.36771) - New Polarization: (0.71447,-0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,-0.65511,-0.36771) - Old Polarization: (0.71447,-0.39609,-0.57675) - New Momentum Direction: (-0.66001,-0.65511,0.36771) - New Polarization: (-0.71447,0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,-0.65511,0.36771) - Old Polarization: (-0.71447,0.39609,-0.57675) - New Momentum Direction: (0.66001,-0.65511,0.36771) - New Polarization: (-0.71447,-0.39609,0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66001,-0.65511,0.36771) - Old Polarization: (-0.71447,-0.39609,0.57675) - New Momentum Direction: (0.66001,0.65511,0.36771) - New Polarization: (0.71447,-0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66001,0.65511,0.36771) - Old Polarization: (0.71447,-0.39609,-0.57675) - New Momentum Direction: (-0.66001,0.65511,0.36771) - New Polarization: (0.71447,0.39609,0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,0.65511,0.36771) - Old Polarization: (0.71447,0.39609,0.57675) - New Momentum Direction: (-0.66001,-0.65511,0.36771) - New Polarization: (-0.71447,0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,-0.65511,0.36771) - Old Polarization: (-0.71447,0.39609,-0.57675) - New Momentum Direction: (-0.66001,-0.65511,-0.36771) - New Polarization: (0.71447,-0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66001,-0.65511,-0.36771) - Old Polarization: (0.71447,-0.39609,-0.57675) - New Momentum Direction: (0.66001,-0.65511,-0.36771) - New Polarization: (0.71447,0.39609,0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.66001,-0.65511,-0.36771) - Old Polarization: (0.71447,0.39609,0.57675) - New Momentum Direction: (0.66001,0.65511,-0.36771) - New Polarization: (-0.71447,0.39609,-0.57675) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1365, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63221,0.73242,-0.25272) - Old Polarization: (-0.74691,0.48941,-0.45012) - New Momentum Direction: (0.8534,0.39412,-0.34114) - New Polarization: (0.1027,-0.76876,-0.63123) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1364, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67646,0.07453,0.7327) - Old Polarization: (-0.69593,-0.26089,0.66904) - New Momentum Direction: (0.91636,0.10096,0.38742) - New Polarization: (0.39572,-0.081475,-0.91475) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1363, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85064,-0.43714,0.29209) - Old Polarization: (-0.49662,-0.85045,0.1735) - New Momentum Direction: (0.70647,-0.58847,0.39321) - New Polarization: (-0.68643,-0.70505,0.17813) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1362, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66308,0.14453,0.73447) - Old Polarization: (-0.7118,-0.18192,0.67841) - New Momentum Direction: (0.89437,0.19494,0.40262) - New Polarization: (0.39711,0.068355,-0.91522) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1361, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56934,0.663,0.48608) - Old Polarization: (-0.81978,0.41348,0.39622) - New Momentum Direction: (0.56934,-0.663,0.48608) - New Polarization: (0.81978,0.41348,-0.39622) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.56934,-0.663,0.48608) - Old Polarization: (0.81978,0.41348,-0.39622) - New Momentum Direction: (-0.56934,-0.663,0.48608) - New Polarization: (0.81978,-0.41348,0.39622) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.56934,-0.663,0.48608) - Old Polarization: (0.81978,-0.41348,0.39622) - New Momentum Direction: (-0.56934,-0.663,-0.48608) - New Polarization: (-0.81978,0.41348,0.39622) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1360, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55969,0.73175,0.38897) - Old Polarization: (-0.82854,0.48467,0.28039) - New Momentum Direction: (0.75755,0.38592,0.52648) - New Polarization: (-0.052402,-0.76797,0.63834) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1359, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81982,0.059904,-0.56948) - Old Polarization: (-0.53461,-0.27623,-0.79868) - New Momentum Direction: (0.62697,0.081498,-0.77477) - New Polarization: (-0.75196,-0.19665,-0.62919) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1358, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85464,-0.10351,-0.50881) - Old Polarization: (-0.49431,-0.46215,-0.73626) - New Momentum Direction: (0.71044,-0.14029,-0.68963) - New Polarization: (-0.68574,-0.3583,-0.63354) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1357, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60021,0.79562,-0.08209) - Old Polarization: (-0.78419,0.56516,-0.25622) - New Momentum Direction: (0.80844,0.57809,-0.11057) - New Polarization: (0.51673,-0.78707,-0.33692) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1356, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88379,-0.25712,-0.39091) - Old Polarization: (-0.45825,-0.64438,-0.6122) - New Momentum Direction: (0.77707,-0.34588,-0.52586) - New Polarization: (-0.62242,-0.54653,-0.56027) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1355, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56365,0.77674,0.28103) - Old Polarization: (-0.82554,0.54126,0.15975) - New Momentum Direction: (0.76025,0.52758,0.37905) - New Polarization: (0.26415,-0.78413,0.56158) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1354, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88072,-0.26533,-0.39233) - Old Polarization: (-0.46444,-0.64619,-0.60558) - New Momentum Direction: (0.76721,-0.35931,-0.5313) - New Polarization: (-0.63479,-0.54391,-0.54881) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1353, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1352, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87102,-0.20193,-0.44784) - Old Polarization: (-0.47585,-0.57328,-0.66702) - New Momentum Direction: (0.74597,-0.27374,-0.60711) - New Polarization: (-0.65488,-0.46721,-0.59401) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1351, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56153,0.74386,0.36244) - Old Polarization: (-0.82744,0.50184,0.25198) - New Momentum Direction: (0.7583,0.43061,0.48945) - New Polarization: (0.0305,-0.77341,0.63317) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1350, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65316,0.68379,-0.32529) - Old Polarization: (-0.72337,0.43646,-0.53501) - New Momentum Direction: (0.88,0.18312,-0.43826) - New Polarization: (-0.16065,-0.75356,-0.63745) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1349, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1348, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57308,0.81272,0.10517) - Old Polarization: (-0.81401,0.57936,-0.041532) - New Momentum Direction: (0.77438,0.61656,0.14212) - New Polarization: (0.59105,-0.78506,0.1853) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1347, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75907,-0.22369,0.61138) - Old Polarization: (-0.60249,-0.59712,0.52957) - New Momentum Direction: (0.46897,-0.30347,0.82944) - New Polarization: (-0.85031,-0.40908,0.3311) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1346, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83313,0.016639,-0.55283) - Old Polarization: (-0.51791,-0.32729,-0.79035) - New Momentum Direction: (0.66406,0.022494,-0.74734) - New Polarization: (-0.72219,-0.23945,-0.64892) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1345, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83866,-0.0028273,-0.54465) - Old Polarization: (-0.51092,-0.35053,-0.78491) - New Momentum Direction: (0.67855,-0.0038131,-0.73454) - New Polarization: (-0.70998,-0.25991,-0.65451) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1344, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87214,-0.47671,0.11011) - Old Polarization: (-0.47577,-0.87882,-0.036413) - New Momentum Direction: (0.74653,-0.64828,0.14973) - New Polarization: (-0.65569,-0.75503,0.00015762) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1343, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77548,0.25421,-0.57794) - Old Polarization: (-0.58424,-0.058136,-0.8095) - New Momentum Direction: (0.51317,0.34556,-0.78565) - New Polarization: (-0.82579,-0.050693,-0.56169) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1342, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1341, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86017,-0.1431,-0.48953) - Old Polarization: (-0.48881,-0.50516,-0.71125) - New Momentum Direction: (0.72114,-0.19438,-0.66496) - New Polarization: (-0.67753,-0.39817,-0.61839) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1340, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7806,0.26059,-0.56812) - Old Polarization: (-0.57709,-0.048653,-0.81523) - New Momentum Direction: (0.54062,0.35075,-0.76466) - New Polarization: (-0.80733,-0.039245,-0.58879) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1339, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83319,0.0059599,-0.55295) - Old Polarization: (-0.51873,-0.33807,-0.78526) - New Momentum Direction: (0.6615,0.0080827,-0.7499) - New Polarization: (-0.72526,-0.24752,-0.64244) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1338, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61612,0.76875,-0.17154) - Old Polarization: (-0.76583,0.53375,-0.35863) - New Momentum Direction: (0.83016,0.50735,-0.23114) - New Polarization: (0.33154,-0.78256,-0.52695) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1337, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83425,-0.42281,0.35391) - Old Polarization: (-0.51769,-0.82156,0.23881) - New Momentum Direction: (0.66347,-0.57374,0.48024) - New Polarization: (-0.72395,-0.65436,0.2184) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1336, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1335, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58447,0.81054,-0.037554) - Old Polarization: (-0.79878,0.56662,-0.20223) - New Momentum Direction: (0.79471,0.60484,-0.051062) - New Polarization: (0.58203,-0.7832,-0.21875) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1334, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78908,-0.31274,0.52871) - Old Polarization: (-0.56864,-0.69747,0.43611) - New Momentum Direction: (0.55251,-0.42435,0.7174) - New Polarization: (-0.80148,-0.50678,0.3175) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1333, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.607,0.3728,0.70183) - Old Polarization: (-0.77366,0.075322,0.62911) - New Momentum Direction: (0.82483,0.50659,0.25104) - New Polarization: (0.034879,0.39757,-0.91691) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1332, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1331, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73774,0.40898,-0.5371) - Old Polarization: (-0.62649,0.11838,-0.77038) - New Momentum Direction: (0.4062,0.55358,-0.72701) - New Polarization: (-0.88179,0.028783,-0.47076) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1330, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.80635,-0.35912,0.46993) -Old Polarization: (-0.5492,-0.74953,0.36957) -New Polarization: (-0.56611,-0.72633,0.30596) -Polarization Change: (-0.58339,-0.7485,0.3153) -New Momentum Direction: (-0.39229,-0.068015,-0.88731) -Momentum Change: (-0.40337,-0.069936,-0.91236) - Photon at Boundary! - Old Momentum Direction: (-0.40337,-0.069936,-0.91236) - Old Polarization: (-0.58339,-0.7485,0.3153) - New Momentum Direction: (-0.54743,-0.094913,-0.83145) - New Polarization: (-0.61388,-0.6297,0.47606) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1329, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58146,0.81352,0.0095914) - Old Polarization: (-0.80352,0.57608,-0.14995) - New Momentum Direction: (0.78768,0.61595,0.012993) - New Polarization: (0.61455,-0.78405,-0.087113) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1328, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1327, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1326, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78619,0.21539,-0.57923) - Old Polarization: (-0.57191,-0.10155,-0.81401) - New Momentum Direction: (0.54482,0.29226,-0.78597) - New Polarization: (-0.80631,-0.074808,-0.58674) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1325, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87078,-0.2042,-0.44726) - Old Polarization: (-0.47646,-0.57497,-0.66512) - New Momentum Direction: (0.74492,-0.27709,-0.60689) - New Polarization: (-0.65622,-0.46833,-0.59164) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1324, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1323, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1322, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 57 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62617,0.31771,-0.71202) - Old Polarization: (-0.47367,-0.57036,-0.67106) - New Momentum Direction: (0.84558,0.42904,-0.31768) - New Polarization: (0.36781,-0.036888,0.92917) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1461, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.41054,0.78055,0.47138) - Old Polarization: (-0.72096,-0.038638,0.6919) - New Momentum Direction: (0.55709,0.52963,0.63964) - New Polarization: (-0.72026,-0.075245,0.68961) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1460, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1459, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93891,-0.024755,-0.34326) - Old Polarization: (-0.11398,-0.96348,-0.24229) - New Momentum Direction: (0.88482,-0.033515,-0.46473) - New Polarization: (-0.20145,-0.92689,-0.3167) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1458, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1457, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.52303,0.4513,-0.72303) - Old Polarization: (-0.59364,-0.41582,-0.68897) - New Momentum Direction: (0.70424,0.60765,-0.36716) - New Polarization: (0.24544,0.27689,0.92903) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1456, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.32214,0.87687,0.35682) - Old Polarization: (-0.82337,0.073505,0.56272) - New Momentum Direction: (0.43639,0.75889,0.48337) - New Polarization: (-0.61927,-0.1364,0.77324) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1455, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1454, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93449,-0.022244,-0.3553) - Old Polarization: (-0.11995,-0.95936,-0.25543) - New Momentum Direction: (0.87594,-0.030145,-0.48148) - New Polarization: (-0.21218,-0.9204,-0.32839) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1453, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57843,0.59081,0.56246) - Old Polarization: (-0.52907,-0.2531,0.80995) - New Momentum Direction: (0.57843,-0.59081,0.56246) - New Polarization: (0.52907,-0.2531,-0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57843,-0.59081,0.56246) - Old Polarization: (0.52907,-0.2531,-0.80995) - New Momentum Direction: (-0.57843,-0.59081,0.56246) - New Polarization: (0.52907,0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57843,-0.59081,0.56246) - Old Polarization: (0.52907,0.2531,0.80995) - New Momentum Direction: (-0.57843,-0.59081,-0.56246) - New Polarization: (-0.52907,-0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57843,-0.59081,-0.56246) - Old Polarization: (-0.52907,-0.2531,0.80995) - New Momentum Direction: (-0.57843,0.59081,-0.56246) - New Polarization: (0.52907,-0.2531,-0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57843,0.59081,-0.56246) - Old Polarization: (0.52907,-0.2531,-0.80995) - New Momentum Direction: (0.57843,0.59081,-0.56246) - New Polarization: (0.52907,0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57843,0.59081,-0.56246) - Old Polarization: (0.52907,0.2531,0.80995) - New Momentum Direction: (0.57843,0.59081,0.56246) - New Polarization: (-0.52907,-0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57843,0.59081,0.56246) - Old Polarization: (-0.52907,-0.2531,0.80995) - New Momentum Direction: (0.57843,-0.59081,0.56246) - New Polarization: (0.52907,-0.2531,-0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.57843,-0.59081,0.56246) - Old Polarization: (0.52907,-0.2531,-0.80995) - New Momentum Direction: (-0.57843,-0.59081,0.56246) - New Polarization: (0.52907,0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.57843,-0.59081,0.56246) - Old Polarization: (0.52907,0.2531,0.80995) - New Momentum Direction: (-0.57843,-0.59081,-0.56246) - New Polarization: (-0.52907,-0.2531,0.80995) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1452, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1451, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23138,0.85432,-0.46541) - Old Polarization: (-0.92445,0.044048,-0.37874) - New Momentum Direction: (0.31451,0.70773,-0.63262) - New Polarization: (-0.85195,-0.083459,-0.51692) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1450, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5866,0.57041,0.57492) - Old Polarization: (-0.51941,-0.27969,0.80746) - New Momentum Direction: (-0.5866,0.57041,0.57492) - New Polarization: (-0.51941,0.27969,-0.80746) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5866,0.57041,0.57492) - Old Polarization: (-0.51941,0.27969,-0.80746) - New Momentum Direction: (-0.5866,0.57041,-0.57492) - New Polarization: (0.51941,-0.27969,-0.80746) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5866,0.57041,-0.57492) - Old Polarization: (0.51941,-0.27969,-0.80746) - New Momentum Direction: (-0.5866,-0.57041,-0.57492) - New Polarization: (-0.51941,-0.27969,0.80746) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1449, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86823,0.036147,-0.49484) - Old Polarization: (-0.19811,-0.88913,-0.41254) - New Momentum Direction: (0.73848,0.049124,-0.67248) - New Polarization: (-0.3497,-0.82483,-0.44427) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1448, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93702,-0.023052,-0.34852) - Old Polarization: (-0.11606,-0.96167,-0.24843) - New Momentum Direction: (0.88115,-0.031205,-0.4718) - New Polarization: (-0.20507,-0.92431,-0.32187) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1447, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83199,0.08515,-0.54822) - Old Polarization: (-0.23347,-0.84265,-0.48521) - New Momentum Direction: (0.66483,0.11465,-0.73814) - New Polarization: (-0.40514,-0.77484,-0.48526) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1446, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22067,0.8713,-0.43835) - Old Polarization: (-0.93578,0.062416,-0.34701) - New Momentum Direction: (0.30022,0.74444,-0.59639) - New Polarization: (-0.8204,-0.11745,-0.5596) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1445, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1444, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.53933,0.63416,0.55405) - Old Polarization: (-0.57405,-0.2045,0.79287) - New Momentum Direction: (0.53933,-0.63416,0.55405) - New Polarization: (0.57405,-0.2045,-0.79287) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1443, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.36932,0.8249,0.42795) - Old Polarization: (-0.76757,0.011175,0.64087) - New Momentum Direction: (0.50165,0.64065,0.5813) - New Polarization: (-0.74509,-0.021417,0.66661) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1442, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.18793,0.98058,-0.056077) - Old Polarization: (-0.97736,0.19235,0.08817) - New Momentum Direction: (0.25464,0.96405,-0.075984) - New Polarization: (0.87266,-0.26294,-0.41149) - *** FresnelRefraction *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.25464,0.96405,-0.075984) - Old Polarization: (0.87266,-0.26294,-0.41149) - New Momentum Direction: (0.70047,0.71148,-0.056077) - New Polarization: (-0.62218,0.57028,-0.53634) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.70047,0.71148,-0.056077) - Old Polarization: (-0.62218,0.57028,-0.53634) - New Momentum Direction: (0.94913,0.30559,-0.075984) - New Polarization: (0.24157,-0.86138,-0.44684) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1441, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1726, parentID 1) is processed with stopping code 2 ### pop requested out of 37 stacked tracks. Scattering Photon! -Old Momentum Direction: (0.51763,0.65552,0.54986) -Old Polarization: (-0.59821,-0.1822,0.78035) -New Polarization: (-0.40084,0.40394,0.65417) -Polarization Change: (-0.4623,0.46588,0.75448) -New Momentum Direction: (0.72101,-0.11675,0.51389) -Momentum Change: (0.80734,-0.13073,0.57542) +Old Momentum Direction: (0.61174,-0.60632,-0.50808) +Old Polarization: (0.38857,0.78977,-0.47463) +New Polarization: (0.15029,0.42735,-0.74041) +Polarization Change: (0.17315,0.49234,-0.85301) +New Momentum Direction: (0.951,0.025362,0.20768) +Momentum Change: (0.97664,0.026046,0.21328) Photon at Boundary! - Old Momentum Direction: (0.80734,-0.13073,0.57542) - Old Polarization: (-0.4623,0.46588,0.75448) - New Momentum Direction: (0.59813,-0.17754,0.78148) - New Polarization: (-0.69975,0.35961,0.61727) + Old Momentum Direction: (0.97664,0.026046,0.21328) + Old Polarization: (0.17315,0.49234,-0.85301) + New Momentum Direction: (0.95646,0.03538,0.28971) + New Polarization: (-0.25689,0.57316,0.77814) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1440, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.40806,0.78139,0.47213) -Old Polarization: (-0.72284,-0.039358,0.68989) -New Polarization: (-0.74954,-0.38447,0.20155) -Polarization Change: (-0.86535,-0.44388,0.23269) -New Momentum Direction: (-0.10721,-0.22736,-0.83242) -Momentum Change: (-0.12329,-0.26147,-0.9573) - -** Photon Absorbed! ** -Track (trackID 1439, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1438, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84161,0.063012,-0.5364) - Old Polarization: (-0.22868,-0.85818,-0.4596) - New Momentum Direction: (0.67895,0.085657,-0.72917) - New Polarization: (-0.40287,-0.78683,-0.46755) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1437, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1436, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1435, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1434, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.26068,0.81608,-0.5158) - Old Polarization: (-0.89636,0.0061386,-0.44329) - New Momentum Direction: (0.3522,0.62473,-0.6969) - New Polarization: (-0.88819,-0.011658,-0.45933) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1433, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.71218,0.40882,0.57068) -Old Polarization: (-0.37635,-0.46389,0.80198) -New Polarization: (-0.5591,-0.71097,-0.079033) -Polarization Change: (-0.61581,-0.78307,-0.087048) -New Momentum Direction: (0.75727,-0.56195,-0.30196) -Momentum Change: (0.76479,-0.56753,-0.30496) - Photon at Boundary! - Old Momentum Direction: (0.76479,-0.56753,-0.30496) - Old Polarization: (-0.61581,-0.78307,-0.087048) - New Momentum Direction: (0.4821,-0.77176,-0.41469) - New Polarization: (-0.85723,-0.51327,-0.041362) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1432, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65599,0.48228,0.58059) - Old Polarization: (-0.44034,-0.3802,0.81336) - New Momentum Direction: (-0.65599,0.48228,0.58059) - New Polarization: (-0.44034,0.3802,-0.81336) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1431, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1430, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75944,0.1592,-0.6308) - Old Polarization: (-0.31993,-0.75287,-0.57518) - New Momentum Direction: (0.47568,0.21525,-0.85287) - New Polarization: (-0.55693,-0.6768,-0.48143) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1429, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1428, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.18449,0.97148,-0.14895) - Old Polarization: (-0.98279,0.18376,-0.018778) - New Momentum Direction: (0.24964,0.94713,-0.20156) - New Polarization: (0.30845,-0.27508,-0.9106) - *** FresnelRefraction *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.24964,0.94713,-0.20156) - Old Polarization: (0.30845,-0.27508,-0.9106) - New Momentum Direction: (-0.96164,-0.16136,0.22186) - New Polarization: (0.074286,0.62534,0.77681) - *** LambertianReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.96164,-0.16136,0.22186) - Old Polarization: (0.074286,0.62534,0.77681) - New Momentum Direction: (-0.97923,-0.11925,0.16396) - New Polarization: (0.041372,0.67416,0.73742) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.97923,-0.11925,0.16396) - Old Polarization: (0.041372,0.67416,0.73742) - New Momentum Direction: (-0.96164,-0.16136,0.22186) - New Polarization: (0.074661,0.62425,0.77765) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1427, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5236,0.64731,0.55393) - Old Polarization: (-0.59122,-0.19209,0.7833) - New Momentum Direction: (0.5236,-0.64731,0.55393) - New Polarization: (0.59122,-0.19209,-0.7833) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5236,-0.64731,0.55393) - Old Polarization: (0.59122,-0.19209,-0.7833) - New Momentum Direction: (0.5236,-0.64731,-0.55393) - New Polarization: (-0.59122,0.19209,-0.7833) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5236,-0.64731,-0.55393) - Old Polarization: (-0.59122,0.19209,-0.7833) - New Momentum Direction: (-0.5236,-0.64731,-0.55393) - New Polarization: (-0.59122,-0.19209,0.7833) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5236,-0.64731,-0.55393) - Old Polarization: (-0.59122,-0.19209,0.7833) - New Momentum Direction: (-0.5236,0.64731,-0.55393) - New Polarization: (0.59122,-0.19209,-0.7833) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5236,0.64731,-0.55393) - Old Polarization: (0.59122,-0.19209,-0.7833) - New Momentum Direction: (-0.5236,0.64731,0.55393) - New Polarization: (-0.59122,0.19209,-0.7833) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1426, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.28141,0.77891,-0.56045) - Old Polarization: (-0.87009,-0.039179,-0.49133) - New Momentum Direction: (0.38126,0.52735,-0.75931) - New Polarization: (-0.8689,-0.076056,-0.48911) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1425, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1424, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77958,0.13368,-0.61186) - Old Polarization: (-0.29785,-0.78026,-0.54997) - New Momentum Direction: (0.52875,0.18117,-0.82921) - New Polarization: (-0.52048,-0.7025,-0.48538) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1423, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62517,0.5239,0.57853) - Old Polarization: (-0.47527,-0.33243,0.81462) - New Momentum Direction: (-0.62517,0.5239,0.57853) - New Polarization: (-0.47527,0.33243,-0.81462) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.62517,0.5239,0.57853) - Old Polarization: (-0.47527,0.33243,-0.81462) - New Momentum Direction: (-0.62517,0.5239,-0.57853) - New Polarization: (0.47527,-0.33243,-0.81462) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1422, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.25365,0.82827,-0.49964) - Old Polarization: (-0.9049,0.020676,-0.42512) - New Momentum Direction: (0.34255,0.65374,-0.67474) - New Polarization: (-0.87522,-0.03903,-0.48214) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1421, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1420, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1419, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86217,0.20631,0.46271) - Old Polarization: (-0.20152,-0.69832,0.68683) - New Momentum Direction: (0.7284,0.27901,0.62577) - New Polarization: (-0.35306,-0.62989,0.6918) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1418, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4239,0.76377,0.48679) - Old Polarization: (-0.70488,-0.059296,0.70685) - New Momentum Direction: (0.57627,0.47958,0.66176) - New Polarization: (-0.70544,-0.11694,0.69905) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1417, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1416, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66551,0.47636,0.57462) - Old Polarization: (-0.42833,-0.38673,0.81668) - New Momentum Direction: (-0.66551,0.47636,0.57462) - New Polarization: (-0.42833,0.38673,-0.81668) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66551,0.47636,0.57462) - Old Polarization: (-0.42833,0.38673,-0.81668) - New Momentum Direction: (-0.66551,0.47636,-0.57462) - New Polarization: (0.42833,-0.38673,-0.81668) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66551,0.47636,-0.57462) - Old Polarization: (0.42833,-0.38673,-0.81668) - New Momentum Direction: (-0.66551,-0.47636,-0.57462) - New Polarization: (-0.42833,-0.38673,0.81668) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.66551,-0.47636,-0.57462) - Old Polarization: (-0.42833,-0.38673,0.81668) - New Momentum Direction: (0.66551,-0.47636,-0.57462) - New Polarization: (-0.42833,0.38673,-0.81668) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1415, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.1912,0.95387,-0.23146) - Old Polarization: (-0.97897,0.16824,-0.11536) - New Momentum Direction: (0.25779,0.91442,-0.31207) - New Polarization: (-0.17414,-0.27373,-0.94591) - *** FresnelRefraction *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.25779,0.91442,-0.31207) - Old Polarization: (-0.17414,-0.27373,-0.94591) - New Momentum Direction: (0.1912,0.67821,-0.70956) - New Polarization: (0.083634,0.70901,0.70022) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.1912,0.67821,-0.70956) - Old Polarization: (0.083634,0.70901,0.70022) - New Momentum Direction: (0.25779,0.13525,-0.95669) - New Polarization: (0.19257,-0.97748,-0.086301) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1414, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.40454,0.78749,0.46497) -Old Polarization: (-0.72796,-0.030464,0.68494) -New Polarization: (-0.62803,0.30775,0.53673) -Polarization Change: (-0.71238,0.34908,0.60882) -New Momentum Direction: (-0.47715,0.24594,-0.69933) -Momentum Change: (-0.54123,0.27897,-0.79325) -Scattering Photon! -Old Momentum Direction: (-0.54123,0.27897,-0.79325) -Old Polarization: (-0.71238,0.34908,0.60882) -New Polarization: (-0.70266,0.37183,0.57778) -Polarization Change: (-0.71498,0.37836,0.58792) -New Momentum Direction: (0.66781,0.16265,0.70747) -Momentum Change: (0.67703,0.16489,0.71724) - -** Photon Absorbed! ** -Track (trackID 1413, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8692,0.18984,0.45656) - Old Polarization: (-0.1973,-0.71351,0.67229) - New Momentum Direction: (0.74035,0.25809,0.62071) - New Polarization: (-0.34849,-0.64224,0.6827) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1412, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84771,0.22969,0.47815) - Old Polarization: (-0.21685,-0.67257,0.70755) - New Momentum Direction: (0.69811,0.31003,0.64538) - New Polarization: (-0.37829,-0.60559,0.70011) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1411, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1410, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65286,0.27716,-0.70496) - Old Polarization: (-0.44379,-0.61425,-0.65249) - New Momentum Direction: (0.88709,0.3766,-0.26691) - New Polarization: (0.34003,-0.14209,0.92962) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1409, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.95236,-0.036186,-0.30281) - Old Polarization: (-0.099173,-0.97571,-0.19531) - New Momentum Direction: (0.91066,-0.049025,-0.41024) - New Polarization: (-0.17546,-0.94484,-0.27656) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1408, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.9796,0.0070054,0.20085) - Old Polarization: (-0.071488,-0.92188,0.38082) - New Momentum Direction: (0.96195,0.0095243,0.27306) - New Polarization: (-0.12584,-0.87163,0.47373) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1407, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64021,0.50448,0.57933) - Old Polarization: (-0.45807,-0.3547,0.81508) - New Momentum Direction: (-0.64021,0.50448,0.57933) - New Polarization: (-0.45807,0.3547,-0.81508) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64021,0.50448,0.57933) - Old Polarization: (-0.45807,0.3547,-0.81508) - New Momentum Direction: (-0.64021,0.50448,-0.57933) - New Polarization: (0.45807,-0.3547,-0.81508) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64021,0.50448,-0.57933) - Old Polarization: (0.45807,-0.3547,-0.81508) - New Momentum Direction: (-0.64021,-0.50448,-0.57933) - New Polarization: (-0.45807,-0.3547,0.81508) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64021,-0.50448,-0.57933) - Old Polarization: (-0.45807,-0.3547,0.81508) - New Momentum Direction: (0.64021,-0.50448,-0.57933) - New Polarization: (-0.45807,0.3547,-0.81508) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.64021,-0.50448,-0.57933) - Old Polarization: (-0.45807,0.3547,-0.81508) - New Momentum Direction: (0.64021,-0.50448,0.57933) - New Polarization: (0.45807,-0.3547,-0.81508) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1406, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1405, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 60 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 61 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1521, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4158,-0.48453,-0.76964) - Old Polarization: (-0.90908,-0.19711,-0.36703) - New Momentum Direction: (0.55911,-0.65154,-0.51273) - New Polarization: (-0.29973,-0.73544,0.6077) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1520, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79295,0.43054,-0.43113) - Old Polarization: (-0.46043,0.88685,0.038804) - New Momentum Direction: (0.56822,0.58147,-0.58226) - New Polarization: (-0.70222,0.71151,0.025266) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1519, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4078,-0.50601,-0.76004) - Old Polarization: (-0.91301,-0.21637,-0.34582) - New Momentum Direction: (0.55222,-0.68521,-0.47491) - New Polarization: (-0.37435,-0.71278,0.59313) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1518, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83931,0.4424,-0.31597) - Old Polarization: (-0.40671,0.89663,0.17505) - New Momentum Direction: (0.67699,0.59892,-0.42776) - New Polarization: (-0.62147,0.77654,0.10371) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1517, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69824,0.35749,-0.62021) - Old Polarization: (-0.57225,0.79927,-0.18355) - New Momentum Direction: (-0.69824,0.35749,-0.62021) - New Polarization: (-0.44411,-0.89582,-0.016361) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69824,0.35749,-0.62021) - Old Polarization: (-0.44411,-0.89582,-0.016361) - New Momentum Direction: (-0.69824,0.35749,0.62021) - New Polarization: (0.44411,0.89582,-0.016361) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69824,0.35749,0.62021) - Old Polarization: (0.44411,0.89582,-0.016361) - New Momentum Direction: (-0.69824,-0.35749,0.62021) - New Polarization: (-0.44411,0.89582,0.016361) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.69824,-0.35749,0.62021) - Old Polarization: (-0.44411,0.89582,0.016361) - New Momentum Direction: (-0.25228,-0.48323,0.83836) - New Polarization: (0.75098,0.4486,0.48455) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1516, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.41126,-0.62174,-0.66656) - Old Polarization: (-0.9073,-0.34952,-0.23378) - New Momentum Direction: (0.41126,-0.62174,0.66656) - New Polarization: (0.9073,0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,-0.62174,0.66656) - Old Polarization: (0.9073,0.34952,-0.23378) - New Momentum Direction: (0.41126,0.62174,0.66656) - New Polarization: (-0.9073,0.34952,0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,0.62174,0.66656) - Old Polarization: (-0.9073,0.34952,0.23378) - New Momentum Direction: (-0.41126,0.62174,0.66656) - New Polarization: (-0.9073,-0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41126,0.62174,0.66656) - Old Polarization: (-0.9073,-0.34952,-0.23378) - New Momentum Direction: (-0.41126,0.62174,-0.66656) - New Polarization: (0.9073,0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41126,0.62174,-0.66656) - Old Polarization: (0.9073,0.34952,-0.23378) - New Momentum Direction: (-0.41126,-0.62174,-0.66656) - New Polarization: (-0.9073,0.34952,0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41126,-0.62174,-0.66656) - Old Polarization: (-0.9073,0.34952,0.23378) - New Momentum Direction: (0.41126,-0.62174,-0.66656) - New Polarization: (-0.9073,-0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,-0.62174,-0.66656) - Old Polarization: (-0.9073,-0.34952,-0.23378) - New Momentum Direction: (0.41126,-0.62174,0.66656) - New Polarization: (0.9073,0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,-0.62174,0.66656) - Old Polarization: (0.9073,0.34952,-0.23378) - New Momentum Direction: (0.41126,0.62174,0.66656) - New Polarization: (-0.9073,0.34952,0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,0.62174,0.66656) - Old Polarization: (-0.9073,0.34952,0.23378) - New Momentum Direction: (0.41126,0.62174,-0.66656) - New Polarization: (0.9073,-0.34952,0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,0.62174,-0.66656) - Old Polarization: (0.9073,-0.34952,0.23378) - New Momentum Direction: (0.41126,-0.62174,-0.66656) - New Polarization: (-0.9073,-0.34952,-0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41126,-0.62174,-0.66656) - Old Polarization: (-0.9073,-0.34952,-0.23378) - New Momentum Direction: (-0.41126,-0.62174,-0.66656) - New Polarization: (-0.9073,0.34952,0.23378) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.41126,-0.62174,-0.66656) -Old Polarization: (-0.9073,0.34952,0.23378) -New Polarization: (-0.41733,0.11211,0.76424) -Polarization Change: (-0.47535,0.12769,0.87048) -New Momentum Direction: (0.0055949,-0.97588,0.14621) -Momentum Change: (0.0056697,-0.98895,0.14817) - -** Photon Absorbed! ** -Track (trackID 1515, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91756,0.39018,-0.076413) - Old Polarization: (-0.31605,0.83238,0.45526) - New Momentum Direction: (0.84214,0.5292,-0.10364) - New Polarization: (-0.4714,0.81578,0.33509) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1514, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1513, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4675,-0.11272,-0.87678) - Old Polarization: (-0.84216,0.24471,-0.4805) - New Momentum Direction: (0.63391,-0.15284,-0.75815) - New Polarization: (0.74357,-0.14921,0.6518) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1512, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.52593,-0.81271,-0.25081) - Old Polarization: (-0.77527,-0.57935,0.25162) - New Momentum Direction: (0.71089,-0.61621,-0.33902) - New Polarization: (0.52192,0.78531,-0.33299) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1511, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1510, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60108,-0.79651,-0.065418) - Old Polarization: (-0.68617,-0.5563,0.46872) - New Momentum Direction: (0.81435,-0.57357,-0.08863) - New Polarization: (0.57729,0.78478,0.22552) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1509, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1508, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47742,-0.78237,-0.39996) - Old Polarization: (-0.83367,-0.54713,0.075126) - New Momentum Direction: (0.64397,-0.54245,-0.53949) - New Polarization: (0.15921,0.78476,-0.59901) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1507, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.40266,-0.50959,-0.76039) - Old Polarization: (-0.91531,-0.2163,-0.33975) - New Momentum Direction: (0.54788,-0.69337,-0.46804) - New Polarization: (-0.38983,-0.70664,0.5905) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1506, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47676,-0.085287,-0.87489) - Old Polarization: (-0.83208,0.27714,-0.48045) - New Momentum Direction: (0.64564,-0.1155,-0.75486) - New Polarization: (0.75606,-0.042241,0.65314) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1505, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58608,0.19521,-0.78639) - Old Polarization: (-0.70339,0.60433,-0.37421) - New Momentum Direction: (0.79503,0.2648,-0.54571) - New Polarization: (0.16812,0.76822,0.61771) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1504, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.96498,0.12346,0.23144) - Old Polarization: (-0.26156,0.51963,0.81337) - New Momentum Direction: (0.93441,0.16764,0.31428) - New Polarization: (-0.35565,0.48809,0.79704) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1503, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1502, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1501, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.53912,-0.81113,-0.22677) - Old Polarization: (-0.76141,-0.58447,0.28044) - New Momentum Direction: (0.72585,-0.61638,-0.30531) - New Polarization: (0.55781,0.78718,-0.26305) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1500, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.86591,0.43234,-0.25154) - Old Polarization: (-0.37308,0.89322,0.25094) - New Momentum Direction: (0.73881,0.5825,-0.3389) - New Polarization: (-0.56569,0.80936,0.1579) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1499, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91217,-0.24015,0.33208) - Old Polarization: (-0.31842,0.094796,0.9432) - New Momentum Direction: (0.83359,-0.32368,0.4476) - New Polarization: (-0.47509,-0.0067469,0.87991) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1498, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81533,-0.51083,0.27256) - Old Polarization: (-0.43334,-0.22617,0.87239) - New Momentum Direction: (0.62515,-0.68862,0.36742) - New Polarization: (-0.65974,-0.21468,0.72017) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1497, parentID 1) is processed with stopping code 2 +Track (trackID 1725, parentID 1) is processed with stopping code 2 ### pop requested out of 36 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.58152,0.19158,-0.79066) - Old Polarization: (-0.70807,0.59774,-0.37595) - New Momentum Direction: (0.79064,0.26047,-0.55412) - New Polarization: (0.18315,0.76296,0.61996) + Old Momentum Direction: (0.77464,-0.63145,0.034694) + Old Polarization: (0.61179,0.76216,0.21174) + New Momentum Direction: (0.52506,-0.84979,0.04669) + New Polarization: (-0.83705,-0.50571,0.20883) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1496, parentID 1) is processed with stopping code 2 +Track (trackID 1724, parentID 1) is processed with stopping code 2 ### pop requested out of 35 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.84694,0.44265,-0.29453) - Old Polarization: (-0.3982,0.89516,0.20029) - New Momentum Direction: (0.69344,0.59986,-0.39914) - New Polarization: (-0.60864,0.78415,0.12107) + Old Momentum Direction: (-0.21449,-0.90388,0.37012) + Old Polarization: (-0.65361,0.41442,0.63329) + New Momentum Direction: (-0.29073,-0.81473,0.50168) + New Polarization: (-0.55977,0.57007,0.6014) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1495, parentID 1) is processed with stopping code 2 +Track (trackID 1723, parentID 1) is processed with stopping code 2 ### pop requested out of 34 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.40915,-0.51559,-0.75284) - Old Polarization: (-0.91246,-0.22884,-0.33918) - New Momentum Direction: (0.55331,-0.69725,-0.45573) - New Polarization: (-0.40283,-0.70286,0.58627) + Old Momentum Direction: (-0.41318,-0.89215,-0.18264) + Old Polarization: (-0.90033,0.43031,-0.065171) + New Momentum Direction: (-0.56137,-0.78949,-0.24815) + New Polarization: (-0.79453,0.59804,-0.10526) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1494, parentID 1) is processed with stopping code 2 +Track (trackID 1722, parentID 1) is processed with stopping code 2 ### pop requested out of 33 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.92198,-0.18661,0.3393) - Old Polarization: (-0.31264,0.15831,0.93659) - New Momentum Direction: (0.8501,-0.25377,0.46144) - New Polarization: (-0.46515,0.048966,0.88388) + Old Momentum Direction: (0.47568,-0.74607,0.46596) + Old Polarization: (0.22109,0.61413,0.75761) + New Momentum Direction: (0.64365,-0.43379,0.6305) + New Polarization: (0.1055,0.86627,0.48831) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1493, parentID 1) is processed with stopping code 2 +Track (trackID 1721, parentID 1) is processed with stopping code 2 ### pop requested out of 32 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.88098,-0.33561,0.33354) - Old Polarization: (-0.3592,-0.015526,0.93313) - New Momentum Direction: (0.76652,-0.45552,0.45271) - New Polarization: (-0.54617,-0.091557,0.83265) + Old Momentum Direction: (0.72659,-0.65591,0.20457) + Old Polarization: (0.53796,0.72832,0.42444) + New Momentum Direction: (0.36577,-0.8885,0.27711) + New Polarization: (-0.82204,-0.16879,0.54383) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1492, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46745,-0.11004,-0.87714) - Old Polarization: (-0.84176,0.24768,-0.47967) - New Momentum Direction: (0.63433,-0.14932,-0.75851) - New Polarization: (0.74585,-0.13984,0.65127) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1491, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1490, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1489, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.62329,-0.78183,-0.015737) - Old Polarization: (-0.65988,-0.53666,0.52589) - New Momentum Direction: (0.8457,-0.53322,-0.021353) - New Polarization: (0.50253,0.78229,0.36808) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1488, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89722,-0.28721,0.33541) - Old Polarization: (-0.33858,0.040136,0.94008) - New Momentum Direction: (0.80176,-0.38873,0.45395) - New Polarization: (-0.51061,-0.050828,0.85831) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1487, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1486, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.43638,-0.23193,-0.86935) - Old Polarization: (-0.87716,0.10556,-0.46846) - New Momentum Direction: (0.59292,-0.31514,-0.74103) - New Polarization: (0.52599,-0.54523,0.65273) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1485, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1484, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92502,-0.17591,0.33673) - Old Polarization: (-0.3082,0.17077,0.93587) - New Momentum Direction: (0.85662,-0.2389,0.4573) - New Polarization: (-0.4569,0.060467,0.88746) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1483, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.42866,-0.26974,-0.86226) - Old Polarization: (-0.88593,0.061636,-0.4597) - New Momentum Direction: (0.58261,-0.36662,-0.72537) - New Polarization: (0.41524,-0.63295,0.65342) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1482, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1481, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80827,-0.51851,0.27903) - Old Polarization: (-0.44473,-0.22701,0.86642) - New Momentum Direction: (0.59885,-0.70523,0.37951) - New Polarization: (-0.6838,-0.20359,0.70069) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1480, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.9649,0.14041,0.22195) - Old Polarization: (-0.26254,0.53837,0.80077) - New Momentum Direction: (0.93409,0.19088,0.30174) - New Polarization: (-0.35698,0.5159,0.77873) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1479, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91963,-0.215,0.32872) - Old Polarization: (-0.30805,0.12444,0.9432) - New Momentum Direction: (0.84912,-0.28912,0.44204) - New Polarization: (-0.45663,0.018848,0.88946) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1478, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46493,-0.11658,-0.87764) - Old Polarization: (-0.84431,0.23992,-0.47915) - New Momentum Direction: (0.63132,-0.1583,-0.75919) - New Polarization: (0.74105,-0.16548,0.65074) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1477, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49842,-0.80948,-0.31036) - Old Polarization: (-0.80457,-0.56524,0.18214) - New Momentum Direction: (0.67774,-0.60214,-0.42202) - New Polarization: (0.39891,0.78323,-0.47689) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1476, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.75746,0.42011,-0.49977) - Old Polarization: (-0.50367,0.86307,-0.037872) - New Momentum Direction: (0.46026,0.57125,-0.67958) - New Polarization: (-0.77359,0.63362,0.0086949) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1475, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1474, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87174,0.43323,-0.22888) - Old Polarization: (-0.36819,0.88741,0.27739) - New Momentum Direction: (0.74886,0.58598,-0.30957) - New Polarization: (-0.55957,0.80935,0.17838) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1473, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1472, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1471, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.95093,-0.04418,0.30624) -Old Polarization: (-0.27615,0.32524,0.90441) -New Polarization: (0.37973,0.17296,0.7639) -Polarization Change: (0.43625,0.1987,0.87761) -New Momentum Direction: (-0.64606,0.72345,0.15735) -Momentum Change: (-0.65749,0.73625,0.16013) - Photon at Boundary! - Old Momentum Direction: (-0.65749,0.73625,0.16013) - Old Polarization: (0.43625,0.1987,0.87761) - New Momentum Direction: (-0.89066,0.3996,0.21692) - New Polarization: (0.054601,-0.37964,0.92352) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1470, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61373,-0.78801,-0.048781) - Old Polarization: (-0.67229,-0.554,0.49103) - New Momentum Direction: (0.82774,-0.55724,-0.065791) - New Polarization: (0.55128,0.78577,0.28045) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1469, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49737,-0.012166,-0.86745) - Old Polarization: (-0.80659,0.36169,-0.46755) - New Momentum Direction: (0.67526,-0.016517,-0.7374) - New Polarization: (0.71939,0.23541,0.6535) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1468, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49132,-0.80213,-0.3394) - Old Polarization: (-0.81427,-0.56133,0.14788) - New Momentum Direction: (0.66626,-0.58675,-0.46025) - New Polarization: (0.32713,0.78459,-0.52669) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1467, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.82181,0.44598,-0.35458) -Old Polarization: (-0.42874,0.89393,0.13067) -New Polarization: (-0.46287,0.8287,0.030991) -Polarization Change: (-0.48738,0.87258,0.032632) -New Momentum Direction: (-0.80269,-0.46175,0.35846) -Momentum Change: (-0.80836,-0.46501,0.36099) - -** Photon Absorbed! ** -Track (trackID 1466, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47487,-0.78627,-0.39532) - Old Polarization: (-0.83433,-0.54513,0.082015) - New Momentum Direction: (0.64305,-0.54765,-0.53532) - New Polarization: (0.17051,0.78385,-0.59708) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1465, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55854,0.12049,-0.82068) - Old Polarization: (-0.73822,0.52336,-0.42558) - New Momentum Direction: (0.75217,0.16227,-0.63868) - New Polarization: (0.41174,0.641,0.64776) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1464, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (0.41767,-0.61799,0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (0.41767,0.61799,0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (-0.41767,0.61799,0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (-0.41767,0.61799,-0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,-0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (-0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (0.41767,-0.61799,0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (0.41767,0.61799,0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (0.41767,0.61799,-0.66606) - New Polarization: (0.90447,-0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,-0.66606) - Old Polarization: (0.90447,-0.35258,0.24004) - New Momentum Direction: (0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (-0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (-0.41767,-0.61799,0.66606) - New Polarization: (0.90447,-0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,-0.35258,0.24004) - New Momentum Direction: (-0.41767,0.61799,0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (-0.41767,0.61799,-0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,-0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (0.41767,0.61799,-0.66606) - New Polarization: (0.90447,-0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,-0.66606) - Old Polarization: (0.90447,-0.35258,0.24004) - New Momentum Direction: (0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (0.41767,-0.61799,0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (0.41767,0.61799,0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (-0.41767,0.61799,0.66606) - New Polarization: (-0.90447,-0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,-0.35258,-0.24004) - New Momentum Direction: (-0.41767,0.61799,-0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,0.61799,-0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (-0.41767,-0.61799,-0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,-0.61799,-0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (-0.41767,-0.61799,0.66606) - New Polarization: (0.90447,-0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,-0.35258,0.24004) - New Momentum Direction: (0.41767,-0.61799,0.66606) - New Polarization: (0.90447,0.35258,-0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,-0.61799,0.66606) - Old Polarization: (0.90447,0.35258,-0.24004) - New Momentum Direction: (0.41767,0.61799,0.66606) - New Polarization: (-0.90447,0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.41767,0.61799,0.66606) - Old Polarization: (-0.90447,0.35258,0.24004) - New Momentum Direction: (0.41767,0.61799,-0.66606) - New Polarization: (0.90447,-0.35258,0.24004) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1463, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50109,-0.80937,-0.30631) - Old Polarization: (-0.8021,-0.56725,0.18672) - New Momentum Direction: (0.68051,-0.6032,-0.41599) - New Polarization: (0.4089,0.78373,-0.46752) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1462, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 45 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98931,0.14577,-0.0025459) - Old Polarization: (-0.029581,0.2178,0.97555) - New Momentum Direction: (0.98017,0.19813,-0.0034604) - New Polarization: (-0.053791,0.28283,0.95766) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1566, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.30243,0.37511,-0.87626) - Old Polarization: (-0.86132,0.50128,-0.082682) - New Momentum Direction: (0.40838,0.50653,-0.75938) - New Polarization: (-0.6456,0.74839,0.15201) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1565, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.94328,-0.32925,-0.042609) - Old Polarization: (-0.082162,-0.35586,0.93092) - New Momentum Direction: (0.89302,-0.4463,-0.057757) - New Polarization: (-0.14832,-0.41306,0.89854) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1564, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.25284,0.27366,-0.928) - Old Polarization: (-0.91713,0.37328,-0.1398) - New Momentum Direction: (0.34298,0.37122,-0.86288) - New Polarization: (-0.35792,0.90095,0.24533) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1563, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90545,-0.41653,-0.081659) - Old Polarization: (-0.1311,-0.45742,0.87953) - New Momentum Direction: (0.81649,-0.56657,-0.11107) - New Polarization: (-0.23638,-0.50356,0.83099) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1562, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.96255,-0.26976,-0.026792) - Old Polarization: (-0.053888,-0.28726,0.95634) - New Momentum Direction: (0.93069,-0.36401,-0.036151) - New Polarization: (-0.097013,-0.34091,0.93508) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1561, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1560, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1559, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1558, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98151,0.19072,-0.016258) - Old Polarization: (-0.037101,0.27288,0.96133) - New Momentum Direction: (0.96568,0.2588,-0.022062) - New Polarization: (-0.067414,0.33176,0.94095) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1557, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23328,-0.25656,-0.93795) - Old Polarization: (-0.94857,-0.27231,-0.16144) - New Momentum Direction: (0.31425,-0.3456,-0.8842) - New Polarization: (-0.25596,-0.92773,0.27165) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1556, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.24864,-0.33382,-0.90926) - Old Polarization: (-0.92427,-0.3625,-0.11966) - New Momentum Direction: (0.33662,-0.45194,-0.8261) - New Polarization: (-0.55337,-0.80477,0.21478) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1555, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90437,-0.41758,-0.087962) - Old Polarization: (-0.12872,-0.46346,0.87672) - New Momentum Direction: (0.81596,-0.56569,-0.11916) - New Polarization: (-0.23073,-0.50766,0.83008) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1554, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22067,0.16868,-0.96065) - Old Polarization: (-0.95339,0.24514,-0.17596) - New Momentum Direction: (0.30004,0.22935,-0.92594) - New Polarization: (0.14407,0.94864,0.28166) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1553, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22886,0.18573,-0.95558) - Old Polarization: (-0.94747,0.26781,-0.17487) - New Momentum Direction: (0.31007,0.25163,-0.91681) - New Polarization: (0.060063,0.95722,0.28304) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1552, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82321,-0.539,-0.17835) - Old Polarization: (-0.23005,-0.60386,0.76317) - New Momentum Direction: (0.63496,-0.73344,-0.24268) - New Polarization: (-0.41055,-0.58646,0.69822) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1551, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4141,0.52669,-0.74237) - Old Polarization: (-0.72424,0.68469,0.081778) - New Momentum Direction: (0.5598,0.712,-0.42389) - New Polarization: (-0.72712,0.66742,0.1608) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1550, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93428,0.3453,-0.088816) - Old Polarization: (-0.088436,0.46576,0.88048) - New Momentum Direction: (0.87668,0.4659,-0.11984) - New Polarization: (-0.15842,0.51481,0.84254) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1549, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.3923,-0.57992,-0.714) - Old Polarization: (-0.74705,-0.65375,0.12052) - New Momentum Direction: (0.53354,-0.7887,-0.30542) - New Polarization: (-0.75553,-0.60676,0.24703) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1548, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1547, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77314,0.5627,-0.29263) - Old Polarization: (-0.2884,0.72283,0.62797) - New Momentum Direction: (0.50997,0.76316,-0.39688) - New Polarization: (-0.51023,0.63983,0.5747) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1546, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.67038,-0.64267,-0.37089) -Old Polarization: (-0.41217,-0.73816,0.53408) -New Polarization: (0.21136,0.11337,0.92183) -Polarization Change: (0.2219,0.11902,0.96778) -New Momentum Direction: (-0.04951,0.98296,-0.10953) -Momentum Change: (-0.049996,0.99261,-0.11061) - Photon at Boundary! - Old Momentum Direction: (-0.049996,0.99261,-0.11061) - Old Polarization: (0.2219,0.11902,0.96778) - New Momentum Direction: (-0.067663,0.98641,-0.14969) - New Polarization: (-0.53523,-0.16251,-0.82893) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1545, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84116,-0.51705,-0.15845) - Old Polarization: (-0.20764,-0.57934,0.7882) - New Momentum Direction: (0.67812,-0.7027,-0.21534) - New Polarization: (-0.37059,-0.57995,0.72548) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1544, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.21423,0.13213,-0.9678) - Old Polarization: (-0.96178,0.2015,-0.18539) - New Momentum Direction: (0.29112,0.17955,-0.93969) - New Polarization: (0.37056,0.88439,0.28379) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1543, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64164,0.6157,-0.45739) - Old Polarization: (-0.44749,0.78482,0.42873) - New Momentum Direction: (-0.64164,0.6157,-0.45739) - New Polarization: (-0.44749,-0.78482,-0.42873) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64164,0.6157,-0.45739) - Old Polarization: (-0.44749,-0.78482,-0.42873) - New Momentum Direction: (-0.64164,-0.6157,-0.45739) - New Polarization: (0.44749,-0.78482,0.42873) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.64164,-0.6157,-0.45739) - Old Polarization: (0.44749,-0.78482,0.42873) - New Momentum Direction: (-0.64164,-0.6157,0.45739) - New Polarization: (-0.44749,0.78482,0.42873) - *** TotalInternalReflection *** -No Absorbtion length specified -Scattering Photon! -Old Momentum Direction: (-0.64164,-0.6157,0.45739) -Old Polarization: (-0.44749,0.78482,0.42873) -New Polarization: (0.0037255,0.18811,0.87559) -Polarization Change: (0.0041598,0.21005,0.97768) -New Momentum Direction: (0.29618,-0.83771,0.17872) -Momentum Change: (0.32679,-0.9243,0.19719) - Photon at Boundary! - Old Momentum Direction: (0.32679,-0.9243,0.19719) - Old Polarization: (0.0041598,0.21005,0.97768) - New Momentum Direction: (0.32679,0.9243,0.19719) - New Polarization: (0.77139,-0.14031,-0.6207) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.32679,0.9243,0.19719) - Old Polarization: (0.77139,-0.14031,-0.6207) - New Momentum Direction: (-0.32679,0.9243,0.19719) - New Polarization: (0.77139,0.14031,0.6207) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.32679,0.9243,0.19719) - Old Polarization: (0.77139,0.14031,0.6207) - New Momentum Direction: (-0.4437,0.85525,0.26773) - New Polarization: (0.10454,-0.24732,0.96328) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1542, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23513,-0.30465,-0.92299) - Old Polarization: (-0.93682,-0.3241,-0.13168) - New Momentum Direction: (0.31946,-0.41392,-0.85242) - New Polarization: (-0.47464,-0.84847,0.23412) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1541, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1540, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93436,-0.35208,-0.054955) - Old Polarization: (-0.091166,-0.38527,0.91829) - New Momentum Direction: (0.87609,-0.47638,-0.074357) - New Polarization: (-0.16394,-0.43935,0.88323) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1539, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1538, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.40196,0.52107,-0.75294) - Old Polarization: (-0.73693,0.67215,0.07174) - New Momentum Direction: (0.54529,0.70687,-0.45055) - New Polarization: (-0.73816,0.65962,0.1415) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1537, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.43789,-0.61359,-0.65708) - Old Polarization: (-0.69283,-0.69608,0.1883) - New Momentum Direction: (0.43789,-0.61359,0.65708) - New Polarization: (0.69283,0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,-0.61359,0.65708) - Old Polarization: (0.69283,0.69608,0.1883) - New Momentum Direction: (0.43789,0.61359,0.65708) - New Polarization: (-0.69283,0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,0.61359,0.65708) - Old Polarization: (-0.69283,0.69608,-0.1883) - New Momentum Direction: (-0.43789,0.61359,0.65708) - New Polarization: (-0.69283,-0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,0.61359,0.65708) - Old Polarization: (-0.69283,-0.69608,0.1883) - New Momentum Direction: (-0.43789,0.61359,-0.65708) - New Polarization: (0.69283,0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,0.61359,-0.65708) - Old Polarization: (0.69283,0.69608,0.1883) - New Momentum Direction: (-0.43789,-0.61359,-0.65708) - New Polarization: (-0.69283,0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,-0.61359,-0.65708) - Old Polarization: (-0.69283,0.69608,-0.1883) - New Momentum Direction: (0.43789,-0.61359,-0.65708) - New Polarization: (-0.69283,-0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,-0.61359,-0.65708) - Old Polarization: (-0.69283,-0.69608,0.1883) - New Momentum Direction: (0.43789,-0.61359,0.65708) - New Polarization: (0.69283,0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,-0.61359,0.65708) - Old Polarization: (0.69283,0.69608,0.1883) - New Momentum Direction: (0.43789,0.61359,0.65708) - New Polarization: (-0.69283,0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,0.61359,0.65708) - Old Polarization: (-0.69283,0.69608,-0.1883) - New Momentum Direction: (0.43789,0.61359,-0.65708) - New Polarization: (0.69283,-0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,0.61359,-0.65708) - Old Polarization: (0.69283,-0.69608,-0.1883) - New Momentum Direction: (-0.43789,0.61359,-0.65708) - New Polarization: (0.69283,0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,0.61359,-0.65708) - Old Polarization: (0.69283,0.69608,0.1883) - New Momentum Direction: (-0.43789,-0.61359,-0.65708) - New Polarization: (-0.69283,0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,-0.61359,-0.65708) - Old Polarization: (-0.69283,0.69608,-0.1883) - New Momentum Direction: (-0.43789,-0.61359,0.65708) - New Polarization: (0.69283,-0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,-0.61359,0.65708) - Old Polarization: (0.69283,-0.69608,-0.1883) - New Momentum Direction: (-0.43789,0.61359,0.65708) - New Polarization: (-0.69283,-0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.43789,0.61359,0.65708) - Old Polarization: (-0.69283,-0.69608,0.1883) - New Momentum Direction: (0.43789,0.61359,0.65708) - New Polarization: (-0.69283,0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,0.61359,0.65708) - Old Polarization: (-0.69283,0.69608,-0.1883) - New Momentum Direction: (0.43789,0.61359,-0.65708) - New Polarization: (0.69283,-0.69608,-0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,0.61359,-0.65708) - Old Polarization: (0.69283,-0.69608,-0.1883) - New Momentum Direction: (0.43789,-0.61359,-0.65708) - New Polarization: (-0.69283,-0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.43789,-0.61359,-0.65708) - Old Polarization: (-0.69283,-0.69608,0.1883) - New Momentum Direction: (0.43789,-0.61359,0.65708) - New Polarization: (0.69283,0.69608,0.1883) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1536, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.50937,-0.63925,-0.57611) - Old Polarization: (-0.60886,-0.74082,0.28368) - New Momentum Direction: (0.50937,0.63925,-0.57611) - New Polarization: (0.60886,-0.74082,-0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50937,0.63925,-0.57611) - Old Polarization: (0.60886,-0.74082,-0.28368) - New Momentum Direction: (0.50937,0.63925,0.57611) - New Polarization: (-0.60886,0.74082,-0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.50937,0.63925,0.57611) - Old Polarization: (-0.60886,0.74082,-0.28368) - New Momentum Direction: (-0.50937,0.63925,0.57611) - New Polarization: (-0.60886,-0.74082,0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.50937,0.63925,0.57611) - Old Polarization: (-0.60886,-0.74082,0.28368) - New Momentum Direction: (-0.50937,-0.63925,0.57611) - New Polarization: (0.60886,-0.74082,-0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.50937,-0.63925,0.57611) - Old Polarization: (0.60886,-0.74082,-0.28368) - New Momentum Direction: (-0.50937,-0.63925,-0.57611) - New Polarization: (-0.60886,0.74082,-0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.50937,-0.63925,-0.57611) - Old Polarization: (-0.60886,0.74082,-0.28368) - New Momentum Direction: (0.50937,-0.63925,-0.57611) - New Polarization: (-0.60886,-0.74082,0.28368) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1535, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58643,-0.66008,-0.46946) - Old Polarization: (-0.514,-0.7512,0.41413) - New Momentum Direction: (0.58643,0.66008,-0.46946) - New Polarization: (0.514,-0.7512,-0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58643,0.66008,-0.46946) - Old Polarization: (0.514,-0.7512,-0.41413) - New Momentum Direction: (-0.58643,0.66008,-0.46946) - New Polarization: (0.514,0.7512,0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58643,0.66008,-0.46946) - Old Polarization: (0.514,0.7512,0.41413) - New Momentum Direction: (-0.58643,0.66008,0.46946) - New Polarization: (-0.514,-0.7512,0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58643,0.66008,0.46946) - Old Polarization: (-0.514,-0.7512,0.41413) - New Momentum Direction: (-0.58643,-0.66008,0.46946) - New Polarization: (0.514,-0.7512,-0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58643,-0.66008,0.46946) - Old Polarization: (0.514,-0.7512,-0.41413) - New Momentum Direction: (0.58643,-0.66008,0.46946) - New Polarization: (0.514,0.7512,0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58643,-0.66008,0.46946) - Old Polarization: (0.514,0.7512,0.41413) - New Momentum Direction: (0.58643,-0.66008,-0.46946) - New Polarization: (-0.514,-0.7512,0.41413) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1534, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8992,-0.4285,-0.088403) - Old Polarization: (-0.13896,-0.4713,0.87096) - New Momentum Direction: (0.80344,-0.58311,-0.1203) - New Polarization: (-0.25047,-0.51432,0.82021) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1533, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.99123,-0.13185,0.0085351) - Old Polarization: (-0.024101,-0.11691,0.99285) - New Momentum Direction: (0.98383,-0.17872,0.011569) - New Polarization: (-0.043724,-0.17704,0.98323) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1532, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58219,-0.65275,-0.48475) - Old Polarization: (-0.51956,-0.75727,0.39572) - New Momentum Direction: (0.58219,0.65275,-0.48475) - New Polarization: (0.51956,-0.75727,-0.39572) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58219,0.65275,-0.48475) - Old Polarization: (0.51956,-0.75727,-0.39572) - New Momentum Direction: (-0.58219,0.65275,-0.48475) - New Polarization: (0.51956,0.75727,0.39572) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58219,0.65275,-0.48475) - Old Polarization: (0.51956,0.75727,0.39572) - New Momentum Direction: (-0.58219,0.65275,0.48475) - New Polarization: (-0.51956,-0.75727,0.39572) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1531, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70395,-0.63148,-0.32509) - Old Polarization: (-0.37249,-0.71796,0.58803) - New Momentum Direction: (-0.70395,-0.63148,-0.32509) - New Polarization: (-0.23681,0.64021,-0.73079) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70395,-0.63148,-0.32509) - Old Polarization: (-0.23681,0.64021,-0.73079) - New Momentum Direction: (-0.70395,0.63148,-0.32509) - New Polarization: (0.23681,0.64021,0.73079) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70395,0.63148,-0.32509) - Old Polarization: (0.23681,0.64021,0.73079) - New Momentum Direction: (-0.70395,0.63148,0.32509) - New Polarization: (-0.23681,-0.64021,0.73079) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.70395,0.63148,0.32509) - Old Polarization: (-0.23681,-0.64021,0.73079) - New Momentum Direction: (-0.26329,0.85773,0.44157) - New Polarization: (0.4661,-0.28765,0.83667) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1530, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.24554,-0.31149,-0.91798) - Old Polarization: (-0.93144,-0.33818,-0.13439) - New Momentum Direction: (0.33138,-0.42039,-0.84466) - New Polarization: (-0.47378,-0.84834,0.23635) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1529, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.2956,-0.44345,-0.84615) - Old Polarization: (-0.86737,-0.49578,-0.043189) - New Momentum Direction: (0.40015,-0.60029,-0.69248) - New Polarization: (-0.78349,-0.61606,0.081302) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1528, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97562,0.21836,-0.02183) - Old Polarization: (-0.046878,0.30455,0.95134) - New Momentum Direction: (0.95441,0.29703,-0.029694) - New Polarization: (-0.085362,0.36689,0.92634) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1527, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1526, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.1983,-0.032938,-0.97959) - Old Polarization: (-0.9801,0.0029381,-0.1985) - New Momentum Direction: (0.26966,-0.044791,-0.96191) - New Polarization: (0.92341,-0.27129,0.2715) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1525, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70949,-0.62692,-0.32185) - Old Polarization: (-0.36491,-0.71754,0.59327) - New Momentum Direction: (0.29815,-0.84915,-0.43594) - New Polarization: (-0.64899,-0.51525,0.55977) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1524, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.32268,-0.48799,-0.81101) - Old Polarization: (-0.83485,-0.55048,-0.000938) - New Momentum Direction: (0.43663,-0.6603,-0.61103) - New Polarization: (-0.83337,-0.55272,0.0017914) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1523, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73426,-0.61409,-0.28942) - Old Polarization: (-0.33556,-0.69891,0.63161) - New Momentum Direction: (0.38931,-0.83321,-0.39269) - New Polarization: (-0.59522,-0.55292,0.58309) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1522, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 31 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.40714,0.33501,-0.84971) - Old Polarization: (-0.75993,0.64035,-0.11166) - New Momentum Direction: (0.54702,0.45011,-0.70581) - New Polarization: (-0.45253,0.86833,0.20302) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1597, parentID 1) is processed with stopping code 2 +Track (trackID 1720, parentID 1) is processed with stopping code 2 ### pop requested out of 31 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1596, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1719, parentID 1) is processed with stopping code 2 ### pop requested out of 30 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.45837,0.41526,-0.78578) - Old Polarization: (-0.68841,0.72509,-0.018385) - New Momentum Direction: (0.62253,0.56397,-0.54258) - New Polarization: (-0.65363,0.75597,0.035834) + Old Momentum Direction: (-0.28282,-0.91205,0.29694) + Old Polarization: (-0.73845,0.40461,0.53943) + New Momentum Direction: (-0.38374,-0.83091,0.4029) + New Polarization: (-0.65514,0.55245,0.51535) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1595, parentID 1) is processed with stopping code 2 +Track (trackID 1718, parentID 1) is processed with stopping code 2 ### pop requested out of 29 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.51814,0.46208,-0.71974) - Old Polarization: (-0.61427,0.78659,0.062792) - New Momentum Direction: (0.70252,0.62652,-0.33755) - New Polarization: (-0.62511,0.76996,0.1281) + Old Momentum Direction: (-0.36392,-0.91949,0.14863) + Old Polarization: (-0.84806,0.39309,0.35535) + New Momentum Direction: (-0.49181,-0.84721,0.20087) + New Polarization: (-0.78201,0.53124,0.32596) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1594, parentID 1) is processed with stopping code 2 +Track (trackID 1717, parentID 1) is processed with stopping code 2 ### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.99964,-0.025234,0.0093036) - Old Polarization: (-0.0047112,0.17628,0.98433) - New Momentum Direction: (0.99934,-0.034065,0.012559) - New Polarization: (-0.0084798,0.11737,0.99305) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1593, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1716, parentID 1) is processed with stopping code 2 ### pop requested out of 27 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1592, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1715, parentID 1) is processed with stopping code 2 ### pop requested out of 26 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1591, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1714, parentID 1) is processed with stopping code 2 ### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5586,0.48893,-0.67001) - Old Polarization: (-0.56315,0.81663,0.12641) - New Momentum Direction: (0.5586,0.48893,0.67001) - New Polarization: (0.56315,-0.81663,0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5586,0.48893,0.67001) - Old Polarization: (0.56315,-0.81663,0.12641) - New Momentum Direction: (-0.5586,0.48893,0.67001) - New Polarization: (0.56315,0.81663,-0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5586,0.48893,0.67001) - Old Polarization: (0.56315,0.81663,-0.12641) - New Momentum Direction: (-0.5586,-0.48893,0.67001) - New Polarization: (-0.56315,0.81663,0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5586,-0.48893,0.67001) - Old Polarization: (-0.56315,0.81663,0.12641) - New Momentum Direction: (-0.5586,-0.48893,-0.67001) - New Polarization: (0.56315,-0.81663,0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.5586,-0.48893,-0.67001) - Old Polarization: (0.56315,-0.81663,0.12641) - New Momentum Direction: (0.5586,-0.48893,-0.67001) - New Polarization: (0.56315,0.81663,-0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5586,-0.48893,-0.67001) - Old Polarization: (0.56315,0.81663,-0.12641) - New Momentum Direction: (0.5586,0.48893,-0.67001) - New Polarization: (-0.56315,0.81663,0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.5586,0.48893,-0.67001) - Old Polarization: (-0.56315,0.81663,0.12641) - New Momentum Direction: (0.5586,0.48893,0.67001) - New Polarization: (0.56315,-0.81663,0.12641) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 1590, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1713, parentID 1) is processed with stopping code 2 ### pop requested out of 24 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1589, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.23965,-0.91104,0.33553) + Old Polarization: (-0.69357,0.40249,0.59746) + New Momentum Direction: (-0.32299,-0.83138,0.4522) + New Polarization: (-0.60771,0.54849,0.57432) + *** FresnelRefraction *** +Track (trackID 1712, parentID 1) is processed with stopping code 2 ### pop requested out of 23 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1588, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.088294,-0.76526,-0.63764) + Old Polarization: (-0.49301,0.5898,-0.63959) + New Momentum Direction: (-0.11981,-0.4869,-0.8652) + New Polarization: (-0.34967,0.83633,-0.42223) + *** FresnelRefraction *** +Track (trackID 1711, parentID 1) is processed with stopping code 2 ### pop requested out of 22 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.6995,0.51988,-0.49034) - Old Polarization: (-0.38763,0.85245,0.35082) - New Momentum Direction: (0.2341,0.70726,-0.66707) - New Polarization: (-0.69527,0.60139,0.39363) + Old Momentum Direction: (-0.10565,-0.88373,0.45592) + Old Polarization: (-0.51296,0.44121,0.73635) + New Momentum Direction: (-0.14365,-0.77142,0.61991) + New Polarization: (-0.40932,0.61662,0.67248) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1587, parentID 1) is processed with stopping code 2 +Track (trackID 1710, parentID 1) is processed with stopping code 2 ### pop requested out of 21 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.34298,0.25833,-0.90312) - Old Polarization: (-0.83249,0.52895,-0.16486) - New Momentum Direction: (0.46585,0.35088,-0.81232) - New Polarization: (-0.19882,0.93605,0.2903) + Old Momentum Direction: (-0.21673,-0.90209,0.37317) + Old Polarization: (-0.65214,0.41824,0.63229) + New Momentum Direction: (-0.29473,-0.80969,0.50748) + New Polarization: (-0.55633,0.57718,0.5978) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1586, parentID 1) is processed with stopping code 2 +Track (trackID 1709, parentID 1) is processed with stopping code 2 ### pop requested out of 20 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.76277,-0.62527,-0.16497) - Old Polarization: (-0.30792,-0.57553,0.7576) - New Momentum Direction: (0.47888,-0.84883,-0.22396) - New Polarization: (-0.54331,-0.48696,0.68387) + Old Momentum Direction: (-0.39857,-0.91488,0.064336) + Old Polarization: (-0.8823,0.40163,0.24543) + New Momentum Direction: (-0.54142,-0.8362,0.087395) + New Polarization: (-0.81145,0.54692,0.20597) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1585, parentID 1) is processed with stopping code 2 +Track (trackID 1708, parentID 1) is processed with stopping code 2 ### pop requested out of 19 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50959,-0.71062,-0.48512) - Old Polarization: (-0.62645,-0.69292,0.35697) - New Momentum Direction: (0.68809,-0.31216,-0.65505) - New Polarization: (0.14508,0.94369,-0.29731) + Old Momentum Direction: (-0.30909,-0.83736,-0.45087) + Old Polarization: (-0.76784,0.49945,-0.4012) + New Momentum Direction: (-0.42037,-0.66878,-0.6132) + New Polarization: (-0.60917,0.70888,-0.35553) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1584, parentID 1) is processed with stopping code 2 +Track (trackID 1707, parentID 1) is processed with stopping code 2 ### pop requested out of 18 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.275,-0.48087,-0.83255) - Old Polarization: (-0.91636,-0.39315,-0.075604) - New Momentum Direction: (0.37387,-0.65376,-0.65789) - New Polarization: (-0.78993,-0.59617,0.14351) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1583, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. + Old Momentum Direction: (0.53138,-0.72589,0.43671) + Old Polarization: (0.28711,0.63932,0.71333) + New Momentum Direction: (0.53138,0.72589,0.43671) + New Polarization: (0.021489,0.5038,-0.86355) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.53138,0.72589,0.43671) + Old Polarization: (0.021489,0.5038,-0.86355) + New Momentum Direction: (-0.53138,0.72589,0.43671) + New Polarization: (0.021489,-0.5038,0.86355) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.53138,0.72589,0.43671) + Old Polarization: (0.021489,-0.5038,0.86355) + New Momentum Direction: (-0.53138,0.72589,-0.43671) + New Polarization: (-0.021489,0.5038,0.86355) + *** TotalInternalReflection *** -** Photon Absorbed! ** -Track (trackID 1582, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1706, parentID 1) is processed with stopping code 2 +### pop requested out of 17 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (-0.40683,-0.91349,-0.0051965) + Old Polarization: (-0.90219,0.4009,0.15917) + New Momentum Direction: (-0.54997,-0.83516,-0.0070248) + New Polarization: (-0.83009,0.54567,0.11484) + *** FresnelRefraction *** +Track (trackID 1705, parentID 1) is processed with stopping code 2 ### pop requested out of 16 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.72785,0.51515,-0.4526) - Old Polarization: (-0.35225,0.84717,0.39778) - New Momentum Direction: (0.36089,0.70062,-0.61554) - New Polarization: (-0.62485,0.67162,0.3981) + Old Momentum Direction: (0.77846,-0.62557,0.051579) + Old Polarization: (0.60034,0.76601,0.22985) + New Momentum Direction: (0.52396,-0.84886,0.06999) + New Polarization: (-0.83321,-0.49378,0.24888) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1581, parentID 1) is processed with stopping code 2 +Track (trackID 1704, parentID 1) is processed with stopping code 2 ### pop requested out of 15 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.5605,-0.72107,-0.40731) - Old Polarization: (-0.56063,-0.69237,0.45422) - New Momentum Direction: (0.76205,-0.33558,-0.55377) - New Polarization: (0.28605,0.94172,-0.17705) + Old Momentum Direction: (0.061013,-0.85029,0.52276) + Old Polarization: (-0.30402,0.48302,0.82114) + New Momentum Direction: (0.08292,-0.69884,0.71046) + New Polarization: (-0.21591,0.68338,0.6974) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1580, parentID 1) is processed with stopping code 2 +Track (trackID 1703, parentID 1) is processed with stopping code 2 ### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.42601,-0.67935,-0.5975) - Old Polarization: (-0.73063,-0.64783,0.21564) - New Momentum Direction: (0.57689,-0.112,-0.80911) - New Polarization: (-0.18364,0.94742,-0.26207) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1579, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1702, parentID 1) is processed with stopping code 2 ### pop requested out of 13 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.49937,-0.70445,-0.50436) - Old Polarization: (-0.6408,-0.6921,0.33221) - New Momentum Direction: (0.67195,-0.29646,-0.67867) - New Polarization: (0.10103,0.94451,-0.31256) + Old Momentum Direction: (0.67243,-0.60576,-0.42532) + Old Polarization: (0.47593,0.79395,-0.37834) + New Momentum Direction: (-0.67243,-0.60576,-0.42532) + New Polarization: (-0.44845,-0.12372,0.8852) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67243,-0.60576,-0.42532) + Old Polarization: (-0.44845,-0.12372,0.8852) + New Momentum Direction: (-0.67243,0.60576,-0.42532) + New Polarization: (0.44845,-0.12372,-0.8852) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67243,0.60576,-0.42532) + Old Polarization: (0.44845,-0.12372,-0.8852) + New Momentum Direction: (-0.67243,0.60576,0.42532) + New Polarization: (-0.44845,0.12372,-0.8852) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.67243,0.60576,0.42532) + Old Polarization: (-0.44845,0.12372,-0.8852) + New Momentum Direction: (-0.053545,0.81724,0.5738) + New Polarization: (0.79717,0.38105,-0.46832) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1578, parentID 1) is processed with stopping code 2 +Track (trackID 1701, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.92673,-0.37567,-0.0061002) - Old Polarization: (-0.10109,-0.26495,0.95895) - New Momentum Direction: (0.86067,-0.50909,-0.0082666) - New Polarization: (-0.18203,-0.32283,0.92879) + Old Momentum Direction: (0.45478,-0.75091,0.47887) + Old Polarization: (0.19273,0.60793,0.77025) + New Momentum Direction: (0.61663,-0.44518,0.64929) + New Polarization: (0.09267,0.86007,0.50169) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1577, parentID 1) is processed with stopping code 2 +Track (trackID 1700, parentID 1) is processed with stopping code 2 ### pop requested out of 11 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1576, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.31149,-0.91839,0.24401) + Old Polarization: (-0.78461,0.39343,0.47916) + New Momentum Direction: (-0.4201,-0.8457,0.3291) + New Polarization: (-0.712,0.53202,0.45827) + *** FresnelRefraction *** +Track (trackID 1699, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.51115,0.46174,-0.72493) - Old Polarization: (-0.62204,0.78078,0.058722) - New Momentum Direction: (0.51115,0.46174,0.72493) - New Polarization: (0.64984,-0.75964,0.025652) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.51115,0.46174,0.72493) - Old Polarization: (0.64984,-0.75964,0.025652) - New Momentum Direction: (-0.51115,0.46174,0.72493) - New Polarization: (0.64984,0.75964,-0.025652) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.51115,0.46174,0.72493) - Old Polarization: (0.64984,0.75964,-0.025652) - New Momentum Direction: (-0.51115,-0.46174,0.72493) - New Polarization: (-0.64984,0.75964,0.025652) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.51115,-0.46174,0.72493) - Old Polarization: (-0.64984,0.75964,0.025652) - New Momentum Direction: (-0.69513,-0.62794,0.34999) - New Polarization: (-0.68389,0.72768,-0.052725) + Old Momentum Direction: (0.22166,-0.68684,-0.69218) + Old Polarization: (-0.10151,0.68973,-0.71692) + New Momentum Direction: (0.29951,-0.92805,-0.22138) + New Polarization: (0.13765,-0.18758,0.97256) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1575, parentID 1) is processed with stopping code 2 +Track (trackID 1698, parentID 1) is processed with stopping code 2 ### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61238,-0.71242,-0.3427) - Old Polarization: (-0.496,-0.68379,0.53517) - New Momentum Direction: (0.61238,0.71242,-0.3427) - New Polarization: (-0.76742,0.63982,-0.041239) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.61238,0.71242,-0.3427) - Old Polarization: (-0.76742,0.63982,-0.041239) - New Momentum Direction: (-0.61238,0.71242,-0.3427) - New Polarization: (-0.76742,-0.63982,0.041239) - *** TotalInternalReflection *** -No Absorbtion length specified -** Photon Absorbed! ** -Track (trackID 1574, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1697, parentID 1) is processed with stopping code 2 ### pop requested out of 8 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.23445,-0.26099,-0.93644) - Old Polarization: (-0.97037,-0.12067,-0.20932) - New Momentum Direction: (0.31784,-0.35382,-0.87965) - New Polarization: (-0.10222,-0.93514,0.3392) + Old Momentum Direction: (0.23375,-0.67769,-0.6972) + Old Polarization: (-0.08718,0.69957,-0.70922) + New Momentum Direction: (0.31805,-0.92209,-0.22045) + New Polarization: (0.15848,-0.17754,0.97127) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1573, parentID 1) is processed with stopping code 2 +Track (trackID 1696, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50859,0.45781,-0.72921) - Old Polarization: (-0.62568,0.77832,0.05226) - New Momentum Direction: (0.6907,0.62174,-0.36928) - New Polarization: (-0.63332,0.76658,0.10609) + Old Momentum Direction: (0.29612,-0.7979,0.52505) + Old Polarization: (-0.006388,0.54804,0.83643) + New Momentum Direction: (0.39995,-0.58065,0.70914) + New Polarization: (0.0032359,0.77461,0.63243) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1572, parentID 1) is processed with stopping code 2 +Track (trackID 1695, parentID 1) is processed with stopping code 2 ### pop requested out of 6 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78267,0.49483,-0.37758) - Old Polarization: (-0.28356,0.82347,0.49141) - New Momentum Direction: (0.53349,0.67241,-0.51308) - New Polarization: (-0.50164,0.73995,0.44813) + Old Momentum Direction: (-0.27923,-0.91231,0.29954) + Old Polarization: (-0.73554,0.40375,0.54403) + New Momentum Direction: (-0.37847,-0.83182,0.406) + New Polarization: (-0.65244,0.55088,0.52044) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1571, parentID 1) is processed with stopping code 2 +Track (trackID 1694, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.94787,0.29601,-0.11798) - Old Polarization: (-0.078079,0.5747,0.81463) - New Momentum Direction: (0.90127,0.40247,-0.16041) - New Polarization: (-0.14177,0.62381,0.76861) + Old Momentum Direction: (0.78792,-0.61514,-0.028095) + Old Polarization: (0.61307,0.77936,0.12942) + New Momentum Direction: (0.54989,-0.83436,-0.038107) + New Polarization: (-0.83343,-0.55113,0.040525) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1570, parentID 1) is processed with stopping code 2 +Track (trackID 1693, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.25011,0.0027121,-0.96821) - Old Polarization: (-0.94693,0.20924,-0.24402) - New Momentum Direction: (0.34016,0.0036887,-0.94036) - New Polarization: (0.92605,0.17255,0.33566) + Old Momentum Direction: (-0.18087,-0.80311,-0.56772) + Old Polarization: (-0.6215,0.54071,-0.56689) + New Momentum Direction: (-0.24311,-0.59886,-0.76307) + New Polarization: (-0.47121,0.76052,-0.44673) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1569, parentID 1) is processed with stopping code 2 +Track (trackID 1692, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.79131,-0.6093,-0.050876) +Old Polarization: (0.61105,0.78521,0.10035) +New Polarization: (0.3627,0.80746,-0.10959) +Polarization Change: (0.40664,0.90529,-0.12287) +New Momentum Direction: (0.62924,-0.19161,0.67078) +Momentum Change: (0.66979,-0.20395,0.714) Photon at Boundary! - Old Momentum Direction: (0.63792,-0.69974,-0.32158) - Old Polarization: (-0.4636,-0.68238,0.56518) - New Momentum Direction: (0.85997,-0.26929,-0.43352) - New Polarization: (0.32462,0.94409,0.057522) + Old Momentum Direction: (0.66979,-0.20395,0.714) + Old Polarization: (0.40664,0.90529,-0.12287) + New Momentum Direction: (-0.66979,-0.20395,0.714) + New Polarization: (0.40664,-0.90529,0.12287) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66979,-0.20395,0.714) + Old Polarization: (0.40664,-0.90529,0.12287) + New Momentum Direction: (-0.91141,-0.27752,0.30384) + New Polarization: (0.204,-0.94595,-0.2521) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1568, parentID 1) is processed with stopping code 2 +Track (trackID 1691, parentID 1) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.53138,-0.72113,-0.44453) - Old Polarization: (-0.59673,-0.6911,0.40779) - New Momentum Direction: (0.53138,0.72113,-0.44453) - New Polarization: (-0.4501,0.68489,0.57301) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.53138,0.72113,-0.44453) - Old Polarization: (-0.4501,0.68489,0.57301) - New Momentum Direction: (-0.53138,0.72113,-0.44453) - New Polarization: (-0.4501,-0.68489,-0.57301) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.53138,0.72113,-0.44453) - Old Polarization: (-0.4501,-0.68489,-0.57301) - New Momentum Direction: (-0.53138,0.72113,0.44453) - New Polarization: (0.4501,0.68489,-0.57301) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1567, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.77655,-0.62636,0.068151) + Old Polarization: (0.59452,0.76426,0.2499) + New Momentum Direction: (0.51621,-0.85144,0.092641) + New Polarization: (-0.83229,-0.47317,0.28879) + *** FresnelRefraction *** +Track (trackID 1690, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 30 Track (trackID 1, parentID 0) is processed with stopping code 4 ### pop requested out of 31 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.082509,-0.86679,-0.4918) - Old Polarization: (-0.99495,-0.043305,-0.090596) - New Momentum Direction: (0.11174,-0.73751,-0.66603) - New Polarization: (-0.96443,0.081091,-0.25159) + Old Momentum Direction: (-0.47881,-0.62899,-0.61246) + Old Polarization: (-0.42081,0.7767,-0.46868) + New Momentum Direction: (-0.47881,0.62899,-0.61246) + New Polarization: (0.42081,0.7767,0.46868) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.47881,0.62899,-0.61246) + Old Polarization: (0.42081,0.7767,0.46868) + New Momentum Direction: (-0.47881,0.62899,0.61246) + New Polarization: (-0.42081,-0.7767,0.46868) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.47881,0.62899,0.61246) + Old Polarization: (-0.42081,-0.7767,0.46868) + New Momentum Direction: (0.47881,0.62899,0.61246) + New Polarization: (-0.42081,0.7767,-0.46868) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (0.47881,0.62899,0.61246) +Old Polarization: (-0.42081,0.7767,-0.46868) +New Polarization: (-0.64597,0.52648,0.32187) +Polarization Change: (-0.7231,0.58933,0.3603) +New Momentum Direction: (0.58416,0.31399,0.65877) +Momentum Change: (0.62492,0.3359,0.70473) + Photon at Boundary! + Old Momentum Direction: (0.62492,0.3359,0.70473) + Old Polarization: (-0.7231,0.58933,0.3603) + New Momentum Direction: (0.62492,0.3359,-0.70473) + New Polarization: (0.25214,-0.94117,-0.22501) + *** FresnelReflection *** + Photon at Boundary! + Old Momentum Direction: (0.62492,0.3359,-0.70473) + Old Polarization: (0.25214,-0.94117,-0.22501) + New Momentum Direction: (0.62492,-0.3359,-0.70473) + New Polarization: (-0.25214,-0.94117,0.22501) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.62492,-0.3359,-0.70473) + Old Polarization: (-0.25214,-0.94117,0.22501) + New Momentum Direction: (-0.62492,-0.3359,-0.70473) + New Polarization: (-0.25214,0.94117,-0.22501) + *** TotalInternalReflection *** +Scattering Photon! +Old Momentum Direction: (-0.62492,-0.3359,-0.70473) +Old Polarization: (-0.25214,0.94117,-0.22501) +New Polarization: (0.40654,0.73838,-0.21765) +Polarization Change: (0.46699,0.84818,-0.25001) +New Momentum Direction: (0.012193,-0.25297,-0.83545) +Momentum Change: (0.013967,-0.28978,-0.95699) + Photon at Boundary! + Old Momentum Direction: (0.013967,-0.28978,-0.95699) + Old Polarization: (0.46699,0.84818,-0.25001) + New Momentum Direction: (0.018967,-0.39352,-0.91912) + New Polarization: (0.43584,-0.82409,0.36183) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1627, parentID 1) is processed with stopping code 2 +Track (trackID 1759, parentID 1) is processed with stopping code 2 ### pop requested out of 30 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1626, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.43048,-0.89954,0.074274) + Old Polarization: (0.79183,0.41587,0.44729) + New Momentum Direction: (0.58475,-0.80492,0.10089) + New Polarization: (0.73399,0.57794,0.35671) + *** FresnelRefraction *** +Track (trackID 1758, parentID 1) is processed with stopping code 2 ### pop requested out of 29 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.80652,-0.52909,0.26378) - Old Polarization: (-0.034013,0.40391,0.91417) - New Momentum Direction: (0.60142,-0.715,0.35646) - New Polarization: (-0.064773,0.40106,0.91376) + Old Momentum Direction: (0.08917,-0.68282,-0.72513) + Old Polarization: (0.33827,0.70551,-0.62275) + New Momentum Direction: (0.12088,-0.9256,-0.35867) + New Polarization: (0.34164,-0.30046,0.89051) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1625, parentID 1) is processed with stopping code 2 +Track (trackID 1757, parentID 1) is processed with stopping code 2 ### pop requested out of 28 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1624, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.36959,-0.75829,-0.53703) + Old Polarization: (0.70805,0.60409,-0.36569) + New Momentum Direction: (0.50278,-0.46205,-0.73056) + New Polarization: (0.4723,0.85468,-0.21552) + *** FresnelRefraction *** +Track (trackID 1756, parentID 1) is processed with stopping code 2 ### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.96254,-0.26524,0.056286) - Old Polarization: (0.17043,0.7533,0.63521) - New Momentum Direction: (0.93014,-0.3592,0.076226) - New Polarization: (-0.27172,-0.53367,0.80085) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1623, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1755, parentID 1) is processed with stopping code 2 ### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97906,-0.19014,-0.072721) - Old Polarization: (0.20184,0.86005,0.46859) - New Momentum Direction: (0.9617,-0.25603,-0.097919) - New Polarization: (-0.27282,-0.92866,-0.25132) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1622, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1754, parentID 1) is processed with stopping code 2 ### pop requested out of 25 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.4507,-0.3298,-0.82952) - Old Polarization: (-0.508,0.66935,-0.54213) - New Momentum Direction: (0.60908,-0.4457,-0.65603) - New Polarization: (0.62415,-0.24099,0.74321) + Old Momentum Direction: (0.48458,-0.86651,-0.11977) + Old Polarization: (0.86797,0.45928,0.18891) + New Momentum Direction: (0.65702,-0.73618,-0.16239) + New Polarization: (0.75361,0.64711,0.11544) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1621, parentID 1) is processed with stopping code 2 +Track (trackID 1753, parentID 1) is processed with stopping code 2 ### pop requested out of 24 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.097951,-0.78689,-0.60928) -Old Polarization: (-0.96821,0.066242,-0.24121) -New Polarization: (-0.72288,0.21587,0.4452) -Polarization Change: (-0.82521,0.24643,0.50823) -New Momentum Direction: (-0.49324,-0.16898,-0.71895) -Momentum Change: (-0.55539,-0.19027,-0.80953) -** Photon Absorbed! ** -Track (trackID 1620, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1752, parentID 1) is processed with stopping code 2 ### pop requested out of 23 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.25329,-0.53425,-0.80649) - Old Polarization: (-0.76705,0.39708,-0.50395) - New Momentum Direction: (0.34362,-0.72477,-0.59719) - New Polarization: (-0.12376,-0.66531,0.73623) + Old Momentum Direction: (0.27404,-0.92215,0.27303) + Old Polarization: (0.58472,0.38516,0.71397) + New Momentum Direction: (0.37186,-0.85115,0.37049) + New Polarization: (0.55364,0.52371,0.64747) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1619, parentID 1) is processed with stopping code 2 +Track (trackID 1751, parentID 1) is processed with stopping code 2 ### pop requested out of 22 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1618, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1750, parentID 1) is processed with stopping code 2 ### pop requested out of 21 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1617, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1749, parentID 1) is processed with stopping code 2 ### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.12564,-0.97476,-0.18455) - Old Polarization: (-0.9319,-0.17976,0.31504) - New Momentum Direction: (0.17084,-0.9528,-0.25096) - New Polarization: (0.079161,0.26715,-0.9604) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1616, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1748, parentID 1) is processed with stopping code 2 ### pop requested out of 19 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.25579,-0.96623,0.031137) - Old Polarization: (-0.77166,-0.18467,0.60864) - New Momentum Direction: (0.34434,-0.93791,0.041915) - New Polarization: (0.68507,0.28154,0.67188) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1615, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.66381,-0.65998,-0.35182) + Old Polarization: (-0.66698,0.73522,-0.12075) + New Momentum Direction: (-0.66381,0.65998,-0.35182) + New Polarization: (0.66698,0.73522,0.12075) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.66381,0.65998,-0.35182) + Old Polarization: (0.66698,0.73522,0.12075) + New Momentum Direction: (0.66381,0.65998,-0.35182) + New Polarization: (0.66698,-0.73522,-0.12075) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1747, parentID 1) is processed with stopping code 2 ### pop requested out of 18 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.26005,-0.52557,-0.81003) - Old Polarization: (-0.75804,0.40852,-0.50841) - New Momentum Direction: (0.35282,-0.71307,-0.60585) - New Polarization: (-0.087796,-0.66986,0.73728) + Old Momentum Direction: (0.11024,-0.68514,-0.72002) + Old Polarization: (0.36495,0.70174,-0.61186) + New Momentum Direction: (0.14974,-0.93057,-0.33408) + New Polarization: (0.37824,-0.25828,0.88895) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1614, parentID 1) is processed with stopping code 2 +Track (trackID 1746, parentID 1) is processed with stopping code 2 ### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.88999,-0.40746,0.20466) - Old Polarization: (0.068284,0.56289,0.82371) - New Momentum Direction: (0.78427,-0.55441,0.27847) - New Polarization: (-0.12756,0.29516,0.94689) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1613, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1745, parentID 1) is processed with stopping code 2 ### pop requested out of 16 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.98176,-0.16882,-0.087443) - Old Polarization: (0.19011,0.87636,0.44255) - New Momentum Direction: (0.96604,-0.22944,-0.11884) - New Polarization: (-0.25838,-0.85437,-0.45088) + Old Momentum Direction: (0.39982,-0.77629,-0.48737) + Old Polarization: (0.75547,0.58019,-0.30437) + New Momentum Direction: (0.54179,-0.51991,-0.66042) + New Polarization: (0.53525,0.81923,-0.20583) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1612, parentID 1) is processed with stopping code 2 +Track (trackID 1744, parentID 1) is processed with stopping code 2 ### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.26809,-0.96107,0.066829) - Old Polarization: (-0.74622,-0.16328,0.64537) - New Momentum Direction: (0.36421,-0.92688,0.090788) - New Polarization: (0.46521,0.26551,0.84444) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1611, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1743, parentID 1) is processed with stopping code 2 ### pop requested out of 14 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1610, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1742, parentID 1) is processed with stopping code 2 ### pop requested out of 13 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.75192,-0.11249,-0.64959) - Old Polarization: (-0.11182,0.9493,-0.29382) - New Momentum Direction: (0.44297,-0.15298,-0.88339) - New Polarization: (-0.22011,0.93662,-0.27257) + Old Momentum Direction: (0.48999,-0.85865,-0.15043) + Old Polarization: (0.86993,0.47055,0.14768) + New Momentum Direction: (0.66595,-0.71743,-0.20445) + New Polarization: (0.74193,0.66554,0.081249) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1609, parentID 1) is processed with stopping code 2 +Track (trackID 1741, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98069,-0.16418,-0.10624) - Old Polarization: (0.19392,0.88667,0.41978) - New Momentum Direction: (0.96427,-0.22242,-0.14393) - New Polarization: (-0.26372,-0.75394,-0.60169) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1608, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. -** Photon Absorbed! ** -Track (trackID 1607, parentID 1) is processed with stopping code 2 +** Photon absorbed! ** +Track (trackID 1740, parentID 1) is processed with stopping code 2 +### pop requested out of 11 stacked tracks. + Photon at Boundary! + Old Momentum Direction: (0.41405,-0.90415,0.10529) + Old Polarization: (0.77023,0.40965,0.48881) + New Momentum Direction: (0.56233,-0.81445,0.143) + New Polarization: (0.72005,0.56731,0.3996) + *** FresnelRefraction *** +Track (trackID 1739, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.091138,-0.94483,-0.31463) - Old Polarization: (-0.97919,-0.14256,0.14447) - New Momentum Direction: (0.12376,-0.89562,-0.42726) - New Polarization: (-0.66348,0.24549,-0.70678) + Old Momentum Direction: (0.43938,-0.79872,-0.41107) + Old Polarization: (0.81019,0.55001,-0.20269) + New Momentum Direction: (0.59494,-0.57987,-0.5566) + New Polarization: (0.60787,0.77766,-0.16043) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1606, parentID 1) is processed with stopping code 2 +Track (trackID 1738, parentID 1) is processed with stopping code 2 ### pop requested out of 9 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1605, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (0.24441,-0.92454,0.29239) + Old Polarization: (0.54861,0.38048,0.74449) + New Momentum Direction: (0.33076,-0.85675,0.3957) + New Polarization: (0.51728,0.51529,0.6833) + *** FresnelRefraction *** +Track (trackID 1737, parentID 1) is processed with stopping code 2 ### pop requested out of 8 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.79705,-0.10038,-0.59551) - Old Polarization: (-0.048254,0.97235,-0.22849) - New Momentum Direction: (0.57598,-0.13588,-0.80609) - New Polarization: (-0.0925,0.96892,-0.22942) + Old Momentum Direction: (0.26667,-0.72281,-0.63752) + Old Polarization: (0.57153,0.65121,-0.49927) + New Momentum Direction: (0.36273,-0.34122,-0.86717) + New Polarization: (0.33836,0.91527,-0.21862) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1604, parentID 1) is processed with stopping code 2 +Track (trackID 1736, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.72899,-0.12713,-0.67261) -Old Polarization: (-0.1398,0.93424,-0.3281) -New Polarization: (-0.10685,0.85271,-0.40838) -Polarization Change: (-0.11229,0.8962,-0.42921) -New Momentum Direction: (0.41473,-0.33033,-0.79824) -Momentum Change: (0.43279,-0.34471,-0.83299) - Photon at Boundary! - Old Momentum Direction: (0.43279,-0.34471,-0.83299) - Old Polarization: (-0.11229,0.8962,-0.42921) - New Momentum Direction: (0.58688,-0.46745,-0.66111) - New Polarization: (0.75978,0.035745,0.6492) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1603, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1735, parentID 1) is processed with stopping code 2 ### pop requested out of 6 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.29506,-0.49315,-0.81838) - Old Polarization: (-0.71685,0.45203,-0.53085) - New Momentum Direction: (0.39805,-0.66529,-0.63162) - New Polarization: (0.067517,-0.6654,0.74343) + Old Momentum Direction: (-0.65312,-0.75393,0.070901) + Old Polarization: (-0.65608,0.61012,0.4442) + New Momentum Direction: (-0.88576,-0.45408,0.096156) + New Polarization: (-0.40704,0.85949,0.30919) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1602, parentID 1) is processed with stopping code 2 +Track (trackID 1734, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. +Scattering Photon! +Old Momentum Direction: (0.4903,-0.84289,-0.2217) +Old Polarization: (0.86917,0.49167,0.052915) +New Polarization: (0.37787,0.4175,0.68094) +Polarization Change: (0.42764,0.47249,0.77063) +New Momentum Direction: (0.71977,-0.69341,0.025728) +Momentum Change: (0.71994,-0.69356,0.025734) Photon at Boundary! - Old Momentum Direction: (0.69237,-0.14314,-0.7072) - Old Polarization: (-0.18961,0.90959,-0.36973) - New Momentum Direction: (0.94128,-0.1946,-0.2759) - New Polarization: (0.33298,0.67015,0.66334) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1601, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (0.71994,-0.69356,0.025734) + Old Polarization: (0.42764,0.47249,0.77063) + New Momentum Direction: (0.71994,0.69356,0.025734) + New Polarization: (-0.31795,0.36255,-0.87605) + *** FresnelReflection *** + +** Photon absorbed! ** +Track (trackID 1733, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.29727,-0.94965,0.098947) - Old Polarization: (-0.70892,-0.15011,0.68913) - New Momentum Direction: (0.40336,-0.90514,0.13426) - New Polarization: (0.26042,0.25421,0.93143) + Old Momentum Direction: (-0.69554,-0.7029,-0.14886) + Old Polarization: (-0.71847,0.67917,0.1501) + New Momentum Direction: (-0.94093,-0.2722,-0.20137) + New Polarization: (-0.30226,0.94329,0.13727) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1600, parentID 1) is processed with stopping code 2 +Track (trackID 1732, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.57913,-0.23177,-0.7816) - Old Polarization: (-0.33608,0.8056,-0.48791) - New Momentum Direction: (0.77873,-0.31166,-0.54447) - New Polarization: (0.62271,0.27853,0.7312) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1599, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.45078,-0.63783,-0.62447) + Old Polarization: (-0.39558,0.76988,-0.5008) + New Momentum Direction: (-0.45078,0.63783,-0.62447) + New Polarization: (0.39558,0.76988,0.5008) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.45078,0.63783,-0.62447) + Old Polarization: (0.39558,0.76988,0.5008) + New Momentum Direction: (-0.45078,0.63783,0.62447) + New Polarization: (-0.39558,-0.76988,0.5008) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (-0.45078,0.63783,0.62447) + Old Polarization: (-0.39558,-0.76988,0.5008) + New Momentum Direction: (0.45078,0.63783,0.62447) + New Polarization: (-0.39558,0.76988,-0.5008) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.45078,0.63783,0.62447) + Old Polarization: (-0.39558,0.76988,-0.5008) + New Momentum Direction: (0.45078,-0.63783,0.62447) + New Polarization: (0.39558,0.76988,0.5008) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.45078,-0.63783,0.62447) + Old Polarization: (0.39558,0.76988,0.5008) + New Momentum Direction: (0.45078,-0.63783,-0.62447) + New Polarization: (-0.39558,-0.76988,0.5008) + *** TotalInternalReflection *** + Photon at Boundary! + Old Momentum Direction: (0.45078,-0.63783,-0.62447) + Old Polarization: (-0.39558,-0.76988,0.5008) + New Momentum Direction: (-0.45078,-0.63783,-0.62447) + New Polarization: (-0.39558,0.76988,-0.5008) + *** TotalInternalReflection *** + +** Photon absorbed! ** +Track (trackID 1731, parentID 1) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.97573,-0.12957,-0.17656) - Old Polarization: (0.18213,0.92778,0.32567) - New Momentum Direction: (0.95468,-0.1761,-0.23997) - New Polarization: (-0.26732,-0.15271,-0.95143) + Old Momentum Direction: (0.21748,-0.92493,0.31177) + Old Polarization: (0.51211,0.38005,0.77026) + New Momentum Direction: (0.29437,-0.85747,0.42201) + New Polarization: (0.47814,0.51447,0.71183) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1598, parentID 1) is processed with stopping code 2 +Track (trackID 1730, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 19 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 17 Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.9408,-0.30631,0.14518) - Old Polarization: (0.065437,0.58435,0.80886) - New Momentum Direction: (0.88813,-0.4153,0.19684) - New Polarization: (-0.11942,0.20504,0.97144) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1646, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89624,-0.017867,-0.4432) - Old Polarization: (0.003248,0.99943,-0.033723) - New Momentum Direction: (0.7995,-0.024196,-0.60018) - New Polarization: (-0.0060592,0.99881,-0.048337) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1645, parentID 1) is processed with stopping code 2 ### pop requested out of 18 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.99087,-0.11927,-0.062917) - Old Polarization: (0.13465,0.84969,0.5098) - New Momentum Direction: (0.9831,-0.16194,-0.085425) - New Polarization: (-0.18294,-0.88754,-0.42285) + Old Momentum Direction: (-0.76768,-0.35618,-0.53273) + Old Polarization: (-0.47261,0.87611,0.095275) + New Momentum Direction: (-0.49692,-0.48233,-0.72141) + New Polarization: (0.73289,0.2119,-0.64651) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1644, parentID 1) is processed with stopping code 2 +Track (trackID 1776, parentID 1) is processed with stopping code 2 ### pop requested out of 17 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1643, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.38229,-0.924,0.0085943) - Old Polarization: (-0.73262,-0.29741,0.61222) - New Momentum Direction: (0.51882,-0.8548,0.011664) - New Polarization: (0.72513,0.44726,0.52359) + Old Momentum Direction: (-0.80116,-0.40501,-0.44058) + Old Polarization: (-0.53678,0.81182,0.22982) + New Momentum Direction: (-0.5929,-0.54498,-0.59285) + New Polarization: (0.75994,-0.13512,-0.6358) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1642, parentID 1) is processed with stopping code 2 +Track (trackID 1775, parentID 1) is processed with stopping code 2 +### pop requested out of 16 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.59636,-0.80119,0.0496) +Old Polarization: (-0.21976,0.22238,0.94987) +New Polarization: (0.22793,0.5408,0.63827) +Polarization Change: (0.26288,0.62371,0.73612) +New Momentum Direction: (0.92088,-0.039144,-0.29569) +Momentum Change: (0.95134,-0.040439,-0.30547) + Photon at Boundary! + Old Momentum Direction: (0.95134,-0.040439,-0.30547) + Old Polarization: (0.26288,0.62371,0.73612) + New Momentum Direction: (0.90865,-0.0548,-0.41396) + New Polarization: (-0.38105,0.29661,-0.87568) + *** FresnelRefraction *** +Track (trackID 1774, parentID 1) is processed with stopping code 2 ### pop requested out of 15 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.70621,-0.66591,0.24049) - Old Polarization: (-0.26695,0.064168,0.96157) - New Momentum Direction: (0.30221,-0.89656,0.3238) - New Polarization: (-0.50055,0.13983,0.85434) + Old Momentum Direction: (-0.66782,-0.74416,0.015874) + Old Polarization: (-0.32081,0.30701,0.896) + New Momentum Direction: (-0.90703,-0.42051,0.02156) + New Polarization: (-0.23651,0.55118,0.80016) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1641, parentID 1) is processed with stopping code 2 +Track (trackID 1773, parentID 1) is processed with stopping code 2 ### pop requested out of 14 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.57091,-0.79858,0.19063) - Old Polarization: (-0.46395,-0.12224,0.87738) - New Momentum Direction: (0.77273,-0.57992,0.25802) - New Polarization: (-0.14844,0.23012,0.96177) + Old Momentum Direction: (0.19875,-0.72539,-0.65902) + Old Polarization: (0.93841,0.33478,-0.085495) + New Momentum Direction: (0.27028,-0.35176,-0.89622) + New Polarization: (0.79792,0.60274,0.0040698) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1640, parentID 1) is processed with stopping code 2 +Track (trackID 1772, parentID 1) is processed with stopping code 2 ### pop requested out of 13 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.78685,-0.051992,-0.61496) - Old Polarization: (-0.15492,0.9479,-0.27837) - New Momentum Direction: (0.54741,-0.070502,-0.83389) - New Polarization: (-0.29128,0.91809,-0.26883) + Old Momentum Direction: (-0.82992,-0.48145,-0.28186) + Old Polarization: (-0.55717,0.68972,0.46244) + New Momentum Direction: (-0.65267,-0.65383,-0.38278) + New Polarization: (0.75715,-0.58106,-0.2985) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1639, parentID 1) is processed with stopping code 2 +Track (trackID 1771, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67992,-0.13491,-0.72077) - Old Polarization: (-0.30508,0.84177,-0.44536) - New Momentum Direction: (0.91464,-0.18149,-0.36125) - New Polarization: (0.39811,0.55979,0.72674) + Old Momentum Direction: (-0.37411,-0.32985,-0.86674) + Old Polarization: (0.10636,0.91318,-0.39343) + New Momentum Direction: (-0.50717,-0.44716,-0.73677) + New Polarization: (-0.80551,-0.058056,0.58973) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1638, parentID 1) is processed with stopping code 2 +Track (trackID 1770, parentID 1) is processed with stopping code 2 ### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.31772,-0.94259,-0.10288) - Old Polarization: (-0.8276,-0.32863,0.45506) - New Momentum Direction: (0.43019,-0.89192,-0.13929) - New Polarization: (0.88166,0.44827,-0.14742) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1637, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1769, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.98009,-0.058438,-0.18977) - Old Polarization: (0.11959,0.93667,0.32918) - New Momentum Direction: (0.96298,-0.07933,-0.25762) - New Polarization: (-0.19311,0.46375,-0.86466) + Old Momentum Direction: (0.17833,-0.93176,-0.31626) + Old Polarization: (0.9105,0.034391,0.41208) + New Momentum Direction: (0.24232,-0.86983,-0.42975) + New Polarization: (0.91907,0.063917,0.38886) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1636, parentID 1) is processed with stopping code 2 +Track (trackID 1768, parentID 1) is processed with stopping code 2 ### pop requested out of 9 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.23628,-0.73414,-0.63656) - Old Polarization: (-0.94845,-0.031854,-0.31531) - New Momentum Direction: (0.23628,0.73414,-0.63656) - New Polarization: (0.93304,0.011504,0.35959) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.23628,0.73414,-0.63656) - Old Polarization: (0.93304,0.011504,0.35959) - New Momentum Direction: (0.23628,0.73414,0.63656) - New Polarization: (-0.93304,-0.011504,0.35959) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.23628,0.73414,0.63656) - Old Polarization: (-0.93304,-0.011504,0.35959) - New Momentum Direction: (0.31916,0.39847,0.85986) - New Polarization: (-0.93374,-0.022929,0.35721) + Old Momentum Direction: (-0.022167,-0.99795,-0.060114) + Old Polarization: (0.61819,-0.060938,0.78366) + New Momentum Direction: (-0.030139,-0.9962,-0.081734) + New Polarization: (-0.11731,0.084732,-0.98947) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1635, parentID 1) is processed with stopping code 2 +Track (trackID 1767, parentID 1) is processed with stopping code 2 ### pop requested out of 8 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1634, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.14966,-0.41131,-0.89912) + Old Polarization: (0.4329,0.79031,-0.4336) + New Momentum Direction: (-0.20355,-0.55942,-0.80351) + New Polarization: (-0.18022,-0.78525,0.59236) + *** FresnelRefraction *** +Track (trackID 1766, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1633, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.82216,-0.50576,-0.26126) + Old Polarization: (-0.5637,0.65932,0.49754) + New Momentum Direction: (-0.64116,-0.68181,-0.3522) + New Polarization: (0.76354,-0.61277,-0.20376) + *** FresnelRefraction *** +Track (trackID 1765, parentID 1) is processed with stopping code 2 ### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.96892,-0.23273,0.08389) - Old Polarization: (0.103,0.68782,0.71853) - New Momentum Direction: (0.94187,-0.31607,0.11393) - New Polarization: (-0.17798,-0.18178,0.9671) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1632, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1764, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.97812,-0.20263,0.04714) - Old Polarization: (0.11965,0.73327,0.66932) - New Momentum Direction: (0.95943,-0.2746,0.063881) - New Polarization: (-0.19477,-0.48175,0.85439) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1631, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1763, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.50405,-0.28842,-0.81409) -Old Polarization: (-0.55912,0.60945,-0.5621) -New Polarization: (-0.79226,0.11127,-0.33187) -Polarization Change: (-0.9147,0.12847,-0.38316) -New Momentum Direction: (-0.34818,-0.13116,0.78721) -Momentum Change: (-0.39988,-0.15064,0.9041) -Scattering Photon! -Old Momentum Direction: (-0.39988,-0.15064,0.9041) -Old Polarization: (-0.9147,0.12847,-0.38316) -New Polarization: (-0.45419,0.41347,-0.61057) -Polarization Change: (-0.52444,0.47742,-0.705) -New Momentum Direction: (-0.21587,-0.82864,-0.40056) -Momentum Change: (-0.22835,-0.87654,-0.42372) Photon at Boundary! - Old Momentum Direction: (-0.22835,-0.87654,-0.42372) - Old Polarization: (-0.52444,0.47742,-0.705) - New Momentum Direction: (-0.30979,-0.75737,-0.57482) - New Polarization: (-0.43884,0.65021,-0.6202) + Old Momentum Direction: (-0.072158,-0.99712,-0.023217) + Old Polarization: (0.54507,-0.058918,0.83632) + New Momentum Direction: (-0.098162,-0.99467,-0.031584) + New Polarization: (-0.97036,0.088625,0.22481) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1630, parentID 1) is processed with stopping code 2 +Track (trackID 1762, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.44013,-0.37313,-0.81674) - Old Polarization: (-0.65358,0.49059,-0.57633) - New Momentum Direction: (0.59444,-0.50396,-0.62664) - New Polarization: (0.45538,-0.4313,0.77885) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1629, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1761, parentID 1) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4656,-0.87862,0.10605) - Old Polarization: (-0.61448,-0.23472,0.7532) - New Momentum Direction: (0.63115,-0.76222,0.14375) - New Polarization: (0.28273,0.39865,0.87243) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1628, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1760, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 16 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 13 Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 17 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.95192,0.024172,-0.30539) -Old Polarization: (-0.14916,0.90731,-0.39312) -New Polarization: (0.06626,0.36848,-0.78707) -Polarization Change: (0.076023,0.42277,-0.90304) -New Momentum Direction: (0.40211,0.69715,0.36023) -Momentum Change: (0.45604,0.79065,0.40854) - Photon at Boundary! - Old Momentum Direction: (0.45604,0.79065,0.40854) - Old Polarization: (0.076023,0.42277,-0.90304) - New Momentum Direction: (-0.45604,0.79065,0.40854) - New Polarization: (0.076023,-0.42277,0.90304) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.45604,0.79065,0.40854) - Old Polarization: (0.076023,-0.42277,0.90304) - New Momentum Direction: (-0.62011,0.55394,0.55553) - New Polarization: (0.060237,-0.6724,0.73773) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1662, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72263,-0.51319,0.46308) - Old Polarization: (-0.51469,0.047716,0.85605) - New Momentum Direction: (0.36656,-0.69074,0.6233) - New Polarization: (-0.79613,0.11381,0.59433) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1661, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.83736,-0.28343,0.46744) - Old Polarization: (-0.32886,0.42189,0.84491) - New Momentum Direction: (0.67232,-0.38381,0.63299) - New Polarization: (-0.537,0.3357,0.77391) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1660, parentID 1) is processed with stopping code 2 ### pop requested out of 14 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.59248,-0.64743,-0.47937) - Old Polarization: (-0.72109,-0.16093,-0.67389) - New Momentum Direction: (0.59248,0.64743,-0.47937) - New Polarization: (0.72109,-0.16093,0.67389) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.59248,0.64743,-0.47937) - Old Polarization: (0.72109,-0.16093,0.67389) - New Momentum Direction: (-0.59248,0.64743,-0.47937) - New Polarization: (0.72109,0.16093,-0.67389) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59248,0.64743,-0.47937) - Old Polarization: (0.72109,0.16093,-0.67389) - New Momentum Direction: (-0.59248,0.64743,0.47937) - New Polarization: (-0.72109,-0.16093,-0.67389) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1659, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.86084,0.11815,-0.49496) + Old Polarization: (0.25832,0.93949,-0.22501) + New Momentum Direction: (-0.72152,0.16076,-0.67347) + New Polarization: (0.44017,0.85733,-0.26692) + *** FresnelRefraction *** +Track (trackID 1789, parentID 1) is processed with stopping code 2 ### pop requested out of 13 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.99097,0.070674,-0.11395) - Old Polarization: (-0.081272,0.99251,-0.091208) - New Momentum Direction: (0.98338,0.095686,-0.15428) - New Polarization: (-0.13043,0.9635,-0.2338) + Old Momentum Direction: (-0.58513,-0.78495,-0.20365) + Old Polarization: (0.73585,-0.61948,0.27343) + New Momentum Direction: (-0.78991,-0.54814,-0.27492) + New Polarization: (-0.52142,0.83633,-0.1693) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1658, parentID 1) is processed with stopping code 2 +Track (trackID 1788, parentID 1) is processed with stopping code 2 ### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.59998,-0.71966,0.34947) - Old Polarization: (-0.70884,-0.27567,0.64927) - New Momentum Direction: (0.59998,0.71966,0.34947) - New Polarization: (0.37138,0.13636,-0.91841) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.59998,0.71966,0.34947) - Old Polarization: (0.37138,0.13636,-0.91841) - New Momentum Direction: (-0.59998,0.71966,0.34947) - New Polarization: (0.37138,-0.13636,0.91841) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59998,0.71966,0.34947) - Old Polarization: (0.37138,-0.13636,0.91841) - New Momentum Direction: (-0.59998,0.71966,-0.34947) - New Polarization: (-0.37138,0.13636,0.91841) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.59998,0.71966,-0.34947) - Old Polarization: (-0.37138,0.13636,0.91841) - New Momentum Direction: (-0.81454,0.33382,-0.47444) - New Polarization: (-0.56544,-0.2741,0.77791) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1657, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1787, parentID 1) is processed with stopping code 2 ### pop requested out of 11 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.99414,0.071765,-0.080798) - Old Polarization: (-0.075019,0.99646,-0.037977) - New Momentum Direction: (0.98926,0.097084,-0.1093) - New Polarization: (-0.11606,0.97616,-0.18339) + Old Momentum Direction: (-0.91378,0.13645,-0.38261) + Old Polarization: (0.16309,0.98588,-0.037907) + New Momentum Direction: (-0.83516,0.18475,-0.51804) + New Polarization: (0.28354,0.95171,-0.11769) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1656, parentID 1) is processed with stopping code 2 +Track (trackID 1786, parentID 1) is processed with stopping code 2 ### pop requested out of 10 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.90286,-0.070359,-0.42414) - Old Polarization: (-0.22065,0.77087,-0.59756) - New Momentum Direction: (0.81434,-0.094979,-0.57256) - New Polarization: (-0.36792,0.67848,-0.63584) + Old Momentum Direction: (-0.56759,-0.7853,-0.24726) + Old Polarization: (0.76419,-0.61427,0.19669) + New Momentum Direction: (-0.76761,-0.54677,-0.3344) + New Polarization: (-0.46424,0.83405,-0.29808) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1655, parentID 1) is processed with stopping code 2 +Track (trackID 1785, parentID 1) is processed with stopping code 2 ### pop requested out of 9 stacked tracks. +Scattering Photon! +Old Momentum Direction: (-0.80246,0.048755,-0.59471) +Old Polarization: (0.35516,0.83991,-0.41037) +New Polarization: (0.36235,0.83461,-0.40029) +Polarization Change: (0.36452,0.83962,-0.40269) +New Momentum Direction: (-0.59903,-0.11713,-0.78648) +Momentum Change: (-0.60171,-0.11766,-0.79) Photon at Boundary! - Old Momentum Direction: (0.61582,-0.70253,0.35667) - Old Polarization: (-0.68893,-0.26048,0.67641) - New Momentum Direction: (0.83043,-0.28117,0.48097) - New Polarization: (-0.30377,0.49518,0.81395) + Old Momentum Direction: (-0.60171,-0.11766,-0.79) + Old Polarization: (0.36452,0.83962,-0.40269) + New Momentum Direction: (-0.81286,-0.15895,-0.56035) + New Polarization: (-0.54839,0.53304,0.64431) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1654, parentID 1) is processed with stopping code 2 +Track (trackID 1784, parentID 1) is processed with stopping code 2 ### pop requested out of 8 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.50174,-0.85947,-0.09784) - Old Polarization: (-0.86499,-0.49766,-0.064231) - New Momentum Direction: (0.68145,-0.7197,-0.13288) - New Polarization: (0.66483,0.68466,-0.29874) + Old Momentum Direction: (-0.66603,-0.74533,-0.029939) + Old Polarization: (0.59522,-0.55522,0.5809) + New Momentum Direction: (-0.89757,-0.43902,-0.040348) + New Polarization: (-0.41757,0.81723,0.39719) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1653, parentID 1) is processed with stopping code 2 +Track (trackID 1783, parentID 1) is processed with stopping code 2 ### pop requested out of 7 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1652, parentID 1) is processed with stopping code 2 + Photon at Boundary! + Old Momentum Direction: (-0.87865,-0.42956,0.20845) + Old Polarization: (0.22701,0.0082264,0.97386) + New Momentum Direction: (-0.76093,-0.58374,0.28327) + New Polarization: (0.38952,-0.061832,0.91894) + *** FresnelRefraction *** +Track (trackID 1782, parentID 1) is processed with stopping code 2 ### pop requested out of 6 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.67344,-0.58672,0.4497) - Old Polarization: (-0.59089,-0.061692,0.80439) - New Momentum Direction: (-0.67344,-0.58672,0.4497) - New Polarization: (-0.59089,0.061692,-0.80439) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67344,-0.58672,0.4497) - Old Polarization: (-0.59089,0.061692,-0.80439) - New Momentum Direction: (-0.67344,0.58672,0.4497) - New Polarization: (0.59089,0.061692,0.80439) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67344,0.58672,0.4497) - Old Polarization: (0.59089,0.061692,0.80439) - New Momentum Direction: (-0.67344,0.58672,-0.4497) - New Polarization: (-0.59089,-0.061692,0.80439) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.67344,0.58672,-0.4497) - Old Polarization: (-0.59089,-0.061692,0.80439) - New Momentum Direction: (0.67344,0.58672,-0.4497) - New Polarization: (-0.59089,0.061692,-0.80439) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.67344,0.58672,-0.4497) - Old Polarization: (-0.59089,0.061692,-0.80439) - New Momentum Direction: (0.67344,-0.58672,-0.4497) - New Polarization: (0.59089,0.061692,0.80439) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1651, parentID 1) is processed with stopping code 2 + Old Momentum Direction: (-0.91951,0.1364,-0.36865) + Old Polarization: (0.1523,0.98823,-0.014246) + New Momentum Direction: (-0.84687,0.18453,-0.49876) + New Polarization: (0.26533,0.95941,-0.095542) + *** FresnelRefraction *** +Track (trackID 1781, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.69256,-0.46692,-0.54986) - Old Polarization: (-0.56479,0.1232,-0.81598) - New Momentum Direction: (-0.69256,-0.46692,-0.54986) - New Polarization: (-0.43893,-0.33214,0.83488) - *** FresnelReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1650, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73767,-0.36079,-0.57067) - Old Polarization: (-0.48918,0.29695,-0.82007) - New Momentum Direction: (0.40074,-0.48959,-0.77441) - New Polarization: (-0.77139,0.27575,-0.57351) + Old Momentum Direction: (-0.92794,0.13312,-0.34815) + Old Polarization: (0.13463,0.9907,0.019986) + New Momentum Direction: (-0.86427,0.17965,-0.46985) + New Polarization: (0.23496,0.97007,-0.061285) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1649, parentID 1) is processed with stopping code 2 +Track (trackID 1780, parentID 1) is processed with stopping code 2 +### pop requested out of 4 stacked tracks. + +** Photon absorbed! ** +Track (trackID 1779, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.94359,0.0078744,-0.33103) - Old Polarization: (-0.16054,0.88524,-0.43654) - New Momentum Direction: (0.89328,0.010689,-0.44937) - New Polarization: (-0.2717,0.80925,-0.52086) + Old Momentum Direction: (-0.98565,0.10061,-0.13554) + Old Polarization: (0.040464,0.92038,0.38892) + New Momentum Direction: (-0.97347,0.13638,-0.18373) + New Polarization: (0.072749,0.94577,0.31658) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1648, parentID 1) is processed with stopping code 2 +Track (trackID 1778, parentID 1) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.94704,0.010109,-0.32095) - Old Polarization: (-0.153,0.89296,-0.42334) - New Momentum Direction: (0.90037,0.013698,-0.4349) - New Polarization: (-0.25882,0.82031,-0.51) + Old Momentum Direction: (-0.91827,-0.33751,0.20706) + Old Polarization: (0.15873,0.1653,0.97339) + New Momentum Direction: (-0.84309,-0.45838,0.28121) + New Polarization: (0.27737,0.077345,0.95765) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1647, parentID 1) is processed with stopping code 2 +Track (trackID 1777, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 5 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 4 Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58503,-0.78492,-0.20407) - Old Polarization: (-0.79625,-0.50812,-0.32831) - New Momentum Direction: (0.58503,0.78492,-0.20407) - New Polarization: (0.22182,0.087174,0.97118) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.58503,0.78492,-0.20407) - Old Polarization: (0.22182,0.087174,0.97118) - New Momentum Direction: (-0.58503,0.78492,-0.20407) - New Polarization: (0.22182,-0.087174,-0.97118) - *** TotalInternalReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (-0.58503,0.78492,-0.20407) - Old Polarization: (0.22182,-0.087174,-0.97118) - New Momentum Direction: (-0.79276,0.54319,-0.27654) - New Polarization: (0.22051,-0.16738,-0.96092) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1667, parentID 1) is processed with stopping code 2 ### pop requested out of 5 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.62759,-0.72356,0.28739) - Old Polarization: (-0.71087,-0.38203,0.59053) - New Momentum Direction: (0.85362,-0.3443,0.39089) - New Polarization: (-0.071138,0.66633,0.74226) + Old Momentum Direction: (-0.7686,0.6074,-0.20079) + Old Polarization: (-0.63763,-0.75277,0.16361) + New Momentum Direction: (-0.50804,0.81781,-0.27035) + New Polarization: (0.85995,0.4638,-0.21303) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1666, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.77243,-0.4524,0.44574) -Old Polarization: (-0.44186,0.12134,0.88884) -New Polarization: (-0.12622,-0.48674,0.71257) -Polarization Change: (-0.14473,-0.55811,0.81705) -New Momentum Direction: (0.98419,-0.10763,0.10081) -Momentum Change: (0.98896,-0.10815,0.1013) - Photon at Boundary! - Old Momentum Direction: (0.98896,-0.10815,0.1013) - Old Polarization: (-0.14473,-0.55811,0.81705) - New Momentum Direction: (0.97952,-0.14695,0.13764) - New Polarization: (-0.19876,-0.59667,0.77748) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1665, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57399,-0.81778,0.042122) - Old Polarization: (-0.81418,-0.56446,0.13599) - New Momentum Direction: (0.77906,-0.62434,0.057171) - New Polarization: (0.60637,0.77353,0.1843) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1664, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58214,-0.80656,0.10285) - Old Polarization: (-0.79988,-0.54537,0.25051) - New Momentum Direction: (0.78967,-0.59746,0.13952) - New Polarization: (0.51516,0.76919,0.37811) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1663, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 5 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 6 stacked tracks. - -** Photon Absorbed! ** -Track (trackID 1672, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.15443,-0.75656,-0.63543) - Old Polarization: (-0.97416,-0.22389,0.029827) - New Momentum Direction: (0.15443,0.75656,-0.63543) - New Polarization: (0.95214,0.057755,0.30016) - *** FresnelReflection *** -No Absorbtion length specified - Photon at Boundary! - Old Momentum Direction: (0.15443,0.75656,-0.63543) - Old Polarization: (0.95214,0.057755,0.30016) - New Momentum Direction: (0.15443,0.75656,0.63543) - New Polarization: (-0.95214,-0.057755,0.30016) - *** TotalInternalReflection *** -No Absorbtion length specified - -** Photon Absorbed! ** -Track (trackID 1671, parentID 1) is processed with stopping code 2 +Track (trackID 1793, parentID 1) is processed with stopping code 2 ### pop requested out of 4 stacked tracks. Photon at Boundary! - Old Momentum Direction: (0.26169,-0.5309,-0.80602) - Old Polarization: (-0.61505,0.55186,-0.56317) - New Momentum Direction: (0.35376,-0.7177,-0.5998) - New Polarization: (0.058338,-0.62309,0.77997) + Old Momentum Direction: (-0.77343,0.62375,-0.1129) + Old Polarization: (-0.60631,-0.67601,0.4188) + New Momentum Direction: (-0.51314,0.84458,-0.15287) + New Polarization: (0.83966,0.53089,0.1146) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1670, parentID 1) is processed with stopping code 2 +Track (trackID 1792, parentID 1) is processed with stopping code 2 ### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49984,-0.42377,-0.75537) - Old Polarization: (0.20197,0.90511,-0.37414) - New Momentum Direction: (0.67701,-0.57399,-0.46064) - New Polarization: (0.70433,0.32376,0.63174) - *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1669, parentID 1) is processed with stopping code 2 + +** Photon absorbed! ** +Track (trackID 1791, parentID 1) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.488,-0.79507,-0.36017) -Old Polarization: (0.15119,-0.3294,0.93201) -New Polarization: (0.15872,-0.85973,0.21296) -Polarization Change: (0.17639,-0.95544,0.23667) -New Momentum Direction: (0.96387,0.21331,0.14277) -Momentum Change: (0.96632,0.21386,0.14314) Photon at Boundary! - Old Momentum Direction: (0.96632,0.21386,0.14314) - Old Polarization: (0.17639,-0.95544,0.23667) - New Momentum Direction: (0.93687,0.2906,0.1945) - New Polarization: (-0.27599,0.27292,0.9216) + Old Momentum Direction: (-0.26049,0.87264,-0.41308) + Old Polarization: (0.8899,0.051068,-0.4533) + New Momentum Direction: (-0.35386,0.74826,-0.56114) + New Polarization: (0.77922,-0.095973,-0.61936) *** FresnelRefraction *** -No Absorbtion length specified -Track (trackID 1668, parentID 1) is processed with stopping code 2 +Track (trackID 1790, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. Track (trackID 1, parentID 0) is processed with stopping code 2 ### pop requested out of 2 stacked tracks. -Track (trackID 1674, parentID 1) is processed with stopping code 2 +Track (trackID 1795, parentID 1) is processed with stopping code 2 ### pop requested out of 1 stacked tracks. -Track (trackID 1673, parentID 1) is processed with stopping code 2 +Track (trackID 1794, parentID 1) is processed with stopping code 2 ### pop requested out of 0 stacked tracks. ### 0 waiting tracks are re-classified to 0 urgent tracks and 0 waiting tracks. NULL returned from G4StackManager. Terminate current event processing. -number of event = 1 User=4.81s Real=5.63s Sys=0.64s +number of event = 1 User=4.28s Real=4.87s Sys=0.48s exit diff --git a/source/GNUmakefile b/source/GNUmakefile index 3874512fd3..c7003a1be1 100644 --- a/source/GNUmakefile +++ b/source/GNUmakefile @@ -1,18 +1,22 @@ -# $Id: GNUmakefile,v 1.20 2000/06/21 11:02:54 johna Exp $ +# $Id: GNUmakefile,v 1.25 2000/12/13 08:25:34 gcosmo Exp $ # ----------------------------------------------------------------- # "gmake" makes default libraries for each subdomain. -# "gmake glob" makes global libraries for each subdomain. -# Composite libraries are built. -# "gmake vis" makes global libraries and default (separate) visualization. -# "gmake total" makes everything, including the BREPS and the STEP code. +# "gmake global" makes global libraries for each subdomain. +# Composite libraries are built. +# "gmake includes" places header files .h/.hh in $G4INCLUDE +# "gmake libmap" forces rebuilding of map-file for granular libraries. +# "gmake clean_libs" removes just archive (.a) and shared (.so) libraries +# of current platform installation. +# "gmake clean" removes installation of current platform. +# "gmake clean_all" removes all platforms installations. # # (The .o files(s) are made by implicit rules.) MAKEFLAGS= --no-print-directory SUBDIR1 = global particles processes geometry digits+hits -SUBDIR2 = event tracking track materials run graphics_reps intercoms readout -SUBDIR3 = g3tog4 interfaces visualization +SUBDIR2 = event tracking track materials run graphics_reps intercoms parameterisations readout +SUBDIR3 = analysis g3tog4 interfaces visualization SUBDIR4 = persistency ifndef G4INSTALL @@ -25,7 +29,7 @@ G4LIBDIR := $(G4LIB)/$(G4SYSTEM) G4TMPDIR := $(G4TMP)/$(G4SYSTEM) unique := $(shell echo $$$$) -.PHONY: all glob global libmap clean_libs clean clean_all +.PHONY: all glob global libmap includes clean_libs clean clean_all all: ifdef G4USE_HEPODBMS @@ -102,6 +106,12 @@ $(G4LIBDIR)/liblist: $(G4INSTALL)/config/liblist.c @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ;fi $(CC) $(CCFLAGS) -o $(G4LIBDIR)/liblist $(G4INSTALL)/config/liblist.c +includes: + @echo Installing includes files in $(G4INCLUDE) ... + @for dir in $(SUBDIR1); do (cd $$dir && $(MAKE) $@); done + @for dir in $(SUBDIR2); do (cd $$dir && $(MAKE) $@); done + @for dir in $(SUBDIR3); do (cd $$dir && $(MAKE) $@); done + clean_libs: @echo Removing all libraries ... @for dir in $(SUBDIR1); do (cd $$dir && $(MAKE) clean_libs); done diff --git a/source/analysis/GNUmakefile b/source/analysis/GNUmakefile new file mode 100644 index 0000000000..ed38f86bda --- /dev/null +++ b/source/analysis/GNUmakefile @@ -0,0 +1,51 @@ +# $Id: GNUmakefile,v 1.4 2000/12/12 16:29:24 gunter Exp $ +# ----------------------------------------------------------------------- +# GNUmakefile for visualization and modeling. John Allison, 5/7/95. +# Modeling is always made. Others by environment. John Allison 4/7/98. +# ----------------------------------------------------------------------- + +MAKEFLAGS= --no-print-directory + +name := G4analysis + +ifndef G4INSTALL + G4INSTALL = ../.. +endif + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/analysis.gmk + +G4LIBDIR := $(G4LIB)/$(G4SYSTEM) +G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(name) + +SUBDIRS += management +SUBLIBS += G4analysis_management + +ifdef G4ANALYSIS_BUILD_LIZARD + SUBDIRS += Lizard + SUBLIBS += G4Lizard +endif + +ifdef G4ANALYSIS_BUILD_JAS + SUBDIRS += jas + SUBLIBS += G4jas +endif + +ifdef G4ANALYSIS_BUILD_LAB + SUBDIRS += Lab + SUBLIBS += G4Lab +endif + +.PHONY: granular glob global clean + +granular: + @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done + +includes: + @for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) $@ ); done + +glob global: + @echo "ERROR: The global target not relevant for the analysis category." + +clean: + @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done diff --git a/source/analysis/Lab/GNUmakefile b/source/analysis/Lab/GNUmakefile new file mode 100644 index 0000000000..9e4df2df33 --- /dev/null +++ b/source/analysis/Lab/GNUmakefile @@ -0,0 +1,19 @@ +# $Id: GNUmakefile,v 1.1.1.1 2000/11/07 14:31:38 barrand Exp $ + +name := G4Lab + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/analysis.gmk +include $(G4INSTALL)/config/interactivity.gmk + +CPPFLAGS += -I$(G4BASE)/global/management/include + +ifdef G4ANALYSIS_BUILD_OPEN_SCIENTIST +# CPPFLAGS += +endif + +include $(G4INSTALL)/config/common.gmk diff --git a/source/analysis/Lab/include/G4LabSystem.hh b/source/analysis/Lab/include/G4LabSystem.hh new file mode 100644 index 0000000000..2be79fea65 --- /dev/null +++ b/source/analysis/Lab/include/G4LabSystem.hh @@ -0,0 +1,55 @@ +// 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: G4LabSystem.hh,v 1.2 2000/11/16 13:44:38 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifndef G4LABSYSTEM_H +#define G4LABSYSTEM_H + +#if defined(G4ANALYSIS_BUILD_LAB) || defined(G4ANALYSIS_USE_LAB) + +#include "G4VAnalysisSystem.hh" + +class IHistogramManager; +class IStorageSystemManager; +class ICloud; +class ICloudFactory; +class ICloudManager; +class ITuple; +class ITupleManager; +class ISession; + +class G4LabSystem : public G4VAnalysisSystem { +public: // I methods : + virtual const G4String& GetName() const; + virtual IHistogramFactory* GetHistogramFactory(); + virtual ICloudFactory* GetCloudFactory(); + virtual ITuple* CreateTuple(const G4String&,const G4String&); + // + virtual void Store(IHistogram* = 0,const G4String& = ""); + virtual void Plot(IHistogram*); + virtual void Plot(ICloud*); +public: + G4LabSystem(const G4String& name = "Lab"); + virtual ~G4LabSystem(); +private: + G4String fName; + IStorageSystemManager* fStorageManager; + IHistogramManager* fHistogramManager; + ICloudManager* fCloudManager; + ITupleManager* fTupleManager; + ISession* fSession; +}; + +#endif + +#endif + diff --git a/source/analysis/Lab/src/G4LabSystem.cc b/source/analysis/Lab/src/G4LabSystem.cc new file mode 100644 index 0000000000..b326d7f752 --- /dev/null +++ b/source/analysis/Lab/src/G4LabSystem.cc @@ -0,0 +1,167 @@ +// 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: G4LabSystem.cc,v 1.2 2000/11/16 13:44:41 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifdef G4ANALYSIS_BUILD_LAB + +#include + +#include "G4ios.hh" + +#include "G4LabSystem.hh" + +#ifdef G4ANALYSIS_LAB_VISUALIZATION +#include +#include +#include +#include +BegNameSpace(Lib) +#include +EndNameSpace +BegNameSpace(OnX) +#include +#include +#include +EndNameSpace +#endif + +G4LabSystem::G4LabSystem ( + const G4String& aName +) +:fName(aName) +,fStorageManager(0) +,fHistogramManager(0) +,fCloudManager(0) +,fTupleManager(0) +,fSession(0) +{ +#ifdef G4ANALYSIS_LAB_VISUALIZATION + fSession = new OnX::Session; + if(fSession) { + OnX::XmUI* gui = new OnX::XmUI(fSession,0,0); + if(gui) { + fSession->addManager(gui); + gui->executeCreateCallbacks(); + //gui->steer(); + } + } + fHistogramManager = + (IHistogramManager*)fSession->findManager("HistogramManager"); + if(!fHistogramManager) { + G4cout << "Can't find the histogram manager" << G4std::endl; + } + fCloudManager = + (ICloudManager*)fSession->findManager("CloudManager"); + if(!fCloudManager) { + G4cout << "Can't find the cloud manager" << G4std::endl; + } + fTupleManager = + (ITupleManager*)fSession->findManager("TupleManager"); + if(!fTupleManager) { + G4cout << "Can't find the tuple manager" << G4std::endl; + } + fStorageManager = + (IStorageSystemManager*)fSession->findManager("StorageManager"); + if(!fStorageManager) { + G4cout << "Can't find the storage manager" << G4std::endl; + } +#else + fHistogramManager = new Lab::HistogramManager(); + fCloudManager = new Lab::CloudManager(); + fTupleManager = new Lab::TupleManager(); + fStorageManager = new Lab::StorageManager(); +#endif +} +G4LabSystem::~G4LabSystem (){ +#ifdef G4ANALYSIS_LAB_VISUALIZATION + delete fSession; // Will delete the gui object and the managers. +#else + delete fHistogramManager; + delete fCloudManager; + delete fTupleManager; + delete fStorageManager; +#endif + Lib::Memory::dump(); +} +const G4String& G4LabSystem::GetName() const { + return fName; +} +IHistogramFactory* G4LabSystem::GetHistogramFactory() { + return fHistogramManager; +} +ICloudFactory* G4LabSystem::GetCloudFactory() { + return fCloudManager; +} +ITuple* G4LabSystem::CreateTuple( + const G4String& aStorage +,const G4String& aSID +){ + if(!fTupleManager) return 0; + Lab::RioStorage* storageRio = new Lab::RioStorage(aStorage, + "RECREATE", + fStorageManager); + return new Lab::RioTuple(storageRio,aSID,fTupleManager); +} + +void G4LabSystem::Store(IHistogram*,const G4String&){ + if(!fHistogramManager) return; + Lab::RioStorage* storage = new Lab::RioStorage("g4osc.root","RECREATE"); + //rioDB->createDirectory("histograms"); + //rioDB->cd("histograms"); + int number = fHistogramManager->size(); + for(int count=0;counttitle().c_str(); + //G4cout << "G4Lab : store : " << title << G4std::endl; + fHistogramManager->store(histo,storage,title); + } + storage->commit(); + delete storage; + //if(verboseLevel>1) G4cout << "Analysis is deleting." << G4endl; + //clear(); +} +void G4LabSystem::Plot(IHistogram* aHistogram){ + if(!fHistogramManager) return; +#ifdef G4ANALYSIS_LAB_VISUALIZATION + if(fSession) { + IUI* ui = (IUI*)fSession->findManager("UI_Manager"); + if(ui) { + IViewer* viewer = ui->getCurrentViewer(); + if(viewer) { + viewer->erase("region"); + fHistogramManager->visualize(aHistogram,viewer); + viewer->next(); + ui->synchronize(); + } + } + } +#endif +} +void G4LabSystem::Plot(ICloud* aCloud){ + if(!fCloudManager) return; +#ifdef G4ANALYSIS_LAB_VISUALIZATION + if(fSession) { + IUI* ui = (IUI*)fSession->findManager("UI_Manager"); + if(ui) { + IViewer* viewer = ui->getCurrentViewer(); + if(viewer) { + viewer->erase("region"); + fCloudManager->visualize(aCloud,viewer); + viewer->next(); + ui->synchronize(); + } + } + } +#endif +} + +#endif diff --git a/source/analysis/Lizard/GNUmakefile b/source/analysis/Lizard/GNUmakefile new file mode 100644 index 0000000000..741c3e3141 --- /dev/null +++ b/source/analysis/Lizard/GNUmakefile @@ -0,0 +1,18 @@ +# $Id: GNUmakefile,v 1.1.1.1 2000/10/31 21:42:25 barrand Exp $ + +name := G4Lizard + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/analysis.gmk + +CPPFLAGS += -I$(G4BASE)/global/management/include + +ifdef G4ANALYSIS_BUILD_LIZARD +# CPPFLAGS += +endif + +include $(G4INSTALL)/config/common.gmk diff --git a/source/analysis/Lizard/include/G4LizardSystem.hh b/source/analysis/Lizard/include/G4LizardSystem.hh new file mode 100644 index 0000000000..bb18b8d1b9 --- /dev/null +++ b/source/analysis/Lizard/include/G4LizardSystem.hh @@ -0,0 +1,45 @@ +// 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: G4LizardSystem.hh,v 1.5 2000/11/16 13:44:41 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifndef G4LIZARDSYSTEM_H +#define G4LIZARDSYSTEM_H + +#if defined(G4ANALYSIS_BUILD_LIZARD) || defined(G4ANALYSIS_USE_LIZARD) + +#include "G4VAnalysisSystem.hh" + +class IHistogramFactory; +class IVectorFactory; +class IPlotter; + +class G4LizardSystem : public G4VAnalysisSystem { +public: // I methods : + virtual const G4String& GetName() const; + virtual IHistogramFactory* GetHistogramFactory(); + // + virtual void Store(IHistogram* = 0,const G4String& = ""); + virtual void Plot(IHistogram*); +public: + G4LizardSystem(const G4String& name = "Lizard"); + virtual ~G4LizardSystem(); +private: + G4String fName; + IHistogramFactory* fHistogramFactory; + IVectorFactory* fVectorFactory; + IPlotter* fPlotter; +}; + +#endif + +#endif + diff --git a/source/analysis/Lizard/src/G4LizardSystem.cc b/source/analysis/Lizard/src/G4LizardSystem.cc new file mode 100644 index 0000000000..7c591b1b8c --- /dev/null +++ b/source/analysis/Lizard/src/G4LizardSystem.cc @@ -0,0 +1,128 @@ +// 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: G4LizardSystem.cc,v 1.8 2000/11/17 08:16:45 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifdef G4ANALYSIS_BUILD_LIZARD + +#include +#include +//#include + +#ifdef AIDA_DONT_USE_STD +#define AIDA_STD +#else +#define AIDA_STD std +#endif + +// Lizard : +#include +#include "AIDA_Plotter/AIDAPlotter.h" +#include "Interfaces/IVector.h" +#include "Interfaces/IVectorFactory.h" + +#include "G4ios.hh" + +#include "G4LizardSystem.hh" + +G4LizardSystem::G4LizardSystem ( + const G4String& aName +) +:fName(aName) +,fHistogramFactory(0) +,fVectorFactory(0) +,fPlotter(0) +{ + fHistogramFactory = createIHistogramFactory(); + if (fHistogramFactory == 0) { + G4cout << "Can't find the histogram factory." << G4std::endl; + } + + fVectorFactory = createIVectorFactory(); + if (fVectorFactory == 0) { + G4cout << "Can't find the vector factory." << G4std::endl; + } + + fPlotter = createIPlotter(); // create plotter with 1 zone + if (fPlotter == 0) { + G4cout << "Can't create a plotter." << G4std::endl; + } +} +G4LizardSystem::~G4LizardSystem (){ + delete fHistogramFactory; +} +const G4String& G4LizardSystem::GetName() const { + return fName; +} +IHistogramFactory* G4LizardSystem::GetHistogramFactory() { + return fHistogramFactory; +} +void G4LizardSystem::Store(IHistogram* aHistogram,const G4String& aStorageID){ + if (!aHistogram) return; + if (aStorageID == "") return; + + if (aHistogram->dimensions()==1) { + IVector* v = + fVectorFactory->from1D(dynamic_cast(aHistogram)); + if (v == 0) { + G4cerr << "G4LizardSystem::Store> ERROR: could not create vector !" << +G4std::endl; + return; + } + v->toAscii(aStorageID.c_str()); + delete v; // don't forget this ! + } + + if(aHistogram->dimensions()==2) { + IVector* v = + fVectorFactory->from2D(dynamic_cast(aHistogram)); + if (v == 0) { + G4cerr << "G4LizardSystem::Store> ERROR: could not create vector !" << +G4std::endl; + return; + } + v->toAscii(aStorageID.c_str()); + delete v; // don't forget this ! + } +} +void G4LizardSystem::Plot(IHistogram* aHistogram){ + if(!fVectorFactory) return; + if(!fPlotter) return; + if(!aHistogram) return; + + if(aHistogram->dimensions()==1) { + IVector* v = + fVectorFactory->from1D(dynamic_cast(aHistogram)); + if (v == 0) { + G4cerr << "ERROR: could not create vector !" << G4std::endl; + return; + } + fPlotter->plot(v); + fPlotter->refresh(); + delete v; // don't forget this ! + } + + if(aHistogram->dimensions()==2) { + IVector* v = + fVectorFactory->from2D(dynamic_cast(aHistogram)); + if (v == 0) { + G4cerr << "ERROR: could not create vector !" << G4std::endl; + return; + } + fPlotter->plot(v); + fPlotter->refresh(); + delete v; // don't forget this ! + } + + //fPlotter->psPrint("posplot.ps"); +} + +#endif diff --git a/source/analysis/jas/GNUmakefile b/source/analysis/jas/GNUmakefile new file mode 100644 index 0000000000..1e46f0cc35 --- /dev/null +++ b/source/analysis/jas/GNUmakefile @@ -0,0 +1,18 @@ +# $Id: GNUmakefile,v 1.2 2000/09/14 12:42:32 barrand Exp $ + +name := G4jas + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/analysis.gmk + +CPPFLAGS += -I$(G4BASE)/global/management/include + +ifdef G4ANALYSIS_BUILD_JAS +# CPPFLAGS += +endif + +include $(G4INSTALL)/config/common.gmk diff --git a/source/analysis/jas/include/G4JasSystem.hh b/source/analysis/jas/include/G4JasSystem.hh new file mode 100644 index 0000000000..f5edc2c5d6 --- /dev/null +++ b/source/analysis/jas/include/G4JasSystem.hh @@ -0,0 +1,42 @@ +// 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: G4JasSystem.hh,v 1.8 2000/11/16 13:44:43 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifndef G4JASSYSTEM_H +#define G4JASSYSTEM_H + +#if defined(G4ANALYSIS_BUILD_JAS) || defined(G4ANALYSIS_USE_JAS) + +#include "G4VAnalysisSystem.hh" + +class IHistogramManager; +class JasHistogramFactory; + +class G4JasSystem : public G4VAnalysisSystem { +public: // I methods : + virtual const G4String& GetName() const; + virtual IHistogramFactory* GetHistogramFactory(); + // + virtual void Store(IHistogram* = 0,const G4String& = ""); + virtual void Plot(IHistogram*); +public: + G4JasSystem(const G4String& name = "jas"); + virtual ~G4JasSystem(); +private: + G4String fName; + JasHistogramFactory* fHistogramFactory; +}; + +#endif + +#endif + diff --git a/source/analysis/jas/include/JasAxis.h b/source/analysis/jas/include/JasAxis.h new file mode 100644 index 0000000000..30ec40321d --- /dev/null +++ b/source/analysis/jas/include/JasAxis.h @@ -0,0 +1,24 @@ +#ifndef JASAXIS_H +#define JASAXIS_H + +#if defined(G4ANALYSIS_BUILD_JAS) + +#include + +class JasAxis : public IAxis { +public: + virtual ~JasAxis() {} +public: + virtual double lowerEdge() const; + virtual double upperEdge() const; + virtual int bins() const; + virtual double binLowerEdge(int) const; + virtual double binUpperEdge(int) const; + virtual double binWidth(int) const; + virtual double binCentre(int) const; + virtual int coordToIndex(double) const; +}; + +#endif + +#endif diff --git a/source/analysis/jas/include/JasHistogram1D.h b/source/analysis/jas/include/JasHistogram1D.h new file mode 100644 index 0000000000..4355503588 --- /dev/null +++ b/source/analysis/jas/include/JasHistogram1D.h @@ -0,0 +1,59 @@ +#ifndef JASHISTOGRAM1D_H +#define JASHISTOGRAM1D_H + +#if defined(G4ANALYSIS_BUILD_JAS) + +#include + +#include "JasAxis.h" + +class JasHistogramFactory; + +class JasHistogram1D : public IHistogram1D { +public: // IHistogram IMethods : + virtual std_string title() const; + virtual int dimensions() const; + virtual int entries() const; + virtual int allEntries() const; + virtual int extraEntries() const; + virtual double equivalentBinEntries() const; + virtual double sumBinHeights() const; + virtual double sumAllBinHeights() const; + virtual double sumExtraBinHeights() const; + virtual double minBinHeight() const; + virtual double maxBinHeight() const; + virtual void reset(); + virtual IAnnotation* annotation(); +public: // IHistogram1D IMethods : + // The fill : + virtual void fill(double,double = 1.0); + + // Partition : + virtual int minBin() const; + virtual int maxBin() const; + virtual int coordToIndex(double) const; + + virtual double mean() const; + virtual double rms() const; + + // Bins : + virtual int binEntries(int) const; + virtual double binHeight(int) const; + virtual double binError(int) const; + + // Axis : + virtual const IAxis& xAxis() const; +public: + JasHistogram1D(JasHistogramFactory *factory, const char *title); + virtual ~JasHistogram1D(); +private: + jmethodID fillMethod; + jobject fJasHist; + JNIEnv* fEnv; + JasAxis fAxis; + std_string fTitle; +}; + +#endif + +#endif diff --git a/source/analysis/jas/include/JasHistogram2D.h b/source/analysis/jas/include/JasHistogram2D.h new file mode 100644 index 0000000000..9880efa8eb --- /dev/null +++ b/source/analysis/jas/include/JasHistogram2D.h @@ -0,0 +1,67 @@ +#ifndef JASHISTOGRAM2D_H +#define JASHISTOGRAM2D_H + +#if defined(G4ANALYSIS_BUILD_JAS) + +#include + +#include "JasAxis.h" + +class JasHistogramFactory; + +class JasHistogram2D : public IHistogram2D { +public: // IHistogram IMethods : + virtual std_string title() const; + virtual int dimensions() const; + virtual int entries() const; + virtual int allEntries() const; + virtual int extraEntries() const; + virtual double equivalentBinEntries() const; + virtual double sumBinHeights() const; + virtual double sumAllBinHeights() const; + virtual double sumExtraBinHeights() const; + virtual double minBinHeight() const; + virtual double maxBinHeight() const; + virtual void reset(); + virtual IAnnotation* annotation(); +public: // IHistogram2D IMethods : + virtual void fill( double x, double y, double weight = 1 ); + virtual int binEntries( int indexX, int indexY ) const; + virtual int binEntriesX( int indexX ) const; + virtual int binEntriesY( int indexY ) const; + virtual double binHeight( int indexX, int indexY ) const; + virtual double binHeightX( int indexX ) const; + virtual double binHeightY( int indexY ) const; + virtual double binError( int indexX, int indexY ) const; + virtual double meanX() const; + virtual double meanY() const; + virtual double rmsX() const; + virtual double rmsY() const; + virtual int minBinX() const; + virtual int minBinY() const; + virtual int maxBinX() const; + virtual int maxBinY() const; + virtual const IAxis& xAxis() const; + virtual const IAxis& yAxis() const; + virtual int coordToIndexX( double coordX ) const; + virtual int coordToIndexY( double coordY ) const; + virtual IHistogram1D* projectionX() const; + virtual IHistogram1D* projectionY() const; + virtual IHistogram1D* sliceX( int indexY ) const; + virtual IHistogram1D* sliceY( int indexX ) const; + virtual IHistogram1D* sliceX( int indexY1, int indexY2 ) const; + virtual IHistogram1D* sliceY( int indexX1, int indexX2 ) const; +public: + JasHistogram2D(JasHistogramFactory *factory, const char *title); + virtual ~JasHistogram2D(); +private: + jmethodID fillMethod; + jobject fJasHist; + JNIEnv* fEnv; + JasAxis fAxis; + std_string fTitle; +}; + +#endif + +#endif diff --git a/source/analysis/jas/include/JasHistogramFactory.h b/source/analysis/jas/include/JasHistogramFactory.h new file mode 100644 index 0000000000..228f6f33c0 --- /dev/null +++ b/source/analysis/jas/include/JasHistogramFactory.h @@ -0,0 +1,37 @@ +// JHistogramFactory.h: interface for the JHistogramFactory class. +////////////////////////////////////////////////////////////////////// +#ifndef JASHISTOGRAMFACTORY +#define JASHISTOGRAMFACTORY + +#if defined(G4ANALYSIS_BUILD_JAS) + +#include + +#include + +class JasHistogramFactory +: public IHistogramFactory +{ + public: // IMethods : + virtual IHistogram1D* create1D(const std_string&, + int=0,double=0,double=0, + int=0); + virtual IHistogram2D* create2D(const std_string&, + int=0,double=0,double=0, + int=0,double=0,double=0, + int=0); + virtual void destroy(IHistogram*); + public: + JasHistogramFactory(); + virtual ~JasHistogramFactory(); + JNIEnv* getEnv(); + void error(const char* message); + private: + jobject fJob; + void createJVM(); + void destroyJVM(); +}; + +#endif + +#endif diff --git a/source/analysis/jas/src/G4JasSystem.cc b/source/analysis/jas/src/G4JasSystem.cc new file mode 100644 index 0000000000..abc0d4d3e4 --- /dev/null +++ b/source/analysis/jas/src/G4JasSystem.cc @@ -0,0 +1,49 @@ +// 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: G4JasSystem.cc,v 1.8 2000/11/16 13:44:43 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 14 September 2000 + +#ifdef G4ANALYSIS_BUILD_JAS + +#include "JasHistogramFactory.h" + +#include "G4ios.hh" + +#include "G4JasSystem.hh" + +G4JasSystem::G4JasSystem ( + const G4String& aName +) +:fName(aName) +,fHistogramFactory(0) +{ +} +G4JasSystem::~G4JasSystem ( +) +{ + delete fHistogramFactory; +} +const G4String& G4JasSystem::GetName() const { + return fName; +} +IHistogramFactory* G4JasSystem::GetHistogramFactory() { + if(!fHistogramFactory) { + G4cout << "Activate jas analysis system" << G4std::endl; + fHistogramFactory = new JasHistogramFactory(); + } + return fHistogramFactory; +} +void G4JasSystem::Store(IHistogram*,const G4String&) { +} +void G4JasSystem::Plot(IHistogram*) { +} + +#endif diff --git a/source/analysis/jas/src/JasAxis.cc b/source/analysis/jas/src/JasAxis.cc new file mode 100644 index 0000000000..016185a792 --- /dev/null +++ b/source/analysis/jas/src/JasAxis.cc @@ -0,0 +1,15 @@ + +#ifdef G4ANALYSIS_BUILD_JAS + +#include "JasAxis.h" + +double JasAxis::lowerEdge() const {return 0;} +double JasAxis::upperEdge() const { return 0;} +int JasAxis::bins() const { return 0;} +double JasAxis::binLowerEdge(int) const { return 0;} +double JasAxis::binUpperEdge(int) const { return 0;} +double JasAxis::binWidth(int) const { return 0;} +double JasAxis::binCentre(int) const { return 0;} +int JasAxis::coordToIndex(double) const { return 0;} + +#endif diff --git a/source/analysis/jas/src/JasHistogram1D.cc b/source/analysis/jas/src/JasHistogram1D.cc new file mode 100644 index 0000000000..30f52cc243 --- /dev/null +++ b/source/analysis/jas/src/JasHistogram1D.cc @@ -0,0 +1,89 @@ +// JasHistogram.cpp: implementation of the JasHistogram1D class. +////////////////////////////////////////////////////////////////////// + +#ifdef G4ANALYSIS_BUILD_JAS + +#include +#include +#include +#include "JasHistogram1D.h" +#include "JasHistogramFactory.h" + +JasHistogram1D::JasHistogram1D(JasHistogramFactory* factory, const char* title) +:fillMethod(NULL) +,fJasHist(NULL) +,fEnv(NULL) +{ + fEnv = factory->getEnv(); + if(fEnv==NULL) return; + // Create the corresponding Java histogram + jclass cls = fEnv->FindClass("hep/analysis/Histogram"); + if (cls == NULL) { + factory->error("Could not create hep.analysis.Histogram"); + fEnv = 0; + return; + } + jmethodID constructor = + fEnv->GetMethodID(cls, "", "(Ljava/lang/String;)V"); + if (constructor == NULL) { + factory->error("Could not find constructor for hep.analysis.Histogram"); + fEnv = 0; + return; + } + fillMethod = fEnv->GetMethodID(cls,"fill","(D)V"); + if (fillMethod == NULL) { + factory->error("Could not find fill method for hep.analysis.Histogram"); + fEnv = 0; + return; + } + jstring jtitle = fEnv->NewStringUTF(title); + fJasHist = fEnv->NewObject(cls,constructor,jtitle); +} + +JasHistogram1D::~JasHistogram1D() +{ + if(fEnv==NULL) return; + fEnv->DeleteLocalRef(fJasHist); +} + +void JasHistogram1D::fill(double value,double) +{ + if(fEnv==NULL) return; + fEnv->CallVoidMethod(fJasHist,fillMethod,value); +} + +// Today dummy methods.... +#define IWeight double +#define ICoordinate double +#define ISize int +#define IBin int + +// IHistogram : +std_string JasHistogram1D::title() const {return fTitle;} +int JasHistogram1D::dimensions() const {return 1;} +ISize JasHistogram1D::entries() const {return 0;} +ISize JasHistogram1D::allEntries() const {return 0;} +ISize JasHistogram1D::extraEntries() const {return 0;} +IWeight JasHistogram1D::equivalentBinEntries() const {return 0;} +IWeight JasHistogram1D::sumBinHeights() const {return 0;} +IWeight JasHistogram1D::sumAllBinHeights() const {return 0;} +IWeight JasHistogram1D::sumExtraBinHeights() const {return 0;} +IWeight JasHistogram1D::minBinHeight() const {return 0;} +IWeight JasHistogram1D::maxBinHeight() const {return 0;} +void JasHistogram1D::reset() {} +IAnnotation* JasHistogram1D::annotation() {return 0;} +// IHistogram1D : +IBin JasHistogram1D::minBin() const {return 0;} +IBin JasHistogram1D::maxBin() const {return 0;} +IBin JasHistogram1D::coordToIndex(ICoordinate) const {return 0;} +ICoordinate JasHistogram1D::mean() const {return 0;} +ICoordinate JasHistogram1D::rms() const {return 0;} + +// Bins : +ISize JasHistogram1D::binEntries(IBin) const {return 0;} +IWeight JasHistogram1D::binHeight(IBin) const {return 0;} +IWeight JasHistogram1D::binError(IBin) const {return 0;} + +const IAxis& JasHistogram1D::xAxis() const {return fAxis;} + +#endif diff --git a/source/analysis/jas/src/JasHistogram2D.cc b/source/analysis/jas/src/JasHistogram2D.cc new file mode 100644 index 0000000000..48127e705d --- /dev/null +++ b/source/analysis/jas/src/JasHistogram2D.cc @@ -0,0 +1,98 @@ +// JasHistogram.cpp: implementation of the JasHistogram2D class. +////////////////////////////////////////////////////////////////////// + +#ifdef G4ANALYSIS_BUILD_JAS + +#include +#include +#include + +#include "JasHistogram2D.h" +#include "JasHistogramFactory.h" + +JasHistogram2D::JasHistogram2D(JasHistogramFactory* factory, const char* title) +:fillMethod(NULL) +,fJasHist(NULL) +,fEnv(NULL) +{ + fEnv = factory->getEnv(); + if(fEnv==NULL) return; + // Create the corresponding Java histogram + jclass cls = fEnv->FindClass("hep/analysis/Histogram"); + if (cls == NULL) { + factory->error("Could not create hep.analysis.Histogram"); + fEnv = 0; + return; + } + jmethodID constructor = + fEnv->GetMethodID(cls, "", "(Ljava/lang/String;)V"); + if (constructor == NULL) { + factory->error("Could not find constructor for hep.analysis.Histogram"); + fEnv = 0; + return; + } + fillMethod = fEnv->GetMethodID(cls,"fill","(D)V"); + if (fillMethod == NULL) { + factory->error("Could not find fill method for hep.analysis.Histogram"); + fEnv = 0; + return; + } + jstring jtitle = fEnv->NewStringUTF(title); + fJasHist = fEnv->NewObject(cls,constructor,jtitle); +} + +JasHistogram2D::~JasHistogram2D() +{ + if(fEnv==NULL) return; + fEnv->DeleteLocalRef(fJasHist); +} + +void JasHistogram2D::fill(double x,double y, double w) +{ + if(fEnv==NULL) return; + fEnv->CallVoidMethod(fJasHist,fillMethod,x); +} + +// IHistogram : +std_string JasHistogram2D::title() const {return fTitle;} +int JasHistogram2D::dimensions() const {return 1;} +int JasHistogram2D::entries() const {return 0;} +int JasHistogram2D::allEntries() const {return 0;} +int JasHistogram2D::extraEntries() const {return 0;} +double JasHistogram2D::equivalentBinEntries() const {return 0;} +double JasHistogram2D::sumBinHeights() const {return 0;} +double JasHistogram2D::sumAllBinHeights() const {return 0;} +double JasHistogram2D::sumExtraBinHeights() const {return 0;} +double JasHistogram2D::minBinHeight() const {return 0;} +double JasHistogram2D::maxBinHeight() const {return 0;} +void JasHistogram2D::reset() {} +IAnnotation* JasHistogram2D::annotation() {return 0;} + +// IHistogram2D : +int JasHistogram2D::binEntries( int indexX, int indexY ) const {return 0;} +int JasHistogram2D::binEntriesX( int indexX ) const {return 0;} +int JasHistogram2D::binEntriesY( int indexY ) const {return 0;} +double JasHistogram2D::binHeight( int indexX, int indexY ) const {return 0;} +double JasHistogram2D::binHeightX( int indexX ) const {return 0;} +double JasHistogram2D::binHeightY( int indexY ) const {return 0;} +double JasHistogram2D::binError( int indexX, int indexY ) const {return 0;} +double JasHistogram2D::meanX() const {return 0;} +double JasHistogram2D::meanY() const {return 0;} +double JasHistogram2D::rmsX() const {return 0;} +double JasHistogram2D::rmsY() const {return 0;} +int JasHistogram2D::minBinX() const {return 0;} +int JasHistogram2D::minBinY() const {return 0;} +int JasHistogram2D::maxBinX() const {return 0;} +int JasHistogram2D::maxBinY() const {return 0;} +const IAxis& JasHistogram2D::xAxis() const {return fAxis;} +const IAxis& JasHistogram2D::yAxis() const {return fAxis;} +int JasHistogram2D::coordToIndexX( double coordX ) const {return 0;} +int JasHistogram2D::coordToIndexY( double coordY ) const {return 0;} +IHistogram1D* JasHistogram2D::projectionX() const {return 0;} +IHistogram1D* JasHistogram2D::projectionY() const {return 0;} +IHistogram1D* JasHistogram2D::sliceX( int indexY ) const {return 0;} +IHistogram1D* JasHistogram2D::sliceY( int indexX ) const {return 0;} +IHistogram1D* JasHistogram2D::sliceX( int indexY1, int indexY2 ) const {return 0;} +IHistogram1D* JasHistogram2D::sliceY( int indexX1, int indexX2 ) const {return 0;} + +#endif diff --git a/source/analysis/jas/src/JasHistogramFactory.cc b/source/analysis/jas/src/JasHistogramFactory.cc new file mode 100644 index 0000000000..e656a1cf65 --- /dev/null +++ b/source/analysis/jas/src/JasHistogramFactory.cc @@ -0,0 +1,119 @@ +// JasHistogramFactory.cpp: implementation of the JasHistogramFactory class. +// +////////////////////////////////////////////////////////////////////// + +#ifdef G4ANALYSIS_BUILD_JAS + +#include +#include +#include + +#include "G4ios.hh" + +#include "JasHistogramFactory.h" +#include "JasHistogram1D.h" + +static JNIEnv* env = 0; +static JavaVM* jvm = 0; + + +JasHistogramFactory::JasHistogramFactory() +:fJob(NULL) +{ + createJVM(); + + if(env==NULL) return; + + const char* title = "G4Job"; + // Create a Job to encapsulate the histograms + jclass cls = env->FindClass("jas/server/HistogramServer"); + if (cls == NULL) { + error("Could not find class jas.server.HistogramServer"); + return; + } + jmethodID constructor = + env->GetMethodID(cls,"","(Ljava/lang/String;)V"); + if (constructor == NULL) { + error("Could not find constructor"); + return; + } + jstring jtitle = env->NewStringUTF(title); + fJob = env->NewObject(cls,constructor,jtitle); + if (fJob == NULL) { + error("Could not create job"); + return; + } +} + +JasHistogramFactory::~JasHistogramFactory() +{ + destroyJVM(); +} +IHistogram1D* JasHistogramFactory::create1D( + const std_string& name +,int,double,double +,int +) +{ + return new JasHistogram1D(this,name.c_str()); +} +IHistogram2D* JasHistogramFactory::create2D( + const std_string& name +,int,double,double +,int,double,double +,int +) +{ + return 0; +} +void JasHistogramFactory::error(const char* msg) +{ + G4cerr << "G4 JasHistogramFactory : Error: " << msg << G4std::endl; + //exit(1); +} +JNIEnv* JasHistogramFactory::getEnv() +{ + return env; +} +void JasHistogramFactory::createJVM() +{ + JavaVMInitArgs vm_args; + JavaVMOption options[2]; + + char* cp = getenv("CLASSPATH"); + if(cp==NULL) { + error("env variable CLASSPATH not setted"); + return; + } + + //char* cp ="c:\\program files\\java analysis studio\\lib\\hep.jar"; + char* opt = new char[strlen(cp)+100]; + strcpy(opt,"-Djava.class.path="); + strcat(opt,cp); + G4cout << "cp=" << opt <DestroyJavaVM(); + jvm = 0; + env = 0; + fJob = 0; +} + +#endif diff --git a/source/analysis/management/GNUmakefile b/source/analysis/management/GNUmakefile new file mode 100644 index 0000000000..b28104695d --- /dev/null +++ b/source/analysis/management/GNUmakefile @@ -0,0 +1,18 @@ +# $Id: GNUmakefile,v 1.1.1.1 2000/06/21 12:36:24 barrand Exp $ +# ------------------------------------------------------------- +# GNUmakefile for visualization library. John Allison, 5/7/95. + +name := G4analysis_management + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk +include $(G4INSTALL)/config/analysis.gmk +G4TMPDIR = $(G4TMP)/$(G4SYSTEM)/$(name) + +CPPFLAGS += -I$(G4BASE)/global/management/include + +include $(G4INSTALL)/config/common.gmk + diff --git a/source/analysis/management/include/G4AnalysisManager.hh b/source/analysis/management/include/G4AnalysisManager.hh new file mode 100644 index 0000000000..2414f79e9d --- /dev/null +++ b/source/analysis/management/include/G4AnalysisManager.hh @@ -0,0 +1,53 @@ +// 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: G4AnalysisManager.hh,v 1.8 2000/11/16 13:44:45 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// Guy Barrand 20th Mai 2000 +// +// Class description +// +// Base class for the analysis manager proxy mechanism. +// + +#ifndef G4ANALYSIS_HH +#define G4ANALYSIS_HH + +#if defined(G4ANALYSIS_BUILD) || defined(G4ANALYSIS_USE) + +#include "globals.hh" +#include "g4std/vector" +#include "G4VAnalysisManager.hh" + +class G4AnalysisManager : public G4VAnalysisManager { +public: // I methods : + G4bool RegisterAnalysisSystem(G4VAnalysisSystem*); + IHistogramFactory* GetHistogramFactory(const G4String&); + // + virtual void Store(IHistogram* = 0,const G4String& = ""); + virtual void Plot(IHistogram*); +public: + G4AnalysisManager(); + virtual ~G4AnalysisManager(); +private: + G4VAnalysisSystem* FindSystem(const G4String&); + G4std::vector fSystems; + G4VAnalysisSystem* fCurrentSystem; + // +#ifdef G4ANALYSIS_NON_AIDA +public: + ICloudFactory* GetCloudFactory(const G4String&); + virtual void Plot(ICloud*); + ITuple* CreateTuple(const G4String&,const G4String&,const G4String&); +#endif +}; + +#endif + +#endif diff --git a/source/analysis/management/include/G4VAnalysisManager.hh b/source/analysis/management/include/G4VAnalysisManager.hh new file mode 100644 index 0000000000..362f66d69b --- /dev/null +++ b/source/analysis/management/include/G4VAnalysisManager.hh @@ -0,0 +1,57 @@ +// 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: G4VAnalysisManager.hh,v 1.5 2000/11/16 13:44:46 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// Guy Barrand 20th Mai 2000 +// +// Class description +// +// Abstract base class for the analysis manager proxy mechanism. +// + +#ifndef G4VANALYSIS_HH +#define G4VANALYSIS_HH + +#if defined(G4ANALYSIS_BUILD) || defined(G4ANALYSIS_USE) + +#include "globals.hh" + +class IHistogram; +class IHistogramFactory; + +#ifdef G4ANALYSIS_NON_AIDA +class ICloudFactory; +class ICloud; +class ITuple; +#endif + +class G4VAnalysisSystem; + +class G4VAnalysisManager { +public: + virtual ~G4VAnalysisManager() {} + virtual G4bool RegisterAnalysisSystem(G4VAnalysisSystem*) = 0; + // + // Get the factories : + virtual IHistogramFactory* GetHistogramFactory(const G4String&) = 0; + // + // Access to facilites methods : + virtual void Store(IHistogram* = 0,const G4String& = "") = 0; + virtual void Plot(IHistogram*) = 0; + // +#ifdef G4ANALYSIS_NON_AIDA + virtual ICloudFactory* GetCloudFactory(const G4String&) = 0; + virtual ITuple* CreateTuple(const G4String&,const G4String&,const G4String&) = 0; + virtual void Plot(ICloud*) = 0; +#endif +}; + +#endif + +#endif diff --git a/source/analysis/management/include/G4VAnalysisSystem.hh b/source/analysis/management/include/G4VAnalysisSystem.hh new file mode 100644 index 0000000000..9255212738 --- /dev/null +++ b/source/analysis/management/include/G4VAnalysisSystem.hh @@ -0,0 +1,47 @@ +// 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: G4VAnalysisSystem.hh,v 1.8 2000/11/16 13:44:46 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// + +#ifndef G4VANALYSISSYSTEM_HH +#define G4VANALYSISSYSTEM_HH + +#ifdef G4ANALYSIS_BUILD + +#include "g4rw/cstring.h" + +class IHistogram; +class IHistogramFactory; + +#ifdef G4ANALYSIS_NON_AIDA +class ICloudFactory; +class ICloud; +class ITuple; +#endif + +class G4VAnalysisSystem { +public: + virtual ~G4VAnalysisSystem() {} + virtual const G4String& GetName() const = 0; + virtual IHistogramFactory* GetHistogramFactory() = 0; + // + virtual void Store(IHistogram* = 0,const G4String& = "") = 0; + virtual void Plot(IHistogram*) = 0; + // +#ifdef G4ANALYSIS_NON_AIDA + virtual ICloudFactory* GetCloudFactory() = 0; + virtual void Plot(ICloud*) = 0; + virtual ITuple* CreateTuple(const G4String&,const G4String&) = 0; +#endif +}; + +#endif + +#endif diff --git a/source/analysis/management/src/G4AnalysisManager.cc b/source/analysis/management/src/G4AnalysisManager.cc new file mode 100644 index 0000000000..8659854490 --- /dev/null +++ b/source/analysis/management/src/G4AnalysisManager.cc @@ -0,0 +1,105 @@ +// 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: G4AnalysisManager.cc,v 1.10 2000/11/21 15:41:25 barrand Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// Guy Barrand 20th Mai 2000 +// +// Class description +// +// This class is a plug-in for various analysis systems +// that follow the AIDA/Histogramming conventions. +// +#ifdef G4ANALYSIS_BUILD + +#include "globals.hh" +#include "G4ios.hh" + +#include "G4VAnalysisSystem.hh" +#include "G4AnalysisManager.hh" + +G4AnalysisManager::G4AnalysisManager(){} +G4AnalysisManager::~G4AnalysisManager(){ + int number = fSystems.size(); + for(int count=0;countGetName()) return fSystems[count]; + } + return 0; +} + +IHistogramFactory* G4AnalysisManager::GetHistogramFactory( + const G4String& aSystem +){ + G4VAnalysisSystem* analysisSystem = FindSystem(aSystem); + if(!analysisSystem) { + G4cerr << "G4AnalysisManager : " << G4std::endl; + G4cerr << " " << aSystem << " unknown analysis system." << G4std::endl; + return 0; + } + // Set it as current system. + fCurrentSystem = analysisSystem; + return analysisSystem->GetHistogramFactory(); +} +void G4AnalysisManager::Store(IHistogram* aHistogram,const G4String& aSID){ + if(!fCurrentSystem) return; + fCurrentSystem->Store(aHistogram,aSID); +} +void G4AnalysisManager::Plot(IHistogram* aHistogram){ + if(!fCurrentSystem) return; + fCurrentSystem->Plot(aHistogram); +} + +// Non AIDA things : +#ifdef G4ANALYSIS_NON_AIDA +ITuple* G4AnalysisManager::CreateTuple( + const G4String& aSystem +,const G4String& aStorage +,const G4String& aSID +){ + G4VAnalysisSystem* analysisSystem = FindSystem(aSystem); + if(!analysisSystem) { + G4cerr << "G4AnalysisManager : " << G4std::endl; + G4cerr << " " << aSystem << " unknown analysis system." << G4std::endl; + return 0; + } + // Set it as current system. + fCurrentSystem = analysisSystem; + return analysisSystem->CreateTuple(aStorage,aSID); +} +ICloudFactory* G4AnalysisManager::GetCloudFactory( + const G4String& aSystem +){ + G4VAnalysisSystem* analysisSystem = FindSystem(aSystem); + if(!analysisSystem) { + G4cerr << "G4AnalysisManager : " << G4std::endl; + G4cerr << " " << aSystem << " unknown analysis system." << G4std::endl; + return 0; + } + // Set it as current system. + fCurrentSystem = analysisSystem; + return analysisSystem->GetCloudFactory(); +} +void G4AnalysisManager::Plot(ICloud* aCloud){ + if(!fCurrentSystem) return; + fCurrentSystem->Plot(aCloud); +} +#endif + +#endif diff --git a/source/digits+hits/detector/include/G4HCtable.hh b/source/digits+hits/detector/include/G4HCtable.hh index 4af2b0bb7e..32a0aeb5b5 100644 --- a/source/digits+hits/detector/include/G4HCtable.hh +++ b/source/digits+hits/detector/include/G4HCtable.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HCtable.hh,v 1.2.2.1.2.1 1999/12/07 20:47:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4HCtable_H diff --git a/source/digits+hits/detector/include/G4SDManager.hh b/source/digits+hits/detector/include/G4SDManager.hh index e94ffd7b06..277a5e1e93 100644 --- a/source/digits+hits/detector/include/G4SDManager.hh +++ b/source/digits+hits/detector/include/G4SDManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDManager.hh,v 1.2.4.1 1999/12/07 20:47:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4SDManager_h diff --git a/source/digits+hits/detector/include/G4SDStructure.hh b/source/digits+hits/detector/include/G4SDStructure.hh index fa1d7e756b..56acd9a0a7 100644 --- a/source/digits+hits/detector/include/G4SDStructure.hh +++ b/source/digits+hits/detector/include/G4SDStructure.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDStructure.hh,v 1.2.2.1.2.1 1999/12/07 20:47:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4SDStructure_h diff --git a/source/digits+hits/detector/include/G4SDmessenger.hh b/source/digits+hits/detector/include/G4SDmessenger.hh index 6e94dd028f..2a1ffe431c 100644 --- a/source/digits+hits/detector/include/G4SDmessenger.hh +++ b/source/digits+hits/detector/include/G4SDmessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDmessenger.hh,v 1.2.4.1 1999/12/07 20:47:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4SDmessenger_h diff --git a/source/digits+hits/detector/include/G4SensitiveVolumeList.hh b/source/digits+hits/detector/include/G4SensitiveVolumeList.hh index e1276cc8ac..83d6046372 100644 --- a/source/digits+hits/detector/include/G4SensitiveVolumeList.hh +++ b/source/digits+hits/detector/include/G4SensitiveVolumeList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SensitiveVolumeList.hh,v 1.2.2.1.2.1 1999/12/07 20:47:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ------------------------------------------------------------ // 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 d5805f358c..2d9d9775b2 100644 --- a/source/digits+hits/detector/include/G4SensitiveVolumeList.icc +++ b/source/digits+hits/detector/include/G4SensitiveVolumeList.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SensitiveVolumeList.icc,v 1.1.8.1.2.1 1999/12/07 20:47:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ----------------------------------------------------------- // Inline functions of GEANT 4 class header file. diff --git a/source/digits+hits/detector/include/G4VReadOutGeometry.hh b/source/digits+hits/detector/include/G4VReadOutGeometry.hh index 182eeb04d0..d06ee19983 100644 --- a/source/digits+hits/detector/include/G4VReadOutGeometry.hh +++ b/source/digits+hits/detector/include/G4VReadOutGeometry.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VReadOutGeometry.hh,v 1.1.10.1 1999/12/07 20:47:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ------------------------------------------------------------ diff --git a/source/digits+hits/detector/include/G4VSensitiveDetector.hh b/source/digits+hits/detector/include/G4VSensitiveDetector.hh index f3bbef5195..5b71f335af 100644 --- a/source/digits+hits/detector/include/G4VSensitiveDetector.hh +++ b/source/digits+hits/detector/include/G4VSensitiveDetector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VSensitiveDetector.hh,v 1.2.2.1.2.1 1999/12/07 20:47:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VSensitiveDetector_h diff --git a/source/digits+hits/detector/src/G4HCtable.cc b/source/digits+hits/detector/src/G4HCtable.cc index e5b790fc0d..398060d955 100644 --- a/source/digits+hits/detector/src/G4HCtable.cc +++ b/source/digits+hits/detector/src/G4HCtable.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HCtable.cc,v 1.1.8.1.2.1 1999/12/07 20:47:44 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HCtable.hh" diff --git a/source/digits+hits/detector/src/G4SDManager.cc b/source/digits+hits/detector/src/G4SDManager.cc index 0a65e9acb9..62fe193e0f 100644 --- a/source/digits+hits/detector/src/G4SDManager.cc +++ b/source/digits+hits/detector/src/G4SDManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDManager.cc,v 1.1.10.1.2.1 1999/12/08 17:33:16 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4SDManager.hh" diff --git a/source/digits+hits/detector/src/G4SDStructure.cc b/source/digits+hits/detector/src/G4SDStructure.cc index 4c205211d5..175f5c0a62 100644 --- a/source/digits+hits/detector/src/G4SDStructure.cc +++ b/source/digits+hits/detector/src/G4SDStructure.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDStructure.cc,v 1.1.8.1.2.1.2.1 1999/12/08 17:33:17 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4SDStructure diff --git a/source/digits+hits/detector/src/G4SDmessenger.cc b/source/digits+hits/detector/src/G4SDmessenger.cc index b8503c40b8..7e36d5d3e8 100644 --- a/source/digits+hits/detector/src/G4SDmessenger.cc +++ b/source/digits+hits/detector/src/G4SDmessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SDmessenger.cc,v 1.1.10.1 1999/12/07 20:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // --------------------------------------------------------------------- diff --git a/source/digits+hits/detector/src/G4SensitiveVolumeList.cc b/source/digits+hits/detector/src/G4SensitiveVolumeList.cc index 1d06b09c42..cc871399cf 100644 --- a/source/digits+hits/detector/src/G4SensitiveVolumeList.cc +++ b/source/digits+hits/detector/src/G4SensitiveVolumeList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SensitiveVolumeList.cc,v 1.1.10.1 1999/12/07 20:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/digits+hits/detector/src/G4VReadOutGeometry.cc b/source/digits+hits/detector/src/G4VReadOutGeometry.cc index 8cc4d03702..d46dff6811 100644 --- a/source/digits+hits/detector/src/G4VReadOutGeometry.cc +++ b/source/digits+hits/detector/src/G4VReadOutGeometry.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VReadOutGeometry.cc,v 1.2.6.1 1999/12/07 20:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4VReadOutGeometry.hh" diff --git a/source/digits+hits/detector/src/G4VSensitiveDetector.cc b/source/digits+hits/detector/src/G4VSensitiveDetector.cc index 9f6308e6de..ec0aefe256 100644 --- a/source/digits+hits/detector/src/G4VSensitiveDetector.cc +++ b/source/digits+hits/detector/src/G4VSensitiveDetector.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VSensitiveDetector.cc,v 1.1.8.1.2.1 1999/12/07 20:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VSensitiveDetector #include "G4VSensitiveDetector.hh" diff --git a/source/digits+hits/digits/include/G4DCofThisEvent.hh b/source/digits+hits/digits/include/G4DCofThisEvent.hh index a3f8c31af3..544506bcb8 100644 --- a/source/digits+hits/digits/include/G4DCofThisEvent.hh +++ b/source/digits+hits/digits/include/G4DCofThisEvent.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4DCofThisEvent.hh,v 1.2.2.1.2.1 1999/12/07 20:47:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4DCofThisEvent_h diff --git a/source/digits+hits/digits/include/G4TDigiCollection.hh b/source/digits+hits/digits/include/G4TDigiCollection.hh index 884a6c0f60..136f5335a3 100644 --- a/source/digits+hits/digits/include/G4TDigiCollection.hh +++ b/source/digits+hits/digits/include/G4TDigiCollection.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TDigiCollection.hh,v 1.5.2.1.2.1 1999/12/07 20:47:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4TDigiCollection_h diff --git a/source/digits+hits/digits/include/G4VDigi.hh b/source/digits+hits/digits/include/G4VDigi.hh index 0cc6f92823..72484ee763 100644 --- a/source/digits+hits/digits/include/G4VDigi.hh +++ b/source/digits+hits/digits/include/G4VDigi.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VDigi.hh,v 1.4.4.1 1999/12/07 20:47:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VDigi_h diff --git a/source/digits+hits/digits/include/G4VDigiCollection.hh b/source/digits+hits/digits/include/G4VDigiCollection.hh index a1b5313bd1..68b800352a 100644 --- a/source/digits+hits/digits/include/G4VDigiCollection.hh +++ b/source/digits+hits/digits/include/G4VDigiCollection.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VDigiCollection.hh,v 1.4.4.1 1999/12/07 20:47:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VDigiCollection_h diff --git a/source/digits+hits/digits/src/G4DCofThisEvent.cc b/source/digits+hits/digits/src/G4DCofThisEvent.cc index de19c916fa..a0fcf736de 100644 --- a/source/digits+hits/digits/src/G4DCofThisEvent.cc +++ b/source/digits+hits/digits/src/G4DCofThisEvent.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4DCofThisEvent.cc,v 1.1.8.1.2.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4DCofThisEvent.hh" diff --git a/source/digits+hits/digits/src/G4TDigiCollection.cc b/source/digits+hits/digits/src/G4TDigiCollection.cc index eab02ba37a..b4450cce1d 100644 --- a/source/digits+hits/digits/src/G4TDigiCollection.cc +++ b/source/digits+hits/digits/src/G4TDigiCollection.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TDigiCollection.cc,v 1.1.10.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4TDigiCollection.hh" diff --git a/source/digits+hits/digits/src/G4VDigi.cc b/source/digits+hits/digits/src/G4VDigi.cc index 37b5f46a4d..c3465a66ab 100644 --- a/source/digits+hits/digits/src/G4VDigi.cc +++ b/source/digits+hits/digits/src/G4VDigi.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VDigi.cc,v 1.3.4.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VDigi diff --git a/source/digits+hits/digits/src/G4VDigiCollection.cc b/source/digits+hits/digits/src/G4VDigiCollection.cc index 3e69f5ebfc..7b7d47dc6f 100644 --- a/source/digits+hits/digits/src/G4VDigiCollection.cc +++ b/source/digits+hits/digits/src/G4VDigiCollection.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VDigiCollection.cc,v 1.3.4.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VDigiCollection diff --git a/source/digits+hits/hits/include/G4HCofThisEvent.hh b/source/digits+hits/hits/include/G4HCofThisEvent.hh index 144a9a5282..1ab3396847 100644 --- a/source/digits+hits/hits/include/G4HCofThisEvent.hh +++ b/source/digits+hits/hits/include/G4HCofThisEvent.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HCofThisEvent.hh,v 1.2.2.1.2.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4HCofThisEvent_h diff --git a/source/digits+hits/hits/include/G4THitsCollection.hh b/source/digits+hits/hits/include/G4THitsCollection.hh index 943ace1d36..00903a6df7 100644 --- a/source/digits+hits/hits/include/G4THitsCollection.hh +++ b/source/digits+hits/hits/include/G4THitsCollection.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4THitsCollection.hh,v 1.4.2.1.2.1 1999/12/07 20:47:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4THitsCollection_h diff --git a/source/digits+hits/hits/include/G4VHit.hh b/source/digits+hits/hits/include/G4VHit.hh index 3fc0017a40..4a74d54aad 100644 --- a/source/digits+hits/hits/include/G4VHit.hh +++ b/source/digits+hits/hits/include/G4VHit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VHit.hh,v 1.3.4.1 1999/12/07 20:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VHit_h diff --git a/source/digits+hits/hits/include/G4VHitsCollection.hh b/source/digits+hits/hits/include/G4VHitsCollection.hh index 537aa5b62f..228ba5e595 100644 --- a/source/digits+hits/hits/include/G4VHitsCollection.hh +++ b/source/digits+hits/hits/include/G4VHitsCollection.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VHitsCollection.hh,v 1.3.4.1 1999/12/07 20:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VHitsCollection_h diff --git a/source/digits+hits/hits/src/G4HCofThisEvent.cc b/source/digits+hits/hits/src/G4HCofThisEvent.cc index aba4bdc2d5..b203370904 100644 --- a/source/digits+hits/hits/src/G4HCofThisEvent.cc +++ b/source/digits+hits/hits/src/G4HCofThisEvent.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HCofThisEvent.cc,v 1.1.8.1.2.1 1999/12/07 20:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HCofThisEvent.hh" diff --git a/source/digits+hits/hits/src/G4THitsCollection.cc b/source/digits+hits/hits/src/G4THitsCollection.cc index 16d792ec2d..2c797e92f2 100644 --- a/source/digits+hits/hits/src/G4THitsCollection.cc +++ b/source/digits+hits/hits/src/G4THitsCollection.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4THitsCollection.cc,v 1.1.10.1 1999/12/07 20:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4THitsCollection.hh" diff --git a/source/digits+hits/hits/src/G4VHit.cc b/source/digits+hits/hits/src/G4VHit.cc index c6954dd827..622b94db69 100644 --- a/source/digits+hits/hits/src/G4VHit.cc +++ b/source/digits+hits/hits/src/G4VHit.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VHit.cc,v 1.1.10.1 1999/12/07 20:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VHit diff --git a/source/digits+hits/hits/src/G4VHitsCollection.cc b/source/digits+hits/hits/src/G4VHitsCollection.cc index a21324fdd1..df6604a56f 100644 --- a/source/digits+hits/hits/src/G4VHitsCollection.cc +++ b/source/digits+hits/hits/src/G4VHitsCollection.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VHitsCollection.cc,v 1.1.10.1 1999/12/07 20:47:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VHitsCollection diff --git a/source/event/GNUmakefile b/source/event/GNUmakefile index 19161cf222..77036ef61f 100644 --- a/source/event/GNUmakefile +++ b/source/event/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 1999/10/04 18:58:33 johna Exp $ +# $Id: GNUmakefile,v 1.3 2000/10/31 10:34:39 flei Exp $ # ------------------------------------------------------------ # GNUmakefile for events library. Makoto Asai, 5/9/95. # ------------------------------------------------------------ @@ -15,6 +15,7 @@ CPPFLAGS += \ -I$(G4BASE)/global/management/include \ -I$(G4BASE)/global/HEPRandom/include \ -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/global/HEPNumerics/include \ -I$(G4BASE)/track/include \ -I$(G4BASE)/tracking/include \ -I$(G4BASE)/processes/management/include \ diff --git a/source/event/History b/source/event/History index cf0f5137b2..a35d403b89 100644 --- a/source/event/History +++ b/source/event/History @@ -1,4 +1,4 @@ -$Id: History,v 1.9 2000/01/26 06:42:14 asaim Exp $ +$Id: History,v 1.16 2000/11/20 15:39:53 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,54 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 20 2000, G.Cosmo (event-V02-00-04) +- Removed data-logs from test directory. + +Nov 13 2000, M.Asai (event-V02-00-03) + +Nov 10 2000, F.Lei +- Adding src and include sub-directory and files to test/GeneralParticleSource +- Improving the speed in G4GeneralParticleSource::GenerateIsotropicFlux() and + G4GeneralParticleSource::GenerateCoslawFlux() +- some bug fixing: + i) dclared ' G4int count' in all ****Interpolation functions + ii) added ' return (0.) ' to GenerateUserDefTheta and GenerateUserDefPhi + as default. + iii) changed + #include + to #include "g4std/fstream" + in G4GeneralParicleSourceMessenger.cc + +Nov 9 2000, M.Asai (tag event-V02-00-02) +- Adding /source/event/test and GeneralParticleSource sub-directory. + +Oct 31 2000, F.Lei + G4GeneralParticleSource: + G4GeneralParticleSourceMessenger: + G4GeneralParticleSource is an alternative primary source + generator to G4ParticleGun. It has all the functions of + G4ParticleGun plus many options for specifing the primary + event particle and vertex. + + - added -I$(G4BASE)/global/HEPNumerics/include \ + to GNUMakefile + + +Oct 19 2000, M.Asai (tag event-V02-00-01) + G4ParticleGun : Add Set/GetParticleCharge methods for ions. + G4ParticleGunMessenger : Add new command of /gun/ion + : Modify command of /gun/particle + G4PrimaryParticle : Add Set/GetCharge methods + : Add weight + G4PrimaryVertex : Add weight + G4PrimaryTransformer : Use G4PrimaryParticle::GetCharge to give dynamic charge + in G4DynamicParticle + : Set weight of G4Track + +July 22 2000, M.Asai (tag event-V02-00-00) +- Adding some new Set methods to G4PrimaryVertex and G4PrimaryParticle + classes. + Jan 26, 00, M.Asai (tag event-V01-00-01) - Corrections for trajectories of suspended tracks - This tag requires tracking-V01-00-01 diff --git a/source/event/include/G4ClassificationOfNewTrack.hh b/source/event/include/G4ClassificationOfNewTrack.hh index 662e447b49..1611418bbb 100644 --- a/source/event/include/G4ClassificationOfNewTrack.hh +++ b/source/event/include/G4ClassificationOfNewTrack.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ClassificationOfNewTrack.hh,v 1.3 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/source/event/include/G4EvManMessenger.hh b/source/event/include/G4EvManMessenger.hh index 5e5a72fb9c..1eddf68500 100644 --- a/source/event/include/G4EvManMessenger.hh +++ b/source/event/include/G4EvManMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EvManMessenger.hh,v 1.3 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4EvManMessenger_h diff --git a/source/event/include/G4Event.hh b/source/event/include/G4Event.hh index 31cb8eba59..94b6ac77fd 100644 --- a/source/event/include/G4Event.hh +++ b/source/event/include/G4Event.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Event.hh,v 1.3 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4Event_h diff --git a/source/event/include/G4EventManager.hh b/source/event/include/G4EventManager.hh index 3995597a4c..98927170ff 100644 --- a/source/event/include/G4EventManager.hh +++ b/source/event/include/G4EventManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EventManager.hh,v 1.5 2000/01/12 01:29:50 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/source/event/include/G4GeneralParticleSource.hh b/source/event/include/G4GeneralParticleSource.hh new file mode 100644 index 0000000000..f89f42e5ab --- /dev/null +++ b/source/event/include/G4GeneralParticleSource.hh @@ -0,0 +1,616 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// MODULE: G4GeneralParticleSource.hh +// +// Version: 1.1 +// Date: 18/10/00 +// Author: C Ferguson, F Lei & P Truscott +// Organisation: University of Southampton / DERA +// Customer: ESA/ESTEC +// +/////////////////////////////////////////////////////////////////////////////// +// +// DESCRIPTION +// ----------- +// The General Particle Source is designed to extend the functionality of the +// G4ParticleGun class. It is designed to allow specification of input +// particles in terms of position, direction (or angular) and energy +// distributions. This class is derived from G4VPrimaryGenerator. +// +/////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// +// Version 1.0, 28 February 2000, C Ferguson, Created. +// +// Version 1.1, 18 October 2000, Modified to inherit from G4VPrimaryGenerator. +// New name at the request of M. Asai. +// +/////////////////////////////////////////////////////////////////////////////// +// +// MEMBER FUNCTIONS +// ---------------- +// +// G4GeneralParticleSource () +// Constructor: Initializes variables and instantiates the +// Messenger and Navigator classes +// +// ~G4GeneralParticleSource () +// Destructor: deletes Messenger and prints out run information. +// +// void GeneratePrimaryVertex(G4Event *evt) +// Generate the particles initial parameters. +// +// void SetPosDisType(G4String) +// Allows user to choose Point, Plane, Surface or Volume source +// position distributions. +// +// void SetPosDisShape(G4String) +// Allows the user to choose the particular shape they wish for the +// position distribution. Choices are Square, Circle, Ellipse, Rectangle, +// Sphere, Ellipsoid, Cylinder, Parallelepiped. +// +// void SetCentreCoords(G4ThreeVector) +// Sets the co-ordinates of the centre of the position distribution. +// +// void SetPosRot1(G4ThreeVector) +// Used to specify the co-ordinate system for the position distribution +// along with SetPosRot2. SetPosRot1 sets the vector x' and need not be +// a unit vector. +// +// void SetPosRot2(G4ThreeVector) +// Used in connection with SetPosRot1. This sets a vector in the plane +// x'y'. By a series of cross products x', y', z' are generated. Again +// need not be a unit vector. +// +// void SetHalfX(G4double) +// Sets the half length in x. +// +// void SetHalfY(G4double) +// Sets the half length in y. +// +// void SetHalfZ(G4double) +// Sets the half length in z. +// +// void SetRadius(G4double) +// Sets the radius where appropriate for source distribution shapes. +// +// void SetRadius0(G4double) +// Sets the inner radius where appropriate for source distribution shapes. +// +// void SetParAlpha(G4double) +// Sets the angle Alpha in the Parallelepiped shapes. +// +// void SetParTheta(G4double) +// Sets the angle Theta in the Parallelepiped shapes. +// +// void SetParPhi(G4double) +// Sets the angle Phi in the Parallelepiped shapes. +// +// void ConfineSourceToVolume(G4String) +// Used to confine the start positions to a particular volume. +// +// void GenerateRotationMatrices() +// This is used to calculate the cross products and determine the +// vectors x', y', z' for the position distribution. +// +// void GeneratePointSource() +// Generates a point source. +// +// void GeneratePointsInPlane() +// Generates starting positions confined to a plane source. +// +// void GeneratePointsOnSurface() +// Generates starting positions confined to the surface of a shape. +// +// void GeneratePointsInVolume() +// Generates starting positions within the volume of a shape. +// +// G4bool IsSourceConfined() +// Checks the source is confined to the requested volume. +// +// Angular Distribution Methods: +// +// void SetAngDistType(G4String) +// Used to set the type of angular distribution wanted. Arguments +// are iso, cos and user for isotropic, cosine-law and user-defined +// respectively. +// +// void DefineAngRefAxes(G4String, G4ThreeVector) +// DefineAngRefAxes is used in a similar way as SetPosRot to +// define vectors, one x' and one in the plane x'y', to create +// a rotated set of axes for the angular distribution. +// +// void SetMinTheta(G4double) +// Sets the minimum value for the angle theta. +// +// void SetMinPhi(G4double) +// Sets the minimum value for phi. +// +// void SetMaxTheta(G4double) +// Sets the maximum value for theta. +// +// void SetMaxPhi(G4double) +// Sets the maximum value for phi. +// +// void UserDefAngTheta(G4ThreeVector) +// This method allows the user to define a histogram in Theta. +// +// void UserDefAngPhi(G4ThreeVector) +// This method allows the user to define a histogram in phi. +// +// void GenerateIsotropicFlux() +// This method generates momentum vectors for particles according +// to an isotropic distribution. +// +// void GenerateCosineLawFlux() +// This method generates momentum vectors for particles according +// to a cosine-law distribution. +// +// void GenerateUserDefFlux() +// Controls generation of momentum vectors according to user-defined +// distributions. +// +// G4double GenerateUserDefTheta() +// Generates the theta angle according to a user-defined distribution. +// +// G4double GenerateUserDefPhi() +// Generates phi according to a user-defined distribution. +// +// void SetUserWRTSurface(G4bool) +// Allows user to have user-defined spectra either with respect to the +// co-ordinate system (default) or with respect to the surface normal. +// +// Energy Distribution methods: +// +// void SetEnergyDisType(G4String) +// Allows the user to choose the energy distribution type. The arguments +// are Mono (mono-energetic), Lin (linear), Pow (power-law), Exp +// (exponential), Brem (bremsstrahlung), BBody (black-body), Cdg +// (cosmic diffuse gamma-ray), User (user-defined), Arb (arbitrary +// point-wise), Epn (energy per nucleon). +// +// void SetEmin(G4double) +// Sets the minimum energy. +// +// void SetEmax(G4double) +// Sets the maximum energy. +// +// void SetMonoEnergy(G4double) +// Sets energy for mono-energetic distribution. +// +// void SetAlpha(G4double) +// Sets alpha for a power-law distribution. +// +// void SetTemp(G4double) +// Sets Temperature for a Brem or BBody distributions. +// +// void SetEzero(G4double) +// Sets Ezero for an exponential distribution. +// +// void SetGradient(G4double) +// Sets gradient for a linear distribution. +// +// void SetInterCept(G4double) +// Sets intercept for a linear distribution. +// +// void UserEnergyHisto(G4ThreeVector) +// Allows user to defined a histogram for the energy distribution. +// +// void ArbEnergyHisto(G4ThreeVector) +// Allows the user to define an Arbitrary set of points for the +// energy distribution. +// +// void EpnEnergyHisto(G4ThreeVector) +// Allows the user to define an Energy per nucleon histogram. +// +// void Calculate() +// Controls the calculation of Integral PDF for the Cdg and BBody +// distributions. +// +// void CalculateCdgSpectrum() +// Calculates the integral PDF for the Cdg distribution. +// +// void CalculateBbodySpectrum() +// Calculates the Integral PDF for the Bbody distribution. +// +// void InputEnergySpectra(G4bool) +// Allows the user to choose between momentum and energy histograms +// for user-defined histograms and arbitrary point-wise spectr. +// The default is true (energy). +// +// void InputDifferentialSpectra(G4bool) +// Allows the user to choose between integral and differential +// distributions when using the arbitrary point-wise option. +// +// void ArbInterpolate(G4String) +// ArbInterpolate allows the user to specify the type of function to +// interpolate the Arbitrary points spectrum with. +// +// void LinearInterpolation() +// Interpolates arbitrary points with a series of line segments. +// +// void LogInterpolation() +// Interpolates arbitrary points with a series of power-laws. +// +// void ExpInterpolation() +// Interpolates arbitrary points with a series of exponentials. +// +// void SplineInterpolation() +// Interpolates arbitrary points using cubic splines. +// +// void GenerateMonoEnergetic() +// Generates a mono-energetic source. +// +// void GenerateLinearEnergies() +// Generates particle energies according to a linear distribution. +// +// void GeneratePowEnergies() +// Generates particle energies according to a power-law distribution. +// +// void GenerateExpEnergies() +// Generates particle energies according to an exponential distribution. +// +// void GenerateBremEnergies() +// Generates particle energies according to a bremsstrahlung distribution. +// +// void GenerateBbodyEnergies() +// Generates particle energies according to a black-body distribution. +// +// void GenerateCdgEnergies() +// Generates particle energies according to a Cdg distribution. +// +// void GenUserHistEnergies() +// Generates particle energies according to a user-defined distribution. +// +// void GenEpnHistEnergies() +// Generates particle energies according to a energy per nucleon +// distribution. +// +// void GenArbPointEnergies() +// Generates particle energies according to an arbitrary point-wise +// spectrum. +// +// void ConvertEPNToEnergy() +// Converts energy per nucleon histograms to energy histograms. +// +// Biasing Methods: +// +// void SetXBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate x co-ordinates. +// +// void SetYBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate y co-ordinates. +// +// void SetZBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate z co-ordinates. +// +// void SetThetaBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate values of theta. +// +// void SetPhiBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate values of phi. +// +// void SetEnergyBias(G4ThreeVector) +// Allows the user to re-distribute the random +// numbers used to generate the energies. +// +// G4double GenRandX() +// Generates the random number for x, with or without biasing. +// +// G4double GenRandY() +// Generates the random number for y, with or without biasing. +// +// G4double GenRandZ() +// Generates the random number for z, with or without biasing. +// +// G4double GenRandTheta() +// Generates the random number for theta, with or without biasing. +// +// G4double GenRandPhi() +// Generates the random number for phi, with or without biasing. +// +// G4double GenRandEnergy() +// Generates the random number for energy, with or without biasing. +// +// void SetVerbosity(G4int) +// Sets the verbosity level. +// +/////////////////////////////////////////////////////////////////////////////// +// +#include "G4VPrimaryGenerator.hh" +#include "G4Navigator.hh" +#include "G4PhysicsOrderedFreeVector.hh" +#include "G4ParticleMomentum.hh" +#include "G4ParticleDefinition.hh" +#include "G4DataInterpolation.hh" + +#include "G4GeneralParticleSourceMessenger.hh" + +class G4GeneralParticleSource : public G4VPrimaryGenerator +{ +public: + G4GeneralParticleSource (); + ~G4GeneralParticleSource (); + void GeneratePrimaryVertex(G4Event *evt); + + // methods to create source position dist. + void SetPosDisType(G4String); // Point, Plane, Surface, Volume + inline G4String GetPosDisType() + { return SourcePosType; } + void SetPosDisShape(G4String); + inline G4String GetPosDisShape() + { return Shape; } + // SetPosDisShape - Square, Circle, Annulus, Ellipse, Rectangle, Sphere, + // Ellipsoid, Cylinder, Right (parallelepiped). + void SetCentreCoords(G4ThreeVector); + inline G4ThreeVector GetCentreCoords() + { return CentreCoords; } + void SetPosRot1(G4ThreeVector); + void SetPosRot2(G4ThreeVector); + void SetHalfX(G4double); + inline G4double GetHalfX() + { return halfx; } + void SetHalfY(G4double); + inline G4double GetHalfY() + { return halfy; } + void SetHalfZ(G4double); + inline G4double GetHalfZ() + { return halfz; } + void SetRadius(G4double); + inline G4double GetRadius() + { return Radius; } + void SetRadius0(G4double); + void SetParAlpha(G4double); + void SetParTheta(G4double); + void SetParPhi(G4double); + void ConfineSourceToVolume(G4String); + void GenerateRotationMatrices(); + // the following routines generate the source position + void GeneratePointSource(); + void GeneratePointsInPlane(); + void GeneratePointsOnSurface(); + void GeneratePointsInVolume(); + + G4bool IsSourceConfined(); + + // Angular Distribution Methods + void SetAngDistType(G4String); + void DefineAngRefAxes(G4String, G4ThreeVector); + void SetMinTheta(G4double); + void SetMinPhi(G4double); + void SetMaxTheta(G4double); + void SetMaxPhi(G4double); + void UserDefAngTheta(G4ThreeVector); + void UserDefAngPhi(G4ThreeVector); + // These methods generate the momentum vectors for the particles. + void GenerateIsotropicFlux(); + void GenerateCosineLawFlux(); + void GenerateUserDefFlux(); + G4double GenerateUserDefTheta(); + G4double GenerateUserDefPhi(); + void SetUserWRTSurface(G4bool); + + // Energy Distribution methods + void SetEnergyDisType(G4String); + inline G4String GetEnergyDisType() + {return EnergyDisType;} + void SetEmin(G4double); + inline G4double GetEmin() + {return Emin;} + inline G4double GetArbEmin() + {return ArbEmin;} + void SetEmax(G4double); + inline G4double GetEmax() + {return Emax;} + inline G4double GetArbEmax() + {return ArbEmax;} + void SetMonoEnergy(G4double); + void SetAlpha(G4double); + void SetTemp(G4double); + void SetEzero(G4double); + void SetGradient(G4double); + void SetInterCept(G4double); + void UserEnergyHisto(G4ThreeVector); + void ArbEnergyHisto(G4ThreeVector); + void EpnEnergyHisto(G4ThreeVector); + void Calculate(); + void CalculateCdgSpectrum(); + void CalculateBbodySpectrum(); + void InputEnergySpectra(G4bool); + void InputDifferentialSpectra(G4bool); + void ArbInterpolate(G4String); + inline G4String GetIntType() + {return IntType;} + void LinearInterpolation(); + void LogInterpolation(); + void ExpInterpolation(); + void SplineInterpolation(); + // The following methods generate energies according to the spectral + // parameters defined above. + void GenerateMonoEnergetic(); + void GenerateLinearEnergies(); + void GeneratePowEnergies(); + void GenerateExpEnergies(); + void GenerateBremEnergies(); + void GenerateBbodyEnergies(); + void GenerateCdgEnergies(); + void GenUserHistEnergies(); + void GenEpnHistEnergies(); + void GenArbPointEnergies(); + // converts energy per nucleon to energy. + void ConvertEPNToEnergy(); + + // Biasing Methods + void SetXBias(G4ThreeVector); + void SetYBias(G4ThreeVector); + void SetZBias(G4ThreeVector); + void SetThetaBias(G4ThreeVector); + void SetPhiBias(G4ThreeVector); + void SetEnergyBias(G4ThreeVector); + G4double GenRandX(); + G4double GenRandY(); + G4double GenRandZ(); + G4double GenRandTheta(); + G4double GenRandPhi(); + G4double GenRandEnergy(); + + // Set the verbosity level. + void SetVerbosity(G4int); + + // Set the particle species + void SetParticleDefinition (G4ParticleDefinition * aParticleDefinition); + inline G4ParticleDefinition * GetParticleDefinition () + {return particle_definition;} + + // SR1.3 - allowing user to define an isotope by A,Z,energy. + // void SetNucleus(Nucleus theIon1); // Sets the isotope. + //inline Nucleus GetNucleus() {return theIon;} // Returns the isotope. + + inline void SetParticleCharge(G4double aCharge) + { particle_charge = aCharge; } + + // Set polarization + inline void SetParticlePolarization (G4ThreeVector aVal) + {particle_polarization = aVal;} + inline G4ThreeVector GetParticlePolarization () + {return particle_polarization;} + + // Set Time. + inline void SetParticleTime(G4double aTime) + { particle_time = aTime; } + inline G4double GetParticleTime() + { return particle_time; } + + inline void SetNumberOfParticles(G4int i) + { NumberOfParticlesToBeGenerated = i; } + inline G4int GetNumberOfParticles() + { return NumberOfParticlesToBeGenerated; } + + inline G4ThreeVector GetParticlePosition() + { return particle_position;} + + inline G4ThreeVector GetParticleMomentumDirection() + { return particle_momentum_direction;} + + inline G4double GetTheta() + { return Theta;} + + inline G4double GetPhi() + { return Phi;} + + inline G4double GetParticleEnergy() + {return particle_energy;} + +private: + + // Position distribution Variables + G4String SourcePosType; //Point,Plane,Surface,Volume + G4String Shape; //Circle,Square,Rectangle etc.. + G4double halfx, halfy, halfz; //half lengths + G4double Radius; //Radius for circles or spheres + G4double Radius0; // The inner radius of an annulus + G4ThreeVector CentreCoords; // Coords of centre of input shape + G4ThreeVector Rotx, Roty, Rotz; // Unit vectors defining rotation matrix + G4double ParAlpha, ParTheta, ParPhi; //Angle for Right Parallellepipeds + G4bool Confine; //If true confines source distribution to VolName + G4String VolName; + G4ThreeVector SideRefVec1,SideRefVec2,SideRefVec3; //Side rotation matrices + + // Angular distribution variables. + G4String AngDistType; // String to hold Ang dist type iso, cos, user + G4ThreeVector AngRef1, AngRef2, AngRef3; // Reference axes for ang dist + G4double MinTheta, MaxTheta, MinPhi, MaxPhi; // min/max theta/phi + G4double Theta, Phi; // Store these for use with DEBUG + G4bool IPDFThetaExist, IPDFPhiExist; // tell whether IPDF histos exist + G4PhysicsOrderedFreeVector UDefThetaH; // Theta histo data + G4PhysicsOrderedFreeVector IPDFThetaH; //Cumulative Theta histogram. + G4PhysicsOrderedFreeVector UDefPhiH; // Phi histo bins + G4PhysicsOrderedFreeVector IPDFPhiH; // Cumulative phi histogram. + G4String UserDistType; //String to hold user distributions + G4bool UserWRTSurface; // G4bool to tell whether user wants distribution wrt + // surface normals or co-ordinate system + + // Energy Distribution variables + G4String EnergyDisType; // energy dis type Variable - Mono,Lin,Exp,etc + G4double MonoEnergy; //Mono-energteic energy + G4double Emin, Emax; // emin and emax + G4double alpha, Ezero, Temp; // alpha (pow), E0 (exp) and Temp (bbody,brem) + G4double grad, cept; // gradient and intercept for linear spectra + G4bool EnergySpec; // true - energy spectra, false - momentum spectra + G4bool DiffSpec; // true - differential spec, false integral spec + G4bool ApplyRig; // false no rigidity cutoff, true then apply one + G4double ERig; // energy of rigidity cutoff + G4PhysicsOrderedFreeVector UDefEnergyH; // energy hist data + G4PhysicsOrderedFreeVector IPDFEnergyH; + G4bool IPDFEnergyExist, IPDFArbExist, Epnflag; + G4PhysicsOrderedFreeVector ArbEnergyH; // Arb x,y histogram + G4PhysicsOrderedFreeVector IPDFArbEnergyH; // IPDF for Arb + G4PhysicsOrderedFreeVector EpnEnergyH; + G4double CDGhist[3]; // cumulative histo for cdg + G4double BBHist[10001], Bbody_x[10001]; + G4String IntType; // Interpolation type + G4double Arb_grad[256], Arb_cept[256]; // grad and cept for 256 segments + G4double Arb_alpha[256], Arb_Const[256]; // alpha and constants + G4double Arb_ezero[256]; // ezero + G4double ArbEmin, ArbEmax; // Emin and Emax for the whole arb distribution + //use primarily for debug. + + // Bias variables + G4bool XBias, IPDFXBias; + G4PhysicsOrderedFreeVector XBiasH; + G4PhysicsOrderedFreeVector IPDFXBiasH; + G4bool YBias, IPDFYBias; + G4PhysicsOrderedFreeVector YBiasH; + G4PhysicsOrderedFreeVector IPDFYBiasH; + G4bool ZBias, IPDFZBias; + G4PhysicsOrderedFreeVector ZBiasH; + G4PhysicsOrderedFreeVector IPDFZBiasH; + G4bool ThetaBias, IPDFThetaBias; + G4PhysicsOrderedFreeVector ThetaBiasH; + G4PhysicsOrderedFreeVector IPDFThetaBiasH; + G4bool PhiBias, IPDFPhiBias; + G4PhysicsOrderedFreeVector PhiBiasH; + G4PhysicsOrderedFreeVector IPDFPhiBiasH; + G4bool EnergyBias, IPDFEnergyBias; + G4PhysicsOrderedFreeVector EnergyBiasH; + G4PhysicsOrderedFreeVector IPDFEnergyBiasH; + G4double bweights[6], bweight; //record x,y,z,theta,phi,energy weights + + // Other particle properties + G4int NumberOfParticlesToBeGenerated; + G4ParticleDefinition * particle_definition; + G4ParticleMomentum particle_momentum_direction; + G4double particle_energy; + G4double particle_charge; + G4ThreeVector particle_position; + G4double particle_time; + G4ThreeVector particle_polarization; + + // Verbosity + G4int verbosityLevel; + +private: + + G4DataInterpolation *SplineInt; // holds Spline stuff + + G4GeneralParticleSourceMessenger *theMessenger; + G4Navigator *gNavigator; + + // Nucleus theIon; + +}; + + + + + + + + diff --git a/source/event/include/G4GeneralParticleSourceMessenger.hh b/source/event/include/G4GeneralParticleSourceMessenger.hh new file mode 100644 index 0000000000..804d96bb58 --- /dev/null +++ b/source/event/include/G4GeneralParticleSourceMessenger.hh @@ -0,0 +1,151 @@ +#ifndef G4GeneralParticleSourceMessenger_h +#define G4GeneralParticleSourceMessenger_h 1 +/////////////////////////////////////////////////////////////////////////////// +// +// MODULE: G4GeneralParticleSourceMessenger.hh +// +// Version: 1.1 +// Date: 19/10/00 +// Author: C Ferguson, F Lei and P Truscott +// Organisation: University of Southampton / DERA +// Customer: ESA/ESTEC +// +/////////////////////////////////////////////////////////////////////////////// +// +// DESCRIPTION +// ----------- +// +// The function of the G4GeneralParticleSourceMessenger is to allow the user to +// enter commands either in interactive command line mode or through macros to +// control the G4GeneralParticleSource. The G4GeneralParticleSourceMessenger +// class is based on G4ParticleGunMessenger. +// +/////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// +// Version 1.0, 28 February 2000, C Ferguson, Created. +// +// Version 1.1, 19 October 2000, Modified to inherit from G4VPrimaryGenerator. +// New name at the request of M. Asai. +// +/////////////////////////////////////////////////////////////////////////////// +// +// MEMBER FUNCTIONS +// ---------------- +// +// G4GeneralParticleSourceMessenger(G4GeneralParticleSource *fPtclGun) +// Constructor: Sets up commands. +// +// ~G4GeneralParticleSourceMessenger() +// Destructor: Deletes commands. +// +// void SetNewValue(G4UIcommand *command, G4String newValues) +// Uses the appropriate methods in the G4GeneralParticleSource to carry out +// the user commands. +// +// G4String GetCurrentValue(G4UIcommand *command) +// Allows the user to retrieve the current values of parameters. +// Not implemented yet. +// +/////////////////////////////////////////////////////////////////////////////// +#include "G4UImessenger.hh" +#include "globals.hh" +//#include "UIcmdWithNucleusAndUnit.hh" + +class G4ParticleTable; +class G4UIcommand; +class G4UIdirectory; +class G4UIcmdWithoutParameter; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWith3Vector; +class G4UIcmdWith3VectorAndUnit; +class G4UIcmdWithAnInteger; +class G4UIcmdWithADouble; +class G4UIcmdWithABool; +class G4UIcmdWithoutParameter; + +class G4GeneralParticleSource; + +class G4GeneralParticleSourceMessenger: public G4UImessenger +{ +public: + G4GeneralParticleSourceMessenger(G4GeneralParticleSource *fPtclGun); + ~G4GeneralParticleSourceMessenger(); + + void SetNewValue(G4UIcommand *command, G4String newValues); + // Identifies the command which has been invoked by the user, extracts the + // parameters associated with that command (held in newValues), and uses + // these values with the appropriate member function of G4GeneralParticleSource. + G4String GetCurrentValue(G4UIcommand *command); + +private: + G4GeneralParticleSource *fParticleGun; + G4ParticleTable *particleTable; + G4String histtype; + +private: //commands + G4UIdirectory *gpsDirectory; + + G4UIcmdWithAString *typeCmd; + G4UIcmdWithAString *shapeCmd; + G4UIcmdWith3VectorAndUnit *centreCmd; + G4UIcmdWith3Vector *posrot1Cmd; + G4UIcmdWith3Vector *posrot2Cmd; + G4UIcmdWithADoubleAndUnit *halfxCmd; + G4UIcmdWithADoubleAndUnit *halfyCmd; + G4UIcmdWithADoubleAndUnit *halfzCmd; + G4UIcmdWithADoubleAndUnit *radiusCmd; + G4UIcmdWithADoubleAndUnit *radius0Cmd; + G4UIcmdWithADoubleAndUnit *paralpCmd; + G4UIcmdWithADoubleAndUnit *partheCmd; + G4UIcmdWithADoubleAndUnit *parphiCmd; + G4UIcmdWithAString *confineCmd; + + G4UIcmdWithAString *angtypeCmd; + G4UIcmdWith3Vector *angrot1Cmd; + G4UIcmdWith3Vector *angrot2Cmd; + G4UIcmdWithADoubleAndUnit *minthetaCmd; + G4UIcmdWithADoubleAndUnit *maxthetaCmd; + G4UIcmdWithADoubleAndUnit *minphiCmd; + G4UIcmdWithADoubleAndUnit *maxphiCmd; + G4UIcmdWithABool *surfnormCmd; + + G4UIcmdWithAString *energytypeCmd; + G4UIcmdWithADoubleAndUnit *eminCmd; + G4UIcmdWithADoubleAndUnit *emaxCmd; + G4UIcmdWithADoubleAndUnit *monoenergyCmd; + G4UIcmdWithADouble *alphaCmd; + G4UIcmdWithADouble *tempCmd; + G4UIcmdWithADouble *ezeroCmd; + G4UIcmdWithADouble *gradientCmd; + G4UIcmdWithADouble *interceptCmd; + G4UIcmdWithoutParameter *calculateCmd; + G4UIcmdWithABool *energyspecCmd; + G4UIcmdWithABool *diffspecCmd; + + G4UIcmdWith3Vector *histpointCmd; + G4UIcmdWithAString *histnameCmd; + G4UIcmdWithAString *arbintCmd; + + G4UIcmdWithAnInteger *verbosityCmd; + + G4UIcommand *ionCmd; + + G4UIcmdWithAString *particleCmd; + G4UIcmdWithADoubleAndUnit *timeCmd; + G4UIcmdWith3Vector *polCmd; + G4UIcmdWithAnInteger *numberCmd; + + private: // for ion shooting + G4bool fShootIon; + G4int fAtomicNumber; + G4int fAtomicMass; + G4int fIonCharge; + G4double fIonExciteEnergy; + +}; + +#endif diff --git a/source/event/include/G4HEPEvtInterface.hh b/source/event/include/G4HEPEvtInterface.hh index 4f8450388a..735c0df53b 100644 --- a/source/event/include/G4HEPEvtInterface.hh +++ b/source/event/include/G4HEPEvtInterface.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HEPEvtInterface.hh,v 1.4 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4HEPEvtInterface_h diff --git a/source/event/include/G4HEPEvtParticle.hh b/source/event/include/G4HEPEvtParticle.hh index 101c9e71a0..f53508905d 100644 --- a/source/event/include/G4HEPEvtParticle.hh +++ b/source/event/include/G4HEPEvtParticle.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HEPEvtParticle.hh,v 1.3 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/source/event/include/G4ParticleGun.hh b/source/event/include/G4ParticleGun.hh index 9d967e9b82..28e7ff420b 100644 --- a/source/event/include/G4ParticleGun.hh +++ b/source/event/include/G4ParticleGun.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParticleGun.hh,v 1.3 1999/12/15 14:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParticleGun.hh,v 1.4 2000/10/18 12:41:21 kurasige Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4ParticleGun_h @@ -68,9 +68,8 @@ class G4ParticleGun:public G4VPrimaryGenerator // By using SetParticleMomentum(), both particle_momentum_direction and // particle_energy(Kinetic Energy) are set. // - inline void SetParticleDefinition - (G4ParticleDefinition * aParticleDefinition) - { particle_definition = aParticleDefinition; } + void SetParticleDefinition + (G4ParticleDefinition * aParticleDefinition); void SetParticleMomentum(G4ParticleMomentum aMomentum); inline void SetParticleMomentumDirection (G4ParticleMomentum aMomentumDirection) @@ -81,6 +80,8 @@ class G4ParticleGun:public G4VPrimaryGenerator { particle_position = aPosition; } inline void SetParticleTime(G4double aTime) { particle_time = aTime; } + inline void SetParticleCharge(G4double aCharge) + { particle_charge = aCharge; } inline void SetParticlePolarization(G4ThreeVector aVal) { particle_polarization = aVal; } inline void SetNumberOfParticles(G4int i) @@ -93,6 +94,8 @@ class G4ParticleGun:public G4VPrimaryGenerator { return particle_momentum_direction; } inline G4double GetParticleEnergy() { return particle_energy; } + inline G4double GetParticleCharge() + { return particle_charge; } inline G4ThreeVector GetParticlePosition() { return particle_position; } inline G4double GetParticleTime() @@ -109,6 +112,7 @@ class G4ParticleGun:public G4VPrimaryGenerator G4ParticleDefinition* particle_definition; G4ParticleMomentum particle_momentum_direction; G4double particle_energy; + G4double particle_charge; G4ThreeVector particle_position; G4double particle_time; G4ThreeVector particle_polarization; diff --git a/source/event/include/G4ParticleGunMessenger.hh b/source/event/include/G4ParticleGunMessenger.hh index 2cbb107cca..fcbd837f80 100644 --- a/source/event/include/G4ParticleGunMessenger.hh +++ b/source/event/include/G4ParticleGunMessenger.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParticleGunMessenger.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParticleGunMessenger.hh,v 1.5 2000/10/19 13:29:18 kurasige Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -43,10 +43,11 @@ class G4ParticleGunMessenger: public G4UImessenger void SetNewValue(G4UIcommand * command,G4String newValues); G4String GetCurrentValue(G4UIcommand * command); + private: G4ParticleGun * fParticleGun; G4ParticleTable * particleTable; - + private: //commands G4UIdirectory * gunDirectory; G4UIcmdWithoutParameter * listCmd; @@ -58,6 +59,14 @@ class G4ParticleGunMessenger: public G4UImessenger G4UIcmdWith3Vector * polCmd; G4UIcmdWithAnInteger * numberCmd; + G4UIcommand * ionCmd; + + private: // for ion shooting + G4bool fShootIon; + G4int fAtomicNumber; + G4int fAtomicMass; + G4int fIonCharge; + G4double fIonExciteEnergy; }; #endif diff --git a/source/event/include/G4PrimaryParticle.hh b/source/event/include/G4PrimaryParticle.hh index e78a269d9d..2f788d8194 100644 --- a/source/event/include/G4PrimaryParticle.hh +++ b/source/event/include/G4PrimaryParticle.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryParticle.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryParticle.hh,v 1.6 2000/10/19 15:19:36 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -83,10 +83,11 @@ class G4PrimaryParticle G4double mass; // This is just for book keeping. // This will not be used but the mass in // G4ParticleDefinition will be used. - + G4double charge; G4double polX; G4double polY; G4double polZ; + G4double Weight0; public: // with description // followings are get methods available. @@ -114,13 +115,18 @@ class G4PrimaryParticle { return trackID; } inline G4double GetMass() const { return mass; } + inline G4double GetCharge() const + { return charge; } inline G4ThreeVector GetPolarization() const { return G4ThreeVector(polX,polY,polZ); } inline G4double GetPolX() const { return polX; } inline G4double GetPolY() const { return polY; } inline G4double GetPolZ() const { return polZ; } + inline G4double GetWeight() const { return Weight0; } + inline void SetWeight(G4double w) { Weight0 = w; } - public: + public: // with description + // Followings are available Set methods. void SetPDGcode(G4int Pcode); void SetG4code(G4ParticleDefinition * Gcode); inline void SetMomentum(G4double px, G4double py, G4double pz) @@ -147,7 +153,9 @@ class G4PrimaryParticle { trackID = id; } inline void SetMass(G4double mas) { mass = mas; } - inline void SetPolarization(G4double px,G4double py,G4double pz) + inline void SetCharge(G4double chg) + { charge = chg; } + inline void SetPolarization(G4double px,G4double py,G4double pz) { polX = px; polY = py; diff --git a/source/event/include/G4PrimaryTransformer.hh b/source/event/include/G4PrimaryTransformer.hh index 808678b380..02c8faad38 100644 --- a/source/event/include/G4PrimaryTransformer.hh +++ b/source/event/include/G4PrimaryTransformer.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryTransformer.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryTransformer.hh,v 1.4 2000/10/19 15:19:36 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4PromaryTransformer_h @@ -45,7 +45,7 @@ class G4PrimaryTransformer private: void GenerateTracks(G4PrimaryVertex* primaryVertex); void GenerateSingleTrack(G4PrimaryParticle* primaryParticle, - G4double x0,G4double y0,G4double z0,G4double t0); + G4double x0,G4double y0,G4double z0,G4double t0,G4double wv); void SetDecayProducts(G4PrimaryParticle* mother, G4DynamicParticle* motherDP); inline G4ParticleDefinition* GetDefinition(G4PrimaryParticle*pp) diff --git a/source/event/include/G4PrimaryVertex.hh b/source/event/include/G4PrimaryVertex.hh index 8e655aec2b..d5874b95d5 100644 --- a/source/event/include/G4PrimaryVertex.hh +++ b/source/event/include/G4PrimaryVertex.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryVertex.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryVertex.hh,v 1.5 2000/10/19 15:19:36 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // @@ -52,10 +52,13 @@ class G4PrimaryVertex G4PrimaryParticle * theTail; G4PrimaryVertex* nextVertex; G4int numberOfParticle; + G4double Weight0; public: inline G4ThreeVector GetPosition() const { return G4ThreeVector(X0,Y0,Z0); } + inline void SetPosition(G4double x0,G4double y0,G4double z0) + { X0 = x0; Y0 = y0; Z0 = z0; } inline G4double GetX0() const { return X0; } inline G4double GetY0() const @@ -64,6 +67,8 @@ class G4PrimaryVertex { return Z0; } inline G4double GetT0() const { return T0; } + inline void SetT0(G4double t0) + { T0 = t0; } inline G4int GetNumberOfParticle() const { return numberOfParticle; } inline void SetPrimary(G4PrimaryParticle * pp) @@ -106,6 +111,10 @@ class G4PrimaryVertex } inline G4PrimaryVertex* GetNext() const { return nextVertex; } + inline G4double GetWeight() const + { return Weight0; } + inline void SetWeight(G4double w) + { Weight0 = w; } }; extern G4Allocator aPrimaryVertexAllocator; diff --git a/source/event/include/G4StackManager.hh b/source/event/include/G4StackManager.hh index 3b2ad237f8..34c7a297ab 100644 --- a/source/event/include/G4StackManager.hh +++ b/source/event/include/G4StackManager.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackManager.hh,v 1.5 2000/01/26 06:42:14 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/source/event/include/G4StackedTrack.hh b/source/event/include/G4StackedTrack.hh index 76b0e77559..0d3cb3f286 100644 --- a/source/event/include/G4StackedTrack.hh +++ b/source/event/include/G4StackedTrack.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackedTrack.hh,v 1.4 2000/01/26 06:42:15 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/include/G4StackingMessenger.hh b/source/event/include/G4StackingMessenger.hh index 8bda5937ab..84d4f17992 100644 --- a/source/event/include/G4StackingMessenger.hh +++ b/source/event/include/G4StackingMessenger.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackingMessenger.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4StackingMessenger_h diff --git a/source/event/include/G4TrackStack.hh b/source/event/include/G4TrackStack.hh index 25e7e0c717..3863c2c992 100644 --- a/source/event/include/G4TrackStack.hh +++ b/source/event/include/G4TrackStack.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TrackStack.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/include/G4TrajectoryContainer.hh b/source/event/include/G4TrajectoryContainer.hh index c57315d1f4..6c63923541 100644 --- a/source/event/include/G4TrajectoryContainer.hh +++ b/source/event/include/G4TrajectoryContainer.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TrajectoryContainer.hh,v 1.5 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4TrajectoryContainer diff --git a/source/event/include/G4UserEventAction.hh b/source/event/include/G4UserEventAction.hh index 17ca01a87b..306e262f2b 100644 --- a/source/event/include/G4UserEventAction.hh +++ b/source/event/include/G4UserEventAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserEventAction.hh,v 1.4 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/source/event/include/G4UserStackingAction.hh b/source/event/include/G4UserStackingAction.hh index 3c98468a76..9500580f24 100644 --- a/source/event/include/G4UserStackingAction.hh +++ b/source/event/include/G4UserStackingAction.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserStackingAction.hh,v 1.4 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4UserStackingAction_h diff --git a/source/event/include/G4VPrimaryGenerator.hh b/source/event/include/G4VPrimaryGenerator.hh index bb30a4b66d..28fd99e7b5 100644 --- a/source/event/include/G4VPrimaryGenerator.hh +++ b/source/event/include/G4VPrimaryGenerator.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VPrimaryGenerator.hh,v 1.3 1999/12/15 14:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VPrimaryGenerator_h diff --git a/source/event/include/eventgendefs.hh b/source/event/include/eventgendefs.hh index e423623862..b0837d2d0c 100644 --- a/source/event/include/eventgendefs.hh +++ b/source/event/include/eventgendefs.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: eventgendefs.hh,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef EventGenerator_DEBUG #define EventGenerator_DEBUG diff --git a/source/event/include/evmandefs.hh b/source/event/include/evmandefs.hh index 349ff965d5..a6e8c79810 100644 --- a/source/event/include/evmandefs.hh +++ b/source/event/include/evmandefs.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: evmandefs.hh,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // ///#define G4EVENTMANAGER_DEBUG 1 diff --git a/source/event/include/trajectoryControl.hh b/source/event/include/trajectoryControl.hh index 3641645d55..70eb98f70e 100644 --- a/source/event/include/trajectoryControl.hh +++ b/source/event/include/trajectoryControl.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: trajectoryControl.hh,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // ////#define G4_STORE_TRAJECTORY 1 diff --git a/source/event/src/G4EvManMessenger.cc b/source/event/src/G4EvManMessenger.cc index 6bdf355fec..0fa14fc859 100644 --- a/source/event/src/G4EvManMessenger.cc +++ b/source/event/src/G4EvManMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EvManMessenger.cc,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4Event.cc b/source/event/src/G4Event.cc index 11258a2441..6d4b75c078 100644 --- a/source/event/src/G4Event.cc +++ b/source/event/src/G4Event.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Event.cc,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4Event diff --git a/source/event/src/G4EventManager.cc b/source/event/src/G4EventManager.cc index a54859d015..560f923697 100644 --- a/source/event/src/G4EventManager.cc +++ b/source/event/src/G4EventManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EventManager.cc,v 1.5 2000/01/26 06:42:15 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/source/event/src/G4GeneralParticleSource.cc b/source/event/src/G4GeneralParticleSource.cc new file mode 100644 index 0000000000..c5f081c25f --- /dev/null +++ b/source/event/src/G4GeneralParticleSource.cc @@ -0,0 +1,3137 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// MODULE: G4GeneralParticleSource.cc +// +// Version: 1.1 +// Date: 18/10/00 +// Author: C Ferguson, F Lei, P Truscott +// Organisation: University of Southampton / DERA +// Customer: ESA/ESTEC +// +// Documentation avaialable at http://www.space.dera.gov.uk/space_env/gspm.html +// These include: +// User Requirement Document (URD) +// Software Specification Documents (SSD) +// Software User Manual (SUM) +// Technical Note (TN) on the physics and algorithms +// + +/////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// +// 10-Nov-2000, F. Lei +// some bug fixing: +// i) dclared ' G4int count' in all ****Interpolation functions +// ii) added ' return (0.) ' to GenerateUserDefTheta and GenerateUserDefPhi +// as default. +// +// 09-Nov-2000, F Lei +// Changed to a fast mplementation for generating iso and cos angular directions +// +// Version 1.1, 18 October 2000, Modified to inherit from G4VPrimaryGenerator. +// New name at the request of M. Asai. +// +// +// Version 1.0, 28 February 2000, C Ferguson, Created. +// +/////////////////////////////////////////////////////////////////////////////// +// +#include "G4PrimaryParticle.hh" +#include "G4Event.hh" +#include "Randomize.hh" +#include +#include "G4TransportationManager.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4IonTable.hh" +#include "G4Ions.hh" +#include "G4TrackingManager.hh" +#include "G4Track.hh" +#include "G4GeneralParticleSource.hh" + +G4GeneralParticleSource::G4GeneralParticleSource() +{ + // Initialise all variables + // Position distribution Variables + + NumberOfParticlesToBeGenerated = 1; + particle_definition = NULL; + G4ThreeVector zero; + particle_momentum_direction = (G4ParticleMomentum)zero; + particle_energy = 0.0; + particle_position = zero; + particle_time = 0.0; + particle_polarization = zero; + particle_charge = 0.0; + + SourcePosType = "Point"; + Shape = "NULL"; + halfx = 0.; + halfy = 0.; + halfz = 0.; + Radius = 0.; + Radius0 = 0.; + ParAlpha = 0.; + ParTheta = 0.; + ParPhi = 0.; + CentreCoords = (0.,0.,0.); + Rotx = HepXHat; + Roty = HepYHat; + Rotz = HepZHat; + Confine = false; //If true confines source distribution to VolName + VolName = "NULL"; + SideRefVec1 = HepXHat; // x-axis + SideRefVec2 = HepYHat; // y-axis + SideRefVec3 = HepZHat; // z-axis + UserWRTSurface = false; // Any user-defined distribution is wrt co-ordinate + // axes. + + // Angular distribution variables. + AngDistType = "iso"; + AngRef1 = (1.,0.,0.); + AngRef2 = (0.,1.,0.); + AngRef3 = (0.,0.,1.); + MinTheta = 0.; + MaxTheta = pi; + MinPhi = 0.; + MaxPhi = twopi; + UserDistType = "NULL"; + IPDFThetaExist = false; + IPDFPhiExist = false; + + // Energy Distribution variables + EnergyDisType = "Mono"; + MonoEnergy = 1*MeV; + Emin = 0.; + Emax = 0.; + alpha = 0.; + Ezero = 0.; + Temp = 0.; + grad = 0.; + cept = 0.; + EnergySpec = true; // true - energy spectra, false - momentum spectra + DiffSpec = true; // true - differential spec, false integral spec + IntType = "NULL"; // Interpolation type + IPDFEnergyExist = false; + IPDFArbExist = false; + + // Bias variables + XBias = false; + IPDFXBias = false; + YBias = false; + IPDFYBias = false; + ZBias = false; + IPDFZBias = false; + ThetaBias = false; + IPDFThetaBias = false; + PhiBias = false; + IPDFPhiBias = false; + EnergyBias = false; + IPDFEnergyBias = false; + + ArbEmin = 0.; + ArbEmax = 0.; + + // verbosity + verbosityLevel = 0; + + theMessenger = new G4GeneralParticleSourceMessenger(this); + gNavigator = G4TransportationManager::GetTransportationManager() + ->GetNavigatorForTracking(); +} + +G4GeneralParticleSource::~G4GeneralParticleSource() +{ + delete theMessenger; +} + +void G4GeneralParticleSource::SetPosDisType(G4String PosType) +{ + SourcePosType = PosType; +} + +void G4GeneralParticleSource::SetPosDisShape(G4String shapeType) +{ + Shape = shapeType; +} + +void G4GeneralParticleSource::SetCentreCoords(G4ThreeVector coordsOfCentre) +{ + CentreCoords = coordsOfCentre; +} + +void G4GeneralParticleSource::SetPosRot1(G4ThreeVector posrot1) +{ + // This should be x' + Rotx = posrot1; + if(verbosityLevel == 2) + { + G4cout << "Vector x' " << Rotx << G4endl; + } + GenerateRotationMatrices(); +} + +void G4GeneralParticleSource::SetPosRot2(G4ThreeVector posrot2) +{ + // This is a vector in the plane x'y' but need not + // be y' + Roty = posrot2; + if(verbosityLevel == 2) + { + G4cout << "The vector in the x'-y' plane " << Roty << G4endl; + } + GenerateRotationMatrices(); +} + +void G4GeneralParticleSource::SetHalfX(G4double xhalf) +{ + halfx = xhalf; +} + +void G4GeneralParticleSource::SetHalfY(G4double yhalf) +{ + halfy = yhalf; +} + +void G4GeneralParticleSource::SetHalfZ(G4double zhalf) +{ + halfz = zhalf; +} + +void G4GeneralParticleSource::SetRadius(G4double rad) +{ + Radius = rad; +} + +void G4GeneralParticleSource::SetRadius0(G4double rad) +{ + Radius0 = rad; +} + +void G4GeneralParticleSource::SetParAlpha(G4double paralp) +{ + ParAlpha = paralp; +} + +void G4GeneralParticleSource::SetParTheta(G4double parthe) +{ + ParTheta = parthe; +} + +void G4GeneralParticleSource::SetParPhi(G4double parphi) +{ + ParPhi = parphi; +} + +void G4GeneralParticleSource::GenerateRotationMatrices() +{ + // This takes in 2 vectors, x' and one in the plane x'-y', + // and from these takes a cross product to calculate z'. + // Then a cross product is taken between x' and z' to give + // y'. + Rotx = Rotx.unit(); // x' + Roty = Roty.unit(); // vector in x'y' plane + Rotz = Rotx.cross(Roty); // z' + Roty = Rotz.cross(Rotx); // y' + if(verbosityLevel == 2) + { + G4cout << "The new axes, x', y', z' " << Rotx << " " << Roty << " " << Rotz << G4endl; + } +} + +void G4GeneralParticleSource::ConfineSourceToVolume(G4String Vname) +{ + VolName = Vname; + if(verbosityLevel == 2) + G4cout << VolName << G4endl; + G4VPhysicalVolume *tempPV = NULL; + G4PhysicalVolumeStore *PVStore = 0; + G4String theRequiredVolumeName = VolName; + PVStore = G4PhysicalVolumeStore::GetInstance(); + G4int i = 0; + G4bool found = false; + if(verbosityLevel == 2) + G4cout << PVStore->length() << G4endl; + while (!found && ilength()) { + tempPV = (*PVStore)[i]; + found = tempPV->GetName() == theRequiredVolumeName; + if(verbosityLevel == 2) + G4cout << i << " " << " " << tempPV->GetName() << " " << theRequiredVolumeName << " " << found << G4endl; + + if (!found) + {i++;} + } + // found = true then the volume exists else it doesnt. + if(found == true) + { + if(verbosityLevel >= 1) + G4cout << "Volume " << VolName << " exists" << G4endl; + Confine = true; + } + else + { + G4cout << " **** Error: Volume does not exist **** " << G4endl; + G4cout << " Ignoring confine condition" << G4endl; + Confine = false; + VolName = "NULL"; + } + +} + +void G4GeneralParticleSource::GeneratePointSource() +{ + // Generates Points given the point source. + if(SourcePosType == "Point") + particle_position = CentreCoords; + else + if(verbosityLevel >= 1) + G4cout << "Error SourcePosType is not set to Point" << G4endl; +} + +void G4GeneralParticleSource::GeneratePointsInPlane() +{ + G4double x, y, z; + G4double expression; + G4ThreeVector RandPos; + G4double tempx, tempy, tempz; + + z = 0.; + + if(SourcePosType != "Plane" && verbosityLevel >= 1) + G4cout << "Error: SourcePosType is not Plane" << G4endl; + + // Private Method to create points in a plane + if(Shape == "Circle") + { + x = Radius + 100.; + y = Radius + 100.; + while(sqrt((x*x) + (y*y)) > Radius) + { + x = GenRandX(); + y = GenRandY(); + + x = (x*2.*Radius) - Radius; + y = (y*2.*Radius) - Radius; + } + } + else if(Shape == "Annulus") + { + x = Radius + 100.; + y = Radius + 100.; + while(sqrt((x*x) + (y*y)) > Radius || sqrt((x*x) + (y*y)) < Radius0 ) + { + x = GenRandX(); + y = GenRandY(); + + x = (x*2.*Radius) - Radius; + y = (y*2.*Radius) - Radius; + } + } + else if(Shape == "Ellipse") + { + expression = 20.; + while(expression > 1.) + { + x = GenRandX(); + y = GenRandY(); + + x = (x*2.*halfx) - halfx; + y = (y*2.*halfy) - halfy; + + expression = ((x*x)/(halfx*halfx)) + ((y*y)/(halfy*halfy)); + } + } + else if(Shape == "Square") + { + x = GenRandX(); + y = GenRandY(); + x = (x*2.*halfx) - halfx; + y = (y*2.*halfy) - halfy; + } + else if(Shape == "Rectangle") + { + x = GenRandX(); + y = GenRandY(); + x = (x*2.*halfx) - halfx; + y = (y*2.*halfy) - halfy; + } + else + G4cout << "Shape not one of the plane types" << G4endl; + + // Apply Rotation Matrix + // x * Rotx, y * Roty and z * Rotz + if(verbosityLevel == 2) + { + G4cout << "Raw position " << x << "," << y << "," << z << G4endl; + } + tempx = (x * Rotx.x()) + (y * Roty.x()) + (z * Rotz.x()); + tempy = (x * Rotx.y()) + (y * Roty.y()) + (z * Rotz.y()); + tempz = (x * Rotx.z()) + (y * Roty.z()) + (z * Rotz.z()); + + RandPos.setX(tempx); + RandPos.setY(tempy); + RandPos.setZ(tempz); + + // Translate + particle_position = CentreCoords + RandPos; + if(verbosityLevel >= 1) + { + if(verbosityLevel == 2) + { + G4cout << "Rotated Position " << RandPos << G4endl; + } + G4cout << "Rotated and Translated position " << particle_position << G4endl; + } + + // For Cosine-Law make SideRefVecs = to Rotation matrix vectors + SideRefVec1 = Rotx; + SideRefVec2 = Roty; + SideRefVec3 = Rotz; + // If rotation matrix z' point to origin then invert the matrix + // So that SideRefVecs point away. + if((CentreCoords.x() > 0. && Rotz.x() < 0.) + || (CentreCoords.x() < 0. && Rotz.x() > 0.) + || (CentreCoords.y() > 0. && Rotz.y() < 0.) + || (CentreCoords.y() < 0. && Rotz.y() > 0.) + || (CentreCoords.z() > 0. && Rotz.z() < 0.) + || (CentreCoords.z() < 0. && Rotz.z() > 0.)) + { + // Invert y and z. + SideRefVec2 = -SideRefVec2; + SideRefVec3 = -SideRefVec3; + } + if(verbosityLevel == 2) + { + G4cout << "Reference vectors for cosine-law " << SideRefVec1 << " " << SideRefVec2 << " " << SideRefVec3 << G4endl; + } +} + +void G4GeneralParticleSource::GeneratePointsOnSurface() +{ + //Private method to create points on a surface + G4double theta, phi; + G4double x, y, z; + G4ThreeVector RandPos; + G4double tempx, tempy, tempz; + + if(SourcePosType != "Surface" && verbosityLevel >= 1) + G4cout << "Error SourcePosType not Surface" << G4endl; + + if(Shape == "Sphere") + { + G4double tantheta, tanphi; + theta = GenRandTheta(); + phi = GenRandPhi(); + + theta = acos(1. - 2.*theta); // theta isotropic + phi = phi * 2. * pi; + tantheta = tan(theta); + + x = Radius * sin(theta) * cos(phi); + y = Radius * sin(theta) * sin(phi); + z = Radius * cos(theta); + + RandPos.setX(x); + RandPos.setY(y); + RandPos.setZ(z); + + // Cosine-law (not a good idea to use this here) + G4ThreeVector zdash(x,y,z); + zdash = zdash.unit(); + G4ThreeVector xdash = Rotz.cross(zdash); + G4ThreeVector ydash = xdash.cross(zdash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + } + else if(Shape == "Ellipsoid") + { + G4double testrand, theta, phi, minphi, maxphi, middlephi; + G4double answer, constant; + + constant = pi/(halfx*halfx) + pi/(halfy*halfy) + + twopi/(halfz*halfz); + + // simplified approach + theta = GenRandTheta(); + phi = GenRandPhi(); + + theta = acos(1. - 2.*theta); + minphi = 0.; + maxphi = twopi; + while(maxphi-minphi > 0.) + { + middlephi = (maxphi+minphi)/2.; + answer = (1./(halfx*halfx))*(middlephi/2. + sin(2*middlephi)/4.) + + (1./(halfy*halfy))*(middlephi/2. - sin(2*middlephi)/4.) + + middlephi/(halfz*halfz); + answer = answer/constant; + if(answer > phi) maxphi = middlephi; + if(answer < phi) minphi = middlephi; + if(fabs(answer-phi) <= 0.00001) + { + minphi = maxphi +1; + phi = middlephi; + } + } + + x = sin(theta)*cos(phi); + y = sin(theta)*sin(phi); + z = cos(theta); + // x,y and z form a unit vector. Put this onto the ellipse. + G4double lhs; + // solve for x + G4double numYinX = y/x; + G4double numZinX = z/x; + G4double tempxvar; + tempxvar= 1./(halfx*halfx)+(numYinX*numYinX)/(halfy*halfy) + + (numZinX*numZinX)/(halfz*halfz); + + tempxvar = 1./tempxvar; + G4double coordx = sqrt(tempxvar); + + //solve for y + G4double numXinY = x/y; + G4double numZinY = z/y; + G4double tempyvar; + tempyvar=(numXinY*numXinY)/(halfx*halfx)+1./(halfy*halfy) + +(numZinY*numZinY)/(halfz*halfz); + tempyvar = 1./tempyvar; + G4double coordy = sqrt(tempyvar); + + //solve for z + G4double numXinZ = x/z; + G4double numYinZ = y/z; + G4double tempzvar; + tempzvar=(numXinZ*numXinZ)/(halfx*halfx) + +(numYinZ*numYinZ)/(halfy*halfy)+1./(halfz*halfz); + tempzvar = 1./tempzvar; + G4double coordz = sqrt(tempzvar); + + lhs = sqrt((coordx*coordx)/(halfx*halfx) + + (coordy*coordy)/(halfy*halfy) + + (coordz*coordz)/(halfz*halfz)); + + if(fabs(lhs-1.) > 0.001 && verbosityLevel >= 1) + G4cout << "Error: theta, phi not really on ellipsoid" << G4endl; + + // coordx, coordy and coordz are all positive + G4double TestRandVar = G4UniformRand(); + if(TestRandVar > 0.5) + { + coordx = -coordx; + } + TestRandVar = G4UniformRand(); + if(TestRandVar > 0.5) + { + coordy = -coordy; + } + TestRandVar = G4UniformRand(); + if(TestRandVar > 0.5) + { + coordz = -coordz; + } + + RandPos.setX(coordx); + RandPos.setY(coordy); + RandPos.setZ(coordz); + + // Cosine-law (not a good idea to use this here) + G4ThreeVector zdash(coordx,coordy,coordz); + zdash = zdash.unit(); + G4ThreeVector xdash = Rotz.cross(zdash); + G4ThreeVector ydash = xdash.cross(zdash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + } + else if(Shape == "Cylinder") + { + G4double AreaTop, AreaBot, AreaLat; + G4double AreaTotal, prob1, prob2, prob3; + G4double testrand; + + // User giver Radius and z-half length + // Calculate surface areas, maybe move this to + // a different routine. + + AreaTop = pi * Radius * Radius; + AreaBot = AreaTop; + AreaLat = 2. * pi * Radius * 2. * halfz; + AreaTotal = AreaTop + AreaBot + AreaLat; + + prob1 = AreaTop / AreaTotal; + prob2 = AreaBot / AreaTotal; + prob3 = 1.00 - prob1 - prob2; + if(fabs(prob3 - (AreaLat/AreaTotal)) >= 0.001) + { + if(verbosityLevel >= 1) + G4cout << AreaLat/AreaTotal << " " << prob3< (Radius*Radius)) + { + x = GenRandX(); + y = GenRandY(); + + x = x * 2. * Radius; + y = y * 2. * Radius; + x = x - Radius; + y = y - Radius; + } + // Cosine law + SideRefVec1 = Rotx; + SideRefVec2 = Roty; + SideRefVec3 = Rotz; + } + else if((testrand > prob1) && (testrand <= (prob1 + prob2))) + { + //Point on Bottom surface + z = -halfz; + x = Radius + 100.; + y = Radius + 100.; + while(((x*x)+(y*y)) > (Radius*Radius)) + { + x = GenRandX(); + y = GenRandY(); + + x = x * 2. * Radius; + y = y * 2. * Radius; + x = x - Radius; + y = y - Radius; + } + // Cosine law + SideRefVec1 = Rotx; + SideRefVec2 = -Roty; + SideRefVec3 = -Rotz; + } + else if(testrand > (prob1+prob2)) + { + G4double rand; + //Point on Lateral Surface + + rand = G4UniformRand(); + rand = rand * 2. * pi; + + x = Radius * cos(rand); + y = Radius * sin(rand); + + z = GenRandZ(); + + z = z * 2. * halfz; + z = z - halfz; + + // Cosine law + G4ThreeVector zdash(x,y,0.); + zdash = zdash.unit(); + G4ThreeVector xdash = Rotz.cross(zdash); + G4ThreeVector ydash = xdash.cross(zdash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + } + else + G4cout << "Error: testrand " << testrand << G4endl; + + RandPos.setX(x); + RandPos.setY(y); + RandPos.setZ(z); + + } + else if(Shape == "Para") + { + G4double testrand; + //Right Parallelepiped. + // User gives x,y,z half lengths and ParAlpha + // ParTheta and ParPhi + // +x = <1, -x >1 & <2, +y >2 & <3, -y >3 &<4 + // +z >4 & < 5, -z >5 &<6. + testrand = G4UniformRand(); + G4double AreaX = halfy * halfz * 4.; + G4double AreaY = halfx * halfz * 4.; + G4double AreaZ = halfx * halfy * 4.; + G4double AreaTotal = 2*(AreaX + AreaY + AreaZ); + G4double Probs[6]; + Probs[0] = AreaX/AreaTotal; + Probs[1] = Probs[0] + AreaX/AreaTotal; + Probs[2] = Probs[1] + AreaY/AreaTotal; + Probs[3] = Probs[2] + AreaY/AreaTotal; + Probs[4] = Probs[3] + AreaZ/AreaTotal; + Probs[5] = Probs[4] + AreaZ/AreaTotal; + + x = GenRandX(); + y = GenRandY(); + z = GenRandZ(); + + x = x * halfx * 2.; + x = x - halfx; + y = y * halfy * 2.; + y = y - halfy; + z = z * halfz * 2.; + z = z - halfz; + // Pick a side first + if(testrand < Probs[0]) + { + // side is +x + x = halfx + z*tan(ParTheta)*cos(ParPhi) + y*tan(ParAlpha); + y = y + z*tan(ParTheta)*sin(ParPhi); + z = z; + // Cosine-law + G4ThreeVector xdash(halfz*tan(ParTheta)*cos(ParPhi), + halfz*tan(ParTheta)*sin(ParPhi), + halfz/cos(ParPhi)); + G4ThreeVector ydash(halfy*tan(ParAlpha), halfy, 0.0); + xdash = xdash.unit(); + ydash = ydash.unit(); + G4ThreeVector zdash = xdash.cross(ydash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + } + else if(testrand >= Probs[0] && testrand < Probs[1]) + { + // side is -x + x = -halfx + z*tan(ParTheta)*cos(ParPhi) + y*tan(ParAlpha); + y = y + z*tan(ParTheta)*sin(ParPhi); + z = z; + // Cosine-law + G4ThreeVector xdash(halfz*tan(ParTheta)*cos(ParPhi), + halfz*tan(ParTheta)*sin(ParPhi), + halfz/cos(ParPhi)); + G4ThreeVector ydash(halfy*tan(ParAlpha), halfy, 0.0); + xdash = xdash.unit(); + ydash = ydash.unit(); + G4ThreeVector zdash = xdash.cross(ydash); + SideRefVec1 = xdash; + SideRefVec2 = -ydash; + SideRefVec3 = -zdash; + } + else if(testrand >= Probs[1] && testrand < Probs[2]) + { + // side is +y + x = x + z*tan(ParTheta)*cos(ParPhi) + halfy*tan(ParAlpha); + y = halfy + z*tan(ParTheta)*sin(ParPhi); + z = z; + // Cosine-law + G4ThreeVector ydash(halfz*tan(ParTheta)*cos(ParPhi), + halfz*tan(ParTheta)*sin(ParPhi), + halfz/cos(ParPhi)); + ydash = ydash.unit(); + G4ThreeVector xdash = Roty.cross(ydash); + G4ThreeVector zdash = xdash.cross(ydash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + } + else if(testrand >= Probs[2] && testrand < Probs[3]) + { + // side is -y + x = x + z*tan(ParTheta)*cos(ParPhi) - halfy*tan(ParAlpha); + y = -halfy + z*tan(ParTheta)*sin(ParPhi); + z = z; + // Cosine-law + G4ThreeVector ydash(halfz*tan(ParTheta)*cos(ParPhi), + halfz*tan(ParTheta)*sin(ParPhi), + halfz/cos(ParPhi)); + ydash = ydash.unit(); + G4ThreeVector xdash = Roty.cross(ydash); + G4ThreeVector zdash = xdash.cross(ydash); + SideRefVec1 = xdash; + SideRefVec2 = -ydash; + SideRefVec3 = -zdash; + } + else if(testrand >= Probs[3] && testrand < Probs[4]) + { + // side is +z + z = halfz; + y = y + halfz*sin(ParPhi)*tan(ParTheta); + x = x + halfz*cos(ParPhi)*tan(ParTheta) + y*tan(ParAlpha); + // Cosine-law + SideRefVec1 = Rotx; + SideRefVec2 = Roty; + SideRefVec3 = Rotz; + } + else if(testrand >= Probs[4] && testrand < Probs[5]) + { + // side is -z + z = -halfz; + y = y - halfz*sin(ParPhi)*tan(ParTheta); + x = x - halfz*cos(ParPhi)*tan(ParTheta) + y*tan(ParAlpha); + // Cosine-law + SideRefVec1 = Rotx; + SideRefVec2 = -Roty; + SideRefVec3 = -Rotz; + } + else + { + G4cout << "Error: testrand out of range" << G4endl; + if(verbosityLevel >= 1) + G4cout << "testrand=" << testrand << " Probs[5]=" << Probs[5] <= 1) + { + if(verbosityLevel == 2) + G4cout << "Rotated position " << RandPos << G4endl; + G4cout << "Rotated and translated position " << particle_position << G4endl; + } + if(verbosityLevel == 2) + { + G4cout << "Reference vectors for cosine-law " << SideRefVec1 << " " << SideRefVec2 << " " << SideRefVec3 << G4endl; + } +} + +void G4GeneralParticleSource::GeneratePointsInVolume() +{ + G4ThreeVector RandPos; + G4double tempx, tempy, tempz; + G4double x, y, z; + + if(SourcePosType != "Volume" && verbosityLevel >= 1) + G4cout << "Error SourcePosType not Volume" << G4endl; + //Private method to create points in a volume + if(Shape == "Sphere") + { + x = Radius*2.; + y = Radius*2.; + z = Radius*2.; + while(((x*x)+(y*y)+(z*z)) > (Radius*Radius)) + { + x = GenRandX(); + y = GenRandY(); + z = GenRandZ(); + + x = (x*2.*Radius) - Radius; + y = (y*2.*Radius) - Radius; + z = (z*2.*Radius) - Radius; + } + } + else if(Shape == "Ellipsoid") + { + G4double temp; + temp = 100.; + while(temp > 1.) + { + x = GenRandX(); + y = GenRandY(); + z = GenRandZ(); + + x = (x*2.*halfx) - halfx; + y = (y*2.*halfy) - halfy; + z = (z*2.*halfz) - halfz; + + temp = ((x*x)/(halfx*halfx)) + ((y*y)/(halfy*halfy)) + + ((z*z)/(halfz*halfz)); + } + } + else if(Shape == "Cylinder") + { + x = Radius*2.; + y = Radius*2.; + while(((x*x)+(y*y)) > (Radius*Radius)) + { + x = GenRandX(); + y = GenRandY(); + z = GenRandZ(); + + x = (x*2.*Radius) - Radius; + y = (y*2.*Radius) - Radius; + z = (z*2.*halfz) - halfz; + } + } + else if(Shape == "Para") + { + x = GenRandX(); + y = GenRandY(); + z = GenRandZ(); + x = (x*2.*halfx) - halfx; + y = (y*2.*halfy) - halfy; + z = (z*2.*halfz) - halfz; + x = x + z*tan(ParTheta)*cos(ParPhi) + y*tan(ParAlpha); + y = y + z*tan(ParTheta)*sin(ParPhi); + z = z; + } + else + G4cout << "Error: Volume Shape Doesnt Exist" << G4endl; + + RandPos.setX(x); + RandPos.setY(y); + RandPos.setZ(z); + + // Apply Rotation Matrix + // x * Rotx, y * Roty and z * Rotz + tempx = (x * Rotx.x()) + (y * Roty.x()) + (z * Rotz.x()); + tempy = (x * Rotx.y()) + (y * Roty.y()) + (z * Rotz.y()); + tempz = (x * Rotx.z()) + (y * Roty.z()) + (z * Rotz.z()); + + RandPos.setX(tempx); + RandPos.setY(tempy); + RandPos.setZ(tempz); + + // Translate + particle_position = CentreCoords + RandPos; + + if(verbosityLevel == 2) + { + G4cout << "Raw position " << x << "," << y << "," << z << G4endl; + G4cout << "Rotated position " << RandPos << G4endl; + } + if(verbosityLevel >= 1) + G4cout << "Rotated and translated position " << particle_position << G4endl; + + // Cosine-law (not a good idea to use this here) + G4ThreeVector zdash(tempx,tempy,tempz); + zdash = zdash.unit(); + G4ThreeVector xdash = Rotz.cross(zdash); + G4ThreeVector ydash = xdash.cross(zdash); + SideRefVec1 = xdash; + SideRefVec2 = ydash; + SideRefVec3 = zdash; + + if(verbosityLevel == 2) + { + G4cout << "Reference vectors for cosine-law " << SideRefVec1 << " " << SideRefVec2 << " " << SideRefVec3 << G4endl; + } +} + +G4bool G4GeneralParticleSource::IsSourceConfined() +{ + // Method to check point is within the volume specified + if(Confine == false) + G4cout << "Error: Confine is false" << G4endl; + G4ThreeVector null(0.,0.,0.); + G4ThreeVector *ptr; + ptr = &null; + + // Check particle_position is within VolName, if so true, + // else false + G4VPhysicalVolume *theVolume; + theVolume=gNavigator->LocateGlobalPointAndSetup(particle_position,ptr,true); + G4String theVolName = theVolume->GetName(); + if(theVolName == VolName) + { + if(verbosityLevel >= 1) + G4cout << "Particle is in volume " << VolName << G4endl; + return(true); + } + else + return(false); +} + +// Now follows the angular distribution methods. + +void G4GeneralParticleSource::SetAngDistType(G4String atype) +{ + if(atype != "iso" && atype != "cos" && atype != "user") + G4cout << "Error, distribution must be iso, cos or user" << G4endl; + else + AngDistType = atype; +} + +void G4GeneralParticleSource::DefineAngRefAxes(G4String refname, G4ThreeVector ref) +{ + + if(refname == "angref1") + AngRef1 = ref; // x' + else if(refname == "angref2") + AngRef2 = ref; // vector in x'y' plane + + // User defines x' (AngRef1) and a vector in the x'y' + // plane (AngRef2). Then, AngRef1 x AngRef2 = AngRef3 + // the z' vector. Then, AngRef3 x AngRef1 = AngRef2 + // which will now be y'. + + AngRef3 = AngRef1.cross(AngRef2); // z' + AngRef2 = AngRef3.cross(AngRef1); // y' + if(verbosityLevel == 2) + { + G4cout << "Angular distribution rotation axes " << AngRef1 << " " << AngRef2 << " " << AngRef3 << G4endl; + } +} + +void G4GeneralParticleSource::SetMinTheta(G4double mint) +{ + MinTheta = mint; +} + +void G4GeneralParticleSource::SetMinPhi(G4double minp) +{ + MinPhi = minp; +} + +void G4GeneralParticleSource::SetMaxTheta(G4double maxt) +{ + MaxTheta = maxt; +} + +void G4GeneralParticleSource::SetMaxPhi(G4double maxp) +{ + MaxPhi = maxp; +} + +void G4GeneralParticleSource::UserDefAngTheta(G4ThreeVector input) +{ + if(UserDistType == "NULL") UserDistType = "theta"; + if(UserDistType == "phi") UserDistType = "both"; + G4double thi, val; + thi = input.x(); + val = input.y(); + if(verbosityLevel >= 1) + G4cout << "In UserDefAngTheta" << G4endl; + UDefThetaH.InsertValues(thi, val); +} + +void G4GeneralParticleSource::UserDefAngPhi(G4ThreeVector input) +{ + if(UserDistType == "NULL") UserDistType = "phi"; + if(UserDistType == "theta") UserDistType = "both"; + G4double phhi, val; + phhi = input.x(); + val = input.y(); + if(verbosityLevel >= 1) + G4cout << "In UserDefAngPhi" << G4endl; + UDefPhiH.InsertValues(phhi, val); +} + +void G4GeneralParticleSource::SetUserWRTSurface(G4bool wrtSurf) +{ + // if UserWRTSurface = true then the user wants momenta with respect + // to the surface normals. + // When doing this theta has to be 0-90 only otherwise there will be + // errors, which currently are flagged anywhere. + UserWRTSurface = wrtSurf; +} + +void G4GeneralParticleSource::GenerateIsotropicFlux() +{ + // generates isotropic flux. + // No vectors are needed. + G4double rndm, rndm2; + G4double px, py, pz, pmag; + + // generate rand nos. but make sure in theta/phi limits + /* Colin's old stuff + Theta = 10.; // This is well above the pi upper limit. + Phi = 10.; // Still well above 2pi upper limit. + + while(Theta > MaxTheta || Theta < MinTheta) + { + rndm = GenRandTheta(); + Theta = acos(1. - 2.*rndm); + } + + while(Phi > MaxPhi || Phi < MinPhi) + { + rndm2 = GenRandPhi(); + Phi = twopi * rndm2; + } + + px = sin(Theta) * cos(Phi); + py = sin(Theta) * sin(Phi); + pz = cos(Theta); + + */ + // More efficient implementation by F. Lei + // + G4double sintheta, sinphi,costheta,cosphi; + rndm = GenRandTheta(); + costheta = cos(MinTheta) - rndm * (cos(MinTheta) - cos(MaxTheta)); + sintheta = sqrt(1. - costheta*costheta); + + rndm2 = GenRandPhi(); + Phi = MinPhi + (MaxPhi - MinPhi) * rndm2; + sinphi = sin(Phi); + cosphi = cos(Phi); + + px = sintheta * cosphi; + py = sintheta * sinphi; + pz = costheta; + + // end of F.Lei implementation + + px = -px; + py = -py; + pz = -pz; + + pmag = sqrt((px*px) + (py*py) + (pz*pz)); + + px = px/pmag; + py = py/pmag; + pz = pz/pmag; + + //Need to rotate the particle_momentum_direction round such that the + //start position is at the north pole, so that all particles go into + // the centre of the geomtries. + // particle_position stores the particle's position. + // use particle position to calculate theta and phi - posthe and posphi + + G4double posthe, posphi; + // G4cout << "particle_position " << particle_position << G4endl; + G4double tx, ty, tz, tt; + tx = particle_position.x(); + ty = particle_position.y(); + tz = particle_position.z(); + tt = sqrt(tx*tx + ty*ty + tz*tz); + tx = tx/tt; + ty = ty/tt; + tz = tz/tt; + // G4cout << "unit position " << tx << " " << ty << " " << tz << G4endl; + posthe = acos(tz); + posphi = acos(tx/sin(posthe)); + // G4cout << "Posthe and posphi " << posthe << " " << posphi << G4endl; + G4double finx, finy, finz; + finx = (px*cos(posthe)*cos(posphi)) - (py*sin(posphi)) + (pz*sin(posthe)*cos(posphi)); + finy = (px*cos(posthe)*sin(posphi)) + (py*cos(posphi)) + (pz*sin(posthe)*sin(posphi)); + finz = (-px*sin(posthe)) + (pz*cos(posthe)); + // G4cout << "finx... " << finx << " " << finy << " " << finz << G4endl; + + particle_momentum_direction.setX(finx); + particle_momentum_direction.setY(finy); + particle_momentum_direction.setZ(finz); + + // particle_momentum_direction now holds unit momentum vector. + if(verbosityLevel >= 1) + G4cout << "Generating isotropic vector: " << particle_momentum_direction << G4endl; +} + +void G4GeneralParticleSource::GenerateCosineLawFlux() +{ + // Method to generate flux distributed with a cosine law + // such as is in TIMM. + G4double px, py, pz, pmag; + G4double rndm, rndm2; + G4double resultx, resulty, resultz; + + /* Colin's old implementation which is very slow + + Theta = 10.; // Well above MaxTheta + Phi = 10.; // Well above MaxPhi + + while(Theta > MaxTheta || Theta < MinTheta) + { + rndm = GenRandTheta(); + Theta = asin(sqrt(MaxTheta*rndm)); + } + + while(Phi > MaxPhi || Phi < MinPhi) + { + rndm2 = GenRandPhi(); + Phi = twopi * rndm2; + } + + px = sin(Theta) * cos(Phi); + py = sin(Theta) * sin(Phi); + pz = cos(Theta); + */ + // More efficient implementation by F. Lei + // + G4double sintheta, sinphi,costheta,cosphi; + rndm = GenRandTheta(); + sintheta = sqrt( rndm * (sin(MaxTheta)*sin(MaxTheta) - sin(MinTheta)*sin(MinTheta) ) ); + costheta = sqrt(1. -sintheta*sintheta); + + rndm2 = GenRandPhi(); + Phi = MinPhi + (MaxPhi - MinPhi) * rndm2; + sinphi = sin(Phi); + cosphi = cos(Phi); + + px = sintheta * cosphi; + py = sintheta * sinphi; + pz = costheta; + + // end of F.Lei implementation + + px = -px; + py = -py; + pz = -pz; + pmag = sqrt((px*px) + (py*py) + (pz*pz)); + G4double pxh = px/pmag; + G4double pyh = py/pmag; + G4double pzh = pz/pmag; + + if(verbosityLevel == 2) + { + G4cout <<"SideRefVecs " <= 1) + { + G4cout << "Resultant cosine-law unit momentum vector " << particle_momentum_direction << G4endl; + } +} + +void G4GeneralParticleSource::GenerateUserDefFlux() +{ + G4double rndm, px, py, pz, pmag; + + if(UserDistType == "NULL") + G4cout << "Error: UserDistType undefined" << G4endl; + else if(UserDistType == "theta") + { + Theta = GenerateUserDefTheta(); + Phi = 10.; + while(Phi > MaxPhi || Phi < MinPhi) + { + rndm = GenRandPhi(); + Phi = twopi * rndm; + } + } + else if(UserDistType == "phi") + { + Theta = 10.; + while(Theta > MaxTheta || Theta < MinTheta) + { + rndm = GenRandTheta(); + Theta = acos(1. - (2. * rndm)); + } + Phi = GenerateUserDefPhi(); + } + else if(UserDistType == "both") + { + Theta = GenerateUserDefTheta(); + Phi = GenerateUserDefPhi(); + } + + px = -sin(Theta) * cos(Phi); + py = -sin(Theta) * sin(Phi); + pz = -cos(Theta); + + pmag = sqrt((px*px) + (py*py) + (pz*pz)); + + if(UserWRTSurface == false) + { + particle_momentum_direction.setX(px/pmag); + particle_momentum_direction.setY(py/pmag); + particle_momentum_direction.setZ(pz/pmag); + } + else if(UserWRTSurface == true) + { + G4double pxh = px/pmag; + G4double pyh = py/pmag; + G4double pzh = pz/pmag; + + if(verbosityLevel == 2) + { + G4cout <<"SideRefVecs " <= 1) + { + G4cout << "Final User Defined momentum vector " << particle_momentum_direction << G4endl; + } +} + +G4double G4GeneralParticleSource::GenerateUserDefTheta() +{ + // Create cumulative histogram if not already done so. Then use RandFlat + //::shoot to generate the output Theta value. + if(UserDistType == "NULL" || UserDistType == "phi") + { + // No user defined theta distribution + G4cout << "Error ***********************" << G4endl; + G4cout << "UserDistType = " << UserDistType << G4endl; + return (0.); + } + else + { + // UserDistType = theta or both and so a theta distribution + // is defined. This should be integrated if not already done. + if(IPDFThetaExist == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(UDefThetaH.GetVectorLength()); + bins[0] = UDefThetaH.GetLowEdgeEnergy(size_t(0)); + vals[0] = UDefThetaH(size_t(0)); + sum = vals[0]; + for(ii=1;iiGetPDGMass(); + + // multiply the function (Arb_y) up by the bin width + // to make the function counts/s (i.e. get rid of momentum + // dependence). + for(count=0;count 0.) + { + if(verbosityLevel == 2) + G4cout << "Arb_grad is positive" << G4endl; + Arb_cept[i] = Arb_y[i] - (Arb_grad[i] * Arb_x[i]); + } + else if(Arb_grad[i] < 0.) + { + if(verbosityLevel == 2) + G4cout << "Arb_grad is negative" << G4endl; + Arb_cept[i] = Arb_y[i] + (-Arb_grad[i] * Arb_x[i]); + } + else + { + if(verbosityLevel == 2) + G4cout << "Arb_grad is 0." << G4endl; + Arb_cept[i] = Arb_y[i]; + } + + Area_seg[i] = ((Arb_grad[i]/2)*(Arb_x[i]*Arb_x[i] - Arb_x[i-1]*Arb_x[i-1]) + Arb_cept[i]*(Arb_x[i] - Arb_x[i-1])); + Arb_Cum_Area[i] = Arb_Cum_Area[i-1] + Area_seg[i]; + sum = sum + Area_seg[i]; + if(verbosityLevel == 2) + G4cout << Arb_x[i] << Arb_y[i] << Area_seg[i] << sum << Arb_grad[i] << G4endl; + i++; + } + + i=0; + while(i < maxi) + { + Arb_Cum_Area[i] = Arb_Cum_Area[i]/sum; // normalisation + IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_Cum_Area[i]); + i++; + } + + if(verbosityLevel >= 1) + { + G4cout << "Leaving LinearInterpolation" << G4endl; + ArbEnergyH.DumpValues(); + IPDFArbEnergyH.DumpValues(); + } +} + +void G4GeneralParticleSource::LogInterpolation() +{ + // Interpolation based on Logarithmic equations + // Generate equations of line segments + // y = Ax**alpha => log y = alpha*logx + logA + // Find area under line segments + // create normalised, cumulative array Arb_Cum_Area + G4double Area_seg[256], Arb_x[256], Arb_y[256], Arb_Cum_Area[256]; + G4double alp, sum=0.; + Arb_Cum_Area[0] = 0.; + if(verbosityLevel == 2) + ArbEnergyH.DumpValues(); + + G4int i, count; + G4int maxi = ArbEnergyH.GetVectorLength(); + for(i=0;iGetPDGMass(); + + // multiply the function (Arb_y) up by the bin width + // to make the function counts/s (i.e. get rid of momentum + // dependence). + for(count=0;count= 1) + G4cout << "Leaving LogInterpolation " << G4endl; +} + +void G4GeneralParticleSource::ExpInterpolation() +{ + // Interpolation based on Exponential equations + // Generate equations of line segments + // y = Ae**-(x/e0) => ln y = -x/e0 + lnA + // Find area under line segments + // create normalised, cumulative array Arb_Cum_Area + G4double Area_seg[256], Arb_x[256], Arb_y[256], Arb_Cum_Area[256]; + G4double sum=0.; + Arb_Cum_Area[0] = 0.; + if(verbosityLevel == 2) + ArbEnergyH.DumpValues(); + + G4int i, count; + G4int maxi = ArbEnergyH.GetVectorLength(); + for(i=0;iGetPDGMass(); + + // multiply the function (Arb_y) up by the bin width + // to make the function counts/s (i.e. get rid of momentum + // dependence). + for( count=0;count 0. || test < 0.) + { + Arb_ezero[i] = -(Arb_x[i] - Arb_x[i-1])/(log(Arb_y[i]) - log(Arb_y[i-1])); + Arb_Const[i] = Arb_y[i]/(exp(-Arb_x[i]/Arb_ezero[i])); + Area_seg[i]=-(Arb_Const[i]*Arb_ezero[i])*(exp(-Arb_x[i]/Arb_ezero[i]) + -exp(-Arb_x[i-1]/Arb_ezero[i])); + } + else + { + G4cout << "Flat line segment: problem" << G4endl; + Arb_ezero[i] = 0.; + Arb_Const[i] = 0.; + Area_seg[i] = 0.; + } + sum = sum + Area_seg[i]; + Arb_Cum_Area[i] = Arb_Cum_Area[i-1] + Area_seg[i]; + if(verbosityLevel == 2) + G4cout << Arb_ezero[i] << Arb_Const[i] << Area_seg[i] << G4endl; + i++; + } + + i=0; + while(i= 1) + G4cout << "Leaving ExpInterpolation " << G4endl; +} + +void G4GeneralParticleSource::SplineInterpolation() +{ + // Interpolation using Splines. + // Create Normalised arrays, make x 0->1 and y hold + // the function (Energy) + G4double Arb_x[256], Arb_y[256]; + G4double sum = 0.; + G4int i, count; + if(verbosityLevel == 2) + ArbEnergyH.DumpValues(); + + G4int maxi = ArbEnergyH.GetVectorLength(); + for(i=0;iGetPDGMass(); + + // multiply the function (Arb_y) up by the bin width + // to make the function counts/s (i.e. get rid of momentum + // dependence). + for(count=0;count=0;i--) + { + if(i == 0) + { + Arb_x[0] = 0.; + Arb_y[0] = 0.; + } + else + { + Arb_x[i] = Arb_x[i-1]; + Arb_y[i] = Arb_y[i-1]; + } + } + } + + for(i=0;i<=maxi;i++) + { + if(verbosityLevel == 2) + G4cout << i <<" "<< Arb_x[i] << " " << Arb_y[i] << G4endl; + IPDFArbEnergyH.InsertValues(Arb_x[i], Arb_y[i]); + } + + // Should now have normalised cumulative probabilities in Arb_y + // and energy values in Arb_x. + maxi = maxi + 1; + // Put y into x and x into y. The spline interpolation will then + // go through x-axis to find where to interpolate (cum probability) + // then generate a y (which will now be energy). + SplineInt = new G4DataInterpolation(Arb_y,Arb_x,maxi,1e30,1e30); + if(verbosityLevel == 2) + { + G4cout << SplineInt << G4endl; + G4cout << SplineInt->LocateArgument(1.0) << G4endl; + } + if(verbosityLevel >= 1) + G4cout << "Leaving SplineInterpolation " << G4endl; +} + +void G4GeneralParticleSource::GenerateMonoEnergetic() +{ + // Method to generate MonoEnergetic particles. + particle_energy = MonoEnergy; +} + +void G4GeneralParticleSource::GenerateLinearEnergies() +{ + G4double energy, rndm; + G4double emaxsq = pow(Emax,2.); //Emax squared + G4double eminsq = pow(Emin,2.); //Emin squared + G4double intersq = pow(cept,2.); //cept squared + + rndm = GenRandEnergy(); + + G4double bracket = ((grad/2.)*(emaxsq - eminsq) + cept*(Emax-Emin)); + bracket = bracket * rndm; + bracket = bracket + (grad/2.)*eminsq + cept*Emin; + // Now have a quad of form m/2 E**2 + cE - bracket = 0 + bracket = -bracket; + // G4cout << "BRACKET" << bracket << G4endl; + if(grad != 0.) + { + G4double sqbrack = (intersq - 4*(grad/2.)*(bracket)); + // G4cout << "SQBRACK" << sqbrack << G4endl; + sqbrack = sqrt(sqbrack); + G4double root1 = -cept + sqbrack; + root1 = root1/(2.*(grad/2.)); + + G4double root2 = -cept - sqbrack; + root2 = root2/(2.*(grad/2.)); + + // G4cout << root1 << " roots " << root2 << G4endl; + + if(root1 > Emin && root1 < Emax) + particle_energy = root1; + if(root2 > Emin && root2 < Emax) + particle_energy = root2; + } + else if(grad == 0.) + // have equation of form cE - bracket =0 + particle_energy = bracket/cept; + + if(particle_energy < 0.) + particle_energy = -particle_energy; + + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GeneratePowEnergies() +{ + // Method to generate particle energies distributed as + // a powerlaw + + G4double rndm; + G4double emina, emaxa; + + emina = pow(Emin,alpha+1); + emaxa = pow(Emax,alpha+1); + + rndm = GenRandEnergy(); + + if(alpha != -1.) + { + particle_energy = ((rndm*(emaxa - emina)) + emina); + particle_energy = pow(particle_energy,(1./(alpha+1.))); + } + else if(alpha == -1.) + { + particle_energy = (log(Emin) + rndm*(log(Emax) - log(Emin))); + particle_energy = exp(particle_energy); + } + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GenerateExpEnergies() +{ + // Method to generate particle energies distributed according + // to an exponential curve. + G4double rndm; + rndm = GenRandEnergy(); + + particle_energy = -Ezero*(log(rndm*(exp(-Emax/Ezero) - exp(-Emin/Ezero)) + + exp(-Emin/Ezero))); + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GenerateBremEnergies() +{ + // Method to generate particle energies distributed according + // to a Bremstrahlung equation of + // form I = const*((kT)**1/2)*E*(e**(-E/kT)) + + G4double rndm; + rndm = GenRandEnergy(); + G4double expmax, expmin, k; + + k = 8.6181e-11; // Boltzmann's const in MeV/K + G4double ksq = pow(k,2.); // k squared + G4double Tsq = pow(Temp,2.); // Temp squared + + expmax = exp(-Emax/(k*Temp)); + expmin = exp(-Emin/(k*Temp)); + + // If either expmax or expmin are zero then this will cause problems + // Most probably this will be because T is too low or E is too high + + if(expmax == 0.) + G4cout << "*****EXPMAX=0. Choose different E's or Temp" << G4endl; + if(expmin == 0.) + G4cout << "*****EXPMIN=0. Choose different E's or Temp" << G4endl; + + G4double tempvar = rndm *((-k)*Temp*(Emax*expmax - Emin*expmin) - + (ksq*Tsq*(expmax-expmin))); + + G4double bigc = (tempvar - k*Temp*Emin*expmin - ksq*Tsq*expmin)/(-k*Temp); + + // This gives an equation of form: Ee(-E/kT) + kTe(-E/kT) - C =0 + // Solve this iteratively, step from Emin to Emax in 1000 steps + // and take the best solution. + + G4double erange = Emax - Emin; + G4double steps = erange/1000.; + G4int i; + G4double etest, diff, err; + + err = 100000.; + + for(i=1; i<1000; i++) + { + etest = Emin + (i-1)*steps; + + diff = etest*(exp(-etest/(k*Temp))) + k*Temp*(exp(-etest/(k*Temp))) - bigc; + + if(diff < 0.) + diff = -diff; + + if(diff < err) + { + err = diff; + particle_energy = etest; + } + } + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GenerateBbodyEnergies() +{ + // BBody_x holds Energies, and BBHist holds the cumulative histo. + // binary search to find correct bin then lin interpolation. + // Use the earlier defined histogram + RandGeneral method to generate + // random numbers following the histos distribution. + G4double rndm; + G4int nabove, nbelow = 0, middle; + nabove = 10001; + rndm = GenRandEnergy(); + + // Binary search to find bin that rndm is in + while(nabove-nbelow > 1) + { + middle = (nabove + nbelow)/2; + if(rndm == BBHist[middle]) break; + if(rndm < BBHist[middle]) nabove = middle; + else nbelow = middle; + } + + // Now interpolate in that bin to find the correct output value. + G4double x1, x2, y1, y2, m, q; + x1 = Bbody_x[nbelow]; + x2 = Bbody_x[nbelow+1]; + y1 = BBHist[nbelow]; + y2 = BBHist[nbelow+1]; + m = (y2-y1)/(x2-x1); + q = y1 - m*x1; + + particle_energy = (rndm - q)/m; + + if(verbosityLevel >= 1) + { + G4cout << "Energy is " << particle_energy << G4endl; + } +} + +void G4GeneralParticleSource::GenerateCdgEnergies() +{ + // Gen random numbers, compare with values in cumhist + // to find appropriate part of spectrum and then + // generate energy in the usual inversion way. + // G4double pfact[2] = {8.5, 112}; + // G4double spind[2] = {1.4, 2.3}; + // G4double ene_line[3] = {1., 18., 1E6}; + G4double rndm, rndm2; + G4double ene_line[3]; + G4double omalpha[2]; + if(Emin < 18*keV && Emax < 18*keV) + { + omalpha[0] = 1. - 1.4; + ene_line[0] = Emin; + ene_line[1] = Emax; + } + if(Emin < 18*keV && Emax > 18*keV) + { + omalpha[0] = 1. - 1.4; + omalpha[1] = 1. - 2.3; + ene_line[0] = Emin; + ene_line[1] = 18.; + ene_line[2] = Emax; + } + if(Emin > 18*keV) + { + omalpha[0] = 1. - 2.3; + ene_line[0] = Emin; + ene_line[1] = Emax; + } + rndm = GenRandEnergy(); + rndm2 = GenRandEnergy(); + + G4int i = 0; + while( rndm >= CDGhist[i]) + { + i++; + } + // Generate final energy. + particle_energy = (pow(ene_line[i-1],omalpha[i-1]) + (pow(ene_line[i],omalpha[i-1]) + - pow(ene_line[i-1],omalpha[i-1]))*rndm2); + particle_energy = pow(particle_energy,(1./omalpha[i-1])); + + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GenUserHistEnergies() +{ + // Histograms are DIFFERENTIAL. + // G4cout << "In GenUserHistEnergies " << G4endl; + if(IPDFEnergyExist == false) + { + G4int ii; + G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); + G4double bins[256], vals[256], sum; + // UDefEnergyH.DumpValues(); + G4double mass = particle_definition->GetPDGMass(); + // G4cout << mass << G4endl; + // G4cout << EnergySpec << " " << DiffSpec << G4endl; + if((EnergySpec == false) && (particle_definition == NULL)) + G4cout << "Error: particle definition is NULL" << G4endl; + + if(maxbin > 256) + { + G4cout << "Maxbin > 256" << G4endl; + G4cout << "Setting maxbin to 256, other bins are lost" << G4endl; + } + + if(DiffSpec == false) + G4cout << "Histograms are Differential!!! " << G4endl; + else + { + // G4cout << "Here 2" << G4endl; + bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); + vals[0] = UDefEnergyH(size_t(0)); + sum = vals[0]; + for(ii=1;ii= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::GenArbPointEnergies() +{ + if(verbosityLevel >= 1) + G4cout << "In GenArbPointEnergies" << G4endl; + G4double rndm; + rndm = GenRandEnergy(); + + if(IntType != "Spline") + { + // IPDFArbEnergyH.DumpValues(); + // Find the Bin + // have x, y, no of points, and cumulative area distribution + G4int nabove, nbelow = 0, middle; + nabove = IPDFArbEnergyH.GetVectorLength(); + // G4cout << nabove << G4endl; + // Binary search to find bin that rndm is in + while(nabove-nbelow > 1) + { + middle = (nabove + nbelow)/2; + if(rndm == IPDFArbEnergyH(size_t(middle))) break; + if(rndm < IPDFArbEnergyH(size_t(middle))) nabove = middle; + else nbelow = middle; + } + if(IntType == "Lin") + { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); + grad = Arb_grad[nbelow+1]; + cept = Arb_cept[nbelow+1]; + // G4cout << rndm << " " << Emax << " " << Emin << " " << grad << " " << cept << G4endl; + GenerateLinearEnergies(); + } + else if(IntType == "Log") + { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); + alpha = Arb_alpha[nbelow+1]; + // G4cout << rndm << " " << Emax << " " << Emin << " " << alpha << G4endl; + GeneratePowEnergies(); + } + else if(IntType == "Exp") + { + Emax = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow+1)); + Emin = IPDFArbEnergyH.GetLowEdgeEnergy(size_t(nbelow)); + Ezero = Arb_ezero[nbelow+1]; + // G4cout << rndm << " " << Emax << " " << Emin << " " << Ezero << G4endl; + GenerateExpEnergies(); + } + } + else if(IntType == "Spline") + { + if(verbosityLevel == 2) + G4cout << "IntType = Spline " << rndm << G4endl; + // in SplineInterpolation created SplineInt + // Now generate a random number put it into CubicSplineInterpolation + // and you should get out an energy!?! + particle_energy = SplineInt->CubicSplineInterpolation(rndm); + if(verbosityLevel >= 1) + G4cout << "Energy is " << particle_energy << G4endl; + } + else + G4cout << "Error: IntType unknown type" << G4endl; +} + +void G4GeneralParticleSource::GenEpnHistEnergies() +{ + // G4cout << "In GenEpnHistEnergies " << Epnflag << G4endl; + + // Firstly convert to energy if not already done. + if(Epnflag == true) + // epnflag = true means spectrum is epn, false means e. + { + // convert to energy by multiplying by A number + ConvertEPNToEnergy(); + // EpnEnergyH will be replace by UDefEnergyH. + // UDefEnergyH.DumpValues(); + } + + // G4cout << "Creating IPDFEnergy if not already done so" << G4endl; + if(IPDFEnergyExist == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(UDefEnergyH.GetVectorLength()); + bins[0] = UDefEnergyH.GetLowEdgeEnergy(size_t(0)); + vals[0] = UDefEnergyH(size_t(0)); + sum = vals[0]; + for(ii=1;ii= 1) + G4cout << "Energy is " << particle_energy << G4endl; +} + +void G4GeneralParticleSource::ConvertEPNToEnergy() +{ + // Use this before particle generation to convert the + // currently stored histogram from energy/nucleon + // to energy. + // G4cout << "In ConvertEpntoEnergy " << G4endl; + if(particle_definition==NULL) + G4cout << "Error: particle not defined" << G4endl; + else + { + // Need to multiply histogram by the number of nucleons. + // Baryon Number looks to hold the no. of nucleons. + G4int Bary = particle_definition->GetBaryonNumber(); + // G4cout << "Baryon No. " << Bary << G4endl; + // Change values in histogram, Read it out, delete it, re-create it + G4int count, maxcount; + maxcount = G4int(EpnEnergyH.GetVectorLength()); + // G4cout << maxcount << G4endl; + G4double ebins[256],evals[256]; + if(maxcount > 256) + { + G4cout << "Histogram contains more than 256 bins!" << G4endl; + G4cout << "Those above 256 will be ignored" << G4endl; + maxcount = 256; + } + for(count=0;count= 1) + G4cout << "In GenRandX" << G4endl; + if(XBias == false) + { + // X is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // X is biased + if(IPDFXBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(XBiasH.GetVectorLength()); + bins[0] = XBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = XBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFXBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + // retrieve the areas and then the x-axis values + bweights[0] = IPDFXBiasH(biasn2) - IPDFXBiasH(biasn2 - 1); + G4double xaxisl = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFXBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + //G4cout << "X Bin weight " << bweights[0] << " " << rndm << G4endl; + //G4cout << "lower and upper xaxis vals "<= 1) + G4cout << "X bin weight " << bweights[0] << " " << rndm << G4endl; + return(IPDFXBiasH.GetEnergy(rndm)); + } +} + +G4double G4GeneralParticleSource::GenRandY() +{ + if(verbosityLevel >= 1) + G4cout << "In GenRandY" << G4endl; + if(YBias == false) + { + // Y is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // Y is biased + if(IPDFYBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(YBiasH.GetVectorLength()); + bins[0] = YBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = YBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFYBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + bweights[1] = IPDFYBiasH(biasn2) - IPDFYBiasH(biasn2 - 1); + G4double xaxisl = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFYBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[1] = NatProb/bweights[1]; + if(verbosityLevel >= 1) + G4cout << "Y bin weight " << bweights[1] << " " << rndm << G4endl; + return(IPDFYBiasH.GetEnergy(rndm)); + } +} + +G4double G4GeneralParticleSource::GenRandZ() +{ + if(verbosityLevel >= 1) + G4cout << "In GenRandZ" << G4endl; + if(ZBias == false) + { + // Z is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // Z is biased + if(IPDFZBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(ZBiasH.GetVectorLength()); + bins[0] = ZBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = ZBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFZBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + bweights[2] = IPDFZBiasH(biasn2) - IPDFZBiasH(biasn2 - 1); + G4double xaxisl = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFZBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[2] = NatProb/bweights[2]; + if(verbosityLevel >= 1) + G4cout << "Z bin weight " << bweights[2] << " " << rndm << G4endl; + return(IPDFZBiasH.GetEnergy(rndm)); + } +} + +G4double G4GeneralParticleSource::GenRandTheta() +{ + if(verbosityLevel >= 1) + { + G4cout << "In GenRandTheta" << G4endl; + G4cout << "Verbosity " << verbosityLevel << G4endl; + } + if(ThetaBias == false) + { + // Theta is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // Theta is biased + if(IPDFThetaBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(ThetaBiasH.GetVectorLength()); + bins[0] = ThetaBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = ThetaBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFThetaBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + bweights[3] = IPDFThetaBiasH(biasn2) - IPDFThetaBiasH(biasn2 - 1); + G4double xaxisl = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFThetaBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[3] = NatProb/bweights[3]; + if(verbosityLevel >= 1) + G4cout << "Theta bin weight " << bweights[3] << " " << rndm << G4endl; + return(IPDFThetaBiasH.GetEnergy(rndm)); + } +} + +G4double G4GeneralParticleSource::GenRandPhi() +{ + if(verbosityLevel >= 1) + G4cout << "In GenRandPhi" << G4endl; + if(PhiBias == false) + { + // Phi is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // Phi is biased + if(IPDFPhiBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(PhiBiasH.GetVectorLength()); + bins[0] = PhiBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = PhiBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFPhiBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + bweights[4] = IPDFPhiBiasH(biasn2) - IPDFPhiBiasH(biasn2 - 1); + G4double xaxisl = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFPhiBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[4] = NatProb/bweights[4]; + if(verbosityLevel >= 1) + G4cout << "Phi bin weight " << bweights[4] << " " << rndm << G4endl; + return(IPDFPhiBiasH.GetEnergy(rndm)); + } +} + +G4double G4GeneralParticleSource::GenRandEnergy() +{ + if(verbosityLevel >= 1) + G4cout << "In GenRandEnergy" << G4endl; + if(EnergyBias == false) + { + // Energy is not biased + G4double rndm = G4UniformRand(); + return(rndm); + } + else + { + // ENERGY is biased + if(IPDFEnergyBias == false) + { + // IPDF has not been created, so create it + G4double bins[256],vals[256], sum; + G4int ii; + G4int maxbin = G4int(EnergyBiasH.GetVectorLength()); + bins[0] = EnergyBiasH.GetLowEdgeEnergy(size_t(0)); + vals[0] = EnergyBiasH(size_t(0)); + sum = vals[0]; + for(ii=1;ii IPDFEnergyBiasH(biasn2)) + biasn1 = biasn2; + else + biasn3 = biasn2; + biasn2 = biasn1 + (biasn3 - biasn1 + 1)/2; + } + bweights[5] = IPDFEnergyBiasH(biasn2) - IPDFEnergyBiasH(biasn2 - 1); + G4double xaxisl = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2-1)); + G4double xaxisu = IPDFEnergyBiasH.GetLowEdgeEnergy(size_t(biasn2)); + G4double NatProb = xaxisu - xaxisl; + bweights[5] = NatProb/bweights[5]; + if(verbosityLevel >= 1) + G4cout << "Energy bin weight " << bweights[5] << " " << rndm << G4endl; + return(IPDFEnergyBiasH.GetEnergy(rndm)); + } +} + +// Verbosity +void G4GeneralParticleSource::SetVerbosity(int vL) +{ + verbosityLevel = vL; + G4cout << "Verbosity Set to: " << verbosityLevel << G4endl; +} + +void G4GeneralParticleSource::SetParticleDefinition + (G4ParticleDefinition* aParticleDefinition) +{ + particle_definition = aParticleDefinition; + particle_charge = particle_definition->GetPDGCharge(); +} + +// SR1.3 +//void G4GeneralParticleSource::SetNucleus (Nucleus theIon1) +//{ +// theIon = theIon1; + +// G4IonTable *theIonTable = (G4IonTable *)(G4ParticleTable::GetParticleTable()->GetIonTable()); +// G4ParticleDefinition *aIon = NULL; + +// G4int A = theIon.GetA(); +// G4int Z = theIon.GetZ(); +// G4double E = theIon.GetE(); + +// aIon = theIonTable->GetIon (Z, A, E); + +// SetParticleDefinition(aIon); +//} + + +void G4GeneralParticleSource::GeneratePrimaryVertex(G4Event *evt) +{ + if(particle_definition==NULL) return; + + // Position stuff + G4bool srcconf = false; + G4int LoopCount = 0; + while(srcconf == false) + { + if(SourcePosType == "Point") + GeneratePointSource(); + else if(SourcePosType == "Plane") + GeneratePointsInPlane(); + else if(SourcePosType == "Surface") + GeneratePointsOnSurface(); + else if(SourcePosType == "Volume") + GeneratePointsInVolume(); + else + { + G4cout << "Error: SourcePosType undefined" << G4endl; + G4cout << "Generating point source" << G4endl; + GeneratePointSource(); + } + if(Confine == true) + { + srcconf = IsSourceConfined(); + // if source in confined srcconf = true terminating the loop + // if source isnt confined srcconf = false and loop continues + } + else if(Confine == false) + srcconf = true; // terminate loop + + LoopCount++; + if(LoopCount == 100000) + { + G4cout << "*************************************" << G4endl; + G4cout << "LoopCount = 100000" << G4endl; + G4cout << "Either the source distribution >> confinement" << G4endl; + G4cout << "or any confining volume may not overlap with" << G4endl; + G4cout << "the source distribution or any confining volumes" << G4endl; + G4cout << "may not exist"<< G4endl; + G4cout << "If you have set confine then this will be ignored" <GetPDGMass(); + G4double energy = particle_energy + mass; + G4double pmom = sqrt(energy*energy-mass*mass); + G4double px = pmom*particle_momentum_direction.x(); + G4double py = pmom*particle_momentum_direction.y(); + G4double pz = pmom*particle_momentum_direction.z(); + + for( G4int i=0; iSetMass( mass ); + particle->SetCharge( particle_charge ); + particle->SetPolarization(particle_polarization.x(), + particle_polarization.y(), + particle_polarization.z()); + vertex->SetPrimary( particle ); + + // Set bweight equal to the multiple of all non-zero weights + bweight = 0.; + for(int bib=0; bib<6; bib++) + { + if(bweights[bib] > 0. && bweight == 0.) + bweight = bweight + bweights[bib]; + else if(bweights[bib] > 0.) + bweight = bweight * bweights[bib]; + } + // bweight will now contain the events final weighting. + // now pass it to the primary vertex + vertex->SetWeight(bweight); + } + + evt->AddPrimaryVertex( vertex ); +} + + + + + + diff --git a/source/event/src/G4GeneralParticleSourceMessenger.cc b/source/event/src/G4GeneralParticleSourceMessenger.cc new file mode 100644 index 0000000000..a921a8360c --- /dev/null +++ b/source/event/src/G4GeneralParticleSourceMessenger.cc @@ -0,0 +1,664 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// MODULE: G4GeneralParticleSourceMessenger.cc +// +// Version: 1. +// Date: 28/02/00 +// Author: C Ferguson, F Lei and P Truscott +// Organisation: University of Southampton / DERA +// Customer: ESA/ESTEC +// +/////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// +// 10-Nov-2000 F. Lei +// changed +// #include +// to +// #include "g4std/fstream" +// +// Version 1.1, 18 October 2000, Modified to inherit from G4VPrimaryGenerator. +// New name at the request of M. Asai. +// +// Version 1.0, 28 February 2000, C Ferguson, Created. +// +// +/////////////////////////////////////////////////////////////////////////////// +// +#include "G4Geantino.hh" +#include "G4ThreeVector.hh" +#include "G4ParticleTable.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWith3Vector.hh" +#include "G4UIcmdWith3VectorAndUnit.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWithABool.hh" +#include "G4ios.hh" + +//#include +#include "g4std/fstream" + +#include "g4std/iomanip" +#include "g4rw/ctoken.h" +#include "g4rw/rstream.h" +#include "g4std/strstream" + +#include "G4GeneralParticleSourceMessenger.hh" +#include "G4GeneralParticleSource.hh" +/////////////////////////////////////////////////////////////////////////////// +// +G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger + (G4GeneralParticleSource *fPtclGun) + : fParticleGun(fPtclGun),fShootIon(false) +{ + particleTable = G4ParticleTable::GetParticleTable(); + histtype = "biasx"; + + gpsDirectory = new G4UIdirectory("/gps/"); + gpsDirectory->SetGuidance("General Paricle Source control commands."); + + typeCmd = new G4UIcmdWithAString("/gps/type",this); + typeCmd->SetGuidance("Sets source distribution type."); + typeCmd->SetGuidance("Either Point, Plane, Surface or Volume"); + typeCmd->SetParameterName("DisType",true,true); + typeCmd->SetDefaultValue("Point"); + typeCmd->SetCandidates("Point Plane Surface Volume"); + + shapeCmd = new G4UIcmdWithAString("/gps/shape",this); + shapeCmd->SetGuidance("Sets source shape type."); + shapeCmd->SetParameterName("Shape",true,true); + shapeCmd->SetDefaultValue("NULL"); + shapeCmd->SetCandidates("Circle Annulus Ellipse Square Rectangle Sphere Ellipsoid Cylinder Para"); + + centreCmd = new G4UIcmdWith3VectorAndUnit("/gps/centre",this); + centreCmd->SetGuidance("Set centre coordinates of source."); + centreCmd->SetParameterName("X","Y","Z",true,true); + centreCmd->SetDefaultUnit("cm"); + centreCmd->SetUnitCandidates("micron mm cm m km"); + + posrot1Cmd = new G4UIcmdWith3Vector("/gps/posrot1",this); + posrot1Cmd->SetGuidance("Set rotation matrix of x'."); + posrot1Cmd->SetGuidance("Posrot1 does not need to be a unit vector."); + posrot1Cmd->SetParameterName("R1x","R1y","R1z",true,true); + posrot1Cmd->SetRange("R1x != 0 || R1y != 0 || R1z != 0"); + + posrot2Cmd = new G4UIcmdWith3Vector("/gps/posrot2",this); + posrot2Cmd->SetGuidance("Set rotation matrix of y'."); + posrot2Cmd->SetGuidance("Posrot2 does not need to be a unit vector."); + posrot2Cmd->SetParameterName("R2x","R2y","R2z",true,true); + posrot2Cmd->SetRange("R2x != 0 || R2y != 0 || R2z != 0"); + + halfxCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfx",this); + halfxCmd->SetGuidance("Set x half length of source."); + halfxCmd->SetParameterName("Halfx",true,true); + halfxCmd->SetDefaultUnit("cm"); + halfxCmd->SetUnitCandidates("micron mm cm m km"); + + halfyCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfy",this); + halfyCmd->SetGuidance("Set y half length of source."); + halfyCmd->SetParameterName("Halfy",true,true); + halfyCmd->SetDefaultUnit("cm"); + halfyCmd->SetUnitCandidates("micron mm cm m km"); + + halfzCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfz",this); + halfzCmd->SetGuidance("Set z half length of source."); + halfzCmd->SetParameterName("Halfz",true,true); + halfzCmd->SetDefaultUnit("cm"); + halfzCmd->SetUnitCandidates("micron mm cm m km"); + + radiusCmd = new G4UIcmdWithADoubleAndUnit("/gps/radius",this); + radiusCmd->SetGuidance("Set radius of source."); + radiusCmd->SetParameterName("Radius",true,true); + radiusCmd->SetDefaultUnit("cm"); + radiusCmd->SetUnitCandidates("micron mm cm m km"); + + radius0Cmd = new G4UIcmdWithADoubleAndUnit("/gps/radius0",this); + radius0Cmd->SetGuidance("Set inner radius of source."); + radius0Cmd->SetParameterName("Radius0",true,true); + radius0Cmd->SetDefaultUnit("cm"); + radius0Cmd->SetUnitCandidates("micron mm cm m km"); + + paralpCmd = new G4UIcmdWithADoubleAndUnit("/gps/paralp",this); + paralpCmd->SetGuidance("Angle from y-axis of y' in Para"); + paralpCmd->SetParameterName("paralp",true,true); + paralpCmd->SetDefaultUnit("rad"); + paralpCmd->SetUnitCandidates("rad deg"); + + partheCmd = new G4UIcmdWithADoubleAndUnit("/gps/parthe",this); + partheCmd->SetGuidance("Polar angle through centres of z faces"); + partheCmd->SetParameterName("parthe",true,true); + partheCmd->SetDefaultUnit("rad"); + partheCmd->SetUnitCandidates("rad deg"); + + parphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/parphi",this); + parphiCmd->SetGuidance("Azimuth angle through centres of z faces"); + parphiCmd->SetParameterName("parphi",true,true); + parphiCmd->SetDefaultUnit("rad"); + parphiCmd->SetUnitCandidates("rad deg"); + + confineCmd = new G4UIcmdWithAString("/gps/confine",this); + confineCmd->SetGuidance("Confine source to volume (NULL to unset)."); + confineCmd->SetGuidance("usage: confine VolName"); + confineCmd->SetParameterName("VolName",true,true); + confineCmd->SetDefaultValue("NULL"); + + // Angular distribution commands + angtypeCmd = new G4UIcmdWithAString("/gps/angtype",this); + angtypeCmd->SetGuidance("Sets angular source distribution type"); + angtypeCmd->SetGuidance("Possible variables are: iso, cos or user"); + angtypeCmd->SetParameterName("AngDis",true,true); + angtypeCmd->SetDefaultValue("iso"); + angtypeCmd->SetCandidates("iso cos user"); + + angrot1Cmd = new G4UIcmdWith3Vector("/gps/angrot1",this); + angrot1Cmd->SetGuidance("Sets the x' vector for angular distribution"); + angrot1Cmd->SetGuidance("Need not be a unit vector"); + angrot1Cmd->SetParameterName("AR1x","AR1y","AR1z",true,true); + angrot1Cmd->SetRange("AR1x != 0 || AR1y != 0 || AR1z != 0"); + + angrot2Cmd = new G4UIcmdWith3Vector("/gps/angrot2",this); + angrot2Cmd->SetGuidance("Sets the y' vector for angular distribution"); + angrot2Cmd->SetGuidance("Need not be a unit vector"); + angrot2Cmd->SetParameterName("AR2x","AR2y","AR2z",true,true); + angrot2Cmd->SetRange("AR2x != 0 || AR2y != 0 || AR2z != 0"); + + minthetaCmd = new G4UIcmdWithADoubleAndUnit("/gps/mintheta",this); + minthetaCmd->SetGuidance("Set minimum theta"); + minthetaCmd->SetParameterName("MinTheta",true,true); + minthetaCmd->SetDefaultUnit("rad"); + minthetaCmd->SetUnitCandidates("rad deg"); + + maxthetaCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxtheta",this); + maxthetaCmd->SetGuidance("Set maximum theta"); + maxthetaCmd->SetParameterName("MaxTheta",true,true); + maxthetaCmd->SetDefaultValue(3.1416); + maxthetaCmd->SetDefaultUnit("rad"); + maxthetaCmd->SetUnitCandidates("rad deg"); + + minphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/minphi",this); + minphiCmd->SetGuidance("Set minimum phi"); + minphiCmd->SetParameterName("MinPhi",true,true); + minphiCmd->SetDefaultUnit("rad"); + minphiCmd->SetUnitCandidates("rad deg"); + + maxphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxphi",this); + maxphiCmd->SetGuidance("Set maximum phi"); + maxphiCmd->SetParameterName("MaxPhi",true,true); + maxphiCmd->SetDefaultUnit("rad"); + maxphiCmd->SetUnitCandidates("rad deg"); + + surfnormCmd = new G4UIcmdWithABool("/gps/surfnorm",this); + surfnormCmd->SetGuidance("Makes a user-defined distribution with respect to surface normals rather than x,y,z axes."); + surfnormCmd->SetGuidance("Default is false"); + surfnormCmd->SetParameterName("surfnorm",true); + surfnormCmd->SetDefaultValue(false); + + // Energy + energytypeCmd = new G4UIcmdWithAString("/gps/energytype",this); + energytypeCmd->SetGuidance("Sets energy distribution type"); + energytypeCmd->SetParameterName("EnergyDis",true,true); + energytypeCmd->SetDefaultValue("Mono"); + energytypeCmd->SetCandidates("Mono Lin Pow Exp Brem Bbody Cdg User Arb Epn"); + + eminCmd = new G4UIcmdWithADoubleAndUnit("/gps/emin",this); + eminCmd->SetGuidance("Sets Emin"); + eminCmd->SetParameterName("emin",true,true); + eminCmd->SetDefaultUnit("keV"); + eminCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + + emaxCmd = new G4UIcmdWithADoubleAndUnit("/gps/emax",this); + emaxCmd->SetGuidance("Sets Emax"); + emaxCmd->SetParameterName("emax",true,true); + emaxCmd->SetDefaultUnit("keV"); + emaxCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + + monoenergyCmd = new G4UIcmdWithADoubleAndUnit("/gps/monoenergy",this); + monoenergyCmd->SetGuidance("Sets Monoenergy"); + monoenergyCmd->SetParameterName("monoenergy",true,true); + monoenergyCmd->SetDefaultUnit("keV"); + monoenergyCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + + alphaCmd = new G4UIcmdWithADouble("/gps/alpha",this); + alphaCmd->SetGuidance("Sets Alpha"); + alphaCmd->SetParameterName("alpha",true,true); + + tempCmd = new G4UIcmdWithADouble("/gps/temp",this); + tempCmd->SetGuidance("Sets the temperature for Brem and BBody"); + tempCmd->SetParameterName("temp",true,true); + + ezeroCmd = new G4UIcmdWithADouble("/gps/ezero",this); + ezeroCmd->SetGuidance("Sets ezero exponential distributions"); + ezeroCmd->SetParameterName("ezero",true,true); + + gradientCmd = new G4UIcmdWithADouble("/gps/gradient",this); + gradientCmd->SetGuidance("Sets the gradient for Lin distributions"); + gradientCmd->SetParameterName("gradient",true,true); + + interceptCmd = new G4UIcmdWithADouble("/gps/intercept",this); + interceptCmd->SetGuidance("Sets the intercept for Lin distributions"); + interceptCmd->SetParameterName("intercept",true,true); + + calculateCmd = new G4UIcmdWithoutParameter("/gps/calculate",this); + calculateCmd->SetGuidance("Calculates distributions for Cdg and BBody"); + + energyspecCmd = new G4UIcmdWithABool("/gps/energyspec",this); + energyspecCmd->SetGuidance("Toggles between energy and momentum spectra"); + energyspecCmd->SetParameterName("energyspec",true); + energyspecCmd->SetDefaultValue(true); + + diffspecCmd = new G4UIcmdWithABool("/gps/diffspec",this); + diffspecCmd->SetGuidance("Toggles between differential and integral spectra"); + diffspecCmd->SetParameterName("diffspec",true,true); + diffspecCmd->SetDefaultValue(true); + + // Biasing + histograms in general + histnameCmd = new G4UIcmdWithAString("/gps/histname",this); + histnameCmd->SetGuidance("Sets histogram type"); + histnameCmd->SetParameterName("HistType",true,true); + histnameCmd->SetDefaultValue("biasx"); + histnameCmd->SetCandidates("biasx biasy biasz biast biasp biase theta phi energy arb epn"); + + histpointCmd = new G4UIcmdWith3Vector("/gps/histpoint",this); + histpointCmd->SetGuidance("Allows user to define a histogram"); + histpointCmd->SetGuidance("Enter: Ehi Weight"); + histpointCmd->SetParameterName("Ehi","Weight","Junk",true,true); + histpointCmd->SetRange("Ehi >= 0. && Weight >= 0."); + + arbintCmd = new G4UIcmdWithAString("/gps/arbint",this); + arbintCmd->SetGuidance("Sets Arbitrary Interpolation type."); + arbintCmd->SetParameterName("int",true,true); + arbintCmd->SetDefaultValue("NULL"); + arbintCmd->SetCandidates("Lin Log Exp Spline"); + + // verbosity + verbosityCmd = new G4UIcmdWithAnInteger("/gps/verbose",this); + verbosityCmd->SetGuidance("Set Verbose level for GPS"); + verbosityCmd->SetGuidance(" 0 : Silent"); + verbosityCmd->SetGuidance(" 1 : Limited information"); + verbosityCmd->SetGuidance(" 2 : Detailed information"); + verbosityCmd->SetParameterName("level",false); + verbosityCmd->SetRange("level>=0 && level <=2"); + + particleCmd = new G4UIcmdWithAString("/gps/particle",this); + particleCmd->SetGuidance("Set particle to be generated."); + particleCmd->SetGuidance(" (geantino is default)"); + particleCmd->SetGuidance(" (ion can be specified for shooting ions)"); + particleCmd->SetParameterName("particleName",true); + particleCmd->SetDefaultValue("geantino"); + G4String candidateList; + G4int nPtcl = particleTable->entries(); + for(G4int i=0;iGetParticleName(i); + candidateList += " "; + } + candidateList += "ion "; + particleCmd->SetCandidates(candidateList); + + // SR1.3 + // ionCmd = new UIcmdWithNucleusAndUnit("/gps/ion",this); + //ionCmd->SetGuidance("define the primary ion (a,z,e)"); + //ionCmd->SetParameterName("A","Z","E",true); + //ionCmd->SetDefaultUnit("keV"); + //ionCmd->SetUnitCandidates("keV MeV"); + + ionCmd = new G4UIcommand("/gps/ion",this); + ionCmd->SetGuidance("Set properties of ion to be generated."); + ionCmd->SetGuidance("[usage] /gun/ion Z A Q E"); + ionCmd->SetGuidance(" Z:(int) AtomicNumber"); + ionCmd->SetGuidance(" A:(int) AtomicMass"); + ionCmd->SetGuidance(" Q:(int) Charge of Ion (in unit of e)"); + ionCmd->SetGuidance(" E:(double) Excitation energy (in keV)"); + + G4UIparameter* param; + param = new G4UIparameter("Z",'i',false); + param->SetDefaultValue("1"); + ionCmd->SetParameter(param); + param = new G4UIparameter("A",'i',false); + param->SetDefaultValue("1"); + ionCmd->SetParameter(param); + param = new G4UIparameter("Q",'i',true); + param->SetDefaultValue("0"); + ionCmd->SetParameter(param); + param = new G4UIparameter("E",'d',true); + param->SetDefaultValue("0.0"); + ionCmd->SetParameter(param); + + + timeCmd = new G4UIcmdWithADoubleAndUnit("/gps/time",this); + timeCmd->SetGuidance("Set initial time of the particle."); + timeCmd->SetParameterName("t0",true,true); + timeCmd->SetDefaultUnit("ns"); + //timeCmd->SetUnitCategory("Time"); + //timeCmd->SetUnitCandidates("ns ms s"); + + polCmd = new G4UIcmdWith3Vector("/gps/polarization",this); + polCmd->SetGuidance("Set polarization."); + polCmd->SetParameterName("Px","Py","Pz",true,true); + polCmd->SetRange("Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1."); + + numberCmd = new G4UIcmdWithAnInteger("/gps/number",this); + numberCmd->SetGuidance("Set number of particles to be generated."); + numberCmd->SetParameterName("N",true,true); + numberCmd->SetRange("N>0"); +} + +G4GeneralParticleSourceMessenger::~G4GeneralParticleSourceMessenger() +{ + delete typeCmd; + delete shapeCmd; + delete centreCmd; + delete posrot1Cmd; + delete posrot2Cmd; + delete halfxCmd; + delete halfyCmd; + delete halfzCmd; + delete radiusCmd; + delete radius0Cmd; + delete paralpCmd; + delete partheCmd; + delete parphiCmd; + delete confineCmd; + + delete angtypeCmd; + delete angrot1Cmd; + delete angrot2Cmd; + delete minthetaCmd; + delete maxthetaCmd; + delete minphiCmd; + delete maxphiCmd; + delete surfnormCmd; + + delete energytypeCmd; + delete eminCmd; + delete emaxCmd; + delete monoenergyCmd; + delete alphaCmd; + delete tempCmd; + delete ezeroCmd; + delete gradientCmd; + delete interceptCmd; + delete calculateCmd; + delete energyspecCmd; + delete diffspecCmd; + + delete histnameCmd; + delete histpointCmd; + delete arbintCmd; + + delete verbosityCmd; + delete ionCmd; + delete particleCmd; + delete timeCmd; + delete polCmd; + delete numberCmd; + + delete gpsDirectory; +} + +void G4GeneralParticleSourceMessenger::SetNewValue(G4UIcommand *command, G4String newValues) +{ + if(command == typeCmd) + { + fParticleGun->SetPosDisType(newValues); + } + else if(command == shapeCmd) + { + fParticleGun->SetPosDisShape(newValues); + } + else if(command == centreCmd) + { + fParticleGun->SetCentreCoords(centreCmd->GetNew3VectorValue(newValues)); + } + else if(command == posrot1Cmd) + { + fParticleGun->SetPosRot1(posrot1Cmd->GetNew3VectorValue(newValues)); + } + else if(command == posrot2Cmd) + { + fParticleGun->SetPosRot2(posrot2Cmd->GetNew3VectorValue(newValues)); + } + else if(command == halfxCmd) + { + fParticleGun->SetHalfX(halfxCmd->GetNewDoubleValue(newValues)); + } + else if(command == halfyCmd) + { + fParticleGun->SetHalfY(halfyCmd->GetNewDoubleValue(newValues)); + } + else if(command == halfzCmd) + { + fParticleGun->SetHalfZ(halfzCmd->GetNewDoubleValue(newValues)); + } + else if(command == radiusCmd) + { + fParticleGun->SetRadius(radiusCmd->GetNewDoubleValue(newValues)); + } + else if(command == radius0Cmd) + { + fParticleGun->SetRadius0(radius0Cmd->GetNewDoubleValue(newValues)); + } + else if(command == paralpCmd) + { + fParticleGun->SetParAlpha(paralpCmd->GetNewDoubleValue(newValues)); + } + else if(command == partheCmd) + { + fParticleGun->SetParTheta(partheCmd->GetNewDoubleValue(newValues)); + } + else if(command == parphiCmd) + { + fParticleGun->SetParPhi(parphiCmd->GetNewDoubleValue(newValues)); + } + else if(command == confineCmd) + { + fParticleGun->ConfineSourceToVolume(newValues); + } + else if(command == angtypeCmd) + { + fParticleGun->SetAngDistType(newValues); + } + else if(command == angrot1Cmd) + { + G4String a = "angref1"; + fParticleGun->DefineAngRefAxes(a,angrot1Cmd->GetNew3VectorValue(newValues)); + } + else if(command == angrot2Cmd) + { + G4String a = "angref2"; + fParticleGun->DefineAngRefAxes(a,angrot2Cmd->GetNew3VectorValue(newValues)); + } + else if(command == minthetaCmd) + { + fParticleGun->SetMinTheta(minthetaCmd->GetNewDoubleValue(newValues)); + } + else if(command == minphiCmd) + { + fParticleGun->SetMinPhi(minphiCmd->GetNewDoubleValue(newValues)); + } + else if(command == maxthetaCmd) + { + fParticleGun->SetMaxTheta(maxthetaCmd->GetNewDoubleValue(newValues)); + } + else if(command == maxphiCmd) + { + fParticleGun->SetMaxPhi(maxphiCmd->GetNewDoubleValue(newValues)); + } + else if(command == surfnormCmd) + { + fParticleGun->SetUserWRTSurface(surfnormCmd->GetNewBoolValue(newValues)); + } + else if(command == energytypeCmd) + { + fParticleGun->SetEnergyDisType(newValues); + } + else if(command == eminCmd) + { + fParticleGun->SetEmin(eminCmd->GetNewDoubleValue(newValues)); + } + else if(command == emaxCmd) + { + fParticleGun->SetEmax(emaxCmd->GetNewDoubleValue(newValues)); + } + else if(command == monoenergyCmd) + { + fParticleGun->SetMonoEnergy(monoenergyCmd->GetNewDoubleValue(newValues)); + } + else if(command == alphaCmd) + { + fParticleGun->SetAlpha(alphaCmd->GetNewDoubleValue(newValues)); + } + else if(command == tempCmd) + { + fParticleGun->SetTemp(tempCmd->GetNewDoubleValue(newValues)); + } + else if(command == ezeroCmd) + { + fParticleGun->SetEzero(ezeroCmd->GetNewDoubleValue(newValues)); + } + else if(command == gradientCmd) + { + fParticleGun->SetGradient(gradientCmd->GetNewDoubleValue(newValues)); + } + else if(command == interceptCmd) + { + fParticleGun->SetInterCept(interceptCmd->GetNewDoubleValue(newValues)); + } + else if(command == calculateCmd) + { + fParticleGun->Calculate(); + } + else if(command == energyspecCmd) + { + G4cout << "here in energyspecCmd" << G4endl; + fParticleGun->InputEnergySpectra(energyspecCmd->GetNewBoolValue(newValues)); + } + else if(command == diffspecCmd) + { + fParticleGun->InputDifferentialSpectra(diffspecCmd->GetNewBoolValue(newValues)); + } + else if(command == histnameCmd) + { + histtype = newValues; + } + else if(command == histpointCmd) + { + if(histtype == "biasx") + fParticleGun->SetXBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "biasy") + fParticleGun->SetYBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "biasz") + fParticleGun->SetZBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "biast") + fParticleGun->SetThetaBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "biasp") + fParticleGun->SetPhiBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "biase") + fParticleGun->SetEnergyBias(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "theta") + fParticleGun->UserDefAngTheta(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "phi") + fParticleGun->UserDefAngPhi(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "energy") + fParticleGun->UserEnergyHisto(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "arb") + fParticleGun->ArbEnergyHisto(histpointCmd->GetNew3VectorValue(newValues)); + if(histtype == "epn") + fParticleGun->EpnEnergyHisto(histpointCmd->GetNew3VectorValue(newValues)); + } + else if(command == arbintCmd) + { + fParticleGun->ArbInterpolate(newValues); + } + else if(command == verbosityCmd) + { + fParticleGun->SetVerbosity(verbosityCmd->GetNewIntValue(newValues)); + } + else if( command==particleCmd ) + { + if (newValues =="ion") { + fShootIon = true; + } else { + fShootIon = false; + G4ParticleDefinition* pd = particleTable->FindParticle(newValues); + if(pd != NULL) + { fParticleGun->SetParticleDefinition( pd ); } + } + } + // else if(command == ionCmd) + // { + // fParticleGun->SetNucleus(ionCmd->GetNewNucleusValue(newValues)); + // } + else if( command==timeCmd ) + { fParticleGun->SetParticleTime(timeCmd->GetNewDoubleValue(newValues)); } + else if( command==polCmd ) + { fParticleGun->SetParticlePolarization(polCmd->GetNew3VectorValue(newValues)); } + else if( command==numberCmd ) + { fParticleGun->SetNumberOfParticles(numberCmd->GetNewIntValue(newValues)); } + else if( command==ionCmd ) + { + if (fShootIon) { + G4Tokenizer next( newValues ); + // check argument + fAtomicNumber = StoI(next()); + fAtomicMass = StoI(next()); + G4String sQ = next(); + if (sQ.isNull()) { + fIonCharge = fAtomicNumber; + } else { + fIonCharge = StoI(sQ); + sQ = next(); + if (sQ.isNull()) { + fIonExciteEnergy = 0.0; + } else { + fIonExciteEnergy = StoD(sQ) * keV; + } + } + + G4ParticleDefinition* ion; + ion = particleTable->GetIon( fAtomicNumber, fAtomicMass, fIonExciteEnergy); + if (ion==0) { + G4cout << "Ion with Z=" << fAtomicNumber; + G4cout << " A=" << fAtomicMass << "is not be defined" << G4endl; + } else { + fParticleGun->SetParticleDefinition(ion); + fParticleGun->SetParticleCharge(fIonCharge*eplus); + } + } else { + G4cout << "Set /gps/particle to ion before using /gps/ion command"; + G4cout << G4endl; + } + } + else + { + G4cout << "Error entering command" << G4endl; + } +} + +G4String G4GeneralParticleSourceMessenger::GetCurrentValue(G4UIcommand * command) +{ + G4String cv; + + // if( command==directionCmd ) + // { cv = directionCmd->ConvertToString(fParticleGun->GetParticleMomentumDirection()); } + // else if( command==energyCmd ) + // { cv = energyCmd->ConvertToString(fParticleGun->GetParticleEnergy(),"GeV"); } + // else if( command==positionCmd ) + // { cv = positionCmd->ConvertToString(fParticleGun->GetParticlePosition(),"cm"); } + // else if( command==timeCmd ) + // { cv = timeCmd->ConvertToString(fParticleGun->GetParticleTime(),"ns"); } + // else if( command==polCmd ) + // { cv = polCmd->ConvertToString(fParticleGun->GetParticlePolarization()); } + // else if( command==numberCmd ) + // { cv = numberCmd->ConvertToString(fParticleGun->GetNumberOfParticles()); } + + cv = "Not implemented yet"; + + return cv; +} diff --git a/source/event/src/G4HEPEvtInterface.cc b/source/event/src/G4HEPEvtInterface.cc index b4b069039b..3c81be4b85 100644 --- a/source/event/src/G4HEPEvtInterface.cc +++ b/source/event/src/G4HEPEvtInterface.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HEPEvtInterface.cc,v 1.3 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- diff --git a/source/event/src/G4HEPEvtParticle.cc b/source/event/src/G4HEPEvtParticle.cc index 53089c3f44..b241211eed 100644 --- a/source/event/src/G4HEPEvtParticle.cc +++ b/source/event/src/G4HEPEvtParticle.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HEPEvtParticle.cc,v 1.2 1999/12/15 14:49:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // diff --git a/source/event/src/G4ParticleGun.cc b/source/event/src/G4ParticleGun.cc index 20d4bae780..3aadd5cbeb 100644 --- a/source/event/src/G4ParticleGun.cc +++ b/source/event/src/G4ParticleGun.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParticleGun.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParticleGun.cc,v 1.3 2000/10/18 12:41:25 kurasige Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4ParticleGun @@ -45,6 +45,7 @@ void G4ParticleGun::SetInitialValues() particle_position = zero; particle_time = 0.0; particle_polarization = zero; + particle_charge = 0.0; theMessenger = new G4ParticleGunMessenger(this); } @@ -53,6 +54,13 @@ G4ParticleGun::~G4ParticleGun() delete theMessenger; } +void G4ParticleGun::SetParticleDefinition + (G4ParticleDefinition * aParticleDefinition) +{ + particle_definition = aParticleDefinition; + particle_charge = particle_definition->GetPDGCharge(); +} + void G4ParticleGun::SetParticleMomentum(G4ParticleMomentum aMomentum) { if(particle_definition==NULL) @@ -101,6 +109,7 @@ void G4ParticleGun::GeneratePrimaryVertex(G4Event* evt) G4PrimaryParticle* particle = new G4PrimaryParticle(particle_definition,px,py,pz); particle->SetMass( mass ); + particle->SetCharge( particle_charge ); particle->SetPolarization(particle_polarization.x(), particle_polarization.y(), particle_polarization.z()); diff --git a/source/event/src/G4ParticleGunMessenger.cc b/source/event/src/G4ParticleGunMessenger.cc index d5c4a60fb8..24cd80add1 100644 --- a/source/event/src/G4ParticleGunMessenger.cc +++ b/source/event/src/G4ParticleGunMessenger.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParticleGunMessenger.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParticleGunMessenger.cc,v 1.4 2000/10/19 13:29:38 kurasige Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4ParticleGunMessenger.hh" @@ -14,6 +14,7 @@ #include "G4Geantino.hh" #include "G4ThreeVector.hh" #include "G4ParticleTable.hh" +#include "G4IonTable.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithoutParameter.hh" #include "G4UIcmdWithAString.hh" @@ -23,8 +24,13 @@ #include "G4UIcmdWithAnInteger.hh" #include "G4ios.hh" +#include "g4std/iomanip" +#include "g4rw/ctoken.h" +#include "g4rw/rstream.h" +#include "g4std/strstream" + G4ParticleGunMessenger::G4ParticleGunMessenger(G4ParticleGun * fPtclGun) -:fParticleGun(fPtclGun) + :fParticleGun(fPtclGun),fShootIon(false) { particleTable = G4ParticleTable::GetParticleTable(); @@ -38,6 +44,7 @@ G4ParticleGunMessenger::G4ParticleGunMessenger(G4ParticleGun * fPtclGun) particleCmd = new G4UIcmdWithAString("/gun/particle",this); particleCmd->SetGuidance("Set particle to be generated."); particleCmd->SetGuidance(" (geantino is default)"); + particleCmd->SetGuidance(" (ion can be specified for shooting ions)"); particleCmd->SetParameterName("particleName",true); particleCmd->SetDefaultValue("geantino"); G4String candidateList; @@ -47,6 +54,7 @@ G4ParticleGunMessenger::G4ParticleGunMessenger(G4ParticleGun * fPtclGun) candidateList += particleTable->GetParticleName(i); candidateList += " "; } + candidateList += "ion "; particleCmd->SetCandidates(candidateList); directionCmd = new G4UIcmdWith3Vector("/gun/direction",this); @@ -85,6 +93,28 @@ G4ParticleGunMessenger::G4ParticleGunMessenger(G4ParticleGun * fPtclGun) numberCmd->SetGuidance("Set number of particles to be generated."); numberCmd->SetParameterName("N",true,true); numberCmd->SetRange("N>0"); + + ionCmd = new G4UIcommand("/gun/ion",this); + ionCmd->SetGuidance("Set properties of ion to be generated."); + ionCmd->SetGuidance("[usage] /gun/ion Z A Q"); + ionCmd->SetGuidance(" Z:(int) AtomicNumber"); + ionCmd->SetGuidance(" A:(int) AtomicMass"); + ionCmd->SetGuidance(" Q:(int) Charge of Ion (in unit of e)"); + ionCmd->SetGuidance(" E:(double) Excitation energy (in keV)"); + + G4UIparameter* param; + param = new G4UIparameter("Z",'i',false); + param->SetDefaultValue("1"); + ionCmd->SetParameter(param); + param = new G4UIparameter("A",'i',false); + param->SetDefaultValue("1"); + ionCmd->SetParameter(param); + param = new G4UIparameter("Q",'i',true); + param->SetDefaultValue("0"); + ionCmd->SetParameter(param); + param = new G4UIparameter("E",'d',true); + param->SetDefaultValue("0.0"); + ionCmd->SetParameter(param); // set initial value to G4ParticleGun fParticleGun->SetParticleDefinition( G4Geantino::Geantino() ); @@ -113,9 +143,14 @@ void G4ParticleGunMessenger::SetNewValue(G4UIcommand * command,G4String newValue { particleTable->DumpTable(); } else if( command==particleCmd ) { - G4ParticleDefinition* pd = particleTable->FindParticle(newValues); - if(pd != NULL) - { fParticleGun->SetParticleDefinition( pd ); } + if (newValues =="ion") { + fShootIon = true; + } else { + fShootIon = false; + G4ParticleDefinition* pd = particleTable->FindParticle(newValues); + if(pd != NULL) + { fParticleGun->SetParticleDefinition( pd ); } + } } else if( command==directionCmd ) { fParticleGun->SetParticleMomentumDirection(directionCmd->GetNew3VectorValue(newValues)); } @@ -129,6 +164,40 @@ void G4ParticleGunMessenger::SetNewValue(G4UIcommand * command,G4String newValue { fParticleGun->SetParticlePolarization(polCmd->GetNew3VectorValue(newValues)); } else if( command==numberCmd ) { fParticleGun->SetNumberOfParticles(numberCmd->GetNewIntValue(newValues)); } + else if( command==ionCmd ) + { + if (fShootIon) { + G4Tokenizer next( newValues ); + // check argument + fAtomicNumber = StoI(next()); + fAtomicMass = StoI(next()); + G4String sQ = next(); + if (sQ.isNull()) { + fIonCharge = fAtomicNumber; + } else { + fIonCharge = StoI(sQ); + sQ = next(); + if (sQ.isNull()) { + fIonExciteEnergy = 0.0; + } else { + fIonExciteEnergy = StoD(sQ) * keV; + } + } + + G4ParticleDefinition* ion; + ion = particleTable->GetIon( fAtomicNumber, fAtomicMass, fIonExciteEnergy); + if (ion==0) { + G4cout << "Ion with Z=" << fAtomicNumber; + G4cout << " A=" << fAtomicMass << "is not be defined" << G4endl; + } else { + fParticleGun->SetParticleDefinition(ion); + fParticleGun->SetParticleCharge(fIonCharge*eplus); + } + } else { + G4cout << "Set /gun/particle to ion before using /gun/ion command"; + G4cout << G4endl; + } + } } G4String G4ParticleGunMessenger::GetCurrentValue(G4UIcommand * command) @@ -149,7 +218,16 @@ G4String G4ParticleGunMessenger::GetCurrentValue(G4UIcommand * command) { cv = polCmd->ConvertToString(fParticleGun->GetParticlePolarization()); } else if( command==numberCmd ) { cv = numberCmd->ConvertToString(fParticleGun->GetNumberOfParticles()); } - + else if( command==ionCmd ) + { + if (fShootIon) { + cv = ItoS(fAtomicNumber) + " " + ItoS(fAtomicMass) + " "; + cv += ItoS(fIonCharge); + } else { + cv = ""; + } + } return cv; } + diff --git a/source/event/src/G4PrimaryParticle.cc b/source/event/src/G4PrimaryParticle.cc index c6b768b5ed..a7be54e823 100644 --- a/source/event/src/G4PrimaryParticle.cc +++ b/source/event/src/G4PrimaryParticle.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryParticle.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryParticle.cc,v 1.3 2000/10/19 15:19:37 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4PrimaryParticle.hh" @@ -19,33 +19,33 @@ G4Allocator aPrimaryParticleAllocator; G4PrimaryParticle::G4PrimaryParticle() :PDGcode(0),G4code(NULL),Px(0.),Py(0.),Pz(0.), nextParticle(NULL),daughterParticle(NULL),trackID(-1), - mass(0.),polX(0.),polY(0.),polZ(0.) + mass(0.),polX(0.),polY(0.),polZ(0.),Weight0(1.0) {;} G4PrimaryParticle::G4PrimaryParticle(G4int Pcode) :PDGcode(Pcode),Px(0.),Py(0.),Pz(0.), nextParticle(NULL),daughterParticle(NULL),trackID(-1), - mass(0.),polX(0.),polY(0.),polZ(0.) + mass(0.),polX(0.),polY(0.),polZ(0.),Weight0(1.0) { G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); } G4PrimaryParticle::G4PrimaryParticle(G4int Pcode, G4double px,G4double py,G4double pz) :PDGcode(Pcode),Px(px),Py(py),Pz(pz), nextParticle(NULL),daughterParticle(NULL),trackID(-1), - mass(0.),polX(0.),polY(0.),polZ(0.) + mass(0.),polX(0.),polY(0.),polZ(0.),Weight0(1.0) { G4code = G4ParticleTable::GetParticleTable()->FindParticle(Pcode); } G4PrimaryParticle::G4PrimaryParticle(G4ParticleDefinition* Gcode) :G4code(Gcode),Px(0.),Py(0.),Pz(0.), nextParticle(NULL),daughterParticle(NULL),trackID(-1), - mass(0.),polX(0.),polY(0.),polZ(0.) + mass(0.),polX(0.),polY(0.),polZ(0.),Weight0(1.0) { PDGcode = Gcode->GetPDGEncoding(); } G4PrimaryParticle::G4PrimaryParticle(G4ParticleDefinition* Gcode, G4double px,G4double py,G4double pz) :G4code(Gcode),Px(px),Py(py),Pz(pz), nextParticle(NULL),daughterParticle(NULL),trackID(-1), - mass(0.),polX(0.),polY(0.),polZ(0.) + mass(0.),polX(0.),polY(0.),polZ(0.),Weight0(1.0) { PDGcode = Gcode->GetPDGEncoding(); } G4PrimaryParticle::~G4PrimaryParticle() @@ -86,6 +86,7 @@ void G4PrimaryParticle::Print() const G4cout << " Momentum ( " << Px << ", " << Py << ", " << Pz << " )" << G4endl; G4cout << " Polarization ( " << polX << ", " << polY << ", " << polZ << " )" << G4endl; + G4cout << " Weight : " << Weight0 << G4endl; if(daughterParticle != NULL) { G4cout << ">>>> Daughters" << G4endl; diff --git a/source/event/src/G4PrimaryTransformer.cc b/source/event/src/G4PrimaryTransformer.cc index 9070863d11..11e2c71006 100644 --- a/source/event/src/G4PrimaryTransformer.cc +++ b/source/event/src/G4PrimaryTransformer.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryTransformer.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryTransformer.cc,v 1.5 2000/10/19 15:19:37 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4PrimaryTransformer.hh" @@ -44,6 +44,7 @@ void G4PrimaryTransformer::GenerateTracks(G4PrimaryVertex* primaryVertex) G4double Y0 = primaryVertex->GetY0(); G4double Z0 = primaryVertex->GetZ0(); G4double T0 = primaryVertex->GetT0(); + G4double WV = primaryVertex->GetWeight(); #ifdef G4VERBOSE if(verboseLevel>1) @@ -59,14 +60,14 @@ void G4PrimaryTransformer::GenerateTracks(G4PrimaryVertex* primaryVertex) G4PrimaryParticle* primaryParticle = primaryVertex->GetPrimary(); while( primaryParticle != NULL ) { - GenerateSingleTrack( primaryParticle, X0, Y0, Z0, T0 ); + GenerateSingleTrack( primaryParticle, X0, Y0, Z0, T0, WV ); primaryParticle = primaryParticle->GetNext(); } } void G4PrimaryTransformer::GenerateSingleTrack (G4PrimaryParticle* primaryParticle, - G4double x0,G4double y0,G4double z0,G4double t0) + G4double x0,G4double y0,G4double z0,G4double t0,G4double wv) { G4ParticleDefinition* partDef = GetDefinition(primaryParticle); if((!partDef)||partDef->IsShortLived()) @@ -82,7 +83,7 @@ void G4PrimaryTransformer::GenerateSingleTrack G4PrimaryParticle* daughter = primaryParticle->GetDaughter(); while(daughter) { - GenerateSingleTrack(daughter,x0,y0,z0,t0); + GenerateSingleTrack(daughter,x0,y0,z0,t0,wv); daughter = daughter->GetNext(); } } @@ -104,12 +105,18 @@ void G4PrimaryTransformer::GenerateSingleTrack DP->SetPolarization(primaryParticle->GetPolX(), primaryParticle->GetPolY(), primaryParticle->GetPolZ()); + // Set Charge + if (abs(primaryParticle->GetCharge()-DP->GetCharge())>eplus) { + DP->SetCharge(primaryParticle->GetCharge()); + } // Set decay products to the DynamicParticle SetDecayProducts( primaryParticle, DP ); // Create G4Track object G4Track* track = new G4Track(DP,t0,G4ThreeVector(x0,y0,z0)); // Set parentID to 0 as a primary particle track->SetParentID(0); + // Set weight ( vertex weight * particle weight ) + track->SetWeight(wv*(primaryParticle->GetWeight())); // Store it to G4TrackVector TV.insert( track ); } @@ -120,7 +127,7 @@ void G4PrimaryTransformer::SetDecayProducts { G4PrimaryParticle* daughter = mother->GetDaughter(); if(!daughter) return; - G4DecayProducts* decayProducts = motherDP->GetPreAssignedDecayProducts(); + G4DecayProducts* decayProducts = (G4DecayProducts*)(motherDP->GetPreAssignedDecayProducts() ); if(!decayProducts) { decayProducts = new G4DecayProducts(*motherDP); diff --git a/source/event/src/G4PrimaryVertex.cc b/source/event/src/G4PrimaryVertex.cc index e088a312e9..ccdd95f613 100644 --- a/source/event/src/G4PrimaryVertex.cc +++ b/source/event/src/G4PrimaryVertex.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PrimaryVertex.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PrimaryVertex.cc,v 1.3 2000/10/19 15:19:37 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4PrimaryVertex.hh" @@ -16,18 +16,18 @@ G4Allocator aPrimaryVertexAllocator; G4PrimaryVertex::G4PrimaryVertex() :X0(0.),Y0(0.),Z0(0.),T0(0.),numberOfParticle(0),nextVertex(NULL), - theParticle(NULL),theTail(NULL) + theParticle(NULL),theTail(NULL),Weight0(1.0) {;} G4PrimaryVertex::G4PrimaryVertex( G4double x0,G4double y0,G4double z0,G4double t0) :X0(x0),Y0(y0),Z0(z0),T0(t0),numberOfParticle(0),nextVertex(NULL), - theParticle(NULL),theTail(NULL) + theParticle(NULL),theTail(NULL),Weight0(1.0) {;} G4PrimaryVertex::G4PrimaryVertex(G4ThreeVector xyz0,G4double t0) :T0(t0),numberOfParticle(0),nextVertex(NULL), - theParticle(NULL),theTail(NULL) + theParticle(NULL),theTail(NULL),Weight0(1.0) { X0=xyz0.x(); Y0=xyz0.y(); @@ -53,7 +53,8 @@ int G4PrimaryVertex::operator!=(const G4PrimaryVertex &right) const void G4PrimaryVertex::Print() const { G4cout << "Vertex ( " - << X0 << ", " << Y0 << ", " << Z0 << ", " << T0 << " )" << G4endl; + << X0 << ", " << Y0 << ", " << Z0 << ", " << T0 << " )" + << " Weight " << Weight0 << G4endl; G4cout << "#### Primary particles" << G4endl; G4PrimaryParticle* aPrim = theParticle; if(aPrim != NULL) diff --git a/source/event/src/G4StackManager.cc b/source/event/src/G4StackManager.cc index 05f20fedf0..9182b93227 100644 --- a/source/event/src/G4StackManager.cc +++ b/source/event/src/G4StackManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackManager.cc,v 1.3 2000/01/26 06:42:16 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/src/G4StackedTrack.cc b/source/event/src/G4StackedTrack.cc index a322407c54..9bd9b64187 100644 --- a/source/event/src/G4StackedTrack.cc +++ b/source/event/src/G4StackedTrack.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackedTrack.cc,v 1.3 2000/01/26 06:42:16 asaim Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/src/G4StackingMessenger.cc b/source/event/src/G4StackingMessenger.cc index d4424b74ba..d566d77e5f 100644 --- a/source/event/src/G4StackingMessenger.cc +++ b/source/event/src/G4StackingMessenger.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4StackingMessenger.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4TrackStack.cc b/source/event/src/G4TrackStack.cc index ef92d29163..15578a85f4 100644 --- a/source/event/src/G4TrackStack.cc +++ b/source/event/src/G4TrackStack.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TrackStack.cc,v 1.2 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/src/G4UserEventAction.cc b/source/event/src/G4UserEventAction.cc index 774fa3399d..18a6787ea2 100644 --- a/source/event/src/G4UserEventAction.cc +++ b/source/event/src/G4UserEventAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserEventAction.cc,v 1.3 1999/12/15 14:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4UserEventAction.hh" diff --git a/source/event/src/G4UserStackingAction.cc b/source/event/src/G4UserStackingAction.cc index b031930712..befeae2954 100644 --- a/source/event/src/G4UserStackingAction.cc +++ b/source/event/src/G4UserStackingAction.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserStackingAction.cc,v 1.3 1999/12/15 14:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4UserStackingAction.hh" diff --git a/source/event/src/G4VPrimaryGenerator.cc b/source/event/src/G4VPrimaryGenerator.cc index 2fdc6d5cc2..5979c807b1 100644 --- a/source/event/src/G4VPrimaryGenerator.cc +++ b/source/event/src/G4VPrimaryGenerator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VPrimaryGenerator.cc,v 1.2 1999/12/15 14:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4VPrimaryGenerator diff --git a/source/g3tog4/.cvsignore b/source/g3tog4/.cvsignore deleted file mode 100644 index 6e9d4c6965..0000000000 --- a/source/g3tog4/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.out -*.dat -HP-G++ diff --git a/source/g3tog4/GNUmakefile b/source/g3tog4/GNUmakefile index f8dd38906d..babe484ff9 100644 --- a/source/g3tog4/GNUmakefile +++ b/source/g3tog4/GNUmakefile @@ -14,14 +14,12 @@ ### ############################################################################### -G4TARGET = rztog4 +G4TARGET := rztog4 -name = G3toG4 - -curdir = $(shell /bin/pwd) +name := G3toG4 ifndef G4INSTALL - G4INSTALL = ../.. + G4INSTALL := ../.. endif include $(G4INSTALL)/config/architecture.gmk @@ -46,8 +44,8 @@ CPPFLAGS += \ -I$(G4BASE)/track/include \ -I$(G4BASE)/tracking/include \ -I$(G4BASE)/digits+hits/detector/include \ - -I$(G4BASE)/digits+hits/hits/include \ - -Itest + -I$(G4BASE)/digits+hits/hits/include + ### kludge for AIX ifeq ($(FC),xlf) @@ -102,31 +100,24 @@ cernlibs := $(shell cernlib -v $(cernlibv) geant321 packlib) first: lib -global: lib +global: lib bin -all: lib bin examples - @echo $@ stage done in $(curdir) - -examples: cltog4 clGeometry - @echo $@ stage done in $(curdir) - -cltog4: - cd test; $(MAKE) "G4TARGET=cltog4" - -clGeometry: - cd test; $(MAKE) "G4TARGET=clGeometry" +all: lib lib: libc libF - @echo $@ stage done in $(curdir) +ifneq ($(G4MAKESHLIB),) +libc : $(G4LIBDIR)/lib$(name).$(SHEXT) +else libc : $(G4LIBDIR)/lib$(name).a - @echo $@ stage done in $(curdir) +endif + @echo $@ stage done libF : $(G4LIBDIR)/lib$(name)F.a - @echo $@ stage done in $(curdir) + @echo $@ stage done bin: $(G4BINDIR)/$(G4TARGET) - @echo $@ stage done in $(curdir) + @echo $@ stage done ### Make Fortran library. @@ -191,9 +182,6 @@ cleanf: @$(RM) $(Fdependencies) @$(RM) $(G4BINDIR)/$(G4TARGET) -cleantest: - cd test; $(MAKE) clean - include $(G4INSTALL)/config/common.gmk test1: diff --git a/source/g3tog4/History b/source/g3tog4/History index 328e4caa08..3cc83c81c8 100644 --- a/source/g3tog4/History +++ b/source/g3tog4/History @@ -1,8 +1,46 @@ -$Id: History,v 1.32 2000/04/07 13:28:46 gcosmo Exp $ +$Id: History,v 1.38 2000/11/28 12:07:54 gcosmo Exp $ G3toG4 Modification History (reverse chronological order, please !) -------------------------------------------------------------------- +g3tog4-V02-00-05 28-Nov-2000 G.Cosmo +- Fixed bug in G3toG4BuildTree::ClearG3PosCopy(G4int). Entry in vector was + not properly destroyed. + +g3tog4-V02-00-04 24-Nov-2000 G.Cosmo +- Added protection against multiple positiong of the same physical volume + and added methods ClearG3PosCopy(G4int) and ClearDivision()in + G3VolTableEntry (I.Hrivnacova). +- Removed useless G3toG4Debug global method and file. + Replaced verbosity by G3G4DEBUG flag. +- Moved global function G3CalcParamsFn(...) from G3CalcParams.cc to + G3NegVolPars.cc and removed obsolete class/files G3CalcParams[.hh.cc]. +- Added class description comments for the Software Reference + Manual (I.Hrivnacova). + +g3tog4-V02-00-03 01-Aug-2000 G.Cosmo +- Fixed initialisation of pDPhi for CONS in G3toG4MakeSolid.cc (I.Hrivnacova). +- Updated README file and removed src/README. + +g3tog4-V02-00-02 26-Jul-2000 G.Cosmo +- Fixed definition of G4TMPDIR in GNUmakefile. + (The GNUmakefile needs to be completely rewritten to conform to the + standard format in G4...) + +g3tog4-V02-00-01 24-Jul-2000 G.Cosmo +- Moved tests clGeometry and cltog4 from source/g3tog4/test to + examples/extended/g3tog4. Default build mechanism is now used. +- Fixed bug to g3tog4/GNUmakefile for allowing building of shared + libraries. Removed targets for building tests now moved to different + area. Adapted to work with granular libraries mechanism. +- Fix in destructor for G3RotTable (I.Hrivnacova). +- Added handling of ELTU solid, affected files: G3toG4MakeSolid.cc + and G3CalcParams.cc (I.Hrivnacova). + +g3tog4-V02-00-00 21-Jul-2000 G.Cosmo +- Fixed G3toG4PhysicsList::ConstructMesons() for test/clGeometry, + by removing obsolete call to G4RhoZero. + g3tog4-V01-01-00 05-Apr-2000 G.Cosmo - Added include path to directory geometry/solids/specific. Modified files: g3tog4/GNUmakefile, g3tog4/test/GNUmakefile. diff --git a/source/g3tog4/README b/source/g3tog4/README index c49cd9f396..e781a67dba 100644 --- a/source/g3tog4/README +++ b/source/g3tog4/README @@ -10,18 +10,18 @@ ascii ("call list") file containing instructions on how to build the geometry. The source code for this is fortran. Second, a call list interpreter (G4BuildGeom.cc) reads these instructions -and builds the geometry in the user's G4 client code. Two examples of how -to use the call list interpreter are supplied in g3tog4/examples. +and builds the geometry in the user's G4 client code. -The first example, cltog4, is a simple example which simply invokes the -call list interpreter method G4BuildGeom from G3toG4DetectorConstruction -class, builds the geometry and exits. - -The second example, clGeometry, is more complete and is patterned after -the novice G4 examples. It also invokes the call list interpreter, but in -addition, allows the geometry to be visualized and particles to be -tracked. Currently, G3toG4 does not provide a method for scoring hits in -G4. +Two examples of how to use the call list interpreter are supplied in +examples/extended/g3tog4: + - the first example, cltog4, is a simple example which simply invokes the + call list interpreter method G4BuildGeom from G3toG4DetectorConstruction + class, builds the geometry and exits. + - the second example, clGeometry, is more complete and is patterned after + the novice G4 examples. It also invokes the call list interpreter, but + in addition, allows the geometry to be visualized and particles to be + tracked. Currently, G3toG4 does not provide a method for scoring hits + in G4. To build these examples, especially the one involving visualization, the user must have one or more of the following environment variables set: @@ -29,17 +29,12 @@ user must have one or more of the following environment variables set: setenv G4VIS_BUILD__DRIVER setenv G4VIS_USE_ -where the G4-supported drivers are listed in $(G4BASE)/visualization/README. +where the G4-supported drivers are listed in source/visualization/README. To use the freeware Mesa API, you must have the environment variable OGLHOME defined to point to the directory containing the Mesa lib/ directory specific to your platform. -Then the user must build the global Geant4 libraries by issuing the -following command from the geant4/source directory: - -gmake global - To compile and build the G3toG4 libraries, simply type gmake @@ -50,19 +45,15 @@ To build the converter executable "rztog4", simply type gmake bin -To build the example executables, simply type: - -gmake examples - To make everything, simply type: -gmake all +gmake global To remove all G3toG4 libraries, executables and .d files, simply type gmake clean - the implementation (April '99) + the implementation (April 1999) ---------------------------------------- - PGON, PCON are built using the CSG classes G4Polycone and G4Polyhedra. - G3 MANY feature has not been tested. @@ -79,4 +70,18 @@ gmake clean - GSPART has to be updated. - Usage of magnetic field class has to be turned on. + the implementation (July 2000) +---------------------------------------- +- Supported shapes: all G3 shapes except for + "HYPE", "GTRA", "CTUB" +- G3 MANY feature is not supported. +- GSDV* routines for dividing volumes implemented, using + G4PVReplicas, for shapes: + "BOX", "TUBE", "TUBS" - all axes; + "CONE", "CONS" - axes 2, 3; + "TRD1", "TRD2", "TRAP" - axis 3; + "PGON", "PCON" - axis 2; + Unsupported shapes: + "SPHE", "PARA", "ELTU", "HYPE", "GTRA", "CTUB" + See History file for modification history. diff --git a/source/g3tog4/example/.cvsignore b/source/g3tog4/example/.cvsignore deleted file mode 100644 index 98ab4ea1b5..0000000000 --- a/source/g3tog4/example/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.out -*.dat -g3tog4code*.cc diff --git a/source/g3tog4/include/G3CalcParams.hh b/source/g3tog4/include/G3CalcParams.hh deleted file mode 100644 index 32d57a1c27..0000000000 --- a/source/g3tog4/include/G3CalcParams.hh +++ /dev/null @@ -1,77 +0,0 @@ -// 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: G3CalcParams.hh,v 1.3 1999/12/09 01:27:41 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// class G3CalcParams -// -// Class inheriting from G4VPVParameterisation to provide GSDVN -// functionality -// -// History: -// 03.09.96 T. Wenaus Initial version - -#ifndef G3CALCPARAMS_HH -#define G3CALCPARAMS_HH 1 - -#include -#include "globals.hh" -#include "G4VPVParameterisation.hh" - -class G3CalcParams: public G4VPVParameterisation -{ -public: - G3CalcParams(G4int ndiv, G4double width, G4double offset) - { fNdiv = ndiv; fWidth = width; fOffset = offset;} - - void ComputeTransformation(const G4int n, - G4VPhysicalVolume *pRep) const; - - void ComputeDimensions(G4Box &pBox, - const G4int, - const G4VPhysicalVolume *pRep) const; - - void ComputeDimensions(G4Tubs &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Trd &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Trap &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Cons &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Sphere &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Torus &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Para &, - const G4int, - const G4VPhysicalVolume *) const; - - void ComputeDimensions(G4Hype &, - const G4int, - const G4VPhysicalVolume *) const; - -private: - G4int fNdiv; - G4double fWidth; - G4double fOffset; - -}; -#endif diff --git a/source/g3tog4/include/G3DetTable.hh b/source/g3tog4/include/G3DetTable.hh index 4d75fcc7bc..96f2159f81 100644 --- a/source/g3tog4/include/G3DetTable.hh +++ b/source/g3tog4/include/G3DetTable.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3DetTable.hh,v 1.6 1999/12/15 14:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G3DetTable class diff --git a/source/g3tog4/include/G3DetTableEntry.hh b/source/g3tog4/include/G3DetTableEntry.hh index a55c633c71..9e75ae384a 100644 --- a/source/g3tog4/include/G3DetTableEntry.hh +++ b/source/g3tog4/include/G3DetTableEntry.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3DetTableEntry.hh,v 1.3 1999/12/09 01:27:42 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G3DetTableEntry class diff --git a/source/g3tog4/include/G3Division.hh b/source/g3tog4/include/G3Division.hh index ad96759f57..059d714be8 100644 --- a/source/g3tog4/include/G3Division.hh +++ b/source/g3tog4/include/G3Division.hh @@ -5,8 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3Division.hh,v 1.3 1999/12/09 01:27:42 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3Division.hh,v 1.4 2000/11/24 09:50:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// This class tranforms G3 divided volumes to G4 replicated volumes. +// UpdateVTE() method checks parameters of mother volume +// and in case they are complete the solid that will be replicated +// is created. In case of division with offset an additinal envelope +// VTE (G3VolTableEntry instance) is created. +// CreatePVReplica() methods creates the G4PVReplica instance. + +// ---------------------- // // by I.Hrivnacova, V.Berejnoi, 27 Sep 99 @@ -24,7 +36,8 @@ enum G3DivType { kDvn, kDvn2, kDvt, kDvt2 }; class G3Division { - public: + public: // with description + G3Division(G3DivType type, G3VolTableEntry* vte, G3VolTableEntry* mvte, G4int nofDivision, G4int iaxis, G4int nmed, G4double c0, G4double step); @@ -37,6 +50,7 @@ class G3Division G4VPhysicalVolume* CreatePVReplica(); private: + // methods void SetRangeAndAxis(); void CreateSolid(G4String shape, G4double par[], G4int npar); diff --git a/source/g3tog4/include/G3EleTable.hh b/source/g3tog4/include/G3EleTable.hh index dacae50dc0..56e4bc9ac6 100644 --- a/source/g3tog4/include/G3EleTable.hh +++ b/source/g3tog4/include/G3EleTable.hh @@ -5,9 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3EleTable.hh,v 1.4 1999/12/09 01:27:42 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3EleTable.hh,v 1.5 2000/11/24 09:50:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------- +// Class description: +// +// The table of elements. +// In the constructor an array of strings with element name, +// symbol and A are created. +// The G4Element instances of given Z are created when +// GetEle(G4double Z) is called using the string array. +// For each Z the G4Element is created only once. + +// ---------------------- #ifndef G4ELETABLE_HH #define G4ELETABLE_HH 1 @@ -17,18 +28,22 @@ #include "globals.hh" #include "G4Element.hh" -class G3EleTable{ +class G3EleTable +{ + +public: // with description -public: G3EleTable(); virtual ~G3EleTable(); G4Element* GetEle(G4double Z); private: + void LoadUp(); int parse(G4double& Z, char* name, char* sym, G4double& A); private: + char** _EleNames; G4Element** _Ele; int _MaxEle; diff --git a/source/g3tog4/include/G3G4Interface.hh b/source/g3tog4/include/G3G4Interface.hh index cee01f0089..e8243beefa 100644 --- a/source/g3tog4/include/G3G4Interface.hh +++ b/source/g3tog4/include/G3G4Interface.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3G4Interface.hh,v 1.7 1999/12/09 01:27:42 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Interfaces for G3 equivalent routines // diff --git a/source/g3tog4/include/G3MatTable.hh b/source/g3tog4/include/G3MatTable.hh index 4cbbd369c6..770d0a4244 100644 --- a/source/g3tog4/include/G3MatTable.hh +++ b/source/g3tog4/include/G3MatTable.hh @@ -5,8 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3MatTable.hh,v 1.8 1999/12/09 01:27:42 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3MatTable.hh,v 1.9 2000/11/24 09:50:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// G3 materials table. +// Maps G3 material indices to their G4Material object counterparts. + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -25,17 +33,18 @@ typedef G4RWTPtrOrderedVector G3MaterialVector; class G3MatTable { - public: + public: // with description + G3MatTable(); virtual ~G3MatTable(); // methods - // keep the same names of methods as in G4 g3tog4 G4Material* get(G4int id) const; void put(G4int id, G4Material* material); void Clear(); private: + G3MaterialVector* fMatVector; }; diff --git a/source/g3tog4/include/G3MatTableEntry.hh b/source/g3tog4/include/G3MatTableEntry.hh index 27ef566534..8b74da8ab6 100644 --- a/source/g3tog4/include/G3MatTableEntry.hh +++ b/source/g3tog4/include/G3MatTableEntry.hh @@ -5,8 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3MatTableEntry.hh,v 1.3 1999/12/09 01:27:43 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3MatTableEntry.hh,v 1.4 2000/11/24 09:50:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// The class associates the G3 material index with the +// corresponding G4Material object. + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -19,7 +27,8 @@ class G4Material; class G3MatTableEntry { - public: + public: // with description + G3MatTableEntry(G4int id, G4Material* material); G3MatTableEntry(const G3MatTableEntry& right); virtual ~G3MatTableEntry(); @@ -34,6 +43,7 @@ class G3MatTableEntry G4Material* GetMaterial() const; private: + // data members G4int fID; G4Material* fMaterial; diff --git a/source/g3tog4/include/G3MedTable.hh b/source/g3tog4/include/G3MedTable.hh index a89600f9b0..3c55b3e97e 100644 --- a/source/g3tog4/include/G3MedTable.hh +++ b/source/g3tog4/include/G3MedTable.hh @@ -5,8 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3MedTable.hh,v 1.7 1999/12/09 01:27:43 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3MedTable.hh,v 1.8 2000/11/24 09:50:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// G3 tracking medium table. +// Maps G3 tracking medium indices to their corresponding +// G4 objects (G4Material, G4MagneticField, G4UserLimits) +// and the sensitivity flag (isvol). + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -27,17 +37,19 @@ typedef G4RWTPtrOrderedVector G3MediumVector; class G3MedTable { - public: + public: // with description + G3MedTable(); virtual ~G3MedTable(); // methods G3MedTableEntry* get(G4int id) const; void put(G4int id, G4Material* material, G4MagneticField* field, - G4UserLimits* limits, G4int isvol); + G4UserLimits* limits, G4int isvol); void Clear(); private: + G3MediumVector* fMedVector; }; diff --git a/source/g3tog4/include/G3MedTableEntry.hh b/source/g3tog4/include/G3MedTableEntry.hh index 0d651d27ef..ab1e1655b3 100644 --- a/source/g3tog4/include/G3MedTableEntry.hh +++ b/source/g3tog4/include/G3MedTableEntry.hh @@ -5,8 +5,17 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3MedTableEntry.hh,v 1.3 1999/12/09 01:27:43 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3MedTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// The class associates the G3 tracking medium index +// with the corresponding G4Material, G4MagneticField, G4UserLimits +// instances and sensitivity flag (isvol). + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -21,7 +30,8 @@ class G4UserLimits; class G3MedTableEntry { - public: + public: // with description + G3MedTableEntry(G4int id, G4Material* material, G4MagneticField* field, G4UserLimits* limits, G4int isvol); G3MedTableEntry(const G3MedTableEntry& right); @@ -46,6 +56,7 @@ class G3MedTableEntry G4int GetISVOL() const; private: + // data members G4int fID; G4Material* fMaterial; diff --git a/source/g3tog4/include/G3PartTable.hh b/source/g3tog4/include/G3PartTable.hh index 98d5caeb2c..d0c05cf4e1 100644 --- a/source/g3tog4/include/G3PartTable.hh +++ b/source/g3tog4/include/G3PartTable.hh @@ -5,30 +5,40 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3PartTable.hh,v 1.6 1999/12/15 14:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3PartTable.hh,v 1.7 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------- +// Class description: // -// G3 materials table. -// Maps G3 material indices to their G4 material object counterparts. -// Maintains a linked List of G3 material index/G4 material pointer pairs. +// G3 particles table. +// Maps G3 particles indices to their G4 particle object counterparts. + +// ---------------------- #ifndef G3PARTTABLE_HH #define G3PARTTABLE_HH 1 #include "g4std/map" #include "G4ParticleDefinition.hh" -class G3PartTable { -private: - G4std::map > PTD; - void HashID(G4int partid, G4String* _HID); - void HashID(G4int partid, G4String& _HID); -public: +class G3PartTable +{ + +public: // with description + G3PartTable(); virtual ~G3PartTable(); G4ParticleDefinition* Get(G4int partid); void Put(G4int partid, G4ParticleDefinition* partpt); void PrintAll(); + +private: + + G4std::map > PTD; + void HashID(G4int partid, G4String* _HID); + void HashID(G4int partid, G4String& _HID); }; + extern G3PartTable G3Part; + #endif diff --git a/source/g3tog4/include/G3Pos.hh b/source/g3tog4/include/G3Pos.hh index d6eedec599..bdba539f7d 100644 --- a/source/g3tog4/include/G3Pos.hh +++ b/source/g3tog4/include/G3Pos.hh @@ -5,8 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3Pos.hh,v 1.8 2000/03/02 17:54:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3Pos.hh,v 1.9 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// G3 volume position + +// ---------------------- // // modified by I.Hrivnacova, 13.10.99 @@ -15,14 +22,11 @@ #include "G4ThreeVector.hh" -class G3Pos{ -private: - G4String _MotherName; - G4int _Copy; - G4ThreeVector* _Position; - G4int _Irot; - G4String _Only; -public: +class G3Pos +{ + +public: // with description + G3Pos(){;} G3Pos(G4String M, G4int C, G4ThreeVector* T, G4int R, G4String O); @@ -40,6 +44,14 @@ public: G4int GetCopy(); G4String& GetOnly(); -}; -#endif +private: + + G4String _MotherName; + G4int _Copy; + G4ThreeVector* _Position; + G4int _Irot; + G4String _Only; +}; + +#endif diff --git a/source/g3tog4/include/G3RotTable.hh b/source/g3tog4/include/G3RotTable.hh index 5ea6b2016e..f3b52f7feb 100644 --- a/source/g3tog4/include/G3RotTable.hh +++ b/source/g3tog4/include/G3RotTable.hh @@ -5,8 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3RotTable.hh,v 1.10 1999/12/09 01:27:46 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3RotTable.hh,v 1.11 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// G3 rotations table. +// Maps G3 rotations indices to their G4RotationMatrix object counterparts. + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -25,19 +33,19 @@ typedef G4RWTPtrOrderedVector G3RotMatrixVector; class G3RotTable { - public: + public: // with description + G3RotTable(); virtual ~G3RotTable(); // methods - // keep the same names of methods as in G4 g3tog4 - // G3toG4RotationMatrix type changed to G4RotationMatrix) - // + G4RotationMatrix* Get(G4int id) const; void Put(G4int id, G4RotationMatrix* matrix); void Clear(); private: + G3RotMatrixVector* fRotVector; }; diff --git a/source/g3tog4/include/G3RotTableEntry.hh b/source/g3tog4/include/G3RotTableEntry.hh index e76601082b..8ec463a704 100644 --- a/source/g3tog4/include/G3RotTableEntry.hh +++ b/source/g3tog4/include/G3RotTableEntry.hh @@ -5,8 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3RotTableEntry.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3RotTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// The class associates the G3 rotation matrix index to its +// corresponding G4RotationMatrix object. + +// ---------------------- // // by I.Hrivnacova, 27 Sep 99 @@ -20,7 +28,8 @@ class G3toG4RotationMatrix; class G3RotTableEntry { - public: + public: // with description + G3RotTableEntry(G4int id, G4RotationMatrix* matrix); G3RotTableEntry(const G3RotTableEntry& right); virtual ~G3RotTableEntry(); @@ -35,6 +44,7 @@ class G3RotTableEntry G4RotationMatrix* GetMatrix() const; private: + // data members G4int fID; G4RotationMatrix* fMatrix; diff --git a/source/g3tog4/include/G3SensVolVector.hh b/source/g3tog4/include/G3SensVolVector.hh index 3b7a8e705e..b15b2f4476 100644 --- a/source/g3tog4/include/G3SensVolVector.hh +++ b/source/g3tog4/include/G3SensVolVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3SensVolVector.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // 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 f17dca4a5b..d919895b5d 100644 --- a/source/g3tog4/include/G3VolTable.hh +++ b/source/g3tog4/include/G3VolTable.hh @@ -5,8 +5,26 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3VolTable.hh,v 1.14 2000/03/02 17:54:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3VolTable.hh,v 1.15 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// G3 volumes table. +// The G3 volumes are represented with the G3VolTableEntry objects +// that are stored in the map (sorted by names). +// In the phase of filling the G3 tables (defining G3 geometry, +// eg. by parsing the G3 input via clparse.cc) +// a G3 volume can be defined with incomplete parameters +// (negative or none) that have to be retrieved from its mother +// which may be defined later. These parameters are being resolved +// subsequently in the phase of filling G3 tables. +// That's why the G4 object counterparts (solids, logical volumes +// and physical volumes) can be created only after filling the G3 tables +// is finished and all incomplete parameters are resolved. + +// ---------------------- // // modified by I.Hrivnacova, 13.10.99 @@ -20,14 +38,11 @@ class G4LogicalVolume; class G4Material; class G4VSolid; -class G3VolTable{ -private: - G3VolTableEntry* G3toG4TopVTE; - G4String _FirstKey; - G4std::map > VTD; - G4int _NG3Pos; +class G3VolTable +{ + +public: // with description -public: G3VolTableEntry* PutVTE(G3VolTableEntry* aVTE); G3VolTableEntry* GetVTE(const G4String& Vname); void PrintAll(); @@ -39,6 +54,15 @@ public: void VTEStat(); void CountG3Pos(); void Clear(); + +private: + + G3VolTableEntry* G3toG4TopVTE; + G4String _FirstKey; + G4std::map > VTD; + G4int _NG3Pos; }; + extern G3VolTable G3Vol; + #endif diff --git a/source/g3tog4/include/G3VolTableEntry.hh b/source/g3tog4/include/G3VolTableEntry.hh index 5d262df35b..d159137900 100644 --- a/source/g3tog4/include/G3VolTableEntry.hh +++ b/source/g3tog4/include/G3VolTableEntry.hh @@ -5,8 +5,45 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3VolTableEntry.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3VolTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class description: +// +// This class is a temporary representation of G3 volume. +// Its methods enables successive updating of its instances +// during the phase of filling the G3 tables (defining G3 geometry, +// eg. by parsing the G3 input via clparse.cc). +// See G3VolTable class description, too. +// +// Data members: +// fVname volume name; +// fShape G3 shape name; +// fRpar array of G3 volumes parameters; +// fNpar number of G3 volumes parameters; +// fNmed G3 tracking medium number; +// fSolid the G4VSolid of this volume; +// fLV the G4LogicalVolume; +// fHasNegPars true if G3 volume was defined with incomplete +// parameters; +// fDaughters vector of daughter VTEs (VTEs of volumes placed inside +// this volume); +// fMothers vector of mother VTEs (VTEs of volumes inside which this +// volume is placed); +// fClones vector of clone VTEs (see explanation below); +// fG3Pos vector of G3 positions (G3Pos objects) +// fDivision G3Division object created in case the G4 volume +// was defined as division; +// +// Clone volumes: +// In case a G3 volume (e.g. XYZ) has changed its solid parameters +// with its new position (placement with GSPOSP) a new G3VolTableEntry +// (associated with this new solid) with a new name (XYZ_N) +// is created and registered as a clone volume in the fClones vector +// data member of its master G3VolTableEntry object. + +// ---------------------- // // by I.Hrivnacova, 13.10.99 @@ -22,8 +59,10 @@ class G4LogicalVolume; class G4Material; class G4VSolid; -class G3VolTableEntry { - public: +class G3VolTableEntry +{ + public: // with description + G3VolTableEntry(G4String& vname, G4String& shape, G4double* rpar, G4int npar, G4int nmed, G4VSolid* solid, G4bool hasNegPars); @@ -52,6 +91,8 @@ class G3VolTableEntry { void SetNRpar(G4int npar, G4double* Rpar); void SetDivision(G3Division* division); void SetHasNegPars(G4bool hasNegPars); + void ClearG3PosCopy(G4int copy); + void ClearDivision(); // get methods G4String GetName(); @@ -76,6 +117,7 @@ class G3VolTableEntry { G3VolTableEntry* GetMasterClone(); private: + G4String fVname; G4String fShape; G4double* fRpar; @@ -100,14 +142,3 @@ inline G3Division* G3VolTableEntry::GetDivision() { return fDivision; } #endif - - - - - - - - - - - diff --git a/source/g3tog4/include/G3toG4.hh b/source/g3tog4/include/G3toG4.hh index a8c936a4dd..27a4c14a3a 100644 --- a/source/g3tog4/include/G3toG4.hh +++ b/source/g3tog4/include/G3toG4.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3toG4.hh,v 1.6 2000/03/07 10:51:40 stesting Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/include/G3toG4.inc b/source/g3tog4/include/G3toG4.inc index f011652006..1b7b51ad10 100644 --- a/source/g3tog4/include/G3toG4.inc +++ b/source/g3tog4/include/G3toG4.inc @@ -6,7 +6,7 @@ * and all its terms. * * $Id: G3toG4.inc,v 1.2 1999/12/05 17:50:04 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * 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 e75576e649..712bcdfc85 100644 --- a/source/g3tog4/include/G3toG4BuildTree.hh +++ b/source/g3tog4/include/G3toG4BuildTree.hh @@ -5,8 +5,26 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3toG4BuildTree.hh,v 1.4 1999/12/09 01:27:47 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3toG4BuildTree.hh,v 1.5 2000/11/24 09:50:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------- +// Class Description: +// +// Definition of a global method: +// +// void G3toG4BuildTree(G3VolTableEntry* curVTE, +// G3VolTableEntry* motherVTE) +// +// which processes the G3 volumes table (G3VolTable) and creates +// remaining G4 objects that could not be created during the phase of +// filling the G3 tables (defining G3 geometry, eg. by parsing the G3 +// input via clparse.cc): +// G4LogicalVolume, G4PVPlacement and G4PVReplica objects. +// After processing of this method the G4 geometry is completely +// created and the G3 tables can be deleted. + +// ---------------------- // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/include/G3toG4Debug.hh b/source/g3tog4/include/G3toG4Debug.hh deleted file mode 100644 index 411a874ee8..0000000000 --- a/source/g3tog4/include/G3toG4Debug.hh +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef G3TOG4DEBUG_HH -#define G3TOG4DEBUG_HH 1 -#include "globals.hh" -G4int G3toG4Debug(); -#endif diff --git a/source/g3tog4/include/G3toG4MakeSolid.hh b/source/g3tog4/include/G3toG4MakeSolid.hh index eced136b77..84db27284d 100644 --- a/source/g3tog4/include/G3toG4MakeSolid.hh +++ b/source/g3tog4/include/G3toG4MakeSolid.hh @@ -5,9 +5,29 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3toG4MakeSolid.hh,v 1.4 1999/12/09 01:27:47 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3toG4MakeSolid.hh,v 1.5 2000/11/24 09:50:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------- +// Class Description: +// +// Definition of a global method: +// +// G4VSolid* G3toG4MakeSolid(const G4String& vname, +// const G4String& shape, +// const G4double* Rpar, +// const G4int npar, +// G4bool& NegVolPars, +// G4bool& Deferred, +// G4bool* OKAxis); +// +// which checks the volume parameters and creates the G4VSolid +// subclass object corresponding to the specified shape. +// If volume parameters are incomplete (negative or none) +// it returns 0. + +// ---------------------- + #ifndef G3TOG4MAKESOLID_HH #define G3TOG4MAKESOLID_HH 1 diff --git a/source/g3tog4/include/G3toG4RotationMatrix.hh b/source/g3tog4/include/G3toG4RotationMatrix.hh index adcb76b89a..9dc469e8fc 100644 --- a/source/g3tog4/include/G3toG4RotationMatrix.hh +++ b/source/g3tog4/include/G3toG4RotationMatrix.hh @@ -5,9 +5,21 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3toG4RotationMatrix.hh,v 1.3 1999/12/09 01:27:47 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3toG4RotationMatrix.hh,v 1.4 2000/11/24 09:50:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// ---------------------- +// Class description: // +// An "extended" rotation matrix class. +// The SetRotationMatrixByCol/Row() methods enables +// to define the rotation matrix by column/row vectors. +// The result matrix may be a matrix that does not +// represent a rotation transformation (!) as +// G3 "rotation" matrices can be a composition of +// rotation and reflection. + +// ---------------------- + #ifndef G3TOG4ROTATION_HH #define G3TOG4ROTATION_HH 1 @@ -16,7 +28,9 @@ class G3toG4RotationMatrix : public G4RotationMatrix { -public: + +public: // with description + G3toG4RotationMatrix(); void SetRotationMatrixByCol(const G4ThreeVector& Col1, @@ -27,6 +41,8 @@ public: const G4ThreeVector& Row2, const G4ThreeVector& Row3); - ~G3toG4RotationMatrix(); + ~G3toG4RotationMatrix(); + }; + #endif diff --git a/source/g3tog4/include/gcbank.inc b/source/g3tog4/include/gcbank.inc index 27fb2752a5..cb69d210c7 100644 --- a/source/g3tog4/include/gcbank.inc +++ b/source/g3tog4/include/gcbank.inc @@ -6,7 +6,7 @@ * and all its terms. * * $Id: gcbank.inc,v 1.2 1999/12/05 17:50:05 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG INTEGER KWBANK,KWWORK,IWS diff --git a/source/g3tog4/src/G3CalcParams.cc b/source/g3tog4/src/G3CalcParams.cc deleted file mode 100644 index 929015676d..0000000000 --- a/source/g3tog4/src/G3CalcParams.cc +++ /dev/null @@ -1,161 +0,0 @@ -// 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: G3CalcParams.cc,v 1.3 1999/12/15 14:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// Change: G3CalcParamsFn returns true only in case -// the parameters *after* processing this method -// remain negative -// -// modified by I.Hrivnacova, 27 Sep 99 - -#include "globals.hh" - -G4bool G3CalcParamsFn(G4double* Rpar, G4int npar, G4double* Rparm, - G4String shape, G4String shapem); - -G4bool G3CalcParamsFn(G4double *Rpar, G4int npar, G4double *Rparm, - G4String shape, G4String shapem) -{ - G4bool NegPresent = FALSE; - // for normal single volume positioning, just substitute for the - // negative parameters - // treat only the legal cases - if (shapem == shape) { - if (shape == "BOX" || shape == "TRD1" || shape == "TRD2") { - for (G4int i=0;iGetName() << " mother logical volme name " << mlv->GetName() << " axis " << fAxis << " ndivisions " << fNofDivisions << " width " << fWidth << " Offset " << fOffset << G4endl; - } + #endif + return pvol; } @@ -367,10 +368,10 @@ void G3Division::SetRangeAndAxis() } // verbose - if (G3toG4Debug() != 0) { + #ifdef G3G4DEBUG G4cout << "Shape " << shape << " SetRangeAndAxis: " << fLowRange << " " << fHighRange << " " << fAxis << G4endl; - } + #endif } G3VolTableEntry* G3Division::CreateEnvelope(G4String shape, G4double hi, diff --git a/source/g3tog4/src/G3EleTable.cc b/source/g3tog4/src/G3EleTable.cc index 58691c5d9e..4868554e0a 100644 --- a/source/g3tog4/src/G3EleTable.cc +++ b/source/g3tog4/src/G3EleTable.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3EleTable.cc,v 1.9 2000/03/02 17:54:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4strstreambuf.hh" diff --git a/source/g3tog4/src/G3MatTable.cc b/source/g3tog4/src/G3MatTable.cc index 59305e336b..2e7652dbf3 100644 --- a/source/g3tog4/src/G3MatTable.cc +++ b/source/g3tog4/src/G3MatTable.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3MatTable.cc,v 1.12 1999/12/05 17:50:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MatTableEntry.cc b/source/g3tog4/src/G3MatTableEntry.cc index 5c8f6b7a06..389fd8aafc 100644 --- a/source/g3tog4/src/G3MatTableEntry.cc +++ b/source/g3tog4/src/G3MatTableEntry.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3MatTableEntry.cc,v 1.2 1999/12/05 17:50:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MedTable.cc b/source/g3tog4/src/G3MedTable.cc index bdde489f43..dd6b343e55 100644 --- a/source/g3tog4/src/G3MedTable.cc +++ b/source/g3tog4/src/G3MedTable.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3MedTable.cc,v 1.10 1999/12/05 17:50:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MedTableEntry.cc b/source/g3tog4/src/G3MedTableEntry.cc index 89111c4cbe..afd6fb8823 100644 --- a/source/g3tog4/src/G3MedTableEntry.cc +++ b/source/g3tog4/src/G3MedTableEntry.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3MedTableEntry.cc,v 1.2 1999/12/05 17:50:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3NegVolPars.cc b/source/g3tog4/src/G3NegVolPars.cc index 590f0364cd..cb6763e71b 100644 --- a/source/g3tog4/src/G3NegVolPars.cc +++ b/source/g3tog4/src/G3NegVolPars.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3NegVolPars.cc,v 1.6 2000/03/07 10:51:40 stesting Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3NegVolPars.cc,v 1.7 2000/11/24 09:50:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I. Hrivnacova, 13.10.99 @@ -16,11 +16,153 @@ #include "G3toG4.hh" #include -G4bool G3CalcParamsFn(G4double* Rpar, G4int npar, G4double* Rparm, - G4String shape, G4String shapem); +G4bool G3CalcParamsFn(G4double *Rpar, G4int npar, G4double *Rparm, + G4String shape, G4String shapem) + // Returns true only in case the parameters *after* processing + // this method remain negative. +{ + G4bool NegPresent = FALSE; + // for normal single volume positioning, just substitute for the + // negative parameters + // treat only the legal cases + if (shapem == shape) { + if (shape == "BOX" || shape == "TRD1" || shape == "TRD2" || + shape == "ELTU") { + for (G4int i=0;iclearAndDestroy(); + fRotVector->clear(); + //fRotVector->clearAndDestroy(); delete fRotVector; } diff --git a/source/g3tog4/src/G3RotTableEntry.cc b/source/g3tog4/src/G3RotTableEntry.cc index eb3e775749..83798b1a8a 100644 --- a/source/g3tog4/src/G3RotTableEntry.cc +++ b/source/g3tog4/src/G3RotTableEntry.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3RotTableEntry.cc,v 1.2 1999/12/05 17:50:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3VolTable.cc b/source/g3tog4/src/G3VolTable.cc index 43579eaf64..648f9d4eb5 100644 --- a/source/g3tog4/src/G3VolTable.cc +++ b/source/g3tog4/src/G3VolTable.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3VolTable.cc,v 1.19 2000/03/02 17:54:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3VolTableEntry.cc b/source/g3tog4/src/G3VolTableEntry.cc index 7356d5c96c..c90defd8bb 100644 --- a/source/g3tog4/src/G3VolTableEntry.cc +++ b/source/g3tog4/src/G3VolTableEntry.cc @@ -5,17 +5,17 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3VolTableEntry.cc,v 1.4 2000/03/02 17:54:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3VolTableEntry.cc,v 1.6 2000/11/28 12:07:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I.Hrivnacova, 13.10.99 +#include "globals.hh" #include "G3VolTableEntry.hh" #include "G3VolTable.hh" #include "G4LogicalVolume.hh" #include "G3Pos.hh" #include "G3toG4.hh" -#include "globals.hh" G3VolTableEntry::G3VolTableEntry(G4String& vname, G4String& shape, G4double* rpar, G4int npar, G4int nmed, @@ -169,6 +169,16 @@ void G3VolTableEntry::SetHasNegPars(G4bool hasNegPars) { fHasNegPars = hasNegPars; } +void G3VolTableEntry::ClearG3PosCopy(G4int copy) { + if (fG3Pos.entries()>0 && copy>=0 && copyNPCopies(); i++){ G3Pos* theG3Pos = curVTE->GetG3PosCopy(i); - if (theG3Pos->GetMotherName() == motherVTE->GetMasterClone()->GetName()) { + if (theG3Pos && + theG3Pos->GetMotherName() == motherVTE->GetMasterClone()->GetName()) { // rotation matrix G4int irot = theG3Pos->GetIrot(); @@ -89,12 +89,16 @@ void G3toG4BuildTree(G3VolTableEntry* curVTE, G3VolTableEntry* motherVTE) // verbose - if (G3toG4Debug() != 0) + #ifdef G3G4DEBUG G4cout << "PV: " << i << "th copy of " << curVTE->GetName() << " in " << motherVTE->GetName() << " copyNo: " << copyNo << " irot: " << irot << " pos: " << *(theG3Pos->GetPos()) << G4endl; + #endif } + + // clear this position + curVTE->ClearG3PosCopy(i); } } @@ -102,10 +106,13 @@ void G3toG4BuildTree(G3VolTableEntry* curVTE, G3VolTableEntry* motherVTE) if (curVTE->GetDivision()) { curVTE->GetDivision()->CreatePVReplica(); // verbose - if (G3toG4Debug() != 0) { + #ifdef G3G4DEBUG G4cout << "CreatePVReplica: " << curVTE->GetName() << " in " << motherVTE->GetName() << G4endl; - } + #endif + + // clear this divison + curVTE->ClearDivision(); } } else { diff --git a/source/g3tog4/src/G3toG4MakeSolid.cc b/source/g3tog4/src/G3toG4MakeSolid.cc index 801c81e672..a2fa8c8556 100644 --- a/source/g3tog4/src/G3toG4MakeSolid.cc +++ b/source/g3tog4/src/G3toG4MakeSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3toG4MakeSolid.cc,v 1.4 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G3toG4MakeSolid.cc,v 1.6 2000/08/01 09:08:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I.Hrivnacova, V.Berejnoi 27 Sep 99 @@ -22,6 +22,7 @@ #include "G4Polyhedra.hh" #include "G4Para.hh" #include "G4Hype.hh" +#include "G4EllipticalTube.hh" #include "G3toG4MakeSolid.hh" G4VSolid* G3toG4MakeSolid(const G4String& vname, const G4String& shape, @@ -174,7 +175,7 @@ G4VSolid* G3toG4MakeSolid(const G4String& vname, const G4String& shape, G4double pRmin2 = Rpar[3]*cm; G4double pRmax2 = Rpar[4]*cm; G4double pSPhi = Rpar[5]*deg; - G4double pDPhi = Rpar[6]- pSPhi; + G4double pDPhi = Rpar[6]*deg - pSPhi; if ( Rpar[6]*deg <= pSPhi ) pDPhi = pDPhi + 360.*deg; OKAxis[0]=OKAxis[1]=OKAxis[2]=true; @@ -272,8 +273,17 @@ G4VSolid* G3toG4MakeSolid(const G4String& vname, const G4String& shape, delete [] Rmax; } else if ( shape == "ELTU" ) { - // $$$ not implemented. - G4cerr << "ELTU not supported" << G4endl; + G4double dX = Rpar[0]*cm; + G4double dY = Rpar[1]*cm; + G4double dZ = Rpar[2]*cm; + + OKAxis[0]=OKAxis[1]=OKAxis[2]=true; + + NegVolPars = dX<0 || dY<0 || dZ<0; + + if (!(NegVolPars || Deferred)) { + solid = new G4EllipticalTube(vname, dX, dY, dZ); + } } else if ( shape == "HYPE" ) { G4double pRmin = Rpar[0]*cm; diff --git a/source/g3tog4/src/G3toG4RotationMatrix.cc b/source/g3tog4/src/G3toG4RotationMatrix.cc index cb013c04e5..48824056b7 100644 --- a/source/g3tog4/src/G3toG4RotationMatrix.cc +++ b/source/g3tog4/src/G3toG4RotationMatrix.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3toG4RotationMatrix.cc,v 1.2 1999/12/05 17:50:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G3toG4RotationMatrix.hh" diff --git a/source/g3tog4/src/G4BuildGeom.cc b/source/g3tog4/src/G4BuildGeom.cc index 08952c19b0..4e71ada7f2 100644 --- a/source/g3tog4/src/G4BuildGeom.cc +++ b/source/g3tog4/src/G4BuildGeom.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BuildGeom.cc,v 1.12 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BuildGeom.cc,v 1.13 2000/11/24 09:50:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I. Hrivnacova, 13.10.99 @@ -14,7 +14,6 @@ #include "g4std/fstream" #include "globals.hh" #include "G3toG4.hh" -#include "G3toG4Debug.hh" #include "G3MatTable.hh" #include "G3MedTable.hh" #include "G3RotTable.hh" @@ -82,10 +81,11 @@ G4LogicalVolume* G4BuildGeom(G4String& inFile){ // check the geometry here - if (G3toG4Debug() != 0){ + #ifdef G3G4DEBUG G4cout << "scan through G4LogicalVolumeStore:" << G4endl; checkVol(); - } + #endif + return topLV; } diff --git a/source/g3tog4/src/G4ggclos.cc b/source/g3tog4/src/G4ggclos.cc index 428f13cfce..668ec75f21 100644 --- a/source/g3tog4/src/G4ggclos.cc +++ b/source/g3tog4/src/G4ggclos.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ggclos.cc,v 1.6 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G3toG4.hh" #include "G3VolTable.hh" diff --git a/source/g3tog4/src/G4gsatt.cc b/source/g3tog4/src/G4gsatt.cc index 861c9cf015..aa22e78ced 100644 --- a/source/g3tog4/src/G4gsatt.cc +++ b/source/g3tog4/src/G4gsatt.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsatt.cc,v 1.8 2000/03/02 17:54:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "g4rw/cstring.h" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdet.cc b/source/g3tog4/src/G4gsdet.cc index 59049e43b6..d5e978d53b 100644 --- a/source/g3tog4/src/G4gsdet.cc +++ b/source/g3tog4/src/G4gsdet.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdet.cc,v 1.3 1999/12/05 17:50:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "globals.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdeta.cc b/source/g3tog4/src/G4gsdeta.cc index a32c5c92bf..9e6584a2e1 100644 --- a/source/g3tog4/src/G4gsdeta.cc +++ b/source/g3tog4/src/G4gsdeta.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdeta.cc,v 1.4 1999/12/05 17:50:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // modified by I.Hrivnacova, 6 Oct 99 diff --git a/source/g3tog4/src/G4gsdetd.cc b/source/g3tog4/src/G4gsdetd.cc index 709064fd97..db796c08c1 100644 --- a/source/g3tog4/src/G4gsdetd.cc +++ b/source/g3tog4/src/G4gsdetd.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdetd.cc,v 1.4 1999/12/05 17:50:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G3toG4.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G4gsdeth.cc b/source/g3tog4/src/G4gsdeth.cc index 35e905644e..17f3456072 100644 --- a/source/g3tog4/src/G4gsdeth.cc +++ b/source/g3tog4/src/G4gsdeth.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdeth.cc,v 1.4 1999/12/05 17:50:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G3toG4.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G4gsdetu.cc b/source/g3tog4/src/G4gsdetu.cc index c414cf9289..17a0db3cae 100644 --- a/source/g3tog4/src/G4gsdetu.cc +++ b/source/g3tog4/src/G4gsdetu.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdetu.cc,v 1.3 1999/12/05 17:50:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdetv.cc b/source/g3tog4/src/G4gsdetv.cc index 144de3b102..a233d6a4d1 100644 --- a/source/g3tog4/src/G4gsdetv.cc +++ b/source/g3tog4/src/G4gsdetv.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdetv.cc,v 1.6 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G4ios.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdk.cc b/source/g3tog4/src/G4gsdk.cc index 594a6967d6..d82a7a9ddc 100644 --- a/source/g3tog4/src/G4gsdk.cc +++ b/source/g3tog4/src/G4gsdk.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdk.cc,v 1.3 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ #include "G4Decay.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdvn.cc b/source/g3tog4/src/G4gsdvn.cc index f44dfccb93..5fe9fb9990 100644 --- a/source/g3tog4/src/G4gsdvn.cc +++ b/source/g3tog4/src/G4gsdvn.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdvn.cc,v 1.5 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvn2.cc b/source/g3tog4/src/G4gsdvn2.cc index 7f28824d1e..746a1f9138 100644 --- a/source/g3tog4/src/G4gsdvn2.cc +++ b/source/g3tog4/src/G4gsdvn2.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdvn2.cc,v 1.6 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt.cc b/source/g3tog4/src/G4gsdvt.cc index 6890985dd1..14f3e763a6 100644 --- a/source/g3tog4/src/G4gsdvt.cc +++ b/source/g3tog4/src/G4gsdvt.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdvt.cc,v 1.5 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt2.cc b/source/g3tog4/src/G4gsdvt2.cc index 99d5537d41..c5c18d9a9c 100644 --- a/source/g3tog4/src/G4gsdvt2.cc +++ b/source/g3tog4/src/G4gsdvt2.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdvt2.cc,v 1.5 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvx.cc b/source/g3tog4/src/G4gsdvx.cc index ccc28c6491..1babd8b4b7 100644 --- a/source/g3tog4/src/G4gsdvx.cc +++ b/source/g3tog4/src/G4gsdvx.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsdvx.cc,v 1.3 1999/12/05 17:50:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, V.Berejnoi, 27 Sep 99 diff --git a/source/g3tog4/src/G4gsmate.cc b/source/g3tog4/src/G4gsmate.cc index 4ecaa6296c..ed42061aa5 100644 --- a/source/g3tog4/src/G4gsmate.cc +++ b/source/g3tog4/src/G4gsmate.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsmate.cc,v 1.6 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G4gsmixt.cc b/source/g3tog4/src/G4gsmixt.cc index ca3780cc41..6679a76a1b 100644 --- a/source/g3tog4/src/G4gsmixt.cc +++ b/source/g3tog4/src/G4gsmixt.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsmixt.cc,v 1.7 1999/12/15 14:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G4gspart.cc b/source/g3tog4/src/G4gspart.cc index a3e69b048c..db06fca269 100644 --- a/source/g3tog4/src/G4gspart.cc +++ b/source/g3tog4/src/G4gspart.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gspart.cc,v 1.3 1999/12/05 17:50:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4ProcessManager.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gspos.cc b/source/g3tog4/src/G4gspos.cc index fa4fc614dd..fe8785485d 100644 --- a/source/g3tog4/src/G4gspos.cc +++ b/source/g3tog4/src/G4gspos.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gspos.cc,v 1.11 1999/12/05 17:50:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsposp.cc b/source/g3tog4/src/G4gsposp.cc index 8b76a93353..3f66afb2c9 100644 --- a/source/g3tog4/src/G4gsposp.cc +++ b/source/g3tog4/src/G4gsposp.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsposp.cc,v 1.13 2000/03/07 10:51:40 stesting Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsrotm.cc b/source/g3tog4/src/G4gsrotm.cc index 3ca62e40a8..b28f33148f 100644 --- a/source/g3tog4/src/G4gsrotm.cc +++ b/source/g3tog4/src/G4gsrotm.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsrotm.cc,v 1.8 1999/12/15 14:49:44 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G3toG4.hh" #include "G3RotTable.hh" diff --git a/source/g3tog4/src/G4gstmed.cc b/source/g3tog4/src/G4gstmed.cc index 8690fcf40b..4fd4ce4ae2 100644 --- a/source/g3tog4/src/G4gstmed.cc +++ b/source/g3tog4/src/G4gstmed.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gstmed.cc,v 1.4 1999/12/05 17:50:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // The last G4int argument of G4gstmed(..) is used for sending // info whether the Geant3 tracking medium parameters should diff --git a/source/g3tog4/src/G4gstpar.cc b/source/g3tog4/src/G4gstpar.cc index 099975dde1..9d16f0f089 100644 --- a/source/g3tog4/src/G4gstpar.cc +++ b/source/g3tog4/src/G4gstpar.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gstpar.cc,v 1.5 1999/12/15 14:49:44 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G3toG4.hh" #include "G3VolTable.hh" diff --git a/source/g3tog4/src/G4gsvolu.cc b/source/g3tog4/src/G4gsvolu.cc index f3f90756fc..1c8757eaf7 100644 --- a/source/g3tog4/src/G4gsvolu.cc +++ b/source/g3tog4/src/G4gsvolu.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4gsvolu.cc,v 1.7 1999/12/15 14:49:44 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/README b/source/g3tog4/src/README deleted file mode 100644 index e89955be8f..0000000000 --- a/source/g3tog4/src/README +++ /dev/null @@ -1,4 +0,0 @@ -g3tog4 converter routines. - -History is maintained in README one level up, in g3tog4/README - diff --git a/source/g3tog4/src/clparse.cc b/source/g3tog4/src/clparse.cc index ab42f460f5..75111e7a0e 100644 --- a/source/g3tog4/src/clparse.cc +++ b/source/g3tog4/src/clparse.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: clparse.cc,v 1.11 2000/03/07 10:51:41 stesting Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // modified by I.Hrivnacova // added G3SensVol diff --git a/source/g3tog4/src/g3routines.F b/source/g3tog4/src/g3routines.F index 9638e6fcbb..244738d0ce 100644 --- a/source/g3tog4/src/g3routines.F +++ b/source/g3tog4/src/g3routines.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: g3routines.F,v 1.3 1999/12/05 17:50:15 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * #define CALL_GEANT diff --git a/source/g3tog4/src/g3test.F.main b/source/g3tog4/src/g3test.F.main index 21924b0b4b..ac696111fa 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-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * * * g3test diff --git a/source/g3tog4/src/g3tog4.F b/source/g3tog4/src/g3tog4.F index 609ca2170b..126efac3c5 100644 --- a/source/g3tog4/src/g3tog4.F +++ b/source/g3tog4/src/g3tog4.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: g3tog4.F,v 1.3 1999/12/05 17:50:16 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * * * G3toG4 diff --git a/source/g3tog4/src/g4geom.cc.main b/source/g3tog4/src/g4geom.cc.main index df0f88d55d..fe4c57fdac 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // g4geom // diff --git a/source/g3tog4/src/jshape.F b/source/g3tog4/src/jshape.F index 38c564b4e5..a7e75ae771 100644 --- a/source/g3tog4/src/jshape.F +++ b/source/g3tog4/src/jshape.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: jshape.F,v 1.2 1999/12/05 17:50:17 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * * *-- Author : Jouko Vuoskoski, CERN, Jouko.Vuoskoski@cern.ch diff --git a/source/g3tog4/src/mztog4.F b/source/g3tog4/src/mztog4.F index 3e36f0009d..4ae1d96f3b 100644 --- a/source/g3tog4/src/mztog4.F +++ b/source/g3tog4/src/mztog4.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: mztog4.F,v 1.2 1999/12/05 17:50:17 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * subroutine mztog4 ************************************************************************ diff --git a/source/g3tog4/src/rztog4.F b/source/g3tog4/src/rztog4.F index f36e9bf2b2..67dfbc2c2b 100644 --- a/source/g3tog4/src/rztog4.F +++ b/source/g3tog4/src/rztog4.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: rztog4.F,v 1.2 1999/12/05 17:50:17 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * program rztog4 ************************************************************************ diff --git a/source/g3tog4/src/tog4.F b/source/g3tog4/src/tog4.F index 88ea314bc6..5248501f9c 100644 --- a/source/g3tog4/src/tog4.F +++ b/source/g3tog4/src/tog4.F @@ -6,7 +6,7 @@ * and all its terms. * * $Id: tog4.F,v 1.3 1999/12/05 17:50:17 gcosmo Exp $ -* GEANT4 tag $Name: geant4-02-00 $ +* GEANT4 tag $Name: geant4-03-00 $ * subroutine tog4 ************************************************************************ diff --git a/source/geometry/History b/source/geometry/History index 8559de609f..a845988bbf 100644 --- a/source/geometry/History +++ b/source/geometry/History @@ -1,4 +1,4 @@ -$Id: History,v 1.14 2000/05/12 15:12:36 gcosmo Exp $ +$Id: History,v 1.16 2000/11/20 19:16:37 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,14 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 20, 2000 Gabriele Cosmo geometry-V02-00-00 +----------------------------- +- QA code cleanup from Code-Wizard and warnings issued by + "-Wall -ansi -pedantic" g++ compiler options. Includes tags: + geom-solids-csg-V02-00-11, breps-V02-00-03, geom-solid-bool-V02-00-02, + STEP-V02-00-00, stepinterface-V02-00-02, geom-solids-specific-V02-00-04, + field-V02-00-02, geommng-V02-00-04, geomvol-V02-00-01. + May 12, 2000 Gabriele Cosmo geometry-V01-01-03 ----------------------------- - magneticfield (field-V01-01-03): @@ -98,33 +106,50 @@ Jan 19, 2000 Gabriele Cosmo geometry-V01-00-00 Collecting subtags: field-V01-00-00, geomsolids-V01-00-00, geommng-V01-00-00 and geomvol-V01-00-00. +Changes are now documented in the individual sub-category History files. +------------------------------------------------------------------------ + +Nov 10, 99 John Apostolakis geometry-V00-01-01 + + geomsolids-V00-01-03 + which includes the following sub-tags: + geom-solids-csg-01-00-02-cand + geom-solid-bool-V00-01-03b + breps-V00-01-00 + stepinterface-V00-01-00 + + geomvol-01-01-01b + + geommng-V00-01-01 + + field-V00-01-02 + =============================================================================== Geant4 1.0 , 1st STL-based release. =============================================================================== -May 21, 98 John Apostolakis geometry-01-00-05 - +May 21, 99 John Apostolakis geometry-01-00-05 - Tagged. -May 20, 98 S.Giani, S.Magni +May 20, 99 S.Giani, S.Magni Fixes in BREP Line, & (PCone, FCylindrical/FConical surf) respectively For more details see solids/BREP/History Also see changes mentioned in solids/CSG/History for CSG Pcon/Pgon -May 19, 98 Frank Behner +May 19, 99 Frank Behner Volumes: Further minor fixes for STL. -May 12, 98 John Apostolakis geometry-01-00-04 +May 12, 99 John Apostolakis geometry-01-00-04 - Tagged. -May 12, 98 Simone Giani +May 12, 99 Simone Giani Fixes to G4BREPSolidPolyhedra and G4FPlane. -May 10, 98 Frank Behner +May 10, 99 Frank Behner Changes in RW use for compatibility with RW/STL in management/src/G4PhysicalVolumeStore.cc management/src/G4LogicalVolumeStore.cc @@ -135,7 +160,7 @@ May 7, 98 John Apostolakis Changed G4Navigator to issue warning in the case of small inaccuracies & cause fatal exception only for large deviations. -May 3, 98 John Apostolakis geometry-01-00-03 +May 3, 99 John Apostolakis geometry-01-00-03 Minor fixes In CSG solids: Cons & Tubs minor, and in PCon/PGon @@ -153,7 +178,7 @@ Apr 15, 99 John Allison Added -I$(G4BASE)/intercoms/include to BREPS, Boolean abd CSG GNUmakefiles in preparation for move of G4VGraphicsScene to intercoms. -Mar 19, 98 John Apostolakis geometry-01-00-01 +Mar 19, 99 John Apostolakis geometry-01-00-01 Category tag using: solids: [tag geomsolids-01-00-01] @@ -161,7 +186,7 @@ Mar 19, 98 John Apostolakis geometry-01-00-01 management: [tag geommng-01-00-02 ] magneticfield [tag field-01-00-03] -Mar 19, 98 John Apostolakis +Mar 19, 99 John Apostolakis Summary of significant changes in sub-categories/sub-directories management: [tag geommng-01-00-02 ] @@ -169,17 +194,17 @@ Mar 19, 98 John Apostolakis [.... Add information here .... ? ] -Jan 15, 98 John Apostolakis +Jan 15, 99 John Apostolakis Fixes in CSG solids (Cons by V.Grichine, CSG Pcone+Pgon by D.C.Williams) -Jan 15, 98 Simone Giani ( rec by JA. ) +Jan 15, 99 Simone Giani ( rec by JA. ) Fixes in the creation of Smart Voxels: Less memory intensive and much more performant at initialisation. No worse, but a little faster at tracking time. (G4SmartVoxelHeader) -Jan 10, 98 John Apostolakis ( geometry-01-00-01 to be done) +Jan 10, 99 John Apostolakis ( geometry-01-00-01 to be done) geometry as in geant4-00-patch2 Fixes in BREPs (Pcone, Pgon, ...) see solids/BREPS/History diff --git a/source/geometry/benchmarks/BuildBoxWorld.hh b/source/geometry/benchmarks/BuildBoxWorld.hh deleted file mode 100644 index 43b13be5c4..0000000000 --- a/source/geometry/benchmarks/BuildBoxWorld.hh +++ /dev/null @@ -1,43 +0,0 @@ -// 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: BuildBoxWorld.hh,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -#ifndef BUILDBOXWORLD_HH -#define BUILDBOXWORLD_HH - -#include "G4PVPlacement.hh" -#include "G4LogicalVolume.hh" -#include "G4Box.hh" -#include "G4Material.hh" - -G4VPhysicalVolume* BuildBoxWorld() -{ - G4double z = 13.; - G4double a = 26.98*g/mole; - G4double density = 2.7*g/cm3; - - G4Box *myWorldBox= new G4Box ("WBox",10000,10000,10000); - G4Box *myTargetBox = new G4Box ("TBox",100,200,400); - - G4LogicalVolume *myWorldLog=new G4LogicalVolume(myWorldBox,0, - "WLog",0,0,0); - G4LogicalVolume *myTargetLog=new G4LogicalVolume(myTargetBox,0, - "YLog",0,0,0); - G4PVPlacement *myWorldPhys=new G4PVPlacement(0,G4ThreeVector(), - "WPhys", - myWorldLog, - 0,false,0); - G4PVPlacement *myTargetPhys=new G4PVPlacement(0,G4ThreeVector(), - "TPhys", - myTargetLog, - myWorldPhys,false,0); - - return myWorldPhys; -} -#endif diff --git a/source/geometry/benchmarks/BuildCalorimeter.hh b/source/geometry/benchmarks/BuildCalorimeter.hh deleted file mode 100644 index e2d1342ced..0000000000 --- a/source/geometry/benchmarks/BuildCalorimeter.hh +++ /dev/null @@ -1,91 +0,0 @@ -// 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: BuildCalorimeter.hh,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -#ifndef BUILDCALORIMETER_HH -#define BUILDCALORIMETER_HH - -#include "G4PVPlacement.hh" -#include "G4LogicalVolume.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" - -G4VPhysicalVolume* BuildCalorimeter() -{ - G4double offset=22.5,xTlate,yTlate; - G4int i,j,copyNo; - G4double z = 13.; - G4double a = 26.98*g/mole; - G4double density = 2.7*g/cm3; - - G4Box *myWorldBox= new G4Box ("WBox",10000,10000,10000); - G4Box *myCalBox = new G4Box ("CBox",1500,1500,1000); - G4Tubs *myTargetTube = new G4Tubs ("TTube",0,22.5,1000,0,360); - - G4LogicalVolume *myWorldLog=new G4LogicalVolume(myWorldBox,0, - "WLog",0,0,0); - G4LogicalVolume *myCalLog=new G4LogicalVolume(myCalBox,0, - "CLog",0,0,0); - G4LogicalVolume *myTargetLog=new G4LogicalVolume(myTargetTube,0, - "TLog",0,0,0); - - G4PVPlacement *myWorldPhys=new G4PVPlacement(0,G4ThreeVector(), - "WPhys", - myWorldLog, - 0,false,0); - G4PVPlacement *myCalPhys=new G4PVPlacement(0,G4ThreeVector(), - "CalPhys", - myCalLog, - myWorldPhys,false,0); - - G4String tName1("TPhys1"); // Allow all target physicals to share - // same name (delayed copy) - copyNo=0; - for (j=1;j<=25;j++) - { - yTlate=-1000.0-40.0+j*80.0; - - for (i=1;i<=50;i++) - { - copyNo++; - xTlate=-1000.0-20.0+i*45.0-offset; - G4PVPlacement *myTargetPhys=new G4PVPlacement(0,G4ThreeVector(xTlate,yTlate,0), - tName1, - myTargetLog, - myCalPhys, - false, - copyNo); - } - } - - G4String tName2("TPhys2"); // Allow all target physicals to share - // same name (delayed copy) - copyNo=0; - for (j=1;j<=26;j++) - { - yTlate=-1000.0-80.0+j*80.0; - for (i=1;i<=50;i++) - { - copyNo++; - xTlate=-1000.0-20.0+i*45.0; - G4PVPlacement *myTargetPhys=new G4PVPlacement(0,G4ThreeVector(xTlate,yTlate,0), - tName2, - myTargetLog, - myCalPhys, - false, - copyNo); - } - } - - return myWorldPhys; -} -#endif - - - diff --git a/source/geometry/benchmarks/GNUmakefile b/source/geometry/benchmarks/GNUmakefile deleted file mode 100644 index b00990d39e..0000000000 --- a/source/geometry/benchmarks/GNUmakefile +++ /dev/null @@ -1,38 +0,0 @@ -# $Id: GNUmakefile,v 1.2 2000/02/29 09:46:21 gcosmo Exp $ -# ---------------------------------------------------------------- -# Makes test program in environment variable G4TARGET. -# ---------------------------------------------------------------- - -ifndef G4TARGET - G4TARGET := $(TESTTARGET) -endif - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -G4EXEC_BUILD = true - -include $(G4INSTALL)/config/architecture.gmk - -# Override some variables for binmake.gmk. -# -INCFLAGS := -I$(G4BASE)/geometry/management/include \ - -I$(G4BASE)/geometry/volumes/include \ - -I$(G4BASE)/geometry/solids/CSG/include \ - -I$(G4BASE)/global/management/include \ - -I$(G4BASE)/global/HEPRandom/include \ - -I$(G4BASE)/global/HEPGeometry/include \ - -I$(G4BASE)/materials/include \ - -I$(G4BASE)/graphics_reps/include - -LDLIBS := \ - -lG4csg \ - -lG4volumes \ - -lG4magneticfield \ - -lG4geometrymng \ - -lG4materials \ - -lG4graphics_reps \ - -lG4globman - -include $(G4INSTALL)/config/binmake.gmk diff --git a/source/geometry/benchmarks/Shoot.hh b/source/geometry/benchmarks/Shoot.hh deleted file mode 100644 index bdc7893cda..0000000000 --- a/source/geometry/benchmarks/Shoot.hh +++ /dev/null @@ -1,83 +0,0 @@ -// 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: Shoot.hh,v 1.3 2000/02/29 09:45:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -#ifndef SHOOT_HH -#define SHOOT_HH - -#include "G4Timer.hh" -#include "G4VPhysicalVolume.hh" -#include "G4Navigator.hh" -#include "G4ThreeVector.hh" -#include "G4ios.hh" - -void Shoot(const G4int numShoot, - G4VPhysicalVolume *pTopNode, - const G4ThreeVector& pSource, - const G4ThreeVector& pVec) -{ - const G4double physStep=kInfinity; - G4int i; - G4double safety,Step; - G4Navigator myNav; - G4Timer timer; - G4ThreeVector partLoc; - G4VPhysicalVolume *located; - - myNav.SetWorldVolume(pTopNode); - - timer.Start(); - - for (i=numShoot;i>0;i--) - { - - partLoc=pSource; - located=myNav.LocateGlobalPointAndSetup(partLoc,false); - while (located) - { - Step=myNav.ComputeStep(partLoc,pVec,physStep,safety); - partLoc+=Step*pVec; - myNav.SetGeometricallyLimitedStep(); - located=myNav.LocateGlobalPointAndSetup(partLoc); - }; - } - timer.Stop(); - G4cout << "Shots = " << numShoot << " " << timer << G4endl; -} - -void ShootVerbose(G4VPhysicalVolume *pTopNode, - const G4ThreeVector& pSource, - const G4ThreeVector& pVec) -{ - const G4double physStep=kInfinity; - G4double safety,Step; - G4Navigator myNav; - G4ThreeVector partLoc; - G4VPhysicalVolume *located=0; - - myNav.SetWorldVolume(pTopNode); - - partLoc=pSource; - located=myNav.LocateGlobalPointAndSetup(partLoc); - while (located) - { - Step=myNav.ComputeStep(partLoc,pVec,physStep,safety); - G4cout << "Physical Location=" << located->GetName() - << " #" << located->GetCopyNo() << G4endl - << " Step=" << Step << " Safety=" << safety - << " ---->" << G4endl; - - partLoc+=Step*pVec; - myNav.SetGeometricallyLimitedStep(); - located=myNav.LocateGlobalPointAndSetup(partLoc); - }; - -} - -#endif diff --git a/source/geometry/benchmarks/calorimeter.cc b/source/geometry/benchmarks/calorimeter.cc deleted file mode 100644 index b615cccc7f..0000000000 --- a/source/geometry/benchmarks/calorimeter.cc +++ /dev/null @@ -1,102 +0,0 @@ -// 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: calorimeter.cc,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// calorimeter -// -// World consisting of CSoC '95 tube calorimeter -// For comparison against F77 case. Toggle optimisation with 0/1 -// on command line. Default - optimisation ON - -#include "G4ios.hh" -#include -#include - -#include "G4GeometryManager.hh" -#include "BuildCalorimeter.hh" -#include "Shoot.hh" -#include "G4Timer.hh" -#include "globals.hh" -#include "geomdefs.hh" - -const G4int numShoot = 10000; -const G4bool optimise= true; - -int main() -{ - G4ThreeVector origin(0,0,0),pMX(-500,0,0); - G4ThreeVector vx(1,0,0); - G4ThreeVector vy(0,1,0); - G4ThreeVector vxy(1/sqrt(2.0),1/sqrt(2.0),0); - G4VPhysicalVolume *myTopNode; - G4Timer timer; - - G4cout << " Calorimeter Performance Test - P.Kent 21.08.95" << G4endl - << "Using calorimeter from CERN School of Computing '95" << G4endl; -#ifndef NDEBUG - G4cout << "WARNING: *** ASSERTs are compiled IN ***" << G4endl; -#endif - - myTopNode=BuildCalorimeter(); // Build the geometry - timer.Start(); - G4GeometryManager::GetInstance()->CloseGeometry(optimise); - timer.Stop(); - - if (optimise) - { - G4cout << "Optimisation ON"; - } - else - { - G4cout << "Optimisation OFF"; - } - G4cout << " Geometry close took " << timer << G4endl; - -#ifdef G4GEOMETRY_VERBOSE - G4cout << G4endl << "Voxels for:" - << G4LogicalVolumeStore::GetInstance()->at(1)->GetName() << G4endl - << *G4LogicalVolumeStore::GetInstance()->at(1)->GetVoxelHeader() - << G4endl; -#endif - G4SmartVoxelHeader* top=G4LogicalVolumeStore::GetInstance() - ->at(1)->GetVoxelHeader(); - if (top) - { - G4cout << "1st level voxels along "; - switch (top->GetAxis()) - { - case kXAxis: - G4cout << "X" << G4endl; - break; - case kYAxis: - G4cout << "Y" << G4endl; - break; - case kZAxis: - G4cout << "Z" << G4endl; - break; - - } - } - - G4cout << G4endl << "Shooting from " << origin << " along " << vx << G4endl; - ShootVerbose(myTopNode,origin,vx); - Shoot(numShoot,myTopNode,origin,vx); - - G4cout << G4endl << "Shooting from " << origin << " along " << vy << G4endl; - ShootVerbose(myTopNode,origin,vy); - Shoot(numShoot,myTopNode,origin,vy); - - G4cout << G4endl << "Shooting from " << origin << " along " << vxy << G4endl; - ShootVerbose(myTopNode,origin,vxy); - Shoot(numShoot,myTopNode,origin,vxy); - - G4GeometryManager::GetInstance()->OpenGeometry(); - return EXIT_SUCCESS; -} - diff --git a/source/geometry/benchmarks/f77cppcomparison/G4Box.cc b/source/geometry/benchmarks/f77cppcomparison/G4Box.cc deleted file mode 100644 index c8e4d0185e..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/G4Box.cc +++ /dev/null @@ -1,439 +0,0 @@ -// 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: G4Box.cc,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// -// Implementation for G4Box class -// - -#include "G4Box.hh" - -//#include "G4VoxelLimits.hh" -//#include "G4Transform.hh" - -//#ifdef G4VISUALIZE -//#include "G4VWindow.hh" -//#include "G4Polyline.hh" -//#endif - -#include -// Private (implementation) enum: Not for external use -// Codes for faces (kPX=plus x face,kMY= minus y face etc) -enum ESide {kPX,kMX,kPY,kMY,kPZ,kMZ}; - -// Constructor - check & set half widths -G4Box::G4Box(const G4double pX, - const G4double pY, - const G4double pZ) -{ - fDx=pX; fDy=pY; fDz=pZ; -} - - -// Return whether point inside/outside/on surface, using tolerance -EInside G4Box::Inside(const G4ThreeVector& p) const -{ - EInside in=kOutside; - - if (fabs(p.x())<=fDx-kCarTolerance*0.5) - { - if (fabs(p.y())<=fDy-kCarTolerance*0.5) - { - if (fabs(p.z())<=fDz-kCarTolerance*0.5) - { - in=kInside; - } - else if (fabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - else if (fabs(p.y())<=fDy+kCarTolerance*0.5) - { - if (fabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - } - else if (fabs(p.x())<=fDx+kCarTolerance*0.5) - { - if (fabs(p.y())<=fDy+kCarTolerance*0.5) - { - if (fabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - } - - return in; -} - -// Calculate side nearest to p, and return normal -// If two sides are equidistant, normal of first side (x/y/z) -// encountered returned -G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const -{ - G4double distx,disty,distz; - G4ThreeVector norm; -// Calculate distances as if in 1st octant - distx=fabs(fabs(p.x())-fDx); - disty=fabs(fabs(p.y())-fDy); - distz=fabs(fabs(p.z())-fDz); - - if (distx<=disty) - { - if (distx<=distz) - { -// Closest to X - if (p.x()<0) norm=G4ThreeVector(-1.0,0,0); - else norm=G4ThreeVector(1.0,0,0); - } - else - { -// Closest to Z - if (p.z()<0) norm=G4ThreeVector(0,0,-1.0); - else norm=G4ThreeVector(0,0,1.0); - } - } - else - { - if (disty<=distz) - { -// Closest to Y - if (p.y()<0) norm=G4ThreeVector(0,-1.0,0); - else norm=G4ThreeVector(0,1.0,0); - } - else - { -// Closest to Z - if (p.z()<0) norm=G4ThreeVector(0,0,-1.0); - else norm=G4ThreeVector(0,0,1.0); - } - } - - return norm; -} - -// Calculate distance to box from an outside point -// - return kInfinity if no intersection. -// -// ALGORITHM: -// -// Check that if point lies outside x/y/z extent of box, travel is towards -// the box (ie. there is a possiblity of an intersection) -// -// Calculate pairs of minimum and maximum distances for x/y/z travel for -// intersection with the box's x/y/z extent. -// If there is a valid intersection, it is given by the maximum min distance -// (ie. distance to satisfy x/y/z intersections) *if* <= minimum max distance -// (ie. distance after which 1+ of x/y/z intersections not satisfied) -// -// NOTE: -// -// `Inside' safe - meaningful answers given if point is inside the exact -// shape. - -G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const -{ - G4double safx,safy,safz; - G4double smin,sminy,sminz; - G4double smax,smaxy,smaxz; - G4double stmp; - - safx=fabs(p.x())-fDx; // minimum distance to x surface of shape - safy=fabs(p.y())-fDy; - safz=fabs(p.z())-fDz; - -// Will we intersect? -// If safx/y/z is >-tol/2 the point is outside/on the box's x/y/z extent. -// If both p.x/y/z and v.x/y/z repectively are both positive/negative, -// travel is in a direction away from the shape. - - if ( ((p.x()*v.x()>=0.0) && safx>-kCarTolerance*0.5) - || ((p.y()*v.y()>=0.0) && safy>-kCarTolerance*0.5) - || ((p.z()*v.z()>=0.0) && safz>-kCarTolerance*0.5)) return kInfinity; - -// Compute min / max distances for x/y/z travel: -// X Planes - if (v.x()) - { - stmp=1.0/fabs(v.x()); - smin=safx*stmp; - smax=(fDx+fabs(p.x()))*stmp; - } - else - { - if (safx<=0.0) - { - smin=0.0; - smax=kInfinity; - } - else - { - return kInfinity; // Travel parallel - } - } - -// Y Planes - if (v.y()) - { - stmp=1.0/fabs(v.y()); - sminy=safy*stmp; - smaxy=(fDy+fabs(p.y()))*stmp; - if (sminy>smin) smin=sminy; - if (smaxysmax) return kInfinity; - } - else - { - if (safy>0.0) - { - return kInfinity; // Travel parallel - } - } - -// Z planes - if (v.z()) - { - stmp=1.0/fabs(v.z()); - sminz=safz*stmp; - smaxz=(fDz+fabs(p.z()))*stmp; - if (sminz>smin) smin=sminz; - if (smaxzsmax) return kInfinity; - } - else - { - if (safz>0.0) - { - return kInfinity; // Travel parallel - } - } - - - if (smin<0) - { - return 0.0; - } - return smin; -} - -// Appoximate distance to box. -// Returns largest perpendicular distance to the closest x/y/z sides of -// the box. -// - If inside return 0 -G4double G4Box::DistanceToIn(const G4ThreeVector& p) const -{ - G4double safex,safey,safez,safe=0.0; - safex=fabs(p.x())-fDx; - safey=fabs(p.y())-fDy; - safez=fabs(p.z())-fDz; - - if (safex>safe) safe=safex; - if (safey>safe) safe=safey; - if (safez>safe) safe=safez; - return safe; -} - -// Calcluate distance to surface of box from inside -// by calculating distances to box's x/y/z planes. -// Smallest distance is exact distance to exiting. -// - Eliminate one side of each pair by considering direction of v -// - when leaving a surface & v.close, return 0 -G4double G4Box::DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, - const G4bool calcNorm, - G4bool *validNorm,G4ThreeVector *n) const -{ - ESide side; - G4double pdist,stmp,snxt; - - if (calcNorm) *validNorm=true; // All normals are valid - - if (v.x()>0) - { - pdist=fDx-p.x(); - if (pdist>kCarTolerance*0.5) - { - snxt=pdist/v.x(); - side=kPX; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(1,0,0); - } - return snxt=0; - } - } - else if (v.x()<0) - { - pdist=fDx+p.x(); - if (pdist>kCarTolerance*0.5) - { - snxt=-pdist/v.x(); - side=kMX; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(-1,0,0); - } - return snxt=0; - } - } - else - { - snxt=kInfinity; - } - - if (v.y()>0) - { - pdist=fDy-p.y(); - if (pdist>kCarTolerance*0.5) - { - stmp=pdist/v.y(); - if (stmpkCarTolerance*0.5) - { - stmp=-pdist/v.y(); - if (stmp0) - { - pdist=fDz-p.z(); - if (pdist>kCarTolerance*0.5) - { - stmp=pdist/v.z(); - if (stmpkCarTolerance*0.5) - { - stmp=-pdist/v.z(); - if (stmp - -inline G4double fastfabs(const G4double p) -{ - return (p>=0) ? p : -p ; -} - -// Private (implementation) enum: Not for external use -// Codes for faces (kPX=plus x face,kMY= minus y face etc) -enum ESide {kPX,kMX,kPY,kMY,kPZ,kMZ}; - -// Constructor - check & set half widths -G4Box::G4Box(const G4double pX, - const G4double pY, - const G4double pZ) -{ - fDx=pX; fDy=pY; fDz=pZ; -} - - -// Return whether point inside/outside/on surface, using tolerance -EInside G4Box::Inside(const G4ThreeVector& p) const -{ - EInside in=kOutside; - - if (fastfabs(p.x())<=fDx-kCarTolerance*0.5) - { - if (fastfabs(p.y())<=fDy-kCarTolerance*0.5) - { - if (fastfabs(p.z())<=fDz-kCarTolerance*0.5) - { - in=kInside; - } - else if (fastfabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - else if (fastfabs(p.y())<=fDy+kCarTolerance*0.5) - { - if (fastfabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - } - else if (fastfabs(p.x())<=fDx+kCarTolerance*0.5) - { - if (fastfabs(p.y())<=fDy+kCarTolerance*0.5) - { - if (fastfabs(p.z())<=fDz+kCarTolerance*0.5) - { - in=kSurface; - } - } - } - - return in; -} - -// Calculate side nearest to p, and return normal -// If two sides are equidistant, normal of first side (x/y/z) -// encountered returned -G4ThreeVector G4Box::SurfaceNormal( const G4ThreeVector& p) const -{ - G4double distx,disty,distz; - G4ThreeVector norm; -// Calculate distances as if in 1st octant - distx=fastfabs(fastfabs(p.x())-fDx); - disty=fastfabs(fastfabs(p.y())-fDy); - distz=fastfabs(fastfabs(p.z())-fDz); - - if (distx<=disty) - { - if (distx<=distz) - { -// Closest to X - if (p.x()<0) norm=G4ThreeVector(-1.0,0,0); - else norm=G4ThreeVector(1.0,0,0); - } - else - { -// Closest to Z - if (p.z()<0) norm=G4ThreeVector(0,0,-1.0); - else norm=G4ThreeVector(0,0,1.0); - } - } - else - { - if (disty<=distz) - { -// Closest to Y - if (p.y()<0) norm=G4ThreeVector(0,-1.0,0); - else norm=G4ThreeVector(0,1.0,0); - } - else - { -// Closest to Z - if (p.z()<0) norm=G4ThreeVector(0,0,-1.0); - else norm=G4ThreeVector(0,0,1.0); - } - } - - return norm; -} - -// Calculate distance to box from an outside point -// - return kInfinity if no intersection. -// -// ALGORITHM: -// -// Check that if point lies outside x/y/z extent of box, travel is towards -// the box (ie. there is a possiblity of an intersection) -// -// Calculate pairs of minimum and maximum distances for x/y/z travel for -// intersection with the box's x/y/z extent. -// If there is a valid intersection, it is given by the maximum min distance -// (ie. distance to satisfy x/y/z intersections) *if* <= minimum max distance -// (ie. distance after which 1+ of x/y/z intersections not satisfied) -// -// NOTE: -// -// `Inside' safe - meaningful answers given if point is inside the exact -// shape. - -G4double G4Box::DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const -{ - G4double safx,safy,safz; - G4double smin,sminy,sminz; - G4double smax,smaxy,smaxz; - G4double stmp; - - safx=fastfabs(p.x())-fDx; // minimum distance to x surface of shape - safy=fastfabs(p.y())-fDy; - safz=fastfabs(p.z())-fDz; - -// Will we intersect? -// If safx/y/z is >-tol/2 the point is outside/on the box's x/y/z extent. -// If both p.x/y/z and v.x/y/z repectively are both positive/negative, -// travel is in a direction away from the shape. - - if ( ((p.x()*v.x()>=0.0) && safx>-kCarTolerance*0.5) - || ((p.y()*v.y()>=0.0) && safy>-kCarTolerance*0.5) - || ((p.z()*v.z()>=0.0) && safz>-kCarTolerance*0.5)) return kInfinity; - -// Compute min / max distances for x/y/z travel: -// X Planes - if (v.x()) - { - stmp=1.0/fastfabs(v.x()); - smin=safx*stmp; - smax=(fDx+fastfabs(p.x()))*stmp; - } - else - { - if (safx<=0.0) - { - smin=0.0; - smax=kInfinity; - } - else - { - return kInfinity; // Travel parallel - } - } - -// Y Planes - if (v.y()) - { - stmp=1.0/fastfabs(v.y()); - sminy=safy*stmp; - smaxy=(fDy+fastfabs(p.y()))*stmp; - if (sminy>smin) smin=sminy; - if (smaxysmax) return kInfinity; - } - else - { - if (safy>0.0) - { - return kInfinity; // Travel parallel - } - } - -// Z planes - if (v.z()) - { - stmp=1.0/fastfabs(v.z()); - sminz=safz*stmp; - smaxz=(fDz+fastfabs(p.z()))*stmp; - if (sminz>smin) smin=sminz; - if (smaxzsmax) return kInfinity; - } - else - { - if (safz>0.0) - { - return kInfinity; // Travel parallel - } - } - - - if (smin<0) - { - return 0.0; - } - return smin; -} - -// Appoximate distance to box. -// Returns largest perpendicular distance to the closest x/y/z sides of -// the box. -// - If inside return 0 -G4double G4Box::DistanceToIn(const G4ThreeVector& p) const -{ - G4double safex,safey,safez,safe=0.0; - safex=fastfabs(p.x())-fDx; - safey=fastfabs(p.y())-fDy; - safez=fastfabs(p.z())-fDz; - - if (safex>safe) safe=safex; - if (safey>safe) safe=safey; - if (safez>safe) safe=safez; - return safe; -} - -// Calcluate distance to surface of box from inside -// by calculating distances to box's x/y/z planes. -// Smallest distance is exact distance to exiting. -// - Eliminate one side of each pair by considering direction of v -// - when leaving a surface & v.close, return 0 -G4double G4Box::DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, - const G4bool calcNorm, - G4bool *validNorm,G4ThreeVector *n) const -{ - ESide side; - G4double pdist,stmp,snxt; - - if (calcNorm) *validNorm=true; // All normals are valid - - if (v.x()>0) - { - pdist=fDx-p.x(); - if (pdist>kCarTolerance*0.5) - { - snxt=pdist/v.x(); - side=kPX; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(1,0,0); - } - return snxt=0; - } - } - else if (v.x()<0) - { - pdist=fDx+p.x(); - if (pdist>kCarTolerance*0.5) - { - snxt=-pdist/v.x(); - side=kMX; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(-1,0,0); - } - return snxt=0; - } - } - else - { - snxt=kInfinity; - } - - if (v.y()>0) - { - pdist=fDy-p.y(); - if (pdist>kCarTolerance*0.5) - { - stmp=pdist/v.y(); - if (stmpkCarTolerance*0.5) - { - stmp=-pdist/v.y(); - if (stmp0) - { - pdist=fDz-p.z(); - if (pdist>kCarTolerance*0.5) - { - stmp=pdist/v.z(); - if (stmpkCarTolerance*0.5) - { - stmp=-pdist/v.z(); - if (stmp a = a * b; while a.transform(b); <=> a = b * a; - - inline G4RotationMatrix inverse() const; - // Returns the inverse. - - inline G4RotationMatrix & invert(); - // Inverts the Rotation matrix - - G4RotationMatrix & rotateX(double); - // Rotation around the x-axis. - - G4RotationMatrix & rotateY(double); - // Rotation around the y-axis. - - G4RotationMatrix & rotateZ(double); - // Rotation around the z-axis. - - G4RotationMatrix & rotate(double angle, const G4ThreeVector & axis); - inline G4RotationMatrix & rotate(double angle, const G4ThreeVector * axis); - // Rotation around a specified vector. - -// Function to return angles (RADS) made by rotated axes against original axes - inline double phiX() const; - inline double phiY() const; - inline double phiZ() const; - - inline double thetaX() const; - inline double thetaY() const; - inline double thetaZ() const; - - inline G4bool isIdentity() const; -// IsIdentity function returns true if identity matrix - - -protected: - - inline G4RotationMatrix(double, double, double, double, double, - double, double, double, double); - // Protected constructor;. - - G4double xx, xy, xz, yx, yy, yz, zx, zy, zz; - // The matrix elements. - -}; - -#include "G4ThreeVector.hh" - -#include "G4RotationMatrix.icc" - -#endif - - - - - diff --git a/source/geometry/benchmarks/f77cppcomparison/G4RotationMatrix.icc b/source/geometry/benchmarks/f77cppcomparison/G4RotationMatrix.icc deleted file mode 100644 index 71d5dbf6bf..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/G4RotationMatrix.icc +++ /dev/null @@ -1,138 +0,0 @@ -// 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: G4RotationMatrix.icc,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// Inline functions for class G4RotationMatrix -// Converted from CLHEP: -// Author: Leif Lonnblad -// -// History: -// 30.11.94 P.Kent - -inline G4RotationMatrix & G4RotationMatrix::operator = (const G4RotationMatrix & m) { - xx = m.xx; - xy = m.xy; - xz = m.xz; - yx = m.yx; - yy = m.yy; - yz = m.yz; - zx = m.zx; - zy = m.zy; - zz = m.zz; - return *this; -} - -inline G4bool G4RotationMatrix::operator == (const G4RotationMatrix& m) const -{ - return ( (xx == m.xx) - &&(xy == m.xy) - &&(xz == m.xz) - &&(yx == m.yx) - &&(yy == m.yy) - &&(yz == m.yz) - &&(zx == m.zx) - &&(zy == m.zy) - &&(zz == m.zz) ) ? true : false; -} - -inline G4ThreeVector G4RotationMatrix::operator * (const G4ThreeVector & p) const { - return G4ThreeVector(xx*p.x() + xy*p.y() + xz*p.z(), - yx*p.x() + yy*p.y() + yz*p.z(), - zx*p.x() + zy*p.y() + zz*p.z()); -} - -inline G4RotationMatrix & G4RotationMatrix::operator *= (const G4RotationMatrix & m) { - return *this = operator * (m); -} - -inline G4RotationMatrix & G4RotationMatrix::transform(const G4RotationMatrix & m) { - return *this = m.operator * (*this); -} - -inline G4RotationMatrix G4RotationMatrix::inverse() const { - G4RotationMatrix m(xx, yx, zx, xy, yy, zy, xz, yz, zz); - return m; -} - -inline G4RotationMatrix & G4RotationMatrix::invert() { - return *this=inverse(); -} - -inline G4RotationMatrix & G4RotationMatrix::rotate(double psi, const G4ThreeVector * p) { - return rotate(psi, *p); -} - -inline G4RotationMatrix::G4RotationMatrix(double mxx, double mxy, double mxz, - double myx, double myy, double myz, - double mzx, double mzy, double mzz) -: xx(mxx), xy(mxy), xz(mxz), yx(myx), yy(myy), yz(myz), - zx(mzx), zy(mzy), zz(mzz) {} - -inline double G4RotationMatrix::phiX() const -{ - double radang; - if (yx) radang=atan2(yx,xx); - else radang=0.0; - return radang; -} - -inline double G4RotationMatrix::phiY() const -{ - double radang; - if (yy) radang=atan2(yy,xy); - else radang=0.0; - return radang; -} - -inline double G4RotationMatrix::phiZ() const -{ - double radang; - if (yz) radang=atan2(yz,xz); - else radang=0.0; - return radang; -} - -inline double G4RotationMatrix::thetaX() const -{ -// double zang=xz; -// if (zang>=1.0) return 0; -// else if (zang <=1.0) return 180.0; -// else return acos(zang); - return acos(xz); -} -inline double G4RotationMatrix::thetaY() const - -{ -//Angs should always be <1.0 && >-1.0 -// double zang=yz; -// if (zang>=1.0) return 0; -// else if (zang <=1.0) return 180.0; -// else return acos(zang); - return acos(yz); -} - -inline double G4RotationMatrix::thetaZ() const -{ -//Angs should always be <1.0 && >-1.0 -// double zang=zz; -// if (zang>=1.0) return 0; -// else if (zang <=1.0) return 180.0; -// else return acos(zang); - return acos(zz); -} - -// Return zero if identity, else non-zero -// Does not use `fuzzy' check - must be exactly identity -inline G4bool G4RotationMatrix::isIdentity() const -{ - return (xx==1.0 && xy==0.0 && xz==0.0 && - yx==0.0 && yy==1.0 && yz==0.0 && - zx==0.0 && zy==0.0 && zz==1.0 ) ? true : false; - -} diff --git a/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.hh b/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.hh deleted file mode 100644 index fff431173f..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.hh +++ /dev/null @@ -1,161 +0,0 @@ -// 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: G4ThreeVector.hh,v 1.3 1999/12/15 17:17:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// -// ThreeVector class, converted from CLHEP: -// Authors: Leif Lonnblad and Anders Nilsson. -// -// History: -// 30.06.95 P.Kent - -#ifndef G4THREEVECTOR_HH -#define G4THREEVECTOR_HH - -#include "globals.hh" -#include "geomdefs.hh" -#include "g4std/iostream" - -class G4ThreeVector { - -friend class G4RotationMatrix; - -public: - - // The Constructors - inline G4ThreeVector(G4double x = 0.0, G4double y = 0.0, G4double z = 0.0) - : dx(x), dy(y), dz(z) - {;} - - inline G4ThreeVector(const G4ThreeVector & p) - : dx(p.dx), dy(p.dy), dz(p.dz) - {;} - - // the x, y and z components. - inline G4double x() const - { - return dx; - } - - inline G4double y() const - { - return dy; - } - - inline G4double z() const - { - return dz; - } - -// Assignment. - inline G4ThreeVector & operator = (const G4ThreeVector & p) - { - dx = p.x(); - dy = p.y(); - dz = p.z(); - return *this; - } - - inline G4bool operator==(const G4ThreeVector& v) const; - // Test for equality - - inline G4ThreeVector & operator += (const G4ThreeVector &); - // Addition. - - inline G4ThreeVector & operator -= (const G4ThreeVector &); - // Subtraction operator. - - inline G4ThreeVector operator - () const; - // Unary minus. - - inline G4ThreeVector & operator *= (G4double); - // Operators for scaling with real numbers. - - inline G4double dot(const G4ThreeVector &) const; - // Scalar product. - - inline G4ThreeVector cross(const G4ThreeVector &) const; - // Cross product. - - inline G4double operator () (const EAxis) const; -// Component access - - - inline G4ThreeVector unit() const; - // the unit vector parallel to this - - inline G4double mag2() const; - // the Magnitude squared. - - inline G4double mag() const; - // the magnutude. - - inline G4double perp2() const; - // The transverse component squared. - - inline G4double perp() const; - // The transverse component. - - inline G4double perp2(const G4ThreeVector &) const; - // The transverse component wrt. given axis squared. - - inline G4double perp(const G4ThreeVector &) const; - // The transverse component wrt. given axis. - - inline G4double phi() const; - // The azimuth angle. - - inline G4double theta() const; - // The polar angle. - - inline G4double cosTheta() const; - // Cosine of the polar angle. - - inline G4double angle(const G4ThreeVector &) const; - // The angle w.r.t. another 3-vector. - - inline G4ThreeVector & operator *= (const G4RotationMatrix &); - inline G4ThreeVector & transform(const G4RotationMatrix &); - // Transformation with a Rotation matrix. - - void rotateX(G4double); - // Rotates the G4ThreeVector around the x-axis. - - void rotateY(G4double); - // Rotates the G4ThreeVector around the y-axis. - - void rotateZ(G4double); - // Rotates the G4ThreeVector around the z-axis. - - void rotate(G4double, const G4ThreeVector &); - // Rotates around the axis specified by another G4ThreeVector. - - -protected: - - inline void setX(G4double); - inline void setY(G4double); - inline void setZ(G4double); - // Set the x, y and z components. - -private: - - G4double dx, dy, dz; - // The components. - -}; - -G4std::ostream & operator << (G4std::ostream &, const G4ThreeVector &); -// output to a stream - - -#include "G4ThreeVector.icc" -// Inline functions - -#endif diff --git a/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.icc b/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.icc deleted file mode 100644 index 98ec7981e0..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/G4ThreeVector.icc +++ /dev/null @@ -1,177 +0,0 @@ -// 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: G4ThreeVector.icc,v 1.2 1999/12/15 14:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// -// Inline functions for class G4ThreeVector -// Converted from CLHEP: -// Authors: Leif Lonnblad and Anders Nilsson. -// -// History: -// 30.06.95 P.Kent - -#include -#include - -#include "G4RotationMatrix.hh" - -inline G4bool G4ThreeVector::operator == (const G4ThreeVector& v) const -{ - return (v.x()==x()&&v.y()==y()&&v.z()==z()) ? true : false; -} - -inline G4ThreeVector& G4ThreeVector::operator += (const G4ThreeVector & p) { - dx += p.x(); - dy += p.y(); - dz += p.z(); - return *this; -} - -inline G4ThreeVector& G4ThreeVector::operator -= (const G4ThreeVector & p) { - dx -= p.x(); - dy -= p.y(); - dz -= p.z(); - return *this; -} - -inline G4ThreeVector G4ThreeVector::operator - () const { - G4ThreeVector q(-dx, -dy, -dz); - return q; -} - -inline G4ThreeVector& G4ThreeVector::operator *= (G4double a) { - dx *= a; - dy *= a; - dz *= a; - return *this; -} - -inline G4ThreeVector & G4ThreeVector::operator *= (const G4RotationMatrix & m){ - *this = m * (*this); - return *this; -} - -inline G4ThreeVector & G4ThreeVector::transform(const G4RotationMatrix & m) { - *this = m * (*this); - return *this; -} - -inline G4double G4ThreeVector::dot(const G4ThreeVector & p) const { - return dx*p.x() + dy*p.y() + dz*p.z(); -} - -inline G4ThreeVector G4ThreeVector::cross(const G4ThreeVector & p) const { - G4ThreeVector q(dy*p.z() - p.y()*dz, dz*p.x() - p.z()*dx, dx*p.y() - p.x()*dy); - return q; -} - -inline G4double G4ThreeVector::operator () (const EAxis p) const -{ - if (p==kXAxis) - { - return dx; - } - else if (p==kYAxis) - { - return dy; - } - else - { - assert(p==kZAxis); - return dz; - } -} - -inline G4double G4ThreeVector::mag2() const { - return dx*dx + dy*dy + dz*dz; -} - -inline G4double G4ThreeVector::mag() const { - return sqrt(mag2()); -} - -inline G4ThreeVector G4ThreeVector::unit() const { - G4double tot = dx*dx+dy*dy+dz*dz; - G4ThreeVector p(*this); -// If 0 Magnitude, return same vector (null) - return tot >0.0 ? p*=(1.0/sqrt(tot)) : p; -} - -inline G4double G4ThreeVector::perp2() const { - return dx*dx + dy*dy; -} - -inline G4double G4ThreeVector::perp() const { - return sqrt(perp2()); -} - -inline G4double G4ThreeVector::perp2(const G4ThreeVector & p) const { - G4double tot = p.mag2(); -// return tot > 0.0 ? mag2()-sqr(dot(p))/tot : mag2(); - return tot > 0.0 ? mag2()-(dot(p))*(dot(p))/tot : mag2(); -} - -inline G4double G4ThreeVector::perp(const G4ThreeVector & p) const { - return sqrt(perp2(p)); -} - -inline G4double G4ThreeVector::phi() const { - return dx == 0.0 && dy == 0.0 ? 0.0 : atan2(dy,dx); -} - -inline G4double G4ThreeVector::theta() const { - return dx == 0.0 && dy == 0.0 && dz == 0.0 ? 0.0 : atan2(perp(),dz); -} - -inline G4double G4ThreeVector::cosTheta() const { - G4double ptot = mag(); - return ptot == 0.0 ? 1.0 : dz/ptot; -} - -inline G4double G4ThreeVector::angle(const G4ThreeVector & q) const { - G4double ptot2 = mag2()*q.mag2(); - return ptot2 <= 0.0 ? 0.0 : acos(dot(q)/sqrt(ptot2)); -} - -inline void G4ThreeVector::setX(G4double x) { - dx = x; -} - -inline void G4ThreeVector::setY(G4double y) { - dy = y; -} - -inline void G4ThreeVector::setZ(G4double z) { - dz = z; -} - -inline G4ThreeVector operator + (const G4ThreeVector & a, const G4ThreeVector & b) { - G4ThreeVector p(a.x() + b.x(), a.y() + b.y(), a.z() + b.z()); - return p; -} - -inline G4ThreeVector operator - (const G4ThreeVector & a, const G4ThreeVector & b) { - G4ThreeVector p(a.x() - b.x(), a.y() - b.y(), a.z() - b.z()); - return p; -} - -inline G4ThreeVector operator * (const G4ThreeVector & p, G4double a) { - G4ThreeVector q(a*p.x(), a*p.y(), a*p.z()); - return q; -} - -inline G4ThreeVector operator * (G4double a, const G4ThreeVector & p) { - G4ThreeVector q(a*p.x(), a*p.y(), a*p.z()); - return q; -} - -inline G4double operator * (const G4ThreeVector & a, const G4ThreeVector & b) { - return a.dot(b); -} - diff --git a/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.aix b/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.aix deleted file mode 100644 index 58790a6509..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.aix +++ /dev/null @@ -1,47 +0,0 @@ -# -# Build stand-alone DistanceToIn tests for AIX -# -# boxtoinf77.aix - gnobox.f test -# boxtoincpp.aix - DistanceToIn test [note: calls not virtual - modified -# G4Box.hh/.cc] -# boxtoincpp.aix_fastfabs - DistanceToIn test, with `custom' inline fabs -# [actually slower than boxtoincpp.aix on SP2] - -all: boxtoinf77.aix boxtoincpp.aix boxtoincpp.aix_fastfabs - -boxtoinf77.aix: boxtoinf77.o gnobox.o - xlf -O3 -o boxtoinf77.aix boxtoinf77.o gnobox.o - -boxtoinf77.o: boxtoinf77.f - xlf -c -O3 boxtoinf77.f - -gnobox.o: gnobox.f - xlf -c -O3 gnobox.f - -boxtoincpp.aix: boxtoincpp.o G4Box.o - xlC -+ -O3 -o boxtoincpp.aix boxtoincpp.o G4Box.o -lm - -boxtoincpp.aix_fastfabs: boxtoincpp.o G4Box_fastfabs.o - xlC -+ -O3 -o boxtoincpp.aix_fastfabs boxtoincpp.o G4Box_fastfabs.o -lm - -boxtoincpp.o: boxtoincpp.cc - xlC -+ -O3 -c boxtoincpp.cc - -G4Box.o: G4Box.cc - xlC -+ -O3 -c G4Box.cc - -G4Box_fastfabs.o: G4Box_fastfabs.cc - xlC -+ -O3 -c G4Box_fastfabs.cc - -clean: - rm -f *.o boxtoinf77.aix boxtoincpp.aix boxtoincpp.aix_fastfabs - - - - - - - - - - diff --git a/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.hp b/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.hp deleted file mode 100644 index a91f320120..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/GNUmakefile.hp +++ /dev/null @@ -1,39 +0,0 @@ -# -# Build stand-alone DistanceToIn tests for HP -# -# boxtoinf77.hp - gnobox.f test -# boxtoincpp.hp - DistanceToIn test [note: calls not virtual - modified -# G4Box.hh/.cc] -# boxtoincpp.hp_fastfabs - DistanceToIn test, with `custom' inline fabs -# - -all: boxtoinf77.hp boxtoincpp.hp boxtoincpp.hp_fastfabs - -boxtoinf77.hp: boxtoinf77.o gnobox.o - f77 +O3 -o boxtoinf77.hp boxtoinf77.o gnobox.o - -boxtoinf77.o: boxtoinf77.f - f77 -c +O3 boxtoinf77.f - -gnobox.o: gnobox.f - f77 -c +O3 gnobox.f - -boxtoincpp.hp: boxtoincpp.o G4Box.o - CC +O3 -o boxtoincpp.hp boxtoincpp.o G4Box.o -Wl,-a,archive -DNDEBUG -lm -boxtoincpp.hp_fastfabs: boxtoincpp.o G4Box_fastfabs.o - CC +O3 -o boxtoincpp.hp_fastfabs boxtoincpp.o G4Box_fastfabs.o -Wl,-a,archive -DNDEBUG -lm - -boxtoincpp.o: boxtoincpp.cc - CC +O3 -c boxtoincpp.cc - -G4Box.o: G4Box.cc - CC +O3 -c G4Box.cc - -G4Box_fastfabs.o: G4Box_fastfabs.cc - CC +O3 -c G4Box_fastfabs.cc - -clean: - rm -f *.o boxtoinf77.hp boxtoincpp.hp boxtoincpp.hp_fastfabs - - - diff --git a/source/geometry/benchmarks/f77cppcomparison/boxtoincpp.cc b/source/geometry/benchmarks/f77cppcomparison/boxtoincpp.cc deleted file mode 100644 index dbd43bdd20..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/boxtoincpp.cc +++ /dev/null @@ -1,39 +0,0 @@ -// 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: boxtoincpp.cc,v 1.2 1999/12/15 14:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// - -#include "G4ios.hh" -#include "G4Box.hh" -#include "G4ThreeVector.hh" - -const G4int norept=1000000; - -void main() -{ - G4int i; - G4double snxt,total=0; - G4ThreeVector endpt,startpt(-500,0,0),dir(1,0,0); - - G4Box testbox(100,200,400); - - for (i=1;i<=norept;i++) - { - snxt=testbox.DistanceToIn(startpt,dir); - endpt=G4ThreeVector(startpt.x()+snxt*dir.x(), - startpt.y()+snxt*dir.y(), - startpt.z()+snxt*dir.z()); - total=total+endpt.x()+endpt.y()+endpt.z(); - } - if ((!total)&&(!endpt.x())&&(!endpt.y())&&(!endpt.z())) - { - G4cout << "total=0"; - } - return; -} diff --git a/source/geometry/benchmarks/f77cppcomparison/geomdefs.hh b/source/geometry/benchmarks/f77cppcomparison/geomdefs.hh deleted file mode 100644 index 2c22559514..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/geomdefs.hh +++ /dev/null @@ -1,51 +0,0 @@ -// 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: geomdefs.hh,v 1.2 1999/12/15 14:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// - -// Constants, typedefs, enums for Geometry Section -// -// History: -// 30.06.95 P.Kent - -#ifndef GEOMDEFS_HH -#define GEOMDEFS_HH - -#include "globals.hh" - -// `Infinity' - Distance returned for no intersection etc. -const G4double kInfinity = 9E99; - -// Thickness of shapes for Inside function / tracking. -// Should be greater than largest math error from the shape -// distance calculation routines. -// Tolerance is centred on surface: Inside routine uses a -// tolerance dx +/- kTol/2 -// Note: values not `tuned', and because of approximations kRadtolerance and -// kAngTolerance may not always be used as an exact radius -const G4double kCarTolerance = 1E-9; -const G4double kRadTolerance = 1E-9; -const G4double kAngTolerance = 1E-9; - -// Define axes for function params etc. -// X/Y/ZAxis = Normal Catesian axes -// Radial2D = Radial axis in cylindrical polar -// Radial3D = Radial axis in spherical polar -enum EAxis {kXAxis,kYAxis,kZAxis,kRadial2D,kRadial3D}; - -// VShape::Inside routine return codes -// kSurface => within tolerance of exact surface -enum EInside {kOutside,kSurface,kInside}; - -#endif - - - - - diff --git a/source/geometry/benchmarks/f77cppcomparison/globals.hh b/source/geometry/benchmarks/f77cppcomparison/globals.hh deleted file mode 100644 index d9cca0454e..0000000000 --- a/source/geometry/benchmarks/f77cppcomparison/globals.hh +++ /dev/null @@ -1,49 +0,0 @@ -// 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: globals.hh,v 1.3 1999/12/15 14:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// - -// Global Constants and typedefs -// -// History: -// 30.06.95 P.Kent - -#ifndef GLOBALS_HH -#define GLOBALS_HH - -// Typedefs for numeric types -// [NOTE: Will in future need to be made more sophisticated] -typedef double G4double; -typedef float G4float; -typedef long G4long; -typedef int G4int; - -// Typedefs to decouple from library classes -//#include -//typedef G4String G4String; - -// Boolean - define G4_HAVE_BOOL if bool type available -#ifdef G4_HAVE_BOOL -typedef bool G4bool; -#else -typedef int G4bool; -const int false = 0; -const int true = 1; -//enum G4bool {false = 0, true = 1}; -#endif - -// Global error function -//void G4Exception(const char* s=0); - -#endif - - - - - diff --git a/source/geometry/benchmarks/replicaCal.cc b/source/geometry/benchmarks/replicaCal.cc deleted file mode 100644 index 3502ae8983..0000000000 --- a/source/geometry/benchmarks/replicaCal.cc +++ /dev/null @@ -1,136 +0,0 @@ -// 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: replicaCal.cc,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// -// -// Replicated geometry performance test - ~calorimeter with end caps. Main -// calorimeter block is replicated (divided) in r & z. -// Toggle optimisation with 0/1 on command line. Default - optimisation ON - -#include "G4ios.hh" -#include -#include - -#include "G4GeometryManager.hh" -#include "Shoot.hh" -#include "G4Timer.hh" - -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" -#include "G4LogicalVolume.hh" -#include "G4Tubs.hh" - -const G4int numShoot = 10000; -const G4bool optimise= true; -const G4double x0=1.12343*cm; - -G4VPhysicalVolume* BuildReplicaCal(G4Material* Air) -{ - G4double xr=x0/4; - G4int nr=20; - G4int nl=20; - - G4double r1=20*xr,r2=21*xr,z1=10*x0,z2=11*x0; - // Container - G4Tubs *ecalTube=new G4Tubs("ECAL",0,r2,z2,0,360*deg); - // End cap - G4Tubs *leakTube=new G4Tubs("LEAK",0,r2,0.5*x0,0,360*deg); - // Wrapper - G4Tubs *latrTube=new G4Tubs("LATR",r1,r2,z1,0,360*deg); - // Main calorimeter block - G4Tubs *blocTube=new G4Tubs("BLOC",0,r1,z1,0,360*deg); - G4Tubs *blocTubeR=new G4Tubs("BLOCR",0,r1/nr,z1,0,360*deg); - G4Tubs *blocTubeRZ=new G4Tubs("BLOCRZ",0,r1/nr,z1/nl,0,360*deg); - - G4double zc=0.5*(z1+z2); - - G4LogicalVolume *ecalLog=new G4LogicalVolume(ecalTube,Air, - "ecalLog",0,0,0); - G4LogicalVolume *leakLog=new G4LogicalVolume(leakTube,Air, - "leakLog",0,0,0); - G4LogicalVolume *latrLog=new G4LogicalVolume(latrTube,Air, - "latrLog",0,0,0); - G4LogicalVolume *blocLog=new G4LogicalVolume(blocTube,Air, - "blocLog",0,0,0); - G4LogicalVolume *blocRLog=new G4LogicalVolume(blocTubeR,Air, - "blocRLog",0,0,0); - G4LogicalVolume *blocRZLog=new G4LogicalVolume(blocTubeRZ,Air, - "blocRZLog",0,0,0); - - - G4PVPlacement *ecalPhys=new G4PVPlacement(0,G4ThreeVector(), - "ecalPhys", - ecalLog, - 0,false,0); - // Position end caps, wrapper and calorimeter bloc within ecal - G4PVPlacement *leakPhys=new G4PVPlacement(0,G4ThreeVector(0,0,-zc), - "leakPhys", - leakLog, - ecalPhys,false,0); - G4PVPlacement *leakPhys2=new G4PVPlacement(0,G4ThreeVector(0,0,zc), - "leakPhys", - leakLog, - ecalPhys,false,1); - G4PVPlacement *latrPhys=new G4PVPlacement(0,G4ThreeVector(), - "latrPhys", - latrLog, - ecalPhys,false,0); - G4PVPlacement *blocPhys=new G4PVPlacement(0,G4ThreeVector(), - "blocPhys", - blocLog, - ecalPhys,false,0); - - // Create replicas - G4PVReplica *blocPhysR=new G4PVReplica("blocRepR", - blocRLog,blocPhys, - kRho,nr,r1/nr,0); - G4PVReplica *blocPhysRZ=new G4PVReplica("blocRepRZ", - blocRZLog,blocPhysR, - kZAxis,nl,2*z1/nl); - - return ecalPhys; -} - -int main() -{ - G4ThreeVector pos(0,0,-10*x0+0.01*cm); - G4double phi=M_PI*0.5,theta=15*deg; - G4ThreeVector dir(cos(phi)*sin(theta),sin(phi)*sin(theta),cos(theta)); - G4VPhysicalVolume *myTopNode; - G4Timer timer; - - G4cout << " Replication Performance Test - P.Kent 26.09.96" << G4endl; -#ifndef NDEBUG - G4cout << "WARNING: *** ASSERTs are compiled IN ***" << G4endl; -#endif - - myTopNode=BuildReplicaCal(NULL); // Build the geometry - timer.Start(); - G4GeometryManager::GetInstance()->CloseGeometry(optimise); - timer.Stop(); - - if (optimise) - { - G4cout << "Optimisation ON"; - } - else - { - G4cout << "Optimisation OFF"; - } - G4cout << " Geometry close took " << timer << G4endl; - - G4cout << G4endl << "Shooting from " << pos << " along " << dir << G4endl; - ShootVerbose(myTopNode,pos,dir); - Shoot(numShoot,myTopNode,pos,dir); - - G4GeometryManager::GetInstance()->OpenGeometry(); - return EXIT_SUCCESS; -} - diff --git a/source/geometry/benchmarks/shooter.cc b/source/geometry/benchmarks/shooter.cc deleted file mode 100644 index c50d7c8256..0000000000 --- a/source/geometry/benchmarks/shooter.cc +++ /dev/null @@ -1,55 +0,0 @@ -// 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: shooter.cc,v 1.2 1999/12/15 14:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// shooter - perform test shots through simple box world. -// -// World consisting of single box positioned inside large box world -// For comparison against F77 case. No voxels involved - -#include "G4ios.hh" -#include - -#include "G4GeometryManager.hh" -#include "BuildBoxWorld.hh" -#include "Shoot.hh" - -const G4int numShoot = 10000; - -int main() -{ - G4ThreeVector origin(0,0,0),pMX(-500,0,0); - G4ThreeVector vx(1,0,0); - G4ThreeVector vy(0,1,0); - G4VPhysicalVolume *myTopNode; - - G4cout << "Simple BoxWorld Performance Test - P.Kent 21.08.95" << G4endl; -#ifndef NDEBUG - G4cout << "WARNING: *** ASSERTs are compiled IN ***" << G4endl; -#endif - - myTopNode=BuildBoxWorld(); // Build the geometry - G4GeometryManager::GetInstance()->CloseGeometry(); - - G4cout << G4endl << "Shooting from " << origin << " along " << vx << G4endl; - ShootVerbose(myTopNode,origin,vx); - Shoot(numShoot,myTopNode,origin,vx); - - G4cout << G4endl << "Shooting from " << origin << " along " << vy << G4endl; - ShootVerbose(myTopNode,origin,vy); - Shoot(numShoot,myTopNode,origin,vy); - - G4cout << G4endl << "Shooting from " << pMX << " along " << vx << G4endl; - ShootVerbose(myTopNode,pMX,vx); - Shoot(numShoot,myTopNode,pMX,vx); - - G4GeometryManager::GetInstance()->OpenGeometry(); - return EXIT_SUCCESS; -} - diff --git a/source/geometry/magneticfield/History b/source/geometry/magneticfield/History index 99d51343df..4dd4ba3b1f 100644 --- a/source/geometry/magneticfield/History +++ b/source/geometry/magneticfield/History @@ -1,4 +1,4 @@ -$Id: History,v 1.21 2000/05/12 13:57:53 gcosmo Exp $ +$Id: History,v 1.24 2000/11/20 17:29:03 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,42 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 20th, 2000 G. Cosmo - field-V02-00-02 + +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +Nov 9th, 2000 G. Cosmo - field-V02-00-01 + +- G4FieldManager: added check on existence of allocated fChordFinder + in CreateChordFinder(G4MagneticField*) method. + +Nov 1st, 2000 G. Cosmo - field-V02-00-00 + +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Added (private) declarations of copy constructor and assignment operator + where needed. + o Added "const" qualifier to accessor methods, wherever needed. + o Added equality check on operator= where needed. + o Made destructor "virtual" for classes having virtual methods, + wherever missing. + o Changed virtual functions to non-inline wherever's the case. + o Changed return value to be "const" pointer to functions: + - G4EquationOfMotion::GetFieldObj() + - G4FieldManager::GetDetectorField() + - G4MagIntegratorDriver::GetStepper() + o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin(). + o Added "inline" qualifier to methods' declarations. + o General cosmetics + +Jun 2nd, 2000 J. Apostolakis +- G4FieldManager[.hh.icc] + o Added DeltaIntersection and DeltaOneStep to FieldManager: added + Get/Set methods and SetAccuraciesWithDeltaOneStep(). + May 11th, 2000 J. Apostolakis - field-V01-01-02 - G4ChordFinder[.hh.cc] diff --git a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh index e50c48c47d..3e92d00bcb 100644 --- a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh +++ b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CashKarpRKF45.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CashKarpRKF45.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4CashKarpRKF45 @@ -28,7 +28,7 @@ #include "G4MagIntegratorStepper.hh" -class G4CashKarpRKF45: public G4MagIntegratorStepper +class G4CashKarpRKF45 : public G4MagIntegratorStepper { public: // with description @@ -38,13 +38,13 @@ class G4CashKarpRKF45: public G4MagIntegratorStepper void Stepper( const G4double y[], const G4double dydx[], - const G4double h, + G4double h, G4double yout[], G4double yerr[] ) ; void StepWithEst( const G4double yIn[], const G4double dydx[], - const G4double Step, + G4double Step, G4double yOut[], G4double& alpha2, G4double& beta2, @@ -55,7 +55,13 @@ class G4CashKarpRKF45: public G4MagIntegratorStepper G4double DistChord() const = 0 ; // This is not IMPLEMENTED yet. // It must be done before it can work. - G4int IntegratorOrder() { return 4 ; }; + G4int IntegratorOrder() const { return 4; } + + private: + + G4CashKarpRKF45(const G4CashKarpRKF45&); + G4CashKarpRKF45& operator=(const G4CashKarpRKF45&); + // Private copy constructor and assignment operator. private: diff --git a/source/geometry/magneticfield/include/G4ChordFinder.hh b/source/geometry/magneticfield/include/G4ChordFinder.hh index 14034c4db3..5039ea29bb 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.hh +++ b/source/geometry/magneticfield/include/G4ChordFinder.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ChordFinder.hh,v 1.4 2000/05/11 14:47:00 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ChordFinder.hh,v 1.5 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ChordFinder @@ -45,8 +45,8 @@ class G4ChordFinder G4double AdvanceChordLimited( G4FieldTrack& yCurrent, - const G4double stepInitial, - const G4double epsStep_Relative ); + G4double stepInitial, + G4double epsStep_Relative ); // Uses ODE solver's driver to find the endpoint that satisfies // the chord criterion: that d_chord < delta_chord // -> Returns Length of Step taken. @@ -54,34 +54,40 @@ class G4ChordFinder G4FieldTrack ApproxCurvePointV(const G4FieldTrack& curveAPointVelocity, const G4FieldTrack& curveBPointVelocity, const G4ThreeVector& currentEPoint, - const G4double epsStep); + G4double epsStep); - G4double GetDeltaChord(); - void SetDeltaChord( G4double newval); + inline G4double GetDeltaChord() const; + inline void SetDeltaChord(G4double newval); - void SetChargeMomentumMass( const G4double pCharge, // in e+ units - const G4double pMomentum, - const G4double pMass ); + inline void SetChargeMomentumMass(G4double pCharge, // in e+ units + G4double pMomentum, + G4double pMass ); // Function to inform integration driver of charge, speed. - void SetIntegrationDriver(G4MagInt_Driver* IntegrationDriver); - G4MagInt_Driver* GetIntegrationDriver(); + inline void SetIntegrationDriver(G4MagInt_Driver* IntegrationDriver); + inline G4MagInt_Driver* GetIntegrationDriver(); // Access and set Driver. protected: // ......................................................... - G4bool AcceptableMissDist(G4double dChordStep); + inline G4bool AcceptableMissDist(G4double dChordStep) const; - G4double NewStep( const G4double stepTrialOld, - const G4double dChordStep, // Current dchord estimate - G4double& stepEstimate_Unconstrained ) ; + G4double NewStep( G4double stepTrialOld, + G4double dChordStep, // Current dchord estimate + G4double& stepEstimate_Unconstrained ) ; G4double FindNextChord( const G4FieldTrack yStart, - const G4double stepMax, + G4double stepMax, G4FieldTrack& yEnd, G4double& dyErr, // Error of endpoint G4double epsStep ); + private: // ............................................................ + + G4ChordFinder(const G4ChordFinder&); + G4ChordFinder& operator=(const G4ChordFinder&); + // Private copy constructor and assignment operator. + private: // ............................................................ // G4int nOK, nBAD; G4MagInt_Driver* fIntgrDriver; diff --git a/source/geometry/magneticfield/include/G4ChordFinder.icc b/source/geometry/magneticfield/include/G4ChordFinder.icc index 2758ec24ce..521d7297f8 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.icc +++ b/source/geometry/magneticfield/include/G4ChordFinder.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ChordFinder.icc,v 1.1 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ChordFinder.icc,v 1.2 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4ChordFinder inline implementations // @@ -33,21 +33,21 @@ G4MagInt_Driver* G4ChordFinder::GetIntegrationDriver() } inline -G4bool G4ChordFinder::AcceptableMissDist(G4double dChordStep) +G4bool G4ChordFinder::AcceptableMissDist(G4double dChordStep) const { return (dChordStep <= fDeltaChord) ; } inline -void G4ChordFinder::SetChargeMomentumMass(const G4double pCharge, // in e+ units - const G4double pMomentum, - const G4double pMass) +void G4ChordFinder::SetChargeMomentumMass(G4double pCharge, // in e+ units + G4double pMomentum, + G4double pMass) { fIntgrDriver-> SetChargeMomentumMass(pCharge, pMomentum, pMass); } inline -G4double G4ChordFinder::GetDeltaChord() +G4double G4ChordFinder::GetDeltaChord() const { return fDeltaChord; } diff --git a/source/geometry/magneticfield/include/G4ClassicalRK4.hh b/source/geometry/magneticfield/include/G4ClassicalRK4.hh index 2b2ec2cd82..ca6c2211b2 100644 --- a/source/geometry/magneticfield/include/G4ClassicalRK4.hh +++ b/source/geometry/magneticfield/include/G4ClassicalRK4.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClassicalRK4.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClassicalRK4.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ClassicalRK4 @@ -36,8 +36,8 @@ class G4ClassicalRK4 : public G4MagErrorStepper void DumbStepper( const G4double yIn[], const G4double dydx[], - const G4double h, - G4double yOut[]) ; + 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 @@ -50,16 +50,22 @@ class G4ClassicalRK4 : public G4MagErrorStepper void StepWithEst( const G4double yIn[], const G4double dydx[], - const G4double h, + G4double h, G4double yOut[], G4double& alpha2, G4double& beta2, const G4double B1[], - G4double B2[] ); + G4double B2[] ); // Could make above G4SixPoint to keep tangents too ...? - G4int IntegratorOrder() { return 4; }; + G4int IntegratorOrder() const { return 4; } + + private: + + G4ClassicalRK4(const G4ClassicalRK4&); + G4ClassicalRK4& operator=(const G4ClassicalRK4&); + // Private copy constructor and assignment operator. private: diff --git a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh index fc09a25f8e..1c272b62c2 100644 --- a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh +++ b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ElectroMagneticField.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ElectroMagneticField.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ElectroMagneticField @@ -32,19 +32,21 @@ class G4ElectroMagneticField : public G4MagneticField G4ElectroMagneticField() {;} virtual ~G4ElectroMagneticField() {;} - G4ElectroMagneticField(const G4ElectroMagneticField &p) {;} - G4ElectroMagneticField& operator = (const G4ElectroMagneticField &p); + G4ElectroMagneticField(const G4ElectroMagneticField &) {;} + G4ElectroMagneticField& operator = (const G4ElectroMagneticField &); // Copy constructor & assignment operators. - virtual void GetFieldValue( const double Point[3], - double *Bfield ) const = 0; + virtual void GetFieldValue(const G4double Point[3], + G4double *Bfield ) const = 0; }; // Inline implementations -inline G4ElectroMagneticField& +inline +G4ElectroMagneticField& G4ElectroMagneticField::operator = (const G4ElectroMagneticField &p) { + if (&p == this) return *this; *this = p; return *this; } diff --git a/source/geometry/magneticfield/include/G4EqMagElectricField.hh b/source/geometry/magneticfield/include/G4EqMagElectricField.hh index 8fb2fbeee1..5aed10ed7a 100644 --- a/source/geometry/magneticfield/include/G4EqMagElectricField.hh +++ b/source/geometry/magneticfield/include/G4EqMagElectricField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EqMagElectricField.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EqMagElectricField.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4EqMagElectricField @@ -34,13 +34,13 @@ class G4EqMagElectricField : public G4Mag_EqRhs ~G4EqMagElectricField() {;} - void SetChargeMomentumMass( const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double mass); + void SetChargeMomentumMass(G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double mass); - void EvaluateRhsGivenB( const G4double y[], - const G4double Field[], - G4double dydx[] ) const; + void EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const; // Given the value of the electromagnetic field, this function // calculates the value of the derivative dydx. diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.hh b/source/geometry/magneticfield/include/G4EquationOfMotion.hh index 8dc653be23..f97b8579d3 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.hh +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EquationOfMotion.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EquationOfMotion.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4EquationOfMotion @@ -42,10 +42,9 @@ class G4EquationOfMotion // This is the _only_ function a subclass must define. // The other two functions use Rhs_givenB. - virtual void SetChargeMomentumMass( - const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double MassXc2) = 0; + virtual void SetChargeMomentumMass(G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double MassXc2) = 0; // Set the charge, momentum and mass of the current particle // --> used to set the equation's coefficients ... @@ -67,8 +66,8 @@ class G4EquationOfMotion // Obtain only the field - the stepper assumes it is pure Magnetic. // Not protected, because G4RKG3_Stepper uses it directly. - G4Field* GetFieldObj(); - void SetFieldObj(G4Field* pField); + const G4Field* GetFieldObj() const; + void SetFieldObj(G4Field* pField); private: diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.icc b/source/geometry/magneticfield/include/G4EquationOfMotion.icc index 6ae538e7c9..31ca8a81de 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.icc +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EquationOfMotion.icc,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EquationOfMotion.icc,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Inline implementation @@ -18,11 +18,7 @@ G4EquationOfMotion::G4EquationOfMotion(G4Field* pField) {} inline -G4EquationOfMotion::~G4EquationOfMotion() -{} - -inline -G4Field* G4EquationOfMotion::GetFieldObj() +const G4Field* G4EquationOfMotion::GetFieldObj() const { return itsField; } diff --git a/source/geometry/magneticfield/include/G4ExplicitEuler.hh b/source/geometry/magneticfield/include/G4ExplicitEuler.hh index 0b15f71144..b131534cee 100644 --- a/source/geometry/magneticfield/include/G4ExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4ExplicitEuler.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ExplicitEuler.hh,v 1.3 2000/04/27 09:14:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ExplicitEuler.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ExplicitEuler @@ -35,12 +35,12 @@ class G4ExplicitEuler : public G4MagErrorStepper void DumbStepper( const G4double y[], const G4double dydx[], - const G4double h, + G4double h, G4double yout[]); public: // without description - G4int IntegratorOrder() { return 1; }; + G4int IntegratorOrder() const { return 1; } private: diff --git a/source/geometry/magneticfield/include/G4Field.hh b/source/geometry/magneticfield/include/G4Field.hh index d5b6033883..00a32fe534 100644 --- a/source/geometry/magneticfield/include/G4Field.hh +++ b/source/geometry/magneticfield/include/G4Field.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Field.hh,v 1.3 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Field.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Field @@ -29,8 +29,8 @@ class G4Field virtual void GetFieldValue( const double Point[3], double *Bfield ) const = 0; - G4Field(){}; - virtual ~G4Field(){}; + G4Field(){;} + virtual ~G4Field(){;} // A field signature function that can be used to insure // that the Equation of motion object and the G4Field object diff --git a/source/geometry/magneticfield/include/G4FieldManager.hh b/source/geometry/magneticfield/include/G4FieldManager.hh index bfc9f0acff..e7b8e00ac9 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.hh +++ b/source/geometry/magneticfield/include/G4FieldManager.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FieldManager.hh,v 1.3 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FieldManager.hh,v 1.5 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4FieldManager @@ -35,6 +35,9 @@ // A default FieldManager is created by the singleton class // G4NavigatorForTracking and exists before main is called. // However a new one can be created and given to G4NavigatorForTracking. +// +// Our current design envisions that one Field manager is +// valid for each region detector. // History: // - 10.03.97 John Apostolakis, design and implementation. @@ -54,13 +57,34 @@ class G4FieldManager G4FieldManager(G4MagneticField *detectorField); ~G4FieldManager(); - G4bool SetDetectorField(G4Field *detectorField); - G4Field* GetDetectorField(); - G4bool DoesFieldExist(); + inline G4bool SetDetectorField(G4Field *detectorField); + inline const G4Field* GetDetectorField() const; + inline G4bool DoesFieldExist() const; void CreateChordFinder(G4MagneticField *detectorMagField); - void SetChordFinder(G4ChordFinder *aChordFinder); - G4ChordFinder* GetChordFinder(); + inline void SetChordFinder(G4ChordFinder *aChordFinder); + inline G4ChordFinder* GetChordFinder(); + + public: // without description + + inline G4double GetDeltaIntersection() const; + // Accuracy for boundary intersection. + + inline G4double GetDeltaOneStep() const; + // Accuracy for one tracking/physics step. + + inline void SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep); + // Sets both accuracies, maintaining a fixed ratio for accuracties + // of volume Intersection and Integration (in One Step) + + inline void SetDeltaOneStep(G4double valueD1step); + inline void SetDeltaIntersection(G4double valueDintersection); + + private: + + G4FieldManager(const G4FieldManager&); + G4FieldManager& operator=(const G4FieldManager&); + // Private copy constructor and assignment operator. private: @@ -69,10 +93,19 @@ class G4FieldManager G4bool fAllocatedChordFinder; // Did we used "new" to // create fChordFinder ? + + // Values for the required accuracies + // + G4double fDelta_One_Step_Value; // for one tracking/physics step + G4double fDelta_Intersection_Val; // for boundary intersection + + // Their default values ... (set in G4PropagatemagField.cc) + // + static const G4double fDefault_Delta_One_Step_Value; // = 0.25 * mm; + static const G4double fDefault_Delta_Intersection_Val; // = 0.1 * mm; }; -// Our current design envisions that one Field manager is -// valid for a detector. +// Our current design envisions that one Field manager is valid for a region of the detector. // (eg a detector with electric E and magnetic B field will now treat // them as one field - and could treat any other field of importance // as additional components of a single field.) diff --git a/source/geometry/magneticfield/include/G4FieldManager.icc b/source/geometry/magneticfield/include/G4FieldManager.icc index ae13ef29a8..b197403123 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.icc +++ b/source/geometry/magneticfield/include/G4FieldManager.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FieldManager.icc,v 1.1 2000/04/27 16:27:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FieldManager.icc,v 1.3 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4FieldManager inline implementation @@ -20,14 +20,14 @@ G4bool G4FieldManager::SetDetectorField(G4Field *detectorField) } inline -G4Field* G4FieldManager::GetDetectorField() +const G4Field* G4FieldManager::GetDetectorField() const { // If pointer is null, should this raise an exception ?? return fDetectorField; } inline -G4bool G4FieldManager::DoesFieldExist() +G4bool G4FieldManager::DoesFieldExist() const { return (fDetectorField != 0); } @@ -43,3 +43,34 @@ G4ChordFinder* G4FieldManager::GetChordFinder() { return fChordFinder; } + +inline +G4double G4FieldManager::GetDeltaIntersection() const +{ + return fDelta_Intersection_Val; +} + +inline +G4double G4FieldManager::GetDeltaOneStep() const +{ + return fDelta_One_Step_Value; +} + +inline +void G4FieldManager::SetDeltaOneStep(G4double valDeltaOneStep) +{ + fDelta_One_Step_Value= valDeltaOneStep; +} + +inline +void G4FieldManager::SetDeltaIntersection(G4double valDeltaIntersection) +{ + fDelta_Intersection_Val = valDeltaIntersection; +} + +inline +void G4FieldManager::SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep) +{ + fDelta_One_Step_Value= valDeltaOneStep; + fDelta_Intersection_Val = 0.4 * fDelta_One_Step_Value; +} diff --git a/source/geometry/magneticfield/include/G4FieldTrack.hh b/source/geometry/magneticfield/include/G4FieldTrack.hh index b2e15e2f3f..6580d724ca 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.hh +++ b/source/geometry/magneticfield/include/G4FieldTrack.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FieldTrack.hh,v 1.3 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FieldTrack.hh,v 1.4 2000/11/01 15:15:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4FieldTrack @@ -36,10 +36,10 @@ class G4FieldTrack G4FieldTrack( const G4ThreeVector& pPosition, const G4ThreeVector& pVelocity, // Or UnitVelocity - const G4double curve_length, - const G4double Energy, - const G4double LabratTimeOfFlight=0.0, - const G4double ProperTimeOfFlight=0.0, + G4double curve_length, + G4double Energy, + G4double LabratTimeOfFlight=0.0, + G4double ProperTimeOfFlight=0.0, const G4ThreeVector* pSpin=0); G4FieldTrack( const G4FieldTrack& pFieldTrack ); @@ -47,48 +47,49 @@ class G4FieldTrack ~G4FieldTrack(); // Destructor - G4FieldTrack& operator = ( const G4FieldTrack & rStVec ); - // Equality operator + inline G4FieldTrack& operator = ( const G4FieldTrack & rStVec ); + // Assignment operator - G4ThreeVector GetVelocity() const; - G4ThreeVector GetPosition() const; - const G4ThreeVector& GetMomentumDir() const; - G4double GetCurveLength() const; + inline G4ThreeVector GetVelocity() const; + inline G4ThreeVector GetPosition() const; + inline const G4ThreeVector& GetMomentumDir() const; + inline G4double GetCurveLength() const; // Distance along curve of point. - G4double GetMomentumModulus() const; - G4ThreeVector GetSpin() const; - G4double GetLabTimeOfFlight() const; - G4double GetProperTimeOfFlight() const; + inline G4double GetMomentumModulus() const; + inline G4ThreeVector GetSpin() const; + inline G4double GetLabTimeOfFlight() const; + inline G4double GetProperTimeOfFlight() const; // Accessors. - void SetPosition(G4ThreeVector nPos); - void SetVelocity(G4ThreeVector nMomDir); + inline void SetPosition(G4ThreeVector nPos); + inline void SetVelocity(G4ThreeVector nMomDir); // Does change mom-dir too. - void SetMomentumDir(G4ThreeVector nMomDir); + inline void SetMomentumDir(G4ThreeVector nMomDir); // Does NOT change velocity. - void SetCurveLength(G4double nCurve_s); + inline void SetCurveLength(G4double nCurve_s); // Distance along curve. - void SetEnergy(G4double nEnergy); + inline void SetEnergy(G4double nEnergy); // Does not modify momentum. - void SetMomentumModulus(G4double nMomentumMod); + inline void SetMomentumModulus(G4double nMomentumMod); // Does not modify energy. - void SetSpin(G4ThreeVector nSpin); - void SetLabTimeOfFlight(G4double nTOF); - void SetProperTimeOfFlight(G4double nTOF); + inline void SetSpin(G4ThreeVector nSpin); + inline void SetLabTimeOfFlight(G4double nTOF); + inline void SetProperTimeOfFlight(G4double nTOF); // Modifiers public: // without description - G4FieldTrack& SetCurvePnt(const G4ThreeVector& pPosition, - const G4ThreeVector& pVelocity, - const G4double s_curve ); + inline G4FieldTrack& SetCurvePnt(const G4ThreeVector& pPosition, + const G4ThreeVector& pVelocity, + G4double s_curve ); // Old multi-set method - G4ThreeVector Position() const; + inline G4ThreeVector Position() const; // Renamed to GetPosition - G4double CurveS() const; // distance along curve of point - void SetCurveS(G4double new_curve_s); + inline G4double CurveS() const; + // Distance along curve of point + inline void SetCurveS(G4double new_curve_s); // Old methods to be deleted. // G4double GetEnergy() const; // Wrong Energy --> FIXME @@ -99,8 +100,8 @@ class G4FieldTrack // static const G4int ncompSVEC=15; // Needed and should be used only for RK integration driver enum { ncompSVEC = 16 }; - void DumpToArray( G4double valArr[ncompSVEC] ) const; - void LoadFromArray( const G4double valArr[ncompSVEC] ); + inline void DumpToArray(G4double valArr[ncompSVEC]) const; + inline void LoadFromArray(G4double valArr[ncompSVEC]); friend G4std::ostream& operator<<( G4std::ostream& os, G4FieldTrack& SixVec); diff --git a/source/geometry/magneticfield/include/G4FieldTrack.icc b/source/geometry/magneticfield/include/G4FieldTrack.icc index ce918a3173..9b0655d4c3 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.icc +++ b/source/geometry/magneticfield/include/G4FieldTrack.icc @@ -5,15 +5,59 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FieldTrack.icc,v 1.2 1999/12/15 14:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FieldTrack.icc,v 1.4 2000/11/20 17:29:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "PhysicalConstants.h" +inline +G4FieldTrack::G4FieldTrack( const G4ThreeVector& pPosition, + const G4ThreeVector& pVelocity, // Can be unit + G4double curve_length, + G4double pEnergy, + G4double pLabortTimeOfFlight, + G4double pProperTimeOfFlight, + const G4ThreeVector* pSpin) + : fEnergy(pEnergy), + fLabTimeOfFlight(pLabortTimeOfFlight), + fProperTimeOfFlight(pProperTimeOfFlight), + fMomentumDir(pVelocity.unit()) +{ + SetCurvePnt( pPosition, pVelocity, curve_length ); + if(pSpin) fSpin = *pSpin; +} + +inline +G4FieldTrack::G4FieldTrack( const G4FieldTrack& rStVec ) + : fDistanceAlongCurve( rStVec.fDistanceAlongCurve), + fEnergy( rStVec.fEnergy ), + fLabTimeOfFlight( rStVec.fLabTimeOfFlight ), + fProperTimeOfFlight( rStVec.fProperTimeOfFlight ), + fMomentumModulus( rStVec.fMomentumModulus ), + fSpin( rStVec.fSpin ), + fMomentumDir( rStVec.fMomentumDir ) +{ + SixVector[0]= rStVec.SixVector[0]; + SixVector[1]= rStVec.SixVector[1]; + SixVector[2]= rStVec.SixVector[2]; + SixVector[3]= rStVec.SixVector[3]; + SixVector[4]= rStVec.SixVector[4]; + SixVector[5]= rStVec.SixVector[5]; + // Old code: + // SetCurvePnt(rStVec.GetPosition(), + // rStVec.GetMomentumDir(), + // rStVec.GetCurveLength() ); // Slow, so changed it +} + +inline +G4FieldTrack::~G4FieldTrack() +{ +} + inline G4FieldTrack& -G4FieldTrack::SetCurvePnt( const G4ThreeVector& pPosition, +G4FieldTrack::SetCurvePnt(const G4ThreeVector& pPosition, const G4ThreeVector& pVelocity, // Can be Unit - const G4double s_curve ) + G4double s_curve ) { SixVector[0] = pPosition.x(); SixVector[1] = pPosition.y(); @@ -31,54 +75,14 @@ G4FieldTrack::SetCurvePnt( const G4ThreeVector& pPosition, } inline -G4FieldTrack::G4FieldTrack( const G4ThreeVector& pPosition, - const G4ThreeVector& pVelocity, // Can be unit - const G4double curve_length, - const G4double pEnergy, - const G4double pLabortTimeOfFlight, - const G4double pProperTimeOfFlight, - const G4ThreeVector* pSpin) : - fEnergy(pEnergy), - fLabTimeOfFlight(pLabortTimeOfFlight), - fProperTimeOfFlight(pProperTimeOfFlight) -{ - SetCurvePnt( pPosition, pVelocity, curve_length ); - if(pSpin){ fSpin= *pSpin; } - fMomentumDir = pVelocity.unit(); -} - -inline -G4FieldTrack::G4FieldTrack( const G4FieldTrack& rStVec ) : - fEnergy( rStVec.fEnergy ), - fLabTimeOfFlight( rStVec.fLabTimeOfFlight ), - fProperTimeOfFlight( rStVec.fProperTimeOfFlight ), - fMomentumModulus( rStVec.fMomentumModulus ), - fMomentumDir( rStVec.fMomentumDir ), - fSpin( rStVec.fSpin ), - fDistanceAlongCurve( rStVec.fDistanceAlongCurve) -{ - SixVector[0]= rStVec.SixVector[0]; - SixVector[1]= rStVec.SixVector[1]; - SixVector[2]= rStVec.SixVector[2]; - SixVector[3]= rStVec.SixVector[3]; - SixVector[4]= rStVec.SixVector[4]; - SixVector[5]= rStVec.SixVector[5]; - // Old code: - // SetCurvePnt(rStVec.GetPosition(), - // rStVec.GetMomentumDir(), - // rStVec.GetCurveLength() ); // Slow, so changed it -} - -// Destructor -inline G4FieldTrack::~G4FieldTrack(){} - -inline G4ThreeVector G4FieldTrack::GetPosition() const +G4ThreeVector G4FieldTrack::GetPosition() const { G4ThreeVector myPosition( SixVector[0], SixVector[1], SixVector[2] ); return myPosition; } -inline void G4FieldTrack::SetPosition( G4ThreeVector pPosition) +inline +void G4FieldTrack::SetPosition( G4ThreeVector pPosition) { SixVector[0] = pPosition.x(); SixVector[1] = pPosition.y(); @@ -86,72 +90,120 @@ inline void G4FieldTrack::SetPosition( G4ThreeVector pPosition) } // Older ... obsolete -inline G4ThreeVector G4FieldTrack::Position() const +inline +G4ThreeVector G4FieldTrack::Position() const { return this->GetPosition(); } -inline const G4ThreeVector& G4FieldTrack::GetMomentumDir() const +inline +const G4ThreeVector& G4FieldTrack::GetMomentumDir() const { // G4ThreeVector myVelocity( SixVector[3], SixVector[4], SixVector[5] ); // return myVelocity; return fMomentumDir; } -inline G4double G4FieldTrack::GetCurveLength() const +inline +G4double G4FieldTrack::GetCurveLength() const { return fDistanceAlongCurve; } -inline G4double G4FieldTrack::CurveS() const +inline +G4double G4FieldTrack::CurveS() const { return this->GetCurveLength(); } -inline void G4FieldTrack::SetCurveLength(G4double nCurve_s) +inline +void G4FieldTrack::SetCurveLength(G4double nCurve_s) { fDistanceAlongCurve= nCurve_s; } -inline void G4FieldTrack::SetCurveS(G4double new_curve_s) +inline +void G4FieldTrack::SetCurveS(G4double new_curve_s) { this->SetCurveLength(new_curve_s); } #ifdef ENERGY_OK -inline G4double G4FieldTrack::GetEnergy() const -{ return fEnergy;} +inline +G4double G4FieldTrack::GetEnergy() const +{ + return fEnergy; +} #endif -inline void G4FieldTrack::SetEnergy(G4double nEnergy) -{ fEnergy=nEnergy;} -inline G4ThreeVector G4FieldTrack::GetSpin() const -{ return fSpin;} -inline void G4FieldTrack::SetSpin(G4ThreeVector nSpin) -{ fSpin=nSpin; } +inline +void G4FieldTrack::SetEnergy(G4double nEnergy) +{ + fEnergy=nEnergy; +} -inline G4double G4FieldTrack::GetLabTimeOfFlight() const -{ return fLabTimeOfFlight; } -inline void G4FieldTrack::SetLabTimeOfFlight(G4double nTOF) -{ fLabTimeOfFlight=nTOF;} +inline +G4ThreeVector G4FieldTrack::GetSpin() const +{ + return fSpin; +} -inline G4double G4FieldTrack::GetProperTimeOfFlight() const -{ return fProperTimeOfFlight; } -inline void G4FieldTrack::SetProperTimeOfFlight(G4double nTOF) -{ fProperTimeOfFlight=nTOF;} +inline +void G4FieldTrack::SetSpin(G4ThreeVector nSpin) +{ + fSpin=nSpin; +} -inline G4double G4FieldTrack::GetMomentumModulus() const -{ return fMomentumModulus;} -inline void G4FieldTrack::SetMomentumModulus(G4double nMomentumMod) -{ fMomentumModulus= nMomentumMod ;} // does not modify energy +inline +G4double G4FieldTrack::GetLabTimeOfFlight() const +{ + return fLabTimeOfFlight; +} -inline void G4FieldTrack::SetMomentumDir(G4ThreeVector newMomDir) -{ fMomentumDir= newMomDir; } +inline +void G4FieldTrack::SetLabTimeOfFlight(G4double nTOF) +{ + fLabTimeOfFlight=nTOF; +} -inline G4ThreeVector G4FieldTrack::GetVelocity() const -{ return G4ThreeVector( SixVector[3], SixVector[4], SixVector[5] ); } +inline +G4double G4FieldTrack::GetProperTimeOfFlight() const +{ + return fProperTimeOfFlight; +} -inline void G4FieldTrack::SetVelocity(G4ThreeVector pVelocity) +inline +void G4FieldTrack::SetProperTimeOfFlight(G4double nTOF) +{ + fProperTimeOfFlight=nTOF; +} + +inline +G4double G4FieldTrack::GetMomentumModulus() const +{ + return fMomentumModulus; +} + +inline +void G4FieldTrack::SetMomentumModulus(G4double nMomentumMod) +{ + fMomentumModulus= nMomentumMod; // does not modify energy +} + +inline +void G4FieldTrack::SetMomentumDir(G4ThreeVector newMomDir) +{ + fMomentumDir= newMomDir; +} + +inline +G4ThreeVector G4FieldTrack::GetVelocity() const +{ + return G4ThreeVector( SixVector[3], SixVector[4], SixVector[5] ); +} + +inline +void G4FieldTrack::SetVelocity(G4ThreeVector pVelocity) { SixVector[3] = pVelocity.x(); SixVector[4] = pVelocity.y(); @@ -198,7 +250,7 @@ void G4FieldTrack::DumpToArray(G4double valArr[ncompSVEC] ) const // note that momentum direction must-be/is normalised inline -void G4FieldTrack::LoadFromArray( const G4double valArr[ncompSVEC] ) +void G4FieldTrack::LoadFromArray(G4double valArr[ncompSVEC]) { SixVector[0]=valArr[0]; SixVector[1]=valArr[1]; @@ -227,6 +279,8 @@ void G4FieldTrack::LoadFromArray( const G4double valArr[ncompSVEC] ) inline G4FieldTrack & G4FieldTrack::operator = ( const G4FieldTrack& rStVec ) { + if (&rStVec == this) return *this; + // SetCurvePnt(rStVec.GetPosition(), // rStVec.GetMomentumDir(), // rStVec.GetCurveLength() ); @@ -247,6 +301,3 @@ G4FieldTrack & G4FieldTrack::operator = ( const G4FieldTrack& rStVec ) return *this; } - - - diff --git a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh index 185373b21e..8ffacf4631 100644 --- a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HelixExplicitEuler.hh,v 1.4 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HelixExplicitEuler.hh,v 1.5 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4HelixExplicitEuler @@ -47,7 +47,7 @@ class G4HelixExplicitEuler : public G4MagHelicalStepper // Replaced by MagFieldEvaluate( const G4double y[], G4double B[] ) // in G4HelicalStepper - G4int IntegratorOrder() { return 1; } + G4int IntegratorOrder() const { return 1; } }; #endif /* G4EXPLICITEULER_HH */ diff --git a/source/geometry/magneticfield/include/G4HelixHeum.hh b/source/geometry/magneticfield/include/G4HelixHeum.hh index 3220710652..29baf15479 100644 --- a/source/geometry/magneticfield/include/G4HelixHeum.hh +++ b/source/geometry/magneticfield/include/G4HelixHeum.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HelixHeum.hh,v 1.4 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HelixHeum.hh,v 1.5 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4HelixHeum @@ -43,7 +43,7 @@ class G4HelixHeum : public G4MagHelicalStepper public: // without description - G4int IntegratorOrder() { return 2; } + G4int IntegratorOrder() const { return 2; } }; #endif /* G4HELIXHEUM_HH */ diff --git a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh index 9d551e0464..dfdf56500d 100644 --- a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HelixImplicitEuler.hh,v 1.4 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HelixImplicitEuler.hh,v 1.5 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4HelixImplicitEuler @@ -42,7 +42,7 @@ class G4HelixImplicitEuler : public G4MagHelicalStepper public: // without description - G4int IntegratorOrder() { return 2; } + G4int IntegratorOrder() const { return 2; } }; #endif /* G4HELIXIMPLICITEULER_HH */ diff --git a/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh b/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh index cb0be18588..ec01624194 100644 --- a/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh +++ b/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HelixSimpleRunge.hh,v 1.3 2000/04/12 18:28:51 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HelixSimpleRunge.hh,v 1.4 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // W. Wander 03/12/98 @@ -15,19 +15,22 @@ #define G4HELIXSIMPLERUNGE_HH #include "G4MagHelicalStepper.hh" -class G4HelixSimpleRunge: public G4MagHelicalStepper +class G4HelixSimpleRunge : public G4MagHelicalStepper { public: - G4HelixSimpleRunge(G4Mag_EqRhs *EqRhs): G4MagHelicalStepper(EqRhs){}; - ~G4HelixSimpleRunge(){}; + + G4HelixSimpleRunge(G4Mag_EqRhs *EqRhs) + : G4MagHelicalStepper(EqRhs){} + + ~G4HelixSimpleRunge(){} void DumbStepper( const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]); - G4int IntegratorOrder() { return 2; }; + G4int IntegratorOrder() const { return 2; } }; #endif /* G4HELIXSIMPLERUNGE_HH */ diff --git a/source/geometry/magneticfield/include/G4ImplicitEuler.hh b/source/geometry/magneticfield/include/G4ImplicitEuler.hh index 262fd32e10..5eea5ffc39 100644 --- a/source/geometry/magneticfield/include/G4ImplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4ImplicitEuler.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ImplicitEuler.hh,v 1.2 1999/12/15 14:49:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ImplicitEuler.hh,v 1.3 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // W. Wander 12/09/97 @@ -15,7 +15,7 @@ #define G4IMPLICITEULER_HH #include "G4MagErrorStepper.hh" -class G4ImplicitEuler: public G4MagErrorStepper +class G4ImplicitEuler : public G4MagErrorStepper { public: @@ -24,14 +24,14 @@ class G4ImplicitEuler: public G4MagErrorStepper void DumbStepper( const G4double y[] , const G4double dydx[] , - const G4double h , + G4double h , G4double yout[] ) ; - G4int IntegratorOrder() { return 2 ; } ; + G4int IntegratorOrder() const { return 2 ; } ; private: - G4int fNumberOfVariables ; + G4int fNumberOfVariables ; }; #endif /* G4IMPLICITEULER_HH */ diff --git a/source/geometry/magneticfield/include/G4LineSection.hh b/source/geometry/magneticfield/include/G4LineSection.hh index 17246eb51f..a6e602c472 100644 --- a/source/geometry/magneticfield/include/G4LineSection.hh +++ b/source/geometry/magneticfield/include/G4LineSection.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LineSection.hh,v 1.4 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4LineSection diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.hh b/source/geometry/magneticfield/include/G4MagErrorStepper.hh index 8cf78ccd5a..b56785fa79 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagErrorStepper.hh,v 1.6 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagErrorStepper.hh,v 1.7 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4MagErrorStepper @@ -34,13 +34,13 @@ class G4MagErrorStepper : public G4MagIntegratorStepper public: // with description G4MagErrorStepper(G4Mag_EqRhs *EqRhs,G4int numberOfVariables); - ~G4MagErrorStepper(); + virtual ~G4MagErrorStepper(); void Stepper( const G4double y[], const G4double dydx[], - const G4double h, - G4double yout[], - G4double yerr[] ); + G4double h, + G4double yout[], + G4double yerr[] ); // The stepper for the Runge Kutta integration. The stepsize // is fixed, with the Step size given by h. // Integrates ODE starting values y[0 to 6]. @@ -48,14 +48,20 @@ class G4MagErrorStepper : public G4MagIntegratorStepper virtual void DumbStepper( const G4double y[], const G4double dydx[], - const G4double h, - G4double yout[] ) = 0; + G4double h, + G4double yout[] ) = 0; // Performs a 'dump' Step without error calculation. - G4double DistChord() const; + G4double DistChord() const; private: - + + G4MagErrorStepper(const G4MagErrorStepper&); + G4MagErrorStepper& operator=(const G4MagErrorStepper&); + // Private copy constructor and assignment operator. + + private: + G4ThreeVector fInitialPoint, fMidPoint, fFinalPoint; // Data stored in order to find the chord diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.icc b/source/geometry/magneticfield/include/G4MagErrorStepper.icc index d711b0d5e4..83b215d391 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.icc @@ -5,25 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagErrorStepper.icc,v 1.6 2000/03/03 12:09:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagErrorStepper.icc,v 1.7 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -inline G4MagErrorStepper::G4MagErrorStepper(G4Mag_EqRhs *EqRhs, - G4int numberOfVariables) - :G4MagIntegratorStepper(EqRhs,numberOfVariables) +inline +G4MagErrorStepper::G4MagErrorStepper(G4Mag_EqRhs *EqRhs, + G4int numberOfVariables) + : G4MagIntegratorStepper(EqRhs,numberOfVariables) { - const G4int nvar = this->GetNumberOfVariables() ; + G4int nvar = this->GetNumberOfVariables() ; yMiddle= new G4double[nvar]; dydxMid= new G4double[nvar]; yInitial= new G4double[nvar]; yOneStep= new G4double[nvar]; } - -inline G4MagErrorStepper::~G4MagErrorStepper() - { - delete[] yMiddle; - delete[] dydxMid; - delete[] yInitial; - delete[] yOneStep; - } diff --git a/source/geometry/magneticfield/include/G4MagHelicalStepper.hh b/source/geometry/magneticfield/include/G4MagHelicalStepper.hh index 1c9cf59c5e..cd88d5c0de 100644 --- a/source/geometry/magneticfield/include/G4MagHelicalStepper.hh +++ b/source/geometry/magneticfield/include/G4MagHelicalStepper.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagHelicalStepper.hh,v 1.4 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagHelicalStepper.hh,v 1.5 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4MagHelicalStepper @@ -32,13 +32,13 @@ class G4MagHelicalStepper : public G4MagIntegratorStepper public: // with description G4MagHelicalStepper(G4Mag_EqRhs *EqRhs); - ~G4MagHelicalStepper() {;} + virtual ~G4MagHelicalStepper(); void Stepper( const G4double y[], const G4double dydx[], - const G4double h, - G4double yout[], - G4double yerr[] ); + G4double h, + G4double yout[], + G4double yerr[] ); // The stepper for the Runge Kutta integration. // The stepsize is fixed, equal to h. // Integrates ODE starting values y[0 to 6] @@ -50,16 +50,14 @@ class G4MagHelicalStepper : public G4MagIntegratorStepper G4double yout[] ) = 0; // Performs a 'dump' Step without error calculation. - G4double DistChord() const; + G4double DistChord() const; // Estimate maximum distance of curved solution and chord ... protected: // with description - // --- Methods used to implement all the derived classes ----- - - void LinearStep( const G4double yIn[], - const G4double h, - G4double yHelix[]); + inline void LinearStep( const G4double yIn[], + G4double h, + G4double yHelix[]); // A linear Step in regions without magnetic field. void AdvanceHelix( const G4double yIn[], @@ -68,7 +66,7 @@ class G4MagHelicalStepper : public G4MagIntegratorStepper G4double yHelix[]); // output // A first order Step along a helix inside the field. - void MagFieldEvaluate( const G4double y[], G4ThreeVector& Bfield ); + inline void MagFieldEvaluate( const G4double y[], G4ThreeVector& Bfield ); // Evaluate the field at a certain point. protected: // without description @@ -76,6 +74,12 @@ class G4MagHelicalStepper : public G4MagIntegratorStepper // void MagFieldEvaluate( const G4double y[], G4double B[] ) // { GetEquationOfMotion()-> GetFieldValue(y, B); } + private: + + G4MagHelicalStepper(const G4MagHelicalStepper&); + G4MagHelicalStepper& operator=(const G4MagHelicalStepper&); + // Private copy constructor and assignment operator. + private: G4ThreeVector yInitial, yMidPoint, yFinal; diff --git a/source/geometry/magneticfield/include/G4MagHelicalStepper.icc b/source/geometry/magneticfield/include/G4MagHelicalStepper.icc index 2093f05695..7fd6550a16 100644 --- a/source/geometry/magneticfield/include/G4MagHelicalStepper.icc +++ b/source/geometry/magneticfield/include/G4MagHelicalStepper.icc @@ -5,16 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagHelicalStepper.icc,v 1.3 2000/04/27 09:14:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagHelicalStepper.icc,v 1.4 2000/11/01 15:15:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // linear Step in regions of no field inline void G4MagHelicalStepper::LinearStep( const G4double yIn[], - const G4double h, - G4double yLinear[]) + G4double h, + G4double yLinear[]) { for( G4int i = 0; i < 3; i++ ) { yLinear[i] = yIn[i] + h * yIn[i+3]; diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh index eb12161cae..c249689cd1 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorDriver.hh,v 1.6 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorDriver.hh,v 1.7 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4MagInt_Driver @@ -31,8 +31,8 @@ class G4MagInt_Driver public: // with description G4bool AccurateAdvance(G4FieldTrack& y_current, - const G4double hstep, - const G4double eps); // Requested y_err/hstep + G4double hstep, + G4double eps); // Requested y_err/hstep // Above drivers for integrator (Runge-Kutta) with stepsize control. // Integrates ODE starting values y_current // from current s (s=s0) to s=s0+h with accuracy eps. @@ -49,109 +49,114 @@ class G4MagInt_Driver G4MagInt_Driver( G4double hminimum, G4MagIntegratorStepper *pItsStepper, G4int numberOfComponents=6); - ~G4MagInt_Driver(){} + ~G4MagInt_Driver(); // Constructor, destructor. - G4double GetHmin(); - G4double Hmin(); // Obsolete - G4double GetSafety(); - G4double GetPshrnk(); - G4double GetPgrow(); - G4double GetErrcon(); - void GetDerivatives( const G4FieldTrack y_curr, // const, INput - G4double dydx[] ); // OUTput + inline G4double GetHmin() const; + inline G4double Hmin() const; // Obsolete + inline G4double GetSafety() const; + inline G4double GetPshrnk() const; + inline G4double GetPgrow() const; + inline G4double GetErrcon() const; + inline void GetDerivatives( const G4FieldTrack y_curr, // const, INput + G4double dydx[] ); // OUTput // Accessors. - void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper); + inline void RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper); // Sets a new stepper pItsStepper for this driver. Then it calls // ReSetParameters to reset its parameters accordingly. - void ReSetParameters(G4double new_safety= 0.9 ); + inline void ReSetParameters(G4double new_safety= 0.9 ); // i) sets the exponents (pgrow & pshrnk), // using the current Stepper's order, // ii) sets the safety // ii) calculates "errcon" according to the above values. - void SetSafety(G4double valS); - void SetPshrnk(G4double valPs); - void SetPgrow( G4double valPg); - void SetErrcon(G4double valEc); + inline void SetSafety(G4double valS); + inline void SetPshrnk(G4double valPs); + inline void SetPgrow (G4double valPg); + inline void SetErrcon(G4double valEc); // When setting safety or pgrow, errcon will be set to a // compatible value. - G4double ComputeAndSetErrcon(); + inline G4double ComputeAndSetErrcon(); - void SetChargeMomentumMass( const G4double particleCharge, - const G4double MomentumXc, - const G4double Mass ); + inline void SetChargeMomentumMass( G4double particleCharge, + G4double MomentumXc, + G4double Mass ); // Change them in Equation. particleCharge is in e+ units. - G4MagIntegratorStepper* GetStepper(); + inline const G4MagIntegratorStepper* GetStepper() const; - void OneGoodStep( G4double ystart[], // Like old RKF45step() - const G4double dydx[], - G4double& x, - const G4double htry, - const G4double eps, // memb variables ? - G4double& hdid, - G4double& hnext ) ; + void OneGoodStep( G4double ystart[], // Like old RKF45step() + const G4double dydx[], + G4double& x, + G4double htry, + G4double eps, // memb variables ? + G4double& hdid, + G4double& hnext ) ; // This takes one Step that is as large as possible while // satisfying the accuracy criterion of: // yerr < eps * |y_end-y_start| - G4double ComputeNewStepSize( - G4double errMaxNorm, // normalised error - G4double hstepCurrent); // current step size + G4double ComputeNewStepSize( G4double errMaxNorm, // normalised error + G4double hstepCurrent); // current step size // Taking the last step's normalised error, calculate // a step size for the next step. // Do not limit the next step's size within a factor of the // current one. - G4double ComputeNewStepSize_WithinLimits( - G4double errMaxNorm, // normalised error + G4double ComputeNewStepSize_WithinLimits( + G4double errMaxNorm, // normalised error G4double hstepCurrent); // current step size // Taking the last step's normalised error, calculate // a step size for the next step. // Limit the next step's size within a range around the current one. - G4int GetMaxNoSteps(); - void SetMaxNoSteps( G4int val); + inline G4int GetMaxNoSteps() const; + inline void SetMaxNoSteps( G4int val); public: // without description - G4double SetHmin(G4double newval); + inline void SetHmin(G4double newval); protected: - void WarnSmallStepSize( G4double hnext, G4double hstep, - G4double h, G4double xDone, - G4int noSteps); - void WarnTooManyStep( G4double x1start, G4double x2end, G4double xCurrent); - void WarnEndPointTooFar (G4double endPointDist, - G4double hStepSize , - G4double epsilonRelative, - G4int debugFlag); + void WarnSmallStepSize( G4double hnext, G4double hstep, + G4double h, G4double xDone, + G4int noSteps); + void WarnTooManyStep( G4double x1start, G4double x2end, G4double xCurrent); + void WarnEndPointTooFar (G4double endPointDist, + G4double hStepSize , + G4double epsilonRelative, + G4int debugFlag); // Issue warnings for undesirable situations private: - G4double hminimum_val; + G4MagInt_Driver(const G4MagInt_Driver&); + G4MagInt_Driver& operator=(const G4MagInt_Driver&); + // Private copy constructor and assignment operator. + + private: + + G4double hminimum_val; // Minimum Step allowed in a Step. - const G4int nvar; + G4int nvar; - G4MagIntegratorStepper *pIntStepper; - G4int fMaxNoSteps; - static const G4int fMaxStepBase; + G4MagIntegratorStepper *pIntStepper; + G4int fMaxNoSteps; + static const G4int fMaxStepBase; - G4double safety; - G4double pshrnk; // exponent for shrinking - G4double pgrow; // exponent for growth - G4double errcon; + G4double safety; + G4double pshrnk; // exponent for shrinking + G4double pgrow; // exponent for growth + G4double errcon; // Parameters used to grow and shrink trial stepsize. - static const G4double max_stepping_increase; - static const G4double max_stepping_decrease; + static const G4double max_stepping_increase; + static const G4double max_stepping_decrease; // Maximum stepsize increase/decrease factors. }; diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc index 56ff96346d..d50bc3fe03 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc @@ -5,52 +5,61 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorDriver.icc,v 1.4 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorDriver.icc,v 1.5 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -inline G4double G4MagInt_Driver::GetHmin() +inline +G4double G4MagInt_Driver::GetHmin() const { return hminimum_val; } -inline G4double G4MagInt_Driver::Hmin() +inline +G4double G4MagInt_Driver::Hmin() const { return hminimum_val; } -inline G4double G4MagInt_Driver::GetSafety() +inline +G4double G4MagInt_Driver::GetSafety() const { return safety; } -inline G4double G4MagInt_Driver::GetPshrnk() +inline +G4double G4MagInt_Driver::GetPshrnk() const { return pshrnk; } -inline G4double G4MagInt_Driver::GetPgrow() +inline +G4double G4MagInt_Driver::GetPgrow() const { return pgrow; } -inline G4double G4MagInt_Driver::GetErrcon() +inline +G4double G4MagInt_Driver::GetErrcon() const { return errcon; } -inline G4double G4MagInt_Driver::SetHmin(G4double newval) +inline +void G4MagInt_Driver::SetHmin(G4double newval) { - return hminimum_val; + hminimum_val = newval; } -inline G4double G4MagInt_Driver::ComputeAndSetErrcon() +inline +G4double G4MagInt_Driver::ComputeAndSetErrcon() { errcon = pow(max_stepping_increase/GetSafety(),1.0/GetPgrow()); return errcon; } -inline void G4MagInt_Driver::ReSetParameters( G4double new_safety ) +inline +void G4MagInt_Driver::ReSetParameters(G4double new_safety) { safety = new_safety; pshrnk = -1.0 / pIntStepper->IntegratorOrder(); @@ -58,66 +67,65 @@ inline void G4MagInt_Driver::ReSetParameters( G4double new_safety ) ComputeAndSetErrcon(); } -inline void G4MagInt_Driver::SetSafety(G4double val) +inline +void G4MagInt_Driver::SetSafety(G4double val) { safety=val; ComputeAndSetErrcon(); } -inline void G4MagInt_Driver::SetPgrow(G4double val) +inline +void G4MagInt_Driver::SetPgrow(G4double val) { pgrow=val; ComputeAndSetErrcon(); } -inline void G4MagInt_Driver::SetErrcon(G4double val) +inline +void G4MagInt_Driver::SetErrcon(G4double val) { errcon=val; } -inline void G4MagInt_Driver::RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) +inline +void G4MagInt_Driver::RenewStepperAndAdjust(G4MagIntegratorStepper *pItsStepper) { pIntStepper = pItsStepper; ReSetParameters(); } -inline void G4MagInt_Driver:: SetChargeMomentumMass( - const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double Mass ) +inline +void G4MagInt_Driver::SetChargeMomentumMass(G4double particleCharge, // e+ + G4double MomentumXc, + G4double Mass ) { pIntStepper->GetEquationOfMotion() ->SetChargeMomentumMass(particleCharge, MomentumXc, Mass); } -// Constructor -// -inline G4MagInt_Driver::G4MagInt_Driver( G4double hminimum, - G4MagIntegratorStepper *pItsStepper, - G4int numComponents) - : nvar(numComponents) -{ - RenewStepperAndAdjust( pItsStepper ); - hminimum_val= hminimum; - fMaxNoSteps = fMaxStepBase / pIntStepper->IntegratorOrder(); +inline +const G4MagIntegratorStepper* G4MagInt_Driver::GetStepper() const +{ + return pIntStepper; } -inline G4MagIntegratorStepper* G4MagInt_Driver::GetStepper() -{ return pIntStepper; } +inline +G4int G4MagInt_Driver::GetMaxNoSteps() const +{ + return fMaxNoSteps; +} -inline G4int G4MagInt_Driver::GetMaxNoSteps() -{ return fMaxNoSteps; } +inline +void G4MagInt_Driver::SetMaxNoSteps(G4int val) +{ + fMaxNoSteps= val; +} -inline void G4MagInt_Driver::SetMaxNoSteps(G4int val) -{ fMaxNoSteps= val; } - -inline void G4MagInt_Driver::GetDerivatives( - const G4FieldTrack y_curr, // const, INput - G4double dydx[] ) // OUTput +inline +void G4MagInt_Driver::GetDerivatives(const G4FieldTrack y_curr, // const, INput + G4double dydx[]) // OUTput { G4double tmpValArr[G4FieldTrack::ncompSVEC]; y_curr.DumpToArray( tmpValArr ); pIntStepper -> RightHandSide( tmpValArr , dydx ); - } - diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh index 4badf95136..8002241a48 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorStepper.hh,v 1.4 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorStepper.hh,v 1.5 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4MagIntegratorStepper @@ -30,12 +30,12 @@ class G4MagIntegratorStepper public: // with description G4MagIntegratorStepper(G4Mag_EqRhs *EqRhs, G4int num_variables); - ~G4MagIntegratorStepper(){;} + virtual ~G4MagIntegratorStepper(); // Constructor and destructor. No actions. virtual void Stepper( const G4double y[], const G4double dydx[], - const G4double h, + G4double h, G4double yout[], G4double yerr[] ) = 0 ; // The stepper for the Runge Kutta integration. @@ -47,22 +47,22 @@ class G4MagIntegratorStepper // Estimate the maximum distance of a chord from the true path // over the segment last integrated. - void NormaliseTangentVector( G4double vec[6] ); + inline void NormaliseTangentVector( G4double vec[6] ); // Simple utility function to (re)normalise 'unit velocity' vector. - virtual void RightHandSide( const double y[], double dydx[] ); + virtual void RightHandSide( const double y[], double dydx[] ); // Utility method to supply the standard Evaluation of the // Right Hand side of the associated equation. - G4int GetNumberOfVariables(); - void SetNumberOfVariables(G4int newNo); + inline G4int GetNumberOfVariables() const; + inline void SetNumberOfVariables(G4int newNo); // Get/Set the number of variables that the stepper will compile over. - virtual G4int IntegratorOrder() = 0; + virtual G4int IntegratorOrder() const = 0; // Returns the order of the integrator // i.e. its error behaviour is of the order O(h^order). - G4EquationOfMotion *GetEquationOfMotion() const; + inline G4EquationOfMotion *GetEquationOfMotion(); // As some steppers (eg RKG3) require other methods of Eq_Rhs // this function allows for access to them. @@ -70,13 +70,18 @@ class G4MagIntegratorStepper #if 0 void - SetChargeAndMomentum( const G4double particleCharge, // in e+ units - const G4double MomentumXc) + SetChargeAndMomentum( G4double particleCharge, // in e+ units + G4double MomentumXc) // Supply the standard Evaluation of the Right Hand side // of the associated equation. {theEquation_Rhs -> SetChargeAndMomentum(particleCharge, MomentumXc);} #endif + private: + + G4MagIntegratorStepper(const G4MagIntegratorStepper&); + G4MagIntegratorStepper& operator=(const G4MagIntegratorStepper&); + // Private copy constructor and assignment operator. private: diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc index 08ddc0cc21..63062acc36 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc @@ -5,23 +5,30 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorStepper.icc,v 1.3 1999/12/15 14:49:47 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorStepper.icc,v 1.4 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -inline G4EquationOfMotion* G4MagIntegratorStepper::GetEquationOfMotion() const - { return fEquation_Rhs; } -inline void G4MagIntegratorStepper::RightHandSide( const double y[], double dydx[] ) - { fEquation_Rhs-> RightHandSide(y, dydx); } +inline +G4EquationOfMotion* G4MagIntegratorStepper::GetEquationOfMotion() +{ + return fEquation_Rhs; +} -inline G4int G4MagIntegratorStepper::GetNumberOfVariables() - { return fNumberOfVariables; } -inline void G4MagIntegratorStepper::SetNumberOfVariables(G4int newNo) - { fNumberOfVariables = newNo; } +inline +G4int G4MagIntegratorStepper::GetNumberOfVariables() const +{ + return fNumberOfVariables; +} +inline +void G4MagIntegratorStepper::SetNumberOfVariables(G4int newNo) +{ + fNumberOfVariables = newNo; +} -inline void G4MagIntegratorStepper:: -NormaliseTangentVector( G4double vec[6] ) +inline +void G4MagIntegratorStepper::NormaliseTangentVector( G4double vec[6] ) { double drds2 = vec[3]*vec[3]+vec[4]*vec[4]+vec[5]*vec[5]; @@ -31,4 +38,3 @@ NormaliseTangentVector( G4double vec[6] ) vec[i+3] *= normx; } } - diff --git a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh index ec89c53434..32e225a775 100644 --- a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Mag_EqRhs.hh,v 1.4 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Mag_EqRhs.hh,v 1.5 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Mag_EqRhs @@ -34,27 +34,26 @@ class G4Mag_EqRhs : public G4EquationOfMotion public: // with description G4Mag_EqRhs( G4MagneticField *magField ); - ~G4Mag_EqRhs(); + virtual ~G4Mag_EqRhs(); // Constructor and destructor. No actions. virtual void EvaluateRhsGivenB( const G4double y[], - const G4double B[3], - G4double dydx[] ) const = 0; + const G4double B[3], + G4double dydx[] ) const = 0; // Given the value of the field "B", this function // calculates the value of the derivative dydx. // This is the _only_ function a subclass must define. // The other two functions use Rhs_givenB. - G4double FCof() const; + inline G4double FCof() const; - virtual void - SetChargeMomentumMass( const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double mass); + virtual void SetChargeMomentumMass( G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double mass); private: - G4double fCof_val; + G4double fCof_val; static const G4double fUnitConstant; // Set in G4Mag_EqRhs.cc // to 0.299792458 diff --git a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh index 333f7dccb0..f0884b3369 100644 --- a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Mag_SpinEqRhs.hh,v 1.3 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Mag_SpinEqRhs.hh,v 1.4 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Mag_SpinEqRhs @@ -26,8 +26,8 @@ #include "G4Mag_EqRhs.hh" #include "G4MagneticField.hh" -class G4Mag_SpinEqRhs : public G4Mag_EqRhs{ - +class G4Mag_SpinEqRhs : public G4Mag_EqRhs +{ public: // with description G4Mag_SpinEqRhs( G4MagneticField* MagField ) @@ -35,9 +35,9 @@ class G4Mag_SpinEqRhs : public G4Mag_EqRhs{ ~G4Mag_SpinEqRhs() {;} // Constructor and destructor. No actions. - void SetChargeMomentumMass(const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double mass); + void SetChargeMomentumMass(G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double mass); void EvaluateRhsGivenB( const G4double y[], const G4double B[3], diff --git a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh index 8143ef7e4f..c1609d22db 100644 --- a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Mag_UsualEqRhs.hh,v 1.3 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Mag_UsualEqRhs diff --git a/source/geometry/magneticfield/include/G4MagneticField.hh b/source/geometry/magneticfield/include/G4MagneticField.hh index 096702cfda..dc03d82137 100644 --- a/source/geometry/magneticfield/include/G4MagneticField.hh +++ b/source/geometry/magneticfield/include/G4MagneticField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagneticField.hh,v 1.4 2000/05/10 12:36:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagneticField.hh,v 1.5 2000/11/01 15:15:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4MagneticField @@ -41,12 +41,12 @@ class G4MagneticField : public G4Field double *Bfield ) const = 0; }; -// Implementation +// Inline implementations inline G4MagneticField::G4MagneticField() {} inline G4MagneticField::~G4MagneticField() {} inline G4MagneticField::G4MagneticField(const G4MagneticField &) {} -inline G4MagneticField& G4MagneticField::operator = (const G4MagneticField &) - { return *this; } +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 532ab873db..f476fce9d9 100644 --- a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh +++ b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RKG3_Stepper.hh,v 1.4 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RKG3_Stepper.hh,v 1.5 2000/11/01 15:15:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4RKG3_Stepper @@ -36,7 +36,7 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper void Stepper( const G4double yIn[], const G4double dydx[], - const G4double h, + G4double h, G4double yOut[], G4double yErr[] ); // The method which must be provided, even if less efficient. @@ -45,7 +45,7 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper void StepNoErr( const G4double tIn[7], const G4double dydx[7], - const G4double Step, + G4double Step, G4double tOut[7], G4double B[3] ); // Integrator RK Stepper from G3 with only two field evaluation per @@ -55,7 +55,7 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper void StepWithEst( const G4double tIn[7], const G4double dydx[7], - const G4double Step, + G4double Step, G4double tOut[7], G4double& alpha2, // to delete ? G4double& beta2, @@ -68,11 +68,11 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper public: // without description - G4int IntegratorOrder() { return 4; }; + G4int IntegratorOrder() const { return 4; } protected: - // void Field( const double Point[3], - // double Bfield[3] ) const + // void Field( const G4double Point[3], + // G4double Bfield[3] ) const // { EqRhs-> GetFieldValue( Point, Bfield ) ; } private: diff --git a/source/geometry/magneticfield/include/G4SimpleHeum.hh b/source/geometry/magneticfield/include/G4SimpleHeum.hh index f4bd612e2f..809771f0c7 100644 --- a/source/geometry/magneticfield/include/G4SimpleHeum.hh +++ b/source/geometry/magneticfield/include/G4SimpleHeum.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SimpleHeum.hh,v 1.3 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SimpleHeum.hh,v 1.4 2000/11/01 15:15:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4SimpleHeum @@ -39,16 +39,16 @@ class G4SimpleHeum : public G4MagErrorStepper void DumbStepper( const G4double y[], const G4double dydx[], - const G4double h, + G4double h, G4double yout[]); public: // without description - G4int IntegratorOrder() { return 3; } + G4int IntegratorOrder() const { return 3; } private: - const G4int fNumberOfVariables; + G4int fNumberOfVariables; G4double* dydxTemp ; G4double* dydxTemp2 ; diff --git a/source/geometry/magneticfield/include/G4SimpleRunge.hh b/source/geometry/magneticfield/include/G4SimpleRunge.hh index 3464decb69..eb46b1c882 100644 --- a/source/geometry/magneticfield/include/G4SimpleRunge.hh +++ b/source/geometry/magneticfield/include/G4SimpleRunge.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SimpleRunge.hh,v 1.3 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SimpleRunge.hh,v 1.4 2000/11/01 15:15:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4SimpleRunge @@ -40,12 +40,12 @@ class G4SimpleRunge : public G4MagErrorStepper void DumbStepper( const G4double y[], const G4double dydx[], - const G4double h, + G4double h, G4double yout[]); public: // without description - G4int IntegratorOrder() { return 2; } + G4int IntegratorOrder() const { return 2; } private: diff --git a/source/geometry/magneticfield/include/G4UniformElectricField.hh b/source/geometry/magneticfield/include/G4UniformElectricField.hh index 8891197b6f..7ff15448b1 100644 --- a/source/geometry/magneticfield/include/G4UniformElectricField.hh +++ b/source/geometry/magneticfield/include/G4UniformElectricField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UniformElectricField.hh,v 1.3 2000/04/27 09:14:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UniformElectricField.hh,v 1.4 2000/11/01 15:15:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4UniformElectricField @@ -50,7 +50,8 @@ class G4UniformElectricField : public G4ElectroMagneticField G4double B[] ) const ; private: - G4double fFieldComponents[6] ; + + G4double fFieldComponents[6] ; }; #endif diff --git a/source/geometry/magneticfield/include/G4UniformMagField.hh b/source/geometry/magneticfield/include/G4UniformMagField.hh index 19f0997dc2..5722b2a572 100644 --- a/source/geometry/magneticfield/include/G4UniformMagField.hh +++ b/source/geometry/magneticfield/include/G4UniformMagField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UniformMagField.hh,v 1.3 2000/04/27 09:14:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UniformMagField.hh,v 1.4 2000/11/01 15:15:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4UniformMagField @@ -47,15 +47,16 @@ class G4UniformMagField : public G4MagneticField // Copy constructor and assignment operator. void GetFieldValue(const G4double yTrack[3] , - G4double *MagField ) const ; + G4double *MagField) const ; - void SetFieldValue( const G4ThreeVector& newFieldValue ); + void SetFieldValue(const G4ThreeVector& newFieldValue); G4ThreeVector GetConstantFieldValue() const; - // Return the field value + // Return the field value private: - G4double fFieldComponents[3] ; + + G4double fFieldComponents[3] ; }; #endif diff --git a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc index 7f50695a4e..9424ebb13e 100644 --- a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc +++ b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CashKarpRKF45.cc,v 1.4 1999/12/15 14:49:48 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CashKarpRKF45.cc,v 1.6 2000/11/20 17:29:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // The Cash-Karp Runge-Kutta-Fehlberg 4/5 method is an embedded fourth // order method (giving fifth-order accuracy) for the solution @@ -24,8 +24,8 @@ // // Constructor -G4CashKarpRKF45::G4CashKarpRKF45(G4Mag_EqRhs *EqRhs, G4int numberOfVariables): -G4MagIntegratorStepper(EqRhs, numberOfVariables) +G4CashKarpRKF45::G4CashKarpRKF45(G4Mag_EqRhs *EqRhs, G4int numberOfVariables) + : G4MagIntegratorStepper(EqRhs, numberOfVariables) { fNumberOfVariables = numberOfVariables ; @@ -67,16 +67,15 @@ G4CashKarpRKF45::~G4CashKarpRKF45() void G4CashKarpRKF45::Stepper(const G4double yInput[], const G4double dydx[], - const G4double Step, + 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; G4int i; - const G4double a2 = 0.2 , a3 = 0.3 , a4 = 0.6 , a5 = 1.0 , a6 = 0.875 , - - b21 = 0.2 , + const G4double b21 = 0.2 , b31 = 3.0/40.0 , b32 = 9.0/40.0 , b41 = 0.3 , b42 = -0.9 , b43 = 1.2 , @@ -156,7 +155,7 @@ G4CashKarpRKF45::Stepper(const G4double yInput[], void G4CashKarpRKF45::StepWithEst(const G4double yInput[], const G4double dydx[], - const G4double Step, + G4double Step, G4double yOut[], G4double& alpha2, G4double& beta2, diff --git a/source/geometry/magneticfield/src/G4ChordFinder.cc b/source/geometry/magneticfield/src/G4ChordFinder.cc index 3757916da3..2e3e9971d7 100644 --- a/source/geometry/magneticfield/src/G4ChordFinder.cc +++ b/source/geometry/magneticfield/src/G4ChordFinder.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ChordFinder.cc,v 1.14 2000/05/11 17:34:32 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ChordFinder.cc,v 1.16 2000/11/20 17:29:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // 25.02.97 John Apostolakis, design and implimentation @@ -70,9 +70,9 @@ G4ChordFinder::~G4ChordFinder() // ...................................................................... G4double -G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, - const G4double stepMax, - const G4double epsStep ) +G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, + G4double stepMax, + G4double epsStep ) { G4double stepPossible; G4double dyErr; @@ -122,7 +122,7 @@ G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, G4double G4ChordFinder::FindNextChord( const G4FieldTrack yStart, - const G4double stepMax, + G4double stepMax, G4FieldTrack& yEnd, // Endpoint G4double& dyErr, // Error of endpoint G4double epsStep ) @@ -138,7 +138,7 @@ G4ChordFinder::FindNextChord( const G4FieldTrack yStart, // 2.) Evaluate if resulting chord gives d_chord that is good enough. // 2a.) If d_chord is not good enough, find one that is. - G4bool validEndPoint= false, dbg= false; + G4bool validEndPoint= false; G4double dChordStep, oldStepTrial, stepOfLastGoodChord; fIntgrDriver-> GetDerivatives( yCurrent, dydx ) ; @@ -225,10 +225,9 @@ G4ChordFinder::FindNextChord( const G4FieldTrack yStart, // ........................................................................... -G4double G4ChordFinder::NewStep( - const G4double stepTrialOld, - const G4double dChordStep, // Current dchord achieved. - G4double& stepEstimate_Unconstrained ) +G4double G4ChordFinder::NewStep(G4double stepTrialOld, + G4double dChordStep, // Current dchord achieved. + G4double& stepEstimate_Unconstrained ) { G4double stepTrial; @@ -283,7 +282,7 @@ G4FieldTrack G4ChordFinder::ApproxCurvePointV( const G4FieldTrack& CurveA_PointVelocity, const G4FieldTrack& CurveB_PointVelocity, const G4ThreeVector& CurrentE_Point, - const G4double eps_step) + G4double eps_step) { // 1st implementation: // if r=|AE|/|AB|, and s=true path lenght (AB) diff --git a/source/geometry/magneticfield/src/G4ClassicalRK4.cc b/source/geometry/magneticfield/src/G4ClassicalRK4.cc index 907784488a..fc2835fe73 100644 --- a/source/geometry/magneticfield/src/G4ClassicalRK4.cc +++ b/source/geometry/magneticfield/src/G4ClassicalRK4.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClassicalRK4.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClassicalRK4.cc,v 1.3 2000/11/01 15:15:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4ClassicalRK4.hh" #include "G4ThreeVector.hh" @@ -16,9 +16,9 @@ // // Constructor sets the number of variables (default = 6) -G4ClassicalRK4:: G4ClassicalRK4(G4Mag_EqRhs *EqRhs, G4int numberOfVariables): -G4MagErrorStepper(EqRhs, numberOfVariables), - fNumberOfVariables(numberOfVariables) +G4ClassicalRK4::G4ClassicalRK4(G4Mag_EqRhs *EqRhs, G4int numberOfVariables) + : G4MagErrorStepper(EqRhs, numberOfVariables), + fNumberOfVariables(numberOfVariables) { dydxm = new G4double[fNumberOfVariables]; dydxt = new G4double[fNumberOfVariables]; @@ -29,7 +29,7 @@ G4MagErrorStepper(EqRhs, numberOfVariables), // // Destructor -G4ClassicalRK4:: ~G4ClassicalRK4() +G4ClassicalRK4::~G4ClassicalRK4() { delete[] dydxm; delete[] dydxt; @@ -49,8 +49,8 @@ G4ClassicalRK4:: ~G4ClassicalRK4() void G4ClassicalRK4::DumbStepper( const G4double yIn[], const G4double dydx[], - const G4double h, - G4double yOut[]) + G4double h, + G4double yOut[]) { const G4int nvar = fNumberOfVariables; // GetNumberOfVariables(); G4int i; @@ -93,8 +93,8 @@ G4ClassicalRK4::DumbStepper( const G4double yIn[], void G4ClassicalRK4::StepWithEst( const G4double yIn[], const G4double dydx[], - const G4double h, - G4double yOut[], + G4double h, + G4double yOut[], G4double& alpha2, G4double& beta2, const G4double B1[], @@ -104,7 +104,7 @@ G4ClassicalRK4::StepWithEst( const G4double yIn[], G4Exception(" G4ClassicalRK4::StepWithEst ERROR: this Method is no longer used."); #if 0 // const G4int nvar = 6 ; - const G4int nvar = GetNumberOfVariables(); + G4int nvar = GetNumberOfVariables(); G4int i; G4double hh = h*0.5 , h6 = h/6.0 ; G4double B[3] ; diff --git a/source/geometry/magneticfield/src/G4EqMagElectricField.cc b/source/geometry/magneticfield/src/G4EqMagElectricField.cc index fbf8e13625..cae616d610 100644 --- a/source/geometry/magneticfield/src/G4EqMagElectricField.cc +++ b/source/geometry/magneticfield/src/G4EqMagElectricField.cc @@ -10,22 +10,20 @@ #include "G4EqMagElectricField.hh" void -G4EqMagElectricField:: -SetChargeMomentumMass( const G4double particleCharge, // e+ units - const G4double MomentumXc, - const G4double particleMass) +G4EqMagElectricField::SetChargeMomentumMass(G4double particleCharge, // e+ units + G4double MomentumXc, + G4double particleMass) { fElectroMagCof = eplus*c_squared ; fElectroMagCof *= particleCharge/particleMass; - } void -G4EqMagElectricField::EvaluateRhsGivenB( const G4double y[], - const G4double Field[], - G4double dydx[] ) const +G4EqMagElectricField::EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const { // Components of y: diff --git a/source/geometry/magneticfield/src/G4EquationOfMotion.cc b/source/geometry/magneticfield/src/G4EquationOfMotion.cc index 422178a5f0..53e9e4a644 100644 --- a/source/geometry/magneticfield/src/G4EquationOfMotion.cc +++ b/source/geometry/magneticfield/src/G4EquationOfMotion.cc @@ -5,13 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EquationOfMotion.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EquationOfMotion.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4EquationOfMotion.hh" static const int G4maximum_number_of_field_components = 16; +G4EquationOfMotion::~G4EquationOfMotion() +{} + void G4EquationOfMotion::RightHandSide( const G4double y[], G4double dydx[] ) const diff --git a/source/geometry/magneticfield/src/G4ExplicitEuler.cc b/source/geometry/magneticfield/src/G4ExplicitEuler.cc index fb366f8e86..5cd8794290 100644 --- a/source/geometry/magneticfield/src/G4ExplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4ExplicitEuler.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ExplicitEuler.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ExplicitEuler.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Explicit Euler: x_1 = x_0 + h * dx_0 @@ -24,9 +24,9 @@ // Constructor G4ExplicitEuler::G4ExplicitEuler(G4Mag_EqRhs *EqRhs, - G4int numberOfVariables) : - G4MagErrorStepper(EqRhs, numberOfVariables), - fNumberOfVariables(numberOfVariables) + G4int numberOfVariables) + : G4MagErrorStepper(EqRhs, numberOfVariables), + fNumberOfVariables(numberOfVariables) { } @@ -37,7 +37,6 @@ G4ExplicitEuler::G4ExplicitEuler(G4Mag_EqRhs *EqRhs, G4ExplicitEuler::~G4ExplicitEuler() { - ; } @@ -48,7 +47,7 @@ G4ExplicitEuler::~G4ExplicitEuler() void G4ExplicitEuler::DumbStepper( const G4double yIn[], const G4double dydx[], - const G4double h, + G4double h, G4double yOut[] ) { // const G4int nvar = 6 ; diff --git a/source/geometry/magneticfield/src/G4FieldManager.cc b/source/geometry/magneticfield/src/G4FieldManager.cc index e34bab0f10..ff7453690b 100644 --- a/source/geometry/magneticfield/src/G4FieldManager.cc +++ b/source/geometry/magneticfield/src/G4FieldManager.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FieldManager.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FieldManager.cc,v 1.3 2000/11/09 18:06:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4FieldManager.hh" @@ -34,6 +34,8 @@ G4FieldManager::~G4FieldManager() void G4FieldManager::CreateChordFinder(G4MagneticField *detectorMagField) { + if ( fAllocatedChordFinder ) + delete fChordFinder; fChordFinder= new G4ChordFinder( detectorMagField ); fAllocatedChordFinder= true; } diff --git a/source/geometry/magneticfield/src/G4FieldTrack.cc b/source/geometry/magneticfield/src/G4FieldTrack.cc index 5dd4df6730..4cc8f45828 100644 --- a/source/geometry/magneticfield/src/G4FieldTrack.cc +++ b/source/geometry/magneticfield/src/G4FieldTrack.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4FieldTrack.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4FieldTrack.hh" diff --git a/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc b/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc index 8e9f440def..ee86953fab 100644 --- a/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HelixExplicitEuler.cc,v 1.3 2000/04/12 18:29:26 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HelixExplicitEuler.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixHeum.cc b/source/geometry/magneticfield/src/G4HelixHeum.cc index 5299dc2f8d..e158e45b1f 100644 --- a/source/geometry/magneticfield/src/G4HelixHeum.cc +++ b/source/geometry/magneticfield/src/G4HelixHeum.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HelixHeum.cc,v 1.3 2000/04/12 18:29:26 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HelixHeum.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc b/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc index 1ae0d4b151..a8ef7abf8c 100644 --- a/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HelixImplicitEuler.cc,v 1.3 2000/04/12 18:29:26 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HelixImplicitEuler.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc b/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc index e2968d0bd6..7e75823e94 100644 --- a/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc +++ b/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HelixSimpleRunge.cc,v 1.3 2000/04/12 18:29:26 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HelixSimpleRunge.cc,v 1.4 2000/11/20 17:29:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4HelixSimpleRunge.hh" #include "G4ThreeVector.hh" @@ -31,7 +31,6 @@ G4HelixSimpleRunge::DumbStepper( const G4double yIn[], G4double yOut[]) { const G4int nvar = 6 ; - G4double dydxTemp[nvar]; G4double yTemp[nvar]; // , yAdd[nvar]; G4ThreeVector Bfld_midpoint; diff --git a/source/geometry/magneticfield/src/G4ImplicitEuler.cc b/source/geometry/magneticfield/src/G4ImplicitEuler.cc index 0d2658d997..4f002f437f 100644 --- a/source/geometry/magneticfield/src/G4ImplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4ImplicitEuler.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ImplicitEuler.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ImplicitEuler.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Implicit Euler: @@ -43,7 +43,6 @@ G4MagErrorStepper(EqRhs, numberOfVariables), G4ImplicitEuler::~G4ImplicitEuler() { - ; } ////////////////////////////////////////////////////////////////////// @@ -53,7 +52,7 @@ G4ImplicitEuler::~G4ImplicitEuler() void G4ImplicitEuler::DumbStepper( const G4double yIn[], const G4double dydx[], - const G4double h, + G4double h, G4double yOut[]) { // const G4int nvar = 6 ; diff --git a/source/geometry/magneticfield/src/G4LineSection.cc b/source/geometry/magneticfield/src/G4LineSection.cc index 5ac5d57082..49246c0a13 100644 --- a/source/geometry/magneticfield/src/G4LineSection.cc +++ b/source/geometry/magneticfield/src/G4LineSection.cc @@ -5,18 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LineSection.cc,v 1.3 2000/02/25 16:57:15 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LineSection.cc,v 1.4 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // typedef double G4double; #include "G4LineSection.hh" G4LineSection::G4LineSection( const G4ThreeVector& PntA, - const G4ThreeVector& PntB ) + const G4ThreeVector& PntB ) + : EndpointA(PntA), + VecAtoB(PntB-PntA) { - EndpointA= PntA; - VecAtoB=PntB-PntA; G4double distABsquared = VecAtoB.mag2() ; if ( distABsquared == 0.0) { diff --git a/source/geometry/magneticfield/src/G4MagErrorStepper.cc b/source/geometry/magneticfield/src/G4MagErrorStepper.cc index 8f05c22112..c0e2e97440 100644 --- a/source/geometry/magneticfield/src/G4MagErrorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagErrorStepper.cc @@ -5,19 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagErrorStepper.cc,v 1.7 2000/05/09 11:41:00 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagErrorStepper.cc,v 1.8 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4MagErrorStepper.hh" #include "G4ThreeVector.hh" #include "G4LineSection.hh" +G4MagErrorStepper::~G4MagErrorStepper() +{ + delete[] yMiddle; + delete[] dydxMid; + delete[] yInitial; + delete[] yOneStep; +} + void G4MagErrorStepper::Stepper( const G4double yInput[], - const G4double dydx[], - const G4double hstep, - G4double yOutput[], - G4double yError [] ) + const G4double dydx[], + G4double hstep, + G4double yOutput[], + G4double yError [] ) { const G4int nvar = this->GetNumberOfVariables() ; @@ -59,7 +67,7 @@ G4MagErrorStepper::Stepper( const G4double yInput[], G4double -G4MagErrorStepper::DistChord() const +G4MagErrorStepper::DistChord() const { // Estimate the maximum distance from the curve to the chord // diff --git a/source/geometry/magneticfield/src/G4MagHelicalStepper.cc b/source/geometry/magneticfield/src/G4MagHelicalStepper.cc index 6d5470b402..349ba0b177 100644 --- a/source/geometry/magneticfield/src/G4MagHelicalStepper.cc +++ b/source/geometry/magneticfield/src/G4MagHelicalStepper.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagHelicalStepper.cc,v 1.4 2000/04/12 18:29:26 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagHelicalStepper.cc,v 1.6 2000/11/20 17:29:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4MagHelicalStepper.hh" #include "G4ThreeVector.hh" @@ -25,6 +25,10 @@ G4MagHelicalStepper::G4MagHelicalStepper(G4Mag_EqRhs *EqRhs) fPtrMagEqOfMot = EqRhs; } +G4MagHelicalStepper::~G4MagHelicalStepper() +{ +} + void G4MagHelicalStepper::AdvanceHelix( const G4double yIn[], G4ThreeVector Bfld, @@ -125,16 +129,16 @@ G4MagHelicalStepper::AdvanceHelix( const G4double yIn[], void G4MagHelicalStepper::Stepper( const G4double yInput[], - const G4double dydx[], - const G4double hstep, - G4double yOut[], - G4double yErr[] ) + const G4double dydx[], + G4double hstep, + G4double yOut[], + G4double yErr[] ) { const G4int nvar = 6 ; G4int i; // correction for Richardson Extrapolation. - G4double correction = 1. / ( (1 << IntegratorOrder()) -1 ); + // G4double correction = 1. / ( (1 << IntegratorOrder()) -1 ); G4double yTemp[7], yIn[7] ; G4ThreeVector Bfld_initial, Bfld_midpoint; @@ -182,7 +186,7 @@ G4MagHelicalStepper::Stepper( const G4double yInput[], G4double -G4MagHelicalStepper::DistChord() const +G4MagHelicalStepper::DistChord() const { // Soon: must check whether h/R > 2 pi !! // Method below is good only for < 2 pi diff --git a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc index 4504416198..7c300c79dd 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorDriver.cc,v 1.12 2000/05/09 11:51:47 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorDriver.cc,v 1.14 2000/11/20 17:29:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // @@ -23,8 +23,7 @@ #include "G4ios.hh" #include "G4MagIntegratorDriver.hh" #include "G4FieldTrack.hh" -#include "geomdefs.hh" - // for kCarTolerance +#include "geomdefs.hh" // for kCarTolerance // Stepsize can increase by no more than 5.0 // and decrease by no more than 1/10. = 0.1 @@ -33,14 +32,31 @@ const G4double G4MagInt_Driver::max_stepping_increase = 5.0; const G4double G4MagInt_Driver::max_stepping_decrease = 0.1; // The (default) maximum number of steps is Base divided by the order of Stepper +// const G4int G4MagInt_Driver::fMaxStepBase = 5000; +// Constructor +// +G4MagInt_Driver::G4MagInt_Driver( G4double hminimum, + G4MagIntegratorStepper *pItsStepper, + G4int numComponents) + : nvar(numComponents) +{ + RenewStepperAndAdjust( pItsStepper ); + hminimum_val= hminimum; + fMaxNoSteps = fMaxStepBase / pIntStepper->IntegratorOrder(); +} + +// Destructor +// +G4MagInt_Driver::~G4MagInt_Driver() +{ +} + G4bool -G4MagInt_Driver::AccurateAdvance( - G4FieldTrack& y_current, - const G4double hstep, - const G4double eps - ) +G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, + G4double hstep, + G4double eps ) // const G4double dydx[6], // We could may add this ?? // Runge-Kutta driver with adaptive stepsize control. Integrate starting @@ -84,7 +100,7 @@ G4MagInt_Driver::AccurateAdvance( G4bool lastStep= false; nstp=1; - G4double lastStepThreshold = G4std::min( eps * hstep, Hmin() ); + // G4double lastStepThreshold = G4std::min( eps * hstep, Hmin() ); do{ G4ThreeVector StartPos( y[0], y[1], y[2] ); @@ -242,8 +258,8 @@ void G4MagInt_Driver::OneGoodStep( G4double y[], const G4double dydx[], G4double& x, - const G4double htry, - const G4double eps_rel_max, + G4double htry, + G4double eps_rel_max, G4double& hdid, G4double& hnext ) @@ -326,11 +342,11 @@ G4MagInt_Driver::OneGoodStep( G4double y[], // QuickAdvance just tries one Step - it does not ensure accuracy // G4bool G4MagInt_Driver::QuickAdvance( - G4FieldTrack& y_posvel, // INOUT - const G4double dydx[], - G4double hstep, // In - G4double& dchord_step, - G4double& dyerr ) + G4FieldTrack& y_posvel, // INOUT + const G4double dydx[], + G4double hstep, // In + G4double& dchord_step, + G4double& dyerr ) { G4double yerr_vec[G4FieldTrack::ncompSVEC], yarrin[G4FieldTrack::ncompSVEC], yarrout[G4FieldTrack::ncompSVEC]; G4double s_start; diff --git a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc index 0ff744f272..95eef70cba 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4MagIntegratorStepper.cc,v 1.3 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4MagIntegratorStepper.cc,v 1.4 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4MagIntegratorStepper.hh" @@ -15,8 +15,16 @@ G4MagIntegratorStepper::G4MagIntegratorStepper(G4Mag_EqRhs *EqRhs, G4int num_var) + : fEquation_Rhs(EqRhs), + fNumberOfVariables(num_var) { - fEquation_Rhs= EqRhs; - fNumberOfVariables = num_var; } +G4MagIntegratorStepper::~G4MagIntegratorStepper() +{ +} + +void G4MagIntegratorStepper::RightHandSide( const double y[], double dydx[] ) +{ + fEquation_Rhs-> RightHandSide(y, dydx); +} diff --git a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc index c6eec36f42..56fe271e4d 100644 --- a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Mag_EqRhs.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Mag_EqRhs.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // This is the standard right-hand side for equation of motion // in a pure Magnetic Field . @@ -31,9 +31,9 @@ G4Mag_EqRhs::G4Mag_EqRhs( G4MagneticField *magField ) } void -G4Mag_EqRhs::SetChargeMomentumMass( const G4double particleCharge, // e+ units - const G4double MomentumXc, - const G4double particleMass) +G4Mag_EqRhs::SetChargeMomentumMass( G4double particleCharge, // e+ units + G4double MomentumXc, + G4double particleMass) { fCof_val = fUnitConstant*particleCharge/MomentumXc; // B must be in Tesla // fMass = particleMass; diff --git a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc index 6ec5a95f95..02f4eab09d 100644 --- a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc @@ -12,9 +12,9 @@ #include "globals.hh" void -G4Mag_SpinEqRhs::SetChargeMomentumMass(const G4double particleCharge, // in e+ units - const G4double MomentumXc, - const G4double mass) +G4Mag_SpinEqRhs::SetChargeMomentumMass(G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double mass) { // To set fCof_val G4Mag_EqRhs::SetChargeMomentumMass(particleCharge, MomentumXc, mass); diff --git a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc index 136010652f..115a45b5e5 100644 --- a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Mag_UsualEqRhs.cc,v 1.2 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // This is the standard right-hand side for equation of motion. diff --git a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc index d57fc64141..141506734a 100644 --- a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc +++ b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RKG3_Stepper.cc,v 1.3 2000/05/09 11:54:23 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RKG3_Stepper.cc,v 1.5 2000/11/20 17:29:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4RKG3_Stepper.hh" #include "G4ThreeVector.hh" @@ -14,14 +14,14 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], const G4double dydx[7], - const G4double Step, + G4double Step, G4double yOut[7], G4double yErr[]) { G4double B[3]; // G4double yderiv[6]; // G4double alpha2, beta2; - const G4int nvar = 6 ; + G4int nvar = 6 ; // G4double beTemp2, beta2=0; G4int i; @@ -84,7 +84,7 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], void G4RKG3_Stepper::StepWithEst( const G4double tIn[7], const G4double dydx[7], - const G4double Step, + G4double Step, G4double tOut[7], G4double& alpha2, G4double& beta2, @@ -96,7 +96,7 @@ void G4RKG3_Stepper::StepWithEst( const G4double tIn[7], G4Exception(" G4RKG3_Stepper::StepWithEst ERROR: this Method is no longer used."); #if 0 -// const G4int nvar = 6 ; +// G4int nvar = 6 ; G4double K1[7],K2[7],K3[7],K4[7] ; G4double tTemp[7], yderiv[6] ; G4double B[3]; @@ -170,9 +170,9 @@ void G4RKG3_Stepper::StepWithEst( const G4double tIn[7], void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], const G4double dydx[7], - const G4double Step, - G4double tOut[7], - G4double B[3] ) // const + G4double Step, + G4double tOut[7], + G4double B[3] ) // const { // Copy and edit the routine above, to delete alpha2, beta2, ... @@ -212,7 +212,6 @@ void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], // Calculates y-deriv(atives) & returns B too! GetEquationOfMotion()->EvaluateRhsReturnB(tTemp,yderiv,B) ; - G4double drds2 = 0 ; for(i=0;i<3;i++) // Output trajectory vector { K4[i] = Step * yderiv[i+3]; diff --git a/source/geometry/magneticfield/src/G4SimpleHeum.cc b/source/geometry/magneticfield/src/G4SimpleHeum.cc index 39bea6dc7a..bd025850e7 100644 --- a/source/geometry/magneticfield/src/G4SimpleHeum.cc +++ b/source/geometry/magneticfield/src/G4SimpleHeum.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SimpleHeum.cc,v 1.3 1999/12/15 14:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SimpleHeum.cc,v 1.4 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Simple Heum: // x_1 = x_0 + h * @@ -56,9 +56,9 @@ G4SimpleHeum::~G4SimpleHeum() void G4SimpleHeum::DumbStepper( const G4double yIn[], - const G4double dydx[], - const G4double h, - G4double yOut[]) + const G4double dydx[], + G4double h, + G4double yOut[]) { // const G4int nvar = 6 ; diff --git a/source/geometry/magneticfield/src/G4SimpleRunge.cc b/source/geometry/magneticfield/src/G4SimpleRunge.cc index 0365cd6632..0231be1218 100644 --- a/source/geometry/magneticfield/src/G4SimpleRunge.cc +++ b/source/geometry/magneticfield/src/G4SimpleRunge.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SimpleRunge.cc,v 1.2 1999/12/15 14:49:50 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SimpleRunge.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Simple Runge: // @@ -29,9 +29,9 @@ // // Constructor -G4SimpleRunge::G4SimpleRunge(G4Mag_EqRhs *EqRhs, G4int numberOfVariables): -G4MagErrorStepper(EqRhs, numberOfVariables), - fNumberOfVariables(numberOfVariables) +G4SimpleRunge::G4SimpleRunge(G4Mag_EqRhs *EqRhs, G4int numberOfVariables) + : G4MagErrorStepper(EqRhs, numberOfVariables), + fNumberOfVariables(numberOfVariables) { dydxTemp = new G4double[fNumberOfVariables] ; yTemp = new G4double[fNumberOfVariables] ; @@ -55,7 +55,7 @@ G4SimpleRunge::~G4SimpleRunge() void G4SimpleRunge::DumbStepper( const G4double yIn[], const G4double dydx[], - const G4double h, + G4double h, G4double yOut[]) { // const G4int nvar = 6 ; diff --git a/source/geometry/magneticfield/src/G4UniformElectricField.cc b/source/geometry/magneticfield/src/G4UniformElectricField.cc index 0daf3d0d50..73078095d6 100644 --- a/source/geometry/magneticfield/src/G4UniformElectricField.cc +++ b/source/geometry/magneticfield/src/G4UniformElectricField.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UniformElectricField.cc,v 1.2 1999/12/15 14:49:50 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/source/geometry/magneticfield/src/G4UniformMagField.cc b/source/geometry/magneticfield/src/G4UniformMagField.cc index 3e5677b355..2022a94146 100644 --- a/source/geometry/magneticfield/src/G4UniformMagField.cc +++ b/source/geometry/magneticfield/src/G4UniformMagField.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UniformMagField.cc,v 1.2 1999/12/15 14:49:50 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UniformMagField.cc,v 1.3 2000/11/01 15:15:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // @@ -64,6 +64,7 @@ G4UniformMagField::G4UniformMagField (const G4UniformMagField &p) G4UniformMagField& G4UniformMagField::operator = (const G4UniformMagField &p) { + if (&p == this) return *this; for (G4int i=0; i<3; i++) fFieldComponents[i] = p.fFieldComponents[i]; return *this; diff --git a/source/geometry/management/History b/source/geometry/management/History index 95fb97794d..5af1884def 100644 --- a/source/geometry/management/History +++ b/source/geometry/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2000/06/06 13:18:51 gcosmo Exp $ +$Id: History,v 1.15 2000/11/20 17:31:33 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,38 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 20, 2000 G. Cosmo geommng-V02-00-04 +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +November 16, 2000 V.Grichine geommng-V02-00-03 +- Fix in G4VSolid::CalculateClippedPoligonExtent(): removed assumption + that pMinGetMother(); G4VPhysicalVolume *pMotherPhys; G4LogicalVolume *pDaughterLogical; @@ -68,124 +77,153 @@ inline void G4LogicalVolume::AddDaughter(G4VPhysicalVolume* pNewDaughter) ( pMotherPhys==0) && (fFastSimulationManager!=0)) { if(pDaughterLogical->GetFastSimulationManager() != fFastSimulationManager) - pDaughterLogical-> - SetFastSimulationManager(fFastSimulationManager,FALSE); + pDaughterLogical->SetFastSimulationManager(fFastSimulationManager, + FALSE); } - else { + else + { pDaughterLogical->SetFastSimulationManager(NULL,FALSE); } } - // Propagate the Field Manager, if the daughter has no field Manager. - pDaughterLogical = pNewDaughter->GetLogicalVolume(); - G4FieldManager* pDaughterFieldManager = pDaughterLogical->GetFieldManager(); + // Propagate the Field Manager, if the daughter has no field Manager. - if( pDaughterFieldManager == 0 ){ - pDaughterLogical->SetFieldManager(fFieldManager, - true); + pDaughterLogical = pNewDaughter->GetLogicalVolume(); + G4FieldManager* pDaughterFieldManager = + pDaughterLogical->GetFieldManager(); + + if( pDaughterFieldManager == 0 ) + { + pDaughterLogical->SetFieldManager(fFieldManager, true); } - } -inline G4bool G4LogicalVolume::IsDaughter(const G4VPhysicalVolume* p) const +inline +G4bool G4LogicalVolume::IsDaughter(const G4VPhysicalVolume* p) const { return fDaughters.contains(p); } -inline void G4LogicalVolume::RemoveDaughter(const G4VPhysicalVolume* p) +inline +void G4LogicalVolume::RemoveDaughter(const G4VPhysicalVolume* p) { fDaughters.remove(p); fDaughters.resize(fDaughters.entries()); } -inline G4VSolid* G4LogicalVolume::GetSolid() const +inline +G4VSolid* G4LogicalVolume::GetSolid() const { return fSolid; } -inline void G4LogicalVolume::SetSolid(G4VSolid *pSolid) +inline +void G4LogicalVolume::SetSolid(G4VSolid *pSolid) { assert(pSolid != 0); fSolid=pSolid; } -inline G4Material* G4LogicalVolume::GetMaterial() const +inline +G4Material* G4LogicalVolume::GetMaterial() const { return fMaterial; } -inline void G4LogicalVolume::SetMaterial(G4Material *pMaterial) +inline +void G4LogicalVolume::SetMaterial(G4Material *pMaterial) { // assert(pMaterial != 0); fMaterial=pMaterial; } -inline G4VSensitiveDetector* G4LogicalVolume::GetSensitiveDetector() const +inline +G4VSensitiveDetector* G4LogicalVolume::GetSensitiveDetector() const { return fSensitiveDetector; } -inline void G4LogicalVolume::SetSensitiveDetector(G4VSensitiveDetector *pSDetector) +inline +void G4LogicalVolume::SetSensitiveDetector(G4VSensitiveDetector *pSDetector) { fSensitiveDetector=pSDetector; } -inline G4UserLimits* G4LogicalVolume::GetUserLimits() const +inline +G4UserLimits* G4LogicalVolume::GetUserLimits() const { return fUserLimits; } -inline void G4LogicalVolume::SetUserLimits(G4UserLimits *pULimits) +inline +void G4LogicalVolume::SetUserLimits(G4UserLimits *pULimits) { fUserLimits=pULimits; } -inline G4SmartVoxelHeader* G4LogicalVolume::GetVoxelHeader() const +inline +G4SmartVoxelHeader* G4LogicalVolume::GetVoxelHeader() const { return fVoxel; } -inline void G4LogicalVolume::SetVoxelHeader(G4SmartVoxelHeader *pVoxel) +inline +void G4LogicalVolume::SetVoxelHeader(G4SmartVoxelHeader *pVoxel) { fVoxel=pVoxel; } -inline G4double G4LogicalVolume::GetSmartless() +inline +G4double G4LogicalVolume::GetSmartless() { return fSmartless; } -inline void G4LogicalVolume::SetSmartless(G4double s) +inline +void G4LogicalVolume::SetSmartless(G4double s) { fSmartless=s; } -inline G4bool G4LogicalVolume::operator == ( const G4LogicalVolume& lv) const +inline +G4bool G4LogicalVolume::operator == ( const G4LogicalVolume& lv) const { return (this==&lv) ? true : false; } -inline const G4VisAttributes* G4LogicalVolume::GetVisAttributes () const { - return fVisAttributes; -} +inline +const G4VisAttributes* G4LogicalVolume::GetVisAttributes () const + { + return fVisAttributes; + } -inline void G4LogicalVolume::SetVisAttributes (const G4VisAttributes* pVA) { - fVisAttributes = pVA; -} +inline +void G4LogicalVolume::SetVisAttributes (const G4VisAttributes* pVA) + { + fVisAttributes = pVA; + } -inline void G4LogicalVolume::SetVisAttributes (const G4VisAttributes& VA) { - fVisAttributes = &VA; -} +inline +void G4LogicalVolume::SetVisAttributes (const G4VisAttributes& VA) + { + fVisAttributes = &VA; + } inline void -G4LogicalVolume::BecomeEnvelopeForFastSimulation(G4FastSimulationManager* pPA) { - SetFastSimulationManager(pPA,TRUE); -} +G4LogicalVolume::BecomeEnvelopeForFastSimulation(G4FastSimulationManager* pPA) + { + SetFastSimulationManager(pPA,TRUE); + } -inline void G4LogicalVolume::SetBiasWeight(G4double w) -{ fBiasWeight = w; } - -inline G4double G4LogicalVolume::GetBiasWeight() const -{ return fBiasWeight; } +inline +void G4LogicalVolume::SetBiasWeight(G4double w) + { + fBiasWeight = w; + } +inline +G4double G4LogicalVolume::GetBiasWeight() const + { + return fBiasWeight; + } diff --git a/source/geometry/management/include/G4LogicalVolumeStore.hh b/source/geometry/management/include/G4LogicalVolumeStore.hh index 8d9190bbbe..275692852e 100644 --- a/source/geometry/management/include/G4LogicalVolumeStore.hh +++ b/source/geometry/management/include/G4LogicalVolumeStore.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LogicalVolumeStore.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4LogicalVolumeStore // diff --git a/source/geometry/management/include/G4PVParameterised.hh b/source/geometry/management/include/G4PVParameterised.hh index f2a600fe13..f958e9189f 100644 --- a/source/geometry/management/include/G4PVParameterised.hh +++ b/source/geometry/management/include/G4PVParameterised.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PVParameterised.hh,v 1.3 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PVParameterised.hh,v 1.4 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVParameterised @@ -49,6 +49,9 @@ class G4PVParameterised : public G4PVReplica // Almost exactly similar to first constructor, changing only mother // pointer's type to LogicalVolume. + virtual ~G4PVParameterised(); + // Virtual empty destructor. + virtual G4VPVParameterisation* GetParameterisation() const; // Returns the current pointer to the parameterisation. diff --git a/source/geometry/management/include/G4PVPlacement.hh b/source/geometry/management/include/G4PVPlacement.hh index ec2f91b498..aafdd0f971 100644 --- a/source/geometry/management/include/G4PVPlacement.hh +++ b/source/geometry/management/include/G4PVPlacement.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PVPlacement.hh,v 1.3 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PVPlacement.hh,v 1.4 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVPlacement @@ -93,7 +93,7 @@ class G4PVPlacement : public G4VPhysicalVolume G4int pCopyNo); // Utilises both variations above (from 2nd and 3rd constructor). - ~G4PVPlacement(); + virtual ~G4PVPlacement(); // Default destructor. virtual G4int GetCopyNo() const; @@ -117,14 +117,21 @@ class G4PVPlacement : public G4VPhysicalVolume private: - G4bool fmany; // flag for booleans/MANY - not used - G4bool fallocatedRotM; // flag for allocation of Rotation Matrix - G4int fcopyNo; // for identification - static G4RotationMatrix* NewPtrRotMatrix(const G4RotationMatrix &RotMat); // Auxiliary function for 2nd constructor (one with G4Transform3D). // Creates a new RotMatrix on the heap (using "new") and copies // its argument into it. + + G4PVPlacement(const G4PVPlacement&); + G4PVPlacement& operator=(const G4PVPlacement&); + // Private copy constructor and assignement operator. + + private: + + G4bool fmany; // flag for booleans/MANY - not used + G4bool fallocatedRotM; // flag for allocation of Rotation Matrix + G4int fcopyNo; // for identification + }; #endif diff --git a/source/geometry/management/include/G4PVReplica.hh b/source/geometry/management/include/G4PVReplica.hh index bb0f2641f7..dafb2445ea 100644 --- a/source/geometry/management/include/G4PVReplica.hh +++ b/source/geometry/management/include/G4PVReplica.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PVReplica.hh,v 1.3 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PVReplica.hh,v 1.4 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVReplica @@ -67,7 +67,7 @@ class G4PVReplica : public G4VPhysicalVolume { - public: + public: // with description G4PVReplica(const G4String& pName, G4LogicalVolume* pLogical, @@ -85,7 +85,7 @@ class G4PVReplica : public G4VPhysicalVolume const G4double width, const G4double offset=0); - ~G4PVReplica(); + virtual ~G4PVReplica(); virtual G4bool IsMany() const; virtual G4int GetCopyNo() const; @@ -106,6 +106,10 @@ class G4PVReplica : public G4VPhysicalVolume const G4int nReplicas, const G4double width, const G4double offset); + + G4PVReplica(const G4PVReplica&); + const G4PVReplica& operator=(const G4PVReplica&); + protected: EAxis faxis; diff --git a/source/geometry/management/include/G4PhysicalVolumeStore.hh b/source/geometry/management/include/G4PhysicalVolumeStore.hh index 5f528621ac..7c8798841c 100644 --- a/source/geometry/management/include/G4PhysicalVolumeStore.hh +++ b/source/geometry/management/include/G4PhysicalVolumeStore.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicalVolumeStore.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicalVolumeStore.hh,v 1.5 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4PhysicalVolume // diff --git a/source/geometry/management/include/G4SmartVoxelHeader.hh b/source/geometry/management/include/G4SmartVoxelHeader.hh index 69bd894fa2..23d16d3001 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.hh +++ b/source/geometry/management/include/G4SmartVoxelHeader.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SmartVoxelHeader.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4SmartVoxelHeader // diff --git a/source/geometry/management/include/G4SmartVoxelHeader.icc b/source/geometry/management/include/G4SmartVoxelHeader.icc index 7707a009ed..9cd9e02b86 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.icc +++ b/source/geometry/management/include/G4SmartVoxelHeader.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SmartVoxelHeader.icc,v 1.1 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4SmartVoxelHeader Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelNode.hh b/source/geometry/management/include/G4SmartVoxelNode.hh index 2f2f73b521..7078e1ad5b 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.hh +++ b/source/geometry/management/include/G4SmartVoxelNode.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SmartVoxelNode.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4SmartVoxelNode // diff --git a/source/geometry/management/include/G4SmartVoxelNode.icc b/source/geometry/management/include/G4SmartVoxelNode.icc index c9b7bc42f8..ab58e92d10 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.icc +++ b/source/geometry/management/include/G4SmartVoxelNode.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SmartVoxelNode.icc,v 1.1 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4SmartVoxelNode Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelProxy.hh b/source/geometry/management/include/G4SmartVoxelProxy.hh index e466deae45..749399851b 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.hh +++ b/source/geometry/management/include/G4SmartVoxelProxy.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SmartVoxelProxy.hh,v 1.3 2000/04/20 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SmartVoxelProxy.hh,v 1.4 2000/11/20 17:31:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4SmartVoxelProxy // @@ -67,8 +67,8 @@ class G4SmartVoxelProxy private: - G4SmartVoxelNode* fNode; G4SmartVoxelHeader* fHeader; + G4SmartVoxelNode* fNode; }; #include "G4SmartVoxelProxy.icc" diff --git a/source/geometry/management/include/G4SmartVoxelProxy.icc b/source/geometry/management/include/G4SmartVoxelProxy.icc index ec3bb27f56..fa45b119d2 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.icc +++ b/source/geometry/management/include/G4SmartVoxelProxy.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SmartVoxelProxy.icc,v 1.1 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4SmartVoxelProxy Inline implementation diff --git a/source/geometry/management/include/G4SolidStore.hh b/source/geometry/management/include/G4SolidStore.hh index 93e510d53d..be779f281f 100644 --- a/source/geometry/management/include/G4SolidStore.hh +++ b/source/geometry/management/include/G4SolidStore.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SolidStore.hh,v 1.4 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4SolidStore // diff --git a/source/geometry/management/include/G4VPVParameterisation.hh b/source/geometry/management/include/G4VPVParameterisation.hh index 6333935cc9..f2e0bc7b6a 100644 --- a/source/geometry/management/include/G4VPVParameterisation.hh +++ b/source/geometry/management/include/G4VPVParameterisation.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VPVParameterisation.hh,v 1.3 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4VPVParamterisation // diff --git a/source/geometry/management/include/G4VPhysicalVolume.hh b/source/geometry/management/include/G4VPhysicalVolume.hh index 8f45d51ea8..4e87a264f8 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.hh +++ b/source/geometry/management/include/G4VPhysicalVolume.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VPhysicalVolume.hh,v 1.4 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VPhysicalVolume.hh,v 1.5 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VPhysicalVolume @@ -61,8 +61,8 @@ class G4VPhysicalVolume virtual ~G4VPhysicalVolume(); // Destructor, will be subclassed. Removes volume from volume Store. - G4bool operator == (const G4VPhysicalVolume& p) const; - // Define equality by equal addresses only. + inline G4bool operator == (const G4VPhysicalVolume& p) const; + // Equality defined by equal addresses only. // Access functions @@ -70,44 +70,44 @@ class G4VPhysicalVolume // between whether the rotation/translation is being made for the // frame or the object/volume that is being placed. // (They are the inverse of each other). - G4RotationMatrix* GetObjectRotation() const; // Obsolete - G4RotationMatrix GetObjectRotationValue() const; // Replacement - G4ThreeVector GetObjectTranslation() const; + G4RotationMatrix* GetObjectRotation() const; // Obsolete + inline G4RotationMatrix GetObjectRotationValue() const; // Replacement + inline G4ThreeVector GetObjectTranslation() const; // Return the rotation/translation of the Object relative to the mother. - const G4RotationMatrix* GetFrameRotation() const; - G4ThreeVector GetFrameTranslation() const; + inline const G4RotationMatrix* GetFrameRotation() const; + inline G4ThreeVector GetFrameTranslation() const; // Return the rotation/translation of the Frame used to position // this volume in its mother volume (opposite of object rot/trans). // Older access functions, that do not distinguish between frame/object! - const G4ThreeVector& GetTranslation() const; - const G4RotationMatrix* GetRotation() const; + inline const G4ThreeVector& GetTranslation() const; + inline const G4RotationMatrix* GetRotation() const; // Old access functions, that do not distinguish between frame/object! // They return the translation/rotation of the volume. // Set functions - void SetTranslation(const G4ThreeVector &v); - G4RotationMatrix* GetRotation(); - void SetRotation(G4RotationMatrix*); + inline void SetTranslation(const G4ThreeVector &v); + inline G4RotationMatrix* GetRotation(); + inline void SetRotation(G4RotationMatrix*); // NOT INTENDED FOR GENERAL USE. // Non constant versions of above. Used to change transformation // for replication/parameterisation mechanism. - G4LogicalVolume* GetLogicalVolume() const; + inline G4LogicalVolume* GetLogicalVolume() const; // Return the associated logical volume. - void SetLogicalVolume(G4LogicalVolume *pLogical); + inline void SetLogicalVolume(G4LogicalVolume *pLogical); // Set the logical volume. Must not be called when geometry closed. - G4VPhysicalVolume* GetMother() const; + inline G4VPhysicalVolume* GetMother() const; // Return the current mother pointer. - void SetMother(G4VPhysicalVolume *pMother); + inline void SetMother(G4VPhysicalVolume *pMother); // Set the mother volume. Must not be called when geometry closed. - G4String GetName() const; + inline G4String GetName() const; // Return the volume's name. - void SetName(const G4String& pName); + inline void SetName(const G4String& pName); // Set the volume's name. // Functions required of subclasses @@ -135,6 +135,12 @@ class G4VPhysicalVolume // [Set the current mother pointer to refer to the specified mother, // by calling SetMother] + private: + + G4VPhysicalVolume(const G4VPhysicalVolume&); + G4VPhysicalVolume& operator=(const G4VPhysicalVolume&); + // Private copy constructor and assignment operator. + protected: G4RotationMatrix *frot; diff --git a/source/geometry/management/include/G4VPhysicalVolume.icc b/source/geometry/management/include/G4VPhysicalVolume.icc index 182f2ba7ca..3465efd717 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.icc +++ b/source/geometry/management/include/G4VPhysicalVolume.icc @@ -5,72 +5,87 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VPhysicalVolume.icc,v 1.3 1999/12/15 14:49:51 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VPhysicalVolume.icc,v 1.4 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VPhysicalVolume Inline Implementation // -// Define equality by equal addresses only. -inline G4bool G4VPhysicalVolume::operator == (const G4VPhysicalVolume& p) const +inline +G4bool G4VPhysicalVolume::operator == (const G4VPhysicalVolume& p) const { return (this==&p) ? true : false; } -// Access functions -inline const G4ThreeVector& G4VPhysicalVolume::GetTranslation() const +inline +const G4ThreeVector& G4VPhysicalVolume::GetTranslation() const { return ftrans; } -inline void G4VPhysicalVolume::SetTranslation(const G4ThreeVector &v) + +inline +void G4VPhysicalVolume::SetTranslation(const G4ThreeVector &v) { ftrans=v; } -inline const G4RotationMatrix* G4VPhysicalVolume::GetRotation() const + +inline +const G4RotationMatrix* G4VPhysicalVolume::GetRotation() const { return frot; } -inline G4RotationMatrix* G4VPhysicalVolume::GetRotation() + +inline +G4RotationMatrix* G4VPhysicalVolume::GetRotation() { return frot; } -inline void G4VPhysicalVolume::SetRotation(G4RotationMatrix *pRot) + +inline +void G4VPhysicalVolume::SetRotation(G4RotationMatrix *pRot) { frot=pRot; } -inline G4LogicalVolume* G4VPhysicalVolume::GetLogicalVolume() const +inline +G4LogicalVolume* G4VPhysicalVolume::GetLogicalVolume() const { return flogical; } -inline void G4VPhysicalVolume::SetLogicalVolume(G4LogicalVolume *pLogical) +inline +void G4VPhysicalVolume::SetLogicalVolume(G4LogicalVolume *pLogical) { flogical=pLogical; } -inline G4VPhysicalVolume* G4VPhysicalVolume::GetMother() const +inline +G4VPhysicalVolume* G4VPhysicalVolume::GetMother() const { return fmother; } -inline void G4VPhysicalVolume::SetMother(G4VPhysicalVolume *pMother) +inline +void G4VPhysicalVolume::SetMother(G4VPhysicalVolume *pMother) { fmother=pMother; } -inline G4String G4VPhysicalVolume::GetName() const +inline +G4String G4VPhysicalVolume::GetName() const { return fname; } -inline void G4VPhysicalVolume::SetName(const G4String& pName) +inline +void G4VPhysicalVolume::SetName(const G4String& pName) { fname=pName; } -inline G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue() const +inline +G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue() const { G4RotationMatrix aRotM; // Initialised to identity @@ -81,15 +96,21 @@ inline G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue() const } return aRotM; } -inline G4ThreeVector G4VPhysicalVolume::GetObjectTranslation() const + +inline +G4ThreeVector G4VPhysicalVolume::GetObjectTranslation() const { return ftrans; } -inline const G4RotationMatrix* G4VPhysicalVolume::GetFrameRotation() const + +inline +const G4RotationMatrix* G4VPhysicalVolume::GetFrameRotation() const { return frot; } -inline G4ThreeVector G4VPhysicalVolume::GetFrameTranslation() const + +inline +G4ThreeVector G4VPhysicalVolume::GetFrameTranslation() const { return -ftrans; } diff --git a/source/geometry/management/include/G4VSolid.hh b/source/geometry/management/include/G4VSolid.hh index 7e112e74a8..693b25d5d7 100644 --- a/source/geometry/management/include/G4VSolid.hh +++ b/source/geometry/management/include/G4VSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VSolid.hh,v 1.6 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VSolid.hh,v 1.7 2000/11/01 15:39:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VSolid @@ -76,7 +76,7 @@ class G4VSolid virtual ~G4VSolid(); // Default destructor. - G4bool operator==( const G4VSolid& s) const; + inline G4bool operator==( const G4VSolid& s) const; // Return true only if addresses are the same. G4String GetName() const; diff --git a/source/geometry/management/include/G4VSolid.icc b/source/geometry/management/include/G4VSolid.icc index 69a3550f22..d6fab5868d 100644 --- a/source/geometry/management/include/G4VSolid.icc +++ b/source/geometry/management/include/G4VSolid.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VSolid.icc,v 1.3 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VSolid.icc,v 1.4 2000/11/01 15:39:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4VSolid Inline implementation @@ -17,15 +17,3 @@ G4bool G4VSolid::operator==( const G4VSolid& s) const { return (this==&s) ? true : false; } - -inline -G4Polyhedron* G4VSolid::CreatePolyhedron () const -{ - return 0; -} - -inline -G4NURBS* G4VSolid::CreateNURBS () const -{ - return 0; -} diff --git a/source/geometry/management/include/G4VTouchable.hh b/source/geometry/management/include/G4VTouchable.hh index 315b9b8038..5ffc023dfa 100644 --- a/source/geometry/management/include/G4VTouchable.hh +++ b/source/geometry/management/include/G4VTouchable.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VTouchable.hh,v 1.3 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VTouchable.hh,v 1.4 2000/11/01 15:39:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VTouchable diff --git a/source/geometry/management/include/G4VTouchable.icc b/source/geometry/management/include/G4VTouchable.icc index 1aa3f69ef0..ea4dc03c62 100644 --- a/source/geometry/management/include/G4VTouchable.icc +++ b/source/geometry/management/include/G4VTouchable.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VTouchable.icc,v 1.3 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VTouchable.icc,v 1.4 2000/11/01 15:39:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VTouchable Inline implementation diff --git a/source/geometry/management/include/G4VoxelLimits.hh b/source/geometry/management/include/G4VoxelLimits.hh index 42ce62d2e9..8485a55ac2 100644 --- a/source/geometry/management/include/G4VoxelLimits.hh +++ b/source/geometry/management/include/G4VoxelLimits.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VoxelLimits.hh,v 1.4 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4VoxelLimits // diff --git a/source/geometry/management/include/G4VoxelLimits.icc b/source/geometry/management/include/G4VoxelLimits.icc index 5bf179761b..5eec130a2c 100644 --- a/source/geometry/management/include/G4VoxelLimits.icc +++ b/source/geometry/management/include/G4VoxelLimits.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VoxelLimits.icc,v 1.1 2000/04/20 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4VoxelLimits Inline implementation diff --git a/source/geometry/management/include/meshdefs.hh b/source/geometry/management/include/meshdefs.hh index 2bee67de85..423f7270b2 100644 --- a/source/geometry/management/include/meshdefs.hh +++ b/source/geometry/management/include/meshdefs.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: meshdefs.hh,v 1.3 2000/04/20 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Tube/Cone Meshing constants for extent calculations diff --git a/source/geometry/management/include/voxeldefs.hh b/source/geometry/management/include/voxeldefs.hh index a211d0b325..9581cf7cb6 100644 --- a/source/geometry/management/include/voxeldefs.hh +++ b/source/geometry/management/include/voxeldefs.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: voxeldefs.hh,v 1.4 2000/04/20 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/source/geometry/management/src/G4DrawVoxels.cc b/source/geometry/management/src/G4DrawVoxels.cc index 8be03516cf..725bb6d602 100644 --- a/source/geometry/management/src/G4DrawVoxels.cc +++ b/source/geometry/management/src/G4DrawVoxels.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4DrawVoxels.cc,v 1.10 2000/01/19 17:26:30 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4DrawVoxels.cc,v 1.12 2000/11/20 17:31:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4DrawVoxels @@ -56,7 +56,6 @@ void G4DrawVoxels::ComputeVoxelPolyhedra(const G4LogicalVolume* lv, G4double dx=kInfinity,dy=kInfinity,dz=kInfinity; G4double xmax=0,xmin=0,ymax=0,ymin=0,zmax=0,zmin=0; - G4Transform3D translation_for_voxel_plane; // According to the solid's own frame if (lv->GetNoDaughters()<=0) { #ifdef G4DrawVoxelsDebug @@ -84,7 +83,7 @@ void G4DrawVoxels::ComputeVoxelPolyhedra(const G4LogicalVolume* lv, ppl->insert(G4PlacedPolyhedron(bounding_polyhedronBox,G4Translate3D(t_centerofBoundingBox))); G4ThreeVector t_FirstCenterofVoxelPlane; - const G4VisAttributes* voxelsVisAttributes; + const G4VisAttributes* voxelsVisAttributes=0; G4ThreeVector unit_translation_vector; G4ThreeVector current_translation_vector; @@ -216,21 +215,9 @@ void G4DrawVoxels::DrawVoxels(const G4LogicalVolume* lv) const{ G4PlacedPolyhedronList* pplist=CreatePlacedPolyhedra(lv); if(pVVisManager) { //Drawing the bounding and voxel polyhedra for the pVolume - for (G4int i=0;ientries();i++) + for (size_t i=0;ientries();i++) pVVisManager->Draw((*pplist)(i).GetPolyhedron(),(*pplist)(i).GetTransform()*transf3D); } else G4cout << "@@@@ void G4DrawVoxels::DrawVoxels(const G4LogicalVolume*) pVVisManager is null! @@@@" <entries(); LV++){ + for (size_t LV=0;LV < Store->entries(); LV++){ G4LogicalVolume *aLogVol; aLogVol= Store->at(LV); diff --git a/source/geometry/management/src/G4LogicalVolumeStore.cc b/source/geometry/management/src/G4LogicalVolumeStore.cc index 0e496f8f42..6712de2cea 100644 --- a/source/geometry/management/src/G4LogicalVolumeStore.cc +++ b/source/geometry/management/src/G4LogicalVolumeStore.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LogicalVolumeStore.cc,v 1.4 1999/12/15 14:49:52 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4LogicalVolumeStore // diff --git a/source/geometry/management/src/G4PVParameterised.cc b/source/geometry/management/src/G4PVParameterised.cc index 8e11937c8b..98415c82c6 100644 --- a/source/geometry/management/src/G4PVParameterised.cc +++ b/source/geometry/management/src/G4PVParameterised.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PVParameterised.cc,v 1.2 1999/12/15 14:49:52 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PVParameterised.cc,v 1.3 2000/11/01 15:39:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVParameterised @@ -37,6 +37,10 @@ G4PVParameterised::G4PVParameterised(const G4String& pName, { } +G4PVParameterised::~G4PVParameterised() +{ +} + G4VPVParameterisation* G4PVParameterised::GetParameterisation() const { return fparam; diff --git a/source/geometry/management/src/G4PVPlacement.cc b/source/geometry/management/src/G4PVPlacement.cc index 24404f6bc8..ea9a3d682b 100644 --- a/source/geometry/management/src/G4PVPlacement.cc +++ b/source/geometry/management/src/G4PVPlacement.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PVPlacement.cc,v 1.2 1999/12/15 14:49:53 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PVPlacement.cc,v 1.3 2000/11/20 17:31:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVPlacement Implementation @@ -23,7 +23,7 @@ G4PVPlacement::G4PVPlacement(G4RotationMatrix *pRot, G4bool pMany, G4int pCopyNo) : G4VPhysicalVolume(pRot,tlate,pName,pLogical,pMother), - fcopyNo(pCopyNo), fmany(pMany), fallocatedRotM(false) + fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) { } @@ -36,7 +36,7 @@ G4PVPlacement::G4PVPlacement(const G4Transform3D &Transform3D, G4VPhysicalVolume( NewPtrRotMatrix(Transform3D.getRotation().inverse()), Transform3D.getTranslation(), pName,pLogical,pMother), - fcopyNo(pCopyNo), fmany(pMany) + fmany(pMany), fcopyNo(pCopyNo) { fallocatedRotM= (this->GetRotation() != 0); } @@ -54,7 +54,7 @@ G4PVPlacement::G4PVPlacement(G4RotationMatrix *pRot, G4bool pMany, G4int pCopyNo) : G4VPhysicalVolume(pRot,tlate,pName,pCurrentLogical,0), - fcopyNo(pCopyNo), fmany(pMany), fallocatedRotM(false) + fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) { if (pMotherLogical) pMotherLogical->AddDaughter(this); } @@ -71,8 +71,7 @@ G4PVPlacement::G4PVPlacement( const G4Transform3D &Transform3D, pName, pCurrentLogical, 0), - fcopyNo(pCopyNo), - fmany(pMany) + fmany(pMany), fcopyNo(pCopyNo) { this->SetRotation( NewPtrRotMatrix(Transform3D.getRotation().inverse()) ); fallocatedRotM= (this->GetRotation() != 0); diff --git a/source/geometry/management/src/G4PVReplica.cc b/source/geometry/management/src/G4PVReplica.cc index fc288df19c..70f92ea405 100644 --- a/source/geometry/management/src/G4PVReplica.cc +++ b/source/geometry/management/src/G4PVReplica.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PVReplica.cc,v 1.2 1999/12/15 14:49:53 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PVReplica Implementation diff --git a/source/geometry/management/src/G4PhysicalVolumeStore.cc b/source/geometry/management/src/G4PhysicalVolumeStore.cc index 31dfa464da..2917d139e3 100644 --- a/source/geometry/management/src/G4PhysicalVolumeStore.cc +++ b/source/geometry/management/src/G4PhysicalVolumeStore.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicalVolumeStore.cc,v 1.4 1999/12/15 14:49:53 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicalVolumeStore.cc,v 1.5 2000/11/01 15:39:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // G4PhysicalVolumeStore // diff --git a/source/geometry/management/src/G4SmartVoxelHeader.cc b/source/geometry/management/src/G4SmartVoxelHeader.cc index 2db9b22648..413b56af51 100644 --- a/source/geometry/management/src/G4SmartVoxelHeader.cc +++ b/source/geometry/management/src/G4SmartVoxelHeader.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SmartVoxelHeader.cc,v 1.5 1999/12/15 14:49:53 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SmartVoxelHeader.cc,v 1.7 2000/11/20 17:31:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4SmartVoxelHeader @@ -323,7 +323,8 @@ void G4SmartVoxelHeader::BuildVoxelsWithinLimits(G4LogicalVolume* pVolume, G4ProxyVector *pGoodSlices=0,*pTestSlices,*tmpSlices; G4double goodSliceScore=kInfinity,testSliceScore; - EAxis goodSliceAxis,testAxis; + EAxis goodSliceAxis=kXAxis; + EAxis testAxis =kXAxis; G4int node,maxNode,iaxis; G4VoxelLimits noLimits; @@ -642,8 +643,8 @@ G4ProxyVector* G4SmartVoxelHeader::BuildNodes(G4LogicalVolume* pVolume, EAxis pAxis) { G4double motherMinExtent,motherMaxExtent,targetMinExtent,targetMaxExtent; - G4VPhysicalVolume *pDaughter; - G4VPVParameterisation *pParam; + G4VPhysicalVolume *pDaughter=0; + G4VPVParameterisation *pParam=0; G4VSolid *targetSolid; G4AffineTransform targetTransform; G4bool replicated; @@ -1120,7 +1121,9 @@ G4std::ostream& operator << (G4std::ostream&s, const G4SmartVoxelHeader& h) { s << "Axis = " << h.faxis << G4endl; G4SmartVoxelProxy *collectNode=0,*collectHead=0; - G4int collectNodeNo,collectHeadNo,i,j; + G4int collectNodeNo=0; + G4int collectHeadNo=0; + size_t i,j; G4bool haveHeaders=false; for (i=0;i(100) // Destructor G4SolidStore::~G4SolidStore() { - clearAndDestroy(); + while (!isEmpty()) removeFirst(); +// clearAndDestroy(); } // Static class variable diff --git a/source/geometry/management/src/G4VPVParameterisation.cc b/source/geometry/management/src/G4VPVParameterisation.cc index 32b5306f1c..764de60e5c 100644 --- a/source/geometry/management/src/G4VPVParameterisation.cc +++ b/source/geometry/management/src/G4VPVParameterisation.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VPVParameterisation.cc,v 1.2 1999/12/15 14:49:54 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // 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 3d812f4dc7..8ade86421c 100644 --- a/source/geometry/management/src/G4VPhysicalVolume.cc +++ b/source/geometry/management/src/G4VPhysicalVolume.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VPhysicalVolume.cc,v 1.3 1999/12/15 14:49:54 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VPhysicalVolume Implementation diff --git a/source/geometry/management/src/G4VSolid.cc b/source/geometry/management/src/G4VSolid.cc index 4865180a58..a820135b28 100644 --- a/source/geometry/management/src/G4VSolid.cc +++ b/source/geometry/management/src/G4VSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VSolid.cc,v 1.4 2000/04/11 16:18:15 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VSolid.cc,v 1.6 2000/11/16 14:29:23 grichine Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4VSolid // @@ -16,6 +16,8 @@ // History: // 10.07.95 P.Kent Added == operator, solid Store entry // 30.06.95 P.Kent +// 15.11.00 D.Williams, V.Grichine change in CalculateClippedPolygonExtent: +// else if(component>pMax) ---> if #include "G4VSolid.hh" #include "G4SolidStore.hh" @@ -59,34 +61,43 @@ void G4VSolid::ComputeDimensions(G4VPVParameterisation* p, G4Exception("G4VSolid::ComputeDimensions called illegally: not overloaded by derived class"); } +/////////////////////////////////////////////////////////////////////////////// +// // Calculate the maximum and minimum extents of the convex polygon pPolygon // along the axis pAxis, within the limits pVoxelLimit +// + void G4VSolid::CalculateClippedPolygonExtent(G4ThreeVectorList& pPolygon, const G4VoxelLimits& pVoxelLimit, const EAxis pAxis, G4double& pMin, G4double& pMax) const { - G4int noLeft,i; - G4double component; - ClipPolygon(pPolygon,pVoxelLimit); - noLeft=pPolygon.entries(); - if (noLeft) - { - for (i=0;ipMax) - { - pMax=component; - } - } - } + G4int noLeft,i; + G4double component; + ClipPolygon(pPolygon,pVoxelLimit); + noLeft = pPolygon.entries(); + + if (noLeft) + { + for (i=0;i pMax) + { + pMax = component; + } + } + } } - + +/////////////////////////////////////////////////////////////////////////// +// // Calculate the maximum and minimum extents of the polygon described // by the vertices: pSectionIndex->pSectionIndex+1-> // pSectionIndex+2->pSectionIndex+3->pSectionIndex @@ -337,3 +348,13 @@ G4VisExtent G4VSolid::GetExtent () const { extent.SetZmax (vmax); return extent; } + +G4Polyhedron* G4VSolid::CreatePolyhedron () const +{ + return 0; +} + +G4NURBS* G4VSolid::CreateNURBS () const +{ + return 0; +} diff --git a/source/geometry/management/src/G4VoxelLimits.cc b/source/geometry/management/src/G4VoxelLimits.cc index b0cc7bbf51..c2597af60b 100644 --- a/source/geometry/management/src/G4VoxelLimits.cc +++ b/source/geometry/management/src/G4VoxelLimits.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VoxelLimits.cc,v 1.2 1999/12/15 14:49:54 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VoxelLimits.cc,v 1.3 2000/11/01 15:39:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4VoxelLimits // @@ -105,7 +105,7 @@ G4bool G4VoxelLimits::ClipToLimits(G4ThreeVector& pStart, y2=pEnd.y(); z2=pEnd.z(); - do + while (sCode!=eCode) { // Copy vectors to work variables x1-z1,x2-z2 @@ -211,7 +211,7 @@ G4bool G4VoxelLimits::ClipToLimits(G4ThreeVector& pStart, pEnd=G4ThreeVector(x2,y2,z2); sCode=OutCode(pStart); eCode=OutCode(pEnd); - } while (sCode!=eCode); + } if (sCode==0&&eCode==0) { diff --git a/source/geometry/solids/BREPS/History b/source/geometry/solids/BREPS/History index 83260c4f25..16f4f44ab6 100644 --- a/source/geometry/solids/BREPS/History +++ b/source/geometry/solids/BREPS/History @@ -1,4 +1,4 @@ -$Id: History,v 1.15 2000/05/31 14:44:14 gcosmo Exp $ +$Id: History,v 1.20 2000/11/20 17:54:36 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,55 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20/11/2000 : G. Cosmo breps-V02-00-03 +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +10/11/2000 : G. Cosmo breps-V02-00-02 +- Still minor QA fixes in G4Axis2Placement3D, G4BREPSolid, G4FConicalSurface. +- Fix in G4Ellipse::Project() for computation of u as function of atan2(). +- Fix unit test STEPTest.cc. + +09/11/2000 : G. Cosmo breps-V02-00-01 +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Added (private) declarations of copy constructor and assignment operator + where needed: all surfaces, BREP solids, G4CompositeCurve G4OsloMatrix, + G4PlacedSolid, G4SurfaceList. + o Defined/fixed copy contructor and assignment operator to curves/conics, + G4Axis2Placement3D. Added equality check on operator= where needed. + o Added "const" qualifier to accessor methods, wherever needed. + o Made destructor "virtual" wherever missing and added empty destructor + to all BREP solids. + o Changed virtual functions to non-inline wherever's the case. + o Moved "public" data members to protected or private and defined + accessors methods for them: G4BREPSolid, G4BezierSurface, G4ConvexHull, + G4OsloMatrix, G4Surface, G4SurfaceBoundary, G4SurfaceList, G4UVHit. + Changed classes involved to invoke accessors. + o Changed return value to be "const" pointer to functions: + - G4BREPSolid::GetPlace() + - G4BREPSolid::GetBBox() + o G4Assembly: fix in destructor, added call to clearAndDestroy(). + o G4BREPSolid: changed method NumberOfFaces() to GetNumberOfFaces(). + o G4Curve: fixed obsolete workaround for XlC compiler. + o G4OsloMatrix: changed internal class "Matrix" to "G4PointMatrix" and + updated classes making use of it. + o G4ThreeMat: removed unused overloaded operators =, +, -, +=, -=, *. + o Added "inline" qualifier to methods' declarations where missing. + o Added more description to BREP solid classes for the Software Reference + Manual. + +28/08/2000 : G. Cosmo breps-V02-00-00 +- General reorganisation and code cleanup. No functional changes. + Created .icc files and moved inline methods implementation therein. +- Added comments to headers for the Software Reference Manual. +- Fixes for virtual destructors, inline virtual functions and operators, + const methods and arguments. +- Updated reference outputs for unit tests (tests run on DEC-cxx with + ObjectSpace STL). Random generation changed since release 2.0. + 13/05/2000 : G. Cosmo breps-V01-01-00 - Added protection to arguments fed to atan2(x,y) in G4Ellipse::Project(). diff --git a/source/geometry/solids/BREPS/include/G4Assembly.hh b/source/geometry/solids/BREPS/include/G4Assembly.hh index db4fb3022c..7638c22eb6 100644 --- a/source/geometry/solids/BREPS/include/G4Assembly.hh +++ b/source/geometry/solids/BREPS/include/G4Assembly.hh @@ -1,15 +1,28 @@ -// Contents --------------------------------------------------------- +// This code implementation is the intellectual property of +// the GEANT4 collaboration. // -// G4Assembly +// 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. // -// Description: +// $Id: G4Assembly.hh,v 1.5 2000/11/08 14:21:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4Assembly +// +// Class description: // -// C++ header file for ... -// Uses the xxxxx classes. -// A G4Assembly is ... -// End -------------------------------------------------------------- +// Object providing access to the final assembled geometry as read, for +// instance, from a STEP file description. It owns a vector of placed +// solids which must be initialised through the SetPlacedVector() +// method. Currently, it simply provides a way to retrieve the pointer +// to each placed solid, and to determine the number of solids currently +// placed. -// Interface Dependencies ------------------------------------------- +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef G4ASSEMBLY_HH #define G4ASSEMBLY_HH @@ -19,47 +32,33 @@ #include "G4BREPSolid.hh" typedef G4RWTPtrOrderedVector G4PlacedVector; - -// End Interface Dependencies --------------------------------------- - -// Class // class G4Assembly { -public: +public: // with description + G4Assembly(); ~G4Assembly(); + // Constructor & destructor void SetPlacedVector(G4PlacedVector&); + inline G4PlacedSolid* GetPlacedSolid(G4int solidNumber) const; + inline G4int GetNumberOfSolids() const; - G4PlacedSolid* GetPlacedSolid(G4int solidNumber) - { - return placedVec[solidNumber]; - } - - G4int GetNumberOfSolids() - { - return numberOfSolids; - } +private: + G4Assembly(const G4Assembly&); + G4Assembly& operator=(const G4Assembly&); + // Private copy constructor and assignment operator. private: + G4int numberOfSolids; G4PlacedVector placedVec; }; +#include "G4Assembly.icc" + #endif - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4Assembly.icc b/source/geometry/solids/BREPS/include/G4Assembly.icc new file mode 100644 index 0000000000..9c74942386 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4Assembly.icc @@ -0,0 +1,27 @@ +// 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: G4Assembly.icc,v 1.2 2000/08/28 15:00:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Assembly.icc +// +// Implementation of inline methods of G4Assembly +// -------------------------------------------------------------------- + +inline G4PlacedSolid* G4Assembly::GetPlacedSolid(G4int solidNumber) const +{ + return placedVec[solidNumber]; +} + +inline G4int G4Assembly::GetNumberOfSolids() const +{ + return numberOfSolids; +} diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh index 888dc5526c..a30d0fabfc 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh @@ -1,3 +1,25 @@ +// 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: G4Axis2Placement3D.hh,v 1.3 2000/11/08 14:21:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4Axis2Placement3D +// +// Class description: +// +// Class defining an axis placed in a 3D space. +// Attributes are: a point location, an axis vector with its +// reference direction and coordinates in space. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4Placement3D_h #define __G4Placement3D_h 1 @@ -9,13 +31,43 @@ class G4Axis2Placement3D { -public: + +public: // with description + G4Axis2Placement3D(); + G4Axis2Placement3D( const G4Vector3D& refDirection0 , + const G4Vector3D& axis0 , + const G4Point3D& location0 ); ~G4Axis2Placement3D(); + // Constructors & destructor - G4Axis2Placement3D(const G4Axis2Placement3D& place); - - + G4Axis2Placement3D(const G4Axis2Placement3D&); + G4Axis2Placement3D& operator=(const G4Axis2Placement3D&); + // Copy constructor and assignment operator. + + inline G4bool operator==(const G4Axis2Placement3D& other) const; + // Equality operator. + + inline void Init( const G4Vector3D& refDirection0 , + const G4Vector3D& axis0 , + const G4Point3D& location0 ); + + inline G4Point3D GetLocation() const; + inline G4Vector3D GetAxis() const; + inline G4Vector3D GetRefDirection() const; + // Get/Set for geometric data + + inline G4Vector3D GetPX() const; + inline G4Vector3D GetPY() const; + inline G4Vector3D GetPZ() const; + // Placement coordinate axes + + inline const G4Transform3D& GetToPlacementCoordinates() const; + inline const G4Transform3D& GetFromPlacementCoordinates() const; + // Transformation from/to the placement coordinate system + +public: + //inline void Project (G4ThreeVec& Coord, const G4ThreeVec& Pt2, // const G4Plane& Pl1, const G4Plane& Pl2) // { @@ -24,34 +76,6 @@ public: // Coord.Z(0); // } - // Get/Set for geometric data - void Init( const G4Vector3D& refDirection0 , - const G4Vector3D& axis0 , - const G4Point3D& location0 ); - - G4Axis2Placement3D( const G4Vector3D& refDirection0 , - const G4Vector3D& axis0 , - const G4Point3D& location0 ); - - G4Point3D GetLocation() const; - G4Vector3D GetAxis() const; - G4Vector3D GetRefDirection() const; - - // placement coordinate axes - G4Vector3D GetPX() const; - G4Vector3D GetPY() const; - G4Vector3D GetPZ() const; - - // transformation from/to the placement coordinate system - const G4Transform3D& GetToPlacementCoordinates() const; - const G4Transform3D& GetFromPlacementCoordinates() const; - - virtual G4bool operator==(const G4Axis2Placement3D& other) const - { - return (this==&other) ? true : false; - } - - private: // geometric data @@ -70,7 +94,3 @@ private: #include "G4Axis2Placement3D.icc" #endif - - - - diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc index 4b3b545bec..aee7b78d19 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc @@ -1,6 +1,36 @@ -inline void G4Axis2Placement3D::Init( const G4Vector3D& refDirection0 , - const G4Vector3D& axis0 , - const G4Point3D& location0 ) +// 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: G4Axis2Placement3D.icc,v 1.4 2000/11/08 14:21:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4AxisPlacement3D.icc +// +// Implementation of inline methods of G4AxisPlacement3D +// -------------------------------------------------------------------- + +inline +G4bool G4Axis2Placement3D::operator==(const G4Axis2Placement3D& other) const +{ + return ((location == other.location) && (axis == other.axis) && + (refDirection == other.refDirection) && + (pX == other.pX) && (pY == other.pY) && (pZ == other.pZ) && + (toPlacementCoordinates == other.toPlacementCoordinates) && + (fromPlacementCoordinates == other.fromPlacementCoordinates)) + ? true : false; +} + +inline +void G4Axis2Placement3D::Init( const G4Vector3D& refDirection0 , + const G4Vector3D& axis0 , + const G4Point3D& location0 ) { refDirection = refDirection0; axis = axis0; @@ -21,46 +51,61 @@ inline void G4Axis2Placement3D::Init( const G4Vector3D& refDirection0 , } -inline G4Axis2Placement3D::G4Axis2Placement3D(const G4Vector3D& refDirection0, - const G4Vector3D& axis0 , - const G4Point3D& location0 ) +inline +G4Axis2Placement3D::G4Axis2Placement3D(const G4Vector3D& refDirection0, + const G4Vector3D& axis0 , + const G4Point3D& location0 ) { Init( refDirection0, axis0, location0); } -inline G4Point3D G4Axis2Placement3D::GetLocation() const { return location; } +inline +G4Point3D G4Axis2Placement3D::GetLocation() const +{ + return location; +} -inline G4Vector3D G4Axis2Placement3D::GetAxis() const { return axis; } +inline +G4Vector3D G4Axis2Placement3D::GetAxis() const +{ + return axis; +} -inline G4Vector3D G4Axis2Placement3D::GetRefDirection() const +inline +G4Vector3D G4Axis2Placement3D::GetRefDirection() const { return refDirection; } ///////////////////////////////////////////////////////////////////////////// -inline const G4Transform3D& -G4Axis2Placement3D::GetToPlacementCoordinates() const +inline +const G4Transform3D& G4Axis2Placement3D::GetToPlacementCoordinates() const { return toPlacementCoordinates; } - -inline const G4Transform3D& -G4Axis2Placement3D::GetFromPlacementCoordinates() const +inline +const G4Transform3D& G4Axis2Placement3D::GetFromPlacementCoordinates() const { return fromPlacementCoordinates; } +inline +G4Vector3D G4Axis2Placement3D::GetPX() const +{ + return pX; +} -inline G4Vector3D G4Axis2Placement3D::GetPX() const { return pX; } - -inline G4Vector3D G4Axis2Placement3D::GetPY() const { return pY; } - -inline G4Vector3D G4Axis2Placement3D::GetPZ() const { return pZ; } - - - - +inline +G4Vector3D G4Axis2Placement3D::GetPY() const +{ + return pY; +} +inline +G4Vector3D G4Axis2Placement3D::GetPZ() const +{ + return pZ; +} diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.hh b/source/geometry/solids/BREPS/include/G4BREPSolid.hh index 56f0141a31..0efe53e58c 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.hh @@ -1,3 +1,23 @@ +// 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: G4BREPSolid.hh,v 1.8 2000/11/08 14:21:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4BREPSolid +// +// Class description: +// +// Base class for generic Boundary REPresentation solid. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __SOLID_H #define __SOLID_H @@ -12,125 +32,140 @@ class G4Ray; class G4BREPSolid : public G4VSolid { -public: +public: // with description - G4BREPSolid(const G4String name); - G4BREPSolid(const G4String, G4Surface**, G4int); - ~G4BREPSolid(); + G4BREPSolid(const G4String& name); + G4BREPSolid(const G4String&, G4Surface**, G4int); + virtual ~G4BREPSolid(); + // Constructors & destructor + + virtual G4String GetEntityType() const; + // Returns identifier for solid type entity. + // A generic BREP solid is considered a "Closed_Shell". - virtual G4String GetEntityType() const {return "Closed_Shell";} virtual void Initialize(); + // Calculates the bounding box for solids and surfaces. + // Converts concave planes to convex. G4bool CalculateExtent(const EAxis pAxis , const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform , G4double& pMin , G4double& pMax ) const; + // Calculate the minimum and maximum extent of the solid, when under the + // specified transform, and within the specified limits. If the solid + // is not intersected by the region, return false, else return true. - virtual EInside Inside(register const G4ThreeVector&) const; + virtual EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. virtual G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; + // Calculates the normal of the surface at a point on the surface + // The sense of the normal depends on the sense of the surface. virtual G4double DistanceToIn(const G4ThreeVector&) const; - virtual G4double DistanceToIn(register const G4ThreeVector&, - register const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point + // outside the solid to any boundary of this solid. + // Return 0 if the point is already inside. + + virtual G4double DistanceToIn(register const G4ThreeVector& Pt, + register const G4ThreeVector& V) const; + // Calculates the distance from a point Pt outside the solid + // to the solid's boundary along a specified direction vector V. + // Note: Intersections with boundaries less than the tolerance must + // be ignored if the direction is away from the boundary. virtual G4double DistanceToOut(const G4ThreeVector&) const; - virtual G4double DistanceToOut(register const G4ThreeVector&, - register const G4ThreeVector&, + // Calculates the shortest distance ("safety") from a point inside the + // solid to any boundary of this solid. + // Return 0 if the point is already outside. + + virtual G4double DistanceToOut(register const G4ThreeVector& Pt, + register const G4ThreeVector& V, const G4bool calcNorm=false , G4bool *validNorm=0 , G4ThreeVector *n=0 ) const; - + // Calculates the distance from a point inside the solid to the solid`s + // boundary along a specified direction vector. + // Return 0 if the point is already outside. + // Note: If the shortest distance to a boundary is less than the + // tolerance, it is ignored. This allows for a point within a + // tolerant boundary to leave immediately. - G4Point3D Scope(); // ??? + G4Point3D Scope() const; + // Utility function to determine the maximum scope of the solid + // in the coordinates X, Y, Z. Returned as a G4Point3D. void DescribeYourselfTo (G4VGraphicsScene& scene) const; + // Dispatch function which identifies the solid to the graphics scene. + G4Polyhedron* CreatePolyhedron () const; G4NURBS* CreateNURBS () const; + // Create a G4Polyhedron/G4NURBS/... (It is the caller's responsibility + // to delete it). A null pointer means "not created". - G4int Intersect(register const G4Ray&)const; + G4int Intersect(register const G4Ray&) const; + // Gets the roughly calculated closest intersection point for + // a b_spline and the accurate point for others. - inline G4double IntersectionDistance()const{return intersectionDistance;} - void IntersectionDistance(const G4double d)const - { - ((G4BREPSolid*)this)->intersectionDistance=d; - } + inline G4Surface* GetSurface(G4int) const; + inline void Active(G4int) const; + inline G4int Active() const; + inline G4double GetShortestDistance() const; + inline G4int GetId() const; + inline void SetId(G4int); + inline const G4String& GetName() const; + inline void SetName(const G4String& name); + inline G4int GetNumberOfFaces() const; + inline G4int GetNumberOfSolids() const; + inline const G4Axis2Placement3D* GetPlace() const; + inline const G4BoundingBox3D* GetBBox() const; + // Accessors methods. - G4Surface* GetSurface(G4int nr) - { - return SurfaceVec[nr]; - } - - inline void Active(const G4int x)const - { - ((G4BREPSolid*)this)->active=x; - } - - inline G4int Active() const {return active;} - - virtual inline void Reset() const - { - ((G4BREPSolid*)this)->active=1; - ((G4BREPSolid*)this)->intersectionDistance=kInfinity; - ((G4BREPSolid*)this)->startInside=0; - - for(register G4int a=0;aReset(); +public: - ShortestDistance = kInfinity; - } + inline G4double IntersectionDistance() const; + inline void IntersectionDistance(G4double) const; + // Gets and sets intersection distance. - static G4int NumberOfSolids; + virtual void Reset() const; + // Resets all distance attributes. - G4double GetShortestDistance() const {return ShortestDistance;} - - G4int GetId() const {return Id;} - - void SetId(G4int id) {Id = id;} - - G4String GetName() const {return solidname;} - - void SetName(G4String name) {solidname = name;} - - G4int NumberOfFaces() const {return nb_of_surfaces;} - - // Add by L. Broglia - G4Axis2Placement3D* GetPlace() const { return place; } - G4BoundingBox3D* GetBBox() const { return bbox; } +protected: -protected: - - G4ThreeVectorList* - CreateRotatedVertices(const G4AffineTransform& pTransform) const; + G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform&) const; G4bool IsConvex(); + virtual void CalcBBoxes(); + // Calculates the bounding boxes for the surfaces and for the solid. + void CheckSurfaceNormals(); - void RemoveHiddenFaces(register const G4Ray& G4Rayref, G4int)const; + void RemoveHiddenFaces(register const G4Ray& G4Rayref, G4int) const; + // Deactivates the planar faces that are on the "back" side of a solid. + // B-splines are not handled by this function. Also cases where the ray + // starting point is Inside the bbox of the solid are ignored as we don't + // know if the starting point is Inside the actual solid except for + // axis-oriented box-like solids. + void TestSurfaceBBoxes(register const G4Ray&) const; + // Tests the bounding-box to all surfaces in List. + // For planar faces the intersection is instead evaluated. - inline G4int StartInside() const - { - return startInside; - } - - inline void StartInside(const G4int si) const - { - ((G4BREPSolid*)this)->startInside=si; - } - - -private: - - G4int IsBox(); - G4int FinalEvaluation(register const G4Ray&, const G4int =0) const; + inline G4int StartInside() const; + inline void StartInside(G4int si) const; + inline void QuickSort( register G4Surface** SrfVec, + register G4int left, register G4int right) const; protected: - G4Axis2Placement3D* place; + + static G4int NumberOfSolids; static G4Ray Track; static G4double ShortestDistance; + G4int Box, Convex, AxisBox, PlaneSolid; + G4Axis2Placement3D* place; G4BoundingBox3D* bbox; G4double intersectionDistance; G4int active; @@ -143,32 +178,17 @@ protected: G4int Id; - void QuickSort( register G4Surface** SrfVec, - register G4int left, register G4int right) const - { - register G4int i=left; - register G4int j=right; - register G4Surface* elem1; - register G4Surface* elem2 = SrfVec[(left+right)/2]; - register G4double tmpdistance; - do - { - tmpdistance = elem2->Distance(); - while ( SrfVec[i]->Distance() < tmpdistance && i < right ) i++; - while (tmpdistance < SrfVec[j]->Distance() && j > left ) j--; - if(i<=j) - { - elem1 = SrfVec[i]; - SrfVec[i] = SrfVec[j]; - SrfVec[j] = elem1; - i++;j--; - } - } while (i<=j); - - if( left < j ) QuickSort(SrfVec,left, j ); - if( i < right ) QuickSort(SrfVec,i, right); - } +private: + + G4BREPSolid(const G4BREPSolid&); + G4BREPSolid& operator=(const G4BREPSolid&); + // Private copy constructor and assignment operator. + + G4int IsBox(); + G4int FinalEvaluation(register const G4Ray&, G4int =0) const; }; +#include "G4BREPSolid.icc" + #endif diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.icc b/source/geometry/solids/BREPS/include/G4BREPSolid.icc new file mode 100644 index 0000000000..458c76207c --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.icc @@ -0,0 +1,124 @@ +// 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: G4BREPSolid.icc,v 1.3 2000/11/08 14:21:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4BREPSolid.icc +// +// Implementation of inline methods of G4BREPSolid +// -------------------------------------------------------------------- + +inline G4double G4BREPSolid::IntersectionDistance() const +{ + return intersectionDistance; +} + +inline void G4BREPSolid::IntersectionDistance(G4double d) const +{ + ((G4BREPSolid*)this)->intersectionDistance=d; +} + +inline G4Surface* G4BREPSolid::GetSurface(G4int nr) const +{ + return SurfaceVec[nr]; +} + +inline void G4BREPSolid::Active(G4int x) const +{ + ((G4BREPSolid*)this)->active=x; +} + +inline G4int G4BREPSolid::Active() const +{ + return active; +} + +inline G4double G4BREPSolid::GetShortestDistance() const +{ + return ShortestDistance; +} + +inline G4int G4BREPSolid::GetId() const +{ + return Id; +} + +inline void G4BREPSolid::SetId(G4int n) +{ + Id = n; +} + +inline const G4String& G4BREPSolid::GetName() const +{ + return solidname; +} + +inline void G4BREPSolid::SetName(const G4String& name) +{ + solidname = name; +} + +inline G4int G4BREPSolid::GetNumberOfSolids() const +{ + return NumberOfSolids; +} + +inline G4int G4BREPSolid::GetNumberOfFaces() const +{ + return nb_of_surfaces; +} + +inline const G4Axis2Placement3D* G4BREPSolid::GetPlace() const +{ + return place; +} + +inline const G4BoundingBox3D* G4BREPSolid::GetBBox() const +{ + return bbox; +} + +inline G4int G4BREPSolid::StartInside() const +{ + return startInside; +} + +inline void G4BREPSolid::StartInside(G4int si) const +{ + ((G4BREPSolid*)this)->startInside=si; +} + +inline void G4BREPSolid::QuickSort( register G4Surface** SrfVec, + register G4int left, + register G4int right) const +{ + register G4int i=left; + register G4int j=right; + register G4Surface* elem1; + register G4Surface* elem2 = SrfVec[(left+right)/2]; + register G4double tmpdistance; + do + { + tmpdistance = elem2->GetDistance(); + while ( SrfVec[i]->GetDistance() < tmpdistance && i < right ) i++; + while (tmpdistance < SrfVec[j]->GetDistance() && j > left ) j--; + if(i<=j) + { + elem1 = SrfVec[i]; + SrfVec[i] = SrfVec[j]; + SrfVec[j] = elem1; + i++;j--; + } + } while (i<=j); + + if( left < j ) QuickSort(SrfVec,left, j ); + if( i < right ) QuickSort(SrfVec,i, right); +} diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh index 43f5f55f82..ac218dec00 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh @@ -5,23 +5,53 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidBox.hh,v 1.2 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidBox.hh,v 1.4 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidBox +// +// Class description: +// +// Definition of a generic BREP box: +// +// G4BREPSolidBox(const G4String& name, +// const G4Point3D& Pt1, const G4Point3D& Pt2, +// const G4Point3D& Pt3, const G4Point3D& Pt4, +// const G4Point3D& Pt5, const G4Point3D& Pt6, +// const G4Point3D& Pt7, const G4Point3D& Pt8) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidBOX #define __G4BREPSolidBOX + #include "G4BREPSolid.hh" #include "G4RotationMatrix.hh" -class G4BREPSolidBox: public G4BREPSolid +class G4BREPSolidBox : public G4BREPSolid { -public: - G4BREPSolidBox(G4String,const G4Point3D&, const G4Point3D&, +public: // with description + + G4BREPSolidBox(const G4String&, const G4Point3D&, const G4Point3D&, const G4Point3D&, const G4Point3D&, const G4Point3D&, const G4Point3D&, const G4Point3D&, const G4Point3D& ); + // Constructor defining the box through its planes. - EInside Inside(register const G4ThreeVector&) const; + ~G4BREPSolidBox(); + // Empty destructor. + + EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. + +private: + + G4BREPSolidBox(const G4BREPSolidBox&); + G4BREPSolidBox& operator=(const G4BREPSolidBox&); + // Private copy constructor and assignment operator. private: diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh index bbfecc88eb..b17850d061 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh @@ -5,56 +5,85 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidCone.hh,v 1.2 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidCone.hh,v 1.4 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidCone +// +// Class description: +// +// Definition of a generic BREP cone. +// +// G4BREPSolidCone(const G4String& name, +// const G4ThreeVector& origin, +// const G4ThreeVector& axis, +// const G4ThreeVector& direction, +// G4double length, +// G4double radius, +// G4double large_radius) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidCone #define __G4BREPSolidCone -#include "G4BREPSolid.hh" -//#include "G4Axis2Placement3D.hh" +#include "G4BREPSolid.hh" class G4BREPSolidCone : public G4BREPSolid { - public: - G4BREPSolidCone(G4String, - const G4ThreeVector&, - const G4ThreeVector&, - const G4ThreeVector&, - const G4double, - const G4double, - const G4double); + public: // with description + + G4BREPSolidCone(const G4String& name, const G4ThreeVector& origin, + const G4ThreeVector& axis, const G4ThreeVector& direction, + G4double length, G4double radius, G4double large_radius); + // Constructor + + ~G4BREPSolidCone(); + // Empty destructor. + void Initialize(); + // Computes the bounding box for solids and surfaces. + // Converts concave planes to convex. - EInside Inside(register const G4ThreeVector&) const; - G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; + EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. - G4double DistanceToIn(const G4ThreeVector&) const; - G4double DistanceToIn(register const G4ThreeVector&, - register const G4ThreeVector&) const; + G4ThreeVector SurfaceNormal(const G4ThreeVector& p) const; + // Returns the outwards pointing unit normal of the shape for the + // surface closest to the point at offset p. - G4double DistanceToOut(register const G4ThreeVector&, - register const G4ThreeVector&, + G4double DistanceToIn(const G4ThreeVector& p) const; + // Calculate the distance to the nearest surface of a shape from an + // outside point p. The distance can be an underestimate. + + G4double DistanceToIn(register const G4ThreeVector& p, + register const G4ThreeVector& v) const; + // Returns the distance along the normalised vector v to the shape, + // from the point at offset p. If there is no intersection, returns + // kInfinity. The first intersection resulting from `leaving' a + // surface/volume is discarded. Hence, it is tolerant of points on + // the surface of the shape. + + G4double DistanceToOut(register const G4ThreeVector& p, + register const G4ThreeVector& v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const; - G4double DistanceToOut(const G4ThreeVector&) const; + // Returns the distance along the normalised vector v to the shape, + // from a point at an offset p inside or on the surface of the shape. + + G4double DistanceToOut(const G4ThreeVector& p) const; + // Calculates the distance to the nearest surface of a shape from an + // inside point. The distance can be an underestimate. + + private: + + G4BREPSolidCone(const G4BREPSolidCone&); + G4BREPSolidCone& operator=(const G4BREPSolidCone&); + // Private copy constructor and assignment operator. + }; #endif - - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh index 5a191d1e22..07e2ec8d1d 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh @@ -5,22 +5,54 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidCylinder.hh,v 1.2 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidCylinder.hh,v 1.4 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidCylinder +// +// Class description: +// +// Definition of a generic BREP cylinder: +// +// G4BREPSolidCylinder(const G4String& name, +// const G4ThreeVector& origin, +// const G4ThreeVector& axis, +// const G4ThreeVector& direction, +// G4double radius, +// G4double length) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidCylinder #define __G4BREPSolidCylinder + #include "G4BREPSolid.hh" class G4BREPSolidCylinder : public G4BREPSolid { -public: - G4BREPSolidCylinder(G4String name, - const G4ThreeVector&, - const G4ThreeVector&, - const G4ThreeVector&, - const G4double&, - const G4double&); + + public: // with description + + G4BREPSolidCylinder(const G4String& name, + const G4ThreeVector& origin, + const G4ThreeVector& axis, + const G4ThreeVector& direction, + G4double radius, + G4double length); + // Constructor defining the cylinder through planes + // and circular surfaces. + + ~G4BREPSolidCylinder(); + // Empty destructor. + + private: + + G4BREPSolidCylinder(const G4BREPSolidCylinder&); + G4BREPSolidCylinder& operator=(const G4BREPSolidCylinder&); + // Private copy constructor and assignment operator. + }; #endif diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh index 7c99c619a6..872c749c3b 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh @@ -5,30 +5,60 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // +// $Id: G4BREPSolidOpenPCone.hh,v 1.4 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4BREPSolidOpenPCone +// +// Class description: +// +// Definition of a generic BREP open polyconical solid: +// +// G4BREPSolidOpenPCone ( const G4String& name, +// G4double start_angle, +// G4double opening_angle, +// G4int num_z_planes, +// G4double z_start, +// G4double z_values[], +// G4double RMIN[], +// G4double RMAX[]) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef G4BREPSolidOpenPCone_hh #define G4BREPSolidOpenPCone_hh #include "G4IntersectionSolid.hh" -class G4BREPSolidOpenPCone : public G4IntersectionSolid { +class G4BREPSolidOpenPCone : public G4IntersectionSolid +{ -public: + public: // with description - G4BREPSolidOpenPCone ( G4String name, - const G4double start_angle, - const G4double opening_angle, - const int num_z_planes, // sections, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ); + G4BREPSolidOpenPCone( const G4String& name, + G4double start_angle, + G4double opening_angle, + G4int num_z_planes, // sections + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] ); + // Constructor defining the polycone through its + // conical/cylindrical surfaces. + + ~G4BREPSolidOpenPCone(); + // Empty destructor. void DescribeYourselfTo (G4VGraphicsScene& scene) const; + // Dispatch function which identifies the solid to the graphics scene. + + private: + + G4BREPSolidOpenPCone(const G4BREPSolidOpenPCone&); + G4BREPSolidOpenPCone& operator=(const G4BREPSolidOpenPCone&); -private: - }; - #endif diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh index 4d35ce9b49..9251f68e3b 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh @@ -5,70 +5,116 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidPCone.hh,v 1.3 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidPCone.hh,v 1.5 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidPCone // -// The polyconical solid G4BREPSolidPCone is a shape defined by a set of -// inner and outer conical or cylindrical surface sections and two planes -// perpendicular to the Z axis. Each conical surface is defined by its -// radius at two different planes perpendicular to the Z-axis. Inner and -// outer conical surfaces are defined using common Z planes. +// Class description: // +// The polyconical solid G4BREPSolidPCone is a shape defined by a set of +// inner and outer conical or cylindrical surface sections and two planes +// perpendicular to the Z axis. Each conical surface is defined by its +// radius at two different planes perpendicular to the Z-axis. Inner and +// outer conical surfaces are defined using common Z planes: +// +// G4BREPSolidPCone( const G4String& name, +// G4double start_angle, +// G4double opening_angle, +// G4int num_z_planes, +// G4double z_start, +// G4double z_values[], +// G4double RMIN[], +// G4double RMAX[] ) +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, S.Giani, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidPCone #define __G4BREPSolidPCone + #include "G4BREPSolid.hh" class G4BREPSolidPCone : public G4BREPSolid { - public: - G4BREPSolidPCone( G4String name, - const G4double start_angle, - const G4double opening_angle, - const int num_z_planes, // sections, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ); - inline void Reset() const - { - Active(1); - ((G4BREPSolidPCone*)this)->intersectionDistance=kInfinity; - StartInside(0); - for(register int a=0;aReset(); - ShortestDistance = kInfinity; - } + public: // with description - void Initialize(); - EInside Inside(register const G4ThreeVector&) const; - G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; - - G4double DistanceToIn(const G4ThreeVector&) const; - G4double DistanceToIn(register const G4ThreeVector&, - register const G4ThreeVector&) const; - - G4double DistanceToOut(register const G4ThreeVector&, - register const G4ThreeVector&, - const G4bool calcNorm=false, - G4bool *validNorm=0, G4ThreeVector *n=0) const; - G4double DistanceToOut(const G4ThreeVector&) const; + G4BREPSolidPCone( const G4String& name, + G4double start_angle, + G4double opening_angle, + G4int num_z_planes, // sections + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] ); + // Constructor defining the polycone through its + // conical/cylindrical surfaces. ~G4BREPSolidPCone(); + // Destructor. + + void Initialize(); + // Calculates the bounding box. + + EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. + + G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; + // Calculates the normal of the surface at a point on the surface + // The sense of the normal depends on the sense of the surface. + + G4double DistanceToIn(const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point + // outside the solid to any boundary of this solid. + // Return 0 if the point is already inside. + + G4double DistanceToIn(register const G4ThreeVector& Pt, + register const G4ThreeVector& V) const; + // Calculates the distance from a point Pt outside the solid + // to the solid's boundary along a specified direction vector V. + // Note: Intersections with boundaries less than the tolerance must + // be ignored if the direction is away from the boundary. + + G4double DistanceToOut(register const G4ThreeVector& Pt, + register const G4ThreeVector& V, + const G4bool calcNorm=false, + G4bool *validNorm=0, G4ThreeVector *n=0) const; + // Calculates the distance from a point inside the solid to the solid`s + // boundary along a specified direction vector. + // Return 0 if the point is already outside. + // Note: If the shortest distance to a boundary is less than the + // tolerance, it is ignored. This allows for a point within a + // tolerant boundary to leave immediately. + + G4double DistanceToOut(const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point inside the + // solid to any boundary of this solid. + // Return 0 if the point is already outside. + +public: + + void Reset() const; + // Resets all distance attributes. + G4Polyhedron* CreatePolyhedron () const; + // Creates a G4Polyhedron private: - // The following is only utilised in storing the shape parameters for - // use in visualising this shape. J.A. Feb 24, 1997 + G4BREPSolidPCone(const G4BREPSolidPCone&); + G4BREPSolidPCone& operator=(const G4BREPSolidPCone&); + // Private copy constructor and assignment operator. + + // The following is only utilised in storing the shape parameters for + // use in visualising this shape. J.A. Feb 24, 1997 // struct PConeParameters { G4double Start_angle; G4double Opening_angle; - int Num_z_planes; + G4int Num_z_planes; // G4double z_start; G4double *Z_values; G4double *Rmin; diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh index e7b8210d6b..a3823d5231 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh @@ -5,71 +5,117 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidPolyhedra.hh,v 1.3 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidPolyhedra.hh,v 1.6 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidPolyhedra +// +// Class description: // -// The polygonal solid G4BREPSolidPolyhedra is a shape defined by an inner -// and outer polygonal surface and two planes perpendicular to the Z axis. -// Each polygonal surface is created by linking a series of polygons created -// at different planes perpendicular to the Z-axis. All these polygons all -// have the same number of sides (sides) and are defined at the same Z planes -// for both inner and outer polygonal surfaces. +// The polygonal solid G4BREPSolidPolyhedra is a shape defined by an inner +// and outer polygonal surface and two planes perpendicular to the Z axis. +// Each polygonal surface is created by linking a series of polygons created +// at different planes perpendicular to the Z-axis. All these polygons all +// have the same number of sides (sides) and are defined at the same Z planes +// for both inner and outer polygonal surfaces. // +// G4BREPSolidPolyhedra( const G4String& name, +// G4double phi1, +// G4double dphi, +// G4int sides, +// G4int num_z_planes, +// G4double z_start, +// G4double z_values[], +// G4double RMIN[], +// G4double RMAX[] ) - +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, S.Giani, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPPOLYHEDRA #define __G4BREPPOLYHEDRA + #include "G4BREPSolid.hh" -class G4BREPSolidPolyhedra: public G4BREPSolid +class G4BREPSolidPolyhedra : public G4BREPSolid { -public: - // Constructor for Geant3 PGon shape - G4BREPSolidPolyhedra( - G4String name, - const G4double phi1, - const G4double dphi, - const int sides, - const int num_z_planes, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ); - void Initialize(); - inline void Reset() const - { - Active(1); - ((G4BREPSolidPolyhedra*)this)->intersectionDistance=kInfinity; - StartInside(0); - for(register int a=0;aReset(); - ShortestDistance = kInfinity; - } - EInside Inside(register const G4ThreeVector&) const; - G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; +public: // with description - G4double DistanceToIn(const G4ThreeVector&) const; - G4double DistanceToIn(register const G4ThreeVector&, - register const G4ThreeVector&) const; - - G4double DistanceToOut(register const G4ThreeVector&, - register const G4ThreeVector&, - const G4bool calcNorm=false, - G4bool *validNorm=0, G4ThreeVector *n=0) const; - G4double DistanceToOut(const G4ThreeVector&) const; + G4BREPSolidPolyhedra( const G4String& name, + G4double phi1, + G4double dphi, + G4int sides, + G4int num_z_planes, + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] ); + // Constructor defining the polyhedra through its + // polygonal surfaces and planes. ~G4BREPSolidPolyhedra(); + // Destructor. + + void Initialize(); + // Calculates the bounding box. + + EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. + + G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; + // Calculates the normal of the surface at a point on the surface + // The sense of the normal depends on the sense of the surface. + + G4double DistanceToIn(const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point + // outside the solid to any boundary of this solid. + // Return 0 if the point is already inside. + + G4double DistanceToIn(register const G4ThreeVector& Pt, + register const G4ThreeVector& V) const; + // Calculates the distance from a point Pt outside the solid + // to the solid's boundary along a specified direction vector V. + // Note: Intersections with boundaries less than the tolerance must + // be ignored if the direction is away from the boundary. + + G4double DistanceToOut(register const G4ThreeVector& Pt, + register const G4ThreeVector& V, + const G4bool calcNorm=false, + G4bool *validNorm=0, G4ThreeVector *n=0) const; + // Calculates the distance from a point inside the solid to the solid`s + // boundary along a specified direction vector. + // Return 0 if the point is already outside. + // Note: If the shortest distance to a boundary is less than the + // tolerance, it is ignored. This allows for a point within a + // tolerant boundary to leave immediately. + + G4double DistanceToOut(const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point inside the + // solid to any boundary of this solid. + // Return 0 if the point is already outside. + +public: + G4Polyhedron* CreatePolyhedron () const; + // Creates a G4Polyhedron + + void Reset() const; + // Resets all distance attributes. private: + G4BREPSolidPolyhedra(const G4BREPSolidPolyhedra&); + G4BREPSolidPolyhedra& operator=(const G4BREPSolidPolyhedra&); + // Private copy constructor and assignment operator. + // The following is only utilised in storing the shape parameters for // use in visualising this shape. J.A. Feb 24, 1997 // - struct PGonParameters { + struct PGonParameters + { G4double Start_angle; G4double Opening_angle; int Sides; @@ -82,8 +128,3 @@ private: }; #endif - - - - - diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh index 8b3265d4b3..b917b2981b 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh @@ -5,45 +5,91 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidSphere.hh,v 1.2 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidSphere.hh,v 1.5 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidSphere +// +// Class description: +// +// Definition of a generic BREP sphere: +// +// G4BREPSolidSphere(const G4String& name, +// const G4Vector3D& origin, +// const G4Vector3D& xhat, +// const G4Vector3D& zhat, +// G4double radius) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidSphere #define __G4BREPSolidSphere + #include "G4BREPSolid.hh" -class G4BREPSolidSphere: public G4BREPSolid +class G4BREPSolidSphere : public G4BREPSolid { - public: - G4BREPSolidSphere(const G4String, - const G4Vector3D&, - const G4Vector3D&, - const G4Vector3D&, - G4double); - inline void SphReset()const - { - ((G4BREPSolidSphere*)this)->active=1; - } + public: // with description + + G4BREPSolidSphere(const G4String& name, + const G4Vector3D& origin, + const G4Vector3D& xhat, + const G4Vector3D& zhat, + G4double radius); + // Constructor defining the sphere through its spherical surfaces. + + ~G4BREPSolidSphere(); + // Empty destructor. + + EInside Inside(register const G4ThreeVector& Pt) const; + // Determines if the point Pt is inside, outside or on the surface + // of the solid. - EInside Inside(register const G4ThreeVector&) const; G4ThreeVector SurfaceNormal(const G4ThreeVector&) const; + // Calculates the normal of the surface at a point on the surface + // The sense of the normal depends on the sense of the surface. G4double DistanceToIn(const G4ThreeVector&) const; - G4double DistanceToIn(register const G4ThreeVector&, - register const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point + // outside the solid to any boundary of this solid. + // Return 0 if the point is already inside. - G4double DistanceToOut(register const G4ThreeVector&, - register const G4ThreeVector&, + G4double DistanceToIn(register const G4ThreeVector& Pt, + register const G4ThreeVector& V) const; + // Calculates the distance from a point Pt outside the solid + // to the solid's boundary along a specified direction vector V. + // Note: Intersections with boundaries less than the tolerance must + // be ignored if the direction is away from the boundary. + + G4double DistanceToOut(register const G4ThreeVector& Pt, + register const G4ThreeVector& V, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const; + // Calculates the distance from a point inside the solid to the solid`s + // boundary along a specified direction vector. + // Return 0 if the point is already outside. + // Note: If the shortest distance to a boundary is less than the + // tolerance, it is ignored. This allows for a point within a + // tolerant boundary to leave immediately. + G4double DistanceToOut(const G4ThreeVector&) const; + // Calculates the shortest distance ("safety") from a point inside the + // solid to any boundary of this solid. + // Return 0 if the point is already outside. + + public: // without description + + inline void SphReset() { active=1; } + + private: + + G4BREPSolidSphere(const G4BREPSolidSphere&); + G4BREPSolidSphere& operator=(const G4BREPSolidSphere&); + // Private copy constructor and assignment operator. + }; #endif - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh index 217b1e8064..1ed1d7d844 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh @@ -5,22 +5,53 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidTorus.hh,v 1.2 1999/12/15 14:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidTorus.hh,v 1.4 2000/11/08 14:21:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BREPSolidTorus +// +// Class description: +// +// Definition of a generic BREP torus: +// +// G4BREPSolidTorus(const G4String& name, +// const G4ThreeVector& origin, +// const G4ThreeVector& axis, +// const G4ThreeVector& direction, +// G4double MinRadius, +// G4double MaxRadius) + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BREPSolidTorus #define __G4BREPSolidTorus + #include "G4BREPSolid.hh" -class G4BREPSolidTorus: public G4BREPSolid +class G4BREPSolidTorus : public G4BREPSolid { - public: - G4BREPSolidTorus(const G4String , - const G4ThreeVector&, - const G4ThreeVector&, - const G4ThreeVector&, - G4double, - G4double); + + public: // with description + + G4BREPSolidTorus(const G4String& name, + const G4ThreeVector& origin, + const G4ThreeVector& axis, + const G4ThreeVector& direction, + G4double MinRadius, + G4double MaxRadius); + // Constructor defining the torus through its surfaces. + + ~G4BREPSolidTorus(); + // Empty destructor. + + private: + + G4BREPSolidTorus(const G4BREPSolidTorus&); + G4BREPSolidTorus& operator=(const G4BREPSolidTorus&); + // Private copy constructor and assignment operator. + }; #endif diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh index cef8279c17..1150840d2d 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurve.hh,v 1.5 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurve.hh,v 1.8 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BSplineCurve +// +// Class description: +// +// Definition of a generic BSpline curve. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __BSPLINECURVE_H #define __BSPLINECURVE_H @@ -24,38 +34,47 @@ public: typedef G4RWTValVector G4doubleVector; typedef G4RWTValVector G4Point3DVector; -public: +public: // with description G4BSplineCurve(); - ~G4BSplineCurve(); + // Default constructor, must be followed by call to Init(...) method. + + virtual ~G4BSplineCurve(); + // Virtual destructor. + + G4BSplineCurve(const G4BSplineCurve& right); + G4BSplineCurve& operator=(const G4BSplineCurve& right); + // Copy constructor and assignment operator. virtual G4Curve* Project(const G4Transform3D& tr= G4Transform3D::Identity); + // Transforms and projects all control points. - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); - //virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); - virtual G4int IntersectRay2D(const G4Ray& ray); - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); - - // Get/Set for the geometric data - // - // knots contains each knot multiplicity Times, - // thus knot_multiplicities is not needed - // weightsData might be 0 - // curve_form, closed_curve, self_intersect is not used, - // as they are unreliable sources of information - // - // the object is responsible for deleting the containers passed to Init + virtual G4double GetPMax() const; + virtual G4Point3D GetPoint(G4double param) const; + virtual G4double GetPPoint(const G4Point3D& p) const; + // Accessors methods. void Init(G4int degree0, G4Point3DVector* controlPointsList0, G4doubleVector* knots0, G4doubleVector* weightsData0); - G4int GetDegree() const; const G4Point3DVector* GetControlPointsList() const; const G4doubleVector* GetKnots() const; const G4doubleVector* GetWeightsData() const; + // Get/Set methods for the geometric data. + // The "knots" vector contains each knot multiplicity Times. + // The object is responsible for deleting the containers passed + // to the Init method. + +public: // without description + + virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Returns false. Empty implementation. + + virtual G4int IntersectRay2D(const G4Ray& ray); + // Returns 0. Empty implementation. + + //virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); protected: @@ -68,7 +87,12 @@ protected: protected: - // geometric data + // geometric data: + // knots - contains each knot multiplicity Times. + // knot_multiplicities is not needed, weightsData might be 0 + // curve_form, closed_curve, self_intersect is not used, + // as they are unreliable sources of information. + // G4int degree; G4Point3DVector* controlPointsList; G4doubleVector* knots; diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc index e5e45ed13e..be07853520 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc @@ -1,52 +1,43 @@ -inline G4int G4BSplineCurve::GetDegree() const { +// 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: G4BSplineCurve.icc,v 1.4 2000/08/28 15:00:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4BSplineCurve.icc +// +// Implementation of inline methods of G4BSplineCurve +// -------------------------------------------------------------------- + +inline G4int G4BSplineCurve::GetDegree() const +{ return degree; } -inline const G4BSplineCurve::G4Point3DVector* -G4BSplineCurve::GetControlPointsList() const { +inline +const G4BSplineCurve::G4Point3DVector* +G4BSplineCurve::GetControlPointsList() const +{ return controlPointsList; } -inline const G4BSplineCurve::G4doubleVector* -G4BSplineCurve::GetKnots() const { +inline +const G4BSplineCurve::G4doubleVector* +G4BSplineCurve::GetKnots() const +{ return knots; } -inline const G4BSplineCurve::G4doubleVector* -G4BSplineCurve::GetWeightsData() const { +inline +const G4BSplineCurve::G4doubleVector* +G4BSplineCurve::GetWeightsData() const +{ return weightsData; } - -// add by L. Broglia to pass linkage - -inline G4double G4BSplineCurve::GetPMax() -{ - return 0.0; -} - -inline G4Point3D G4BSplineCurve::GetPoint(G4double param) -{ - return G4Point3D(0, 0, 0); -} - -inline G4double G4BSplineCurve::GetPPoint(const G4Point3D& p) -{ - return 0.0; -} - -////////////////////////////////////////////////////////////////////// - -#include "G4CurveRayIntersection.hh" -/* -inline void G4BSplineCurve::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) -{ -} -*/ -inline G4int G4BSplineCurve::IntersectRay2D(const G4Ray& ray) -{ - // L. Broglia - G4cout<<"\nWarning ! G4BSplineCurve::IntersectRay2D is empty."; - return 0; -} - diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh index aaf2ac1cf1..393dd46a5c 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh @@ -5,17 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurveWithKnots.hh,v 1.2 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurveWithKnots.hh,v 1.3 2000/08/28 08:57:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BSplineCurveWithKnots +// +// Class description: +// +// Definition of a generic BSpline curve with knots. +// *** NOT implemented yet *** + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __B_SPLINECURVEWITHKNOTS_H #define __B_SPLINECURVEWITHKNOTS_H #include "G4BSplineCurve.hh" - class G4BSplineCurveWithKnots : public G4BSplineCurve { - }; + #endif diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh index ba008d4c1f..cc4ebb15f2 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurface.hh,v 1.6 2000/02/25 15:58:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurface.hh,v 1.9 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BSplineSurface +// +// Class description: +// +// Definition of a generic BSpline surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __BSPLINESURFACE_H #define __BSPLINESURFACE_H @@ -19,65 +29,52 @@ class G4BSplineSurface : public G4Surface { -public: + + public: // with description G4BSplineSurface(); - G4BSplineSurface(const char*, G4Ray&); - G4BSplineSurface(const G4BSplineSurface &tmp); - G4BSplineSurface(G4int, G4int, G4KnotVector&, G4KnotVector&, - G4ControlPoints&); - ~G4BSplineSurface(); + G4BSplineSurface(const char* nurbfilename, G4Ray& rayref); + G4BSplineSurface(G4int u, G4int v, G4KnotVector& u_kv, G4KnotVector& v_kv, + G4ControlPoints& cp); + virtual ~G4BSplineSurface(); + // Constructors & destructor. - int Intersect(const G4Ray&); + G4int Intersect(const G4Ray&); void CalcBBox(); + // Finds the bounds of the b-spline surface. + // The bounding box is used for a preliminary check of intersection. - G4double GetUHit() { return Hit->u; } - G4double GetVHit() { return Hit->v; } + inline G4double GetUHit() const; + inline G4double GetVHit() const; - inline int MyType()const {return 2;} - G4double ClosestDistanceToPoint(const G4Point3D&); - inline void Reset() - { - active=1; - bezier_list.EmptyList(); - projected_list.EmptyList(); - Intersected=0; - distance = kInfinity; - } + inline void Reset(); + + inline G4int GetRows() const; + inline G4int GetCols() const; + inline G4Point3D GetControlPoint(G4int a, G4int b) const; + // Accessors for control points. + +public: + + inline G4int MyType() const; - // get for controlpoints - G4int GetRows() { return ctl_points->GetRows(); } - G4int GetCols() { return ctl_points->GetCols(); } - G4Point3D GetControlPoint(G4int a, G4int b) { return ctl_points->Get3D(a,b);} - - private: - - G4SurfaceList bezier_list; - G4SurfaceList projected_list; - short dir; - int order[2]; - G4KnotVector *u_knots; - G4KnotVector *v_knots; - G4KnotVector *tmp_knots; - G4ControlPoints *ctl_points; - G4UVHit* Hit; - G4UVHit* first_hit; - int ord; - int k_index; - G4double param; - int Rational; - + + G4BSplineSurface(const G4BSplineSurface&); + G4BSplineSurface& operator=(const G4BSplineSurface&); + // Private copy constructor and assignment operator. + void FindIntersections(const G4Ray&); - inline int GetOrder(int direction) { return order[direction]; } - inline void PutOrder(int direction, int value) { order[direction]=value; } + inline G4int GetOrder(G4int direction) const; + inline void PutOrder(G4int direction, G4int value); void AddHit(G4double u, G4double v); void ProjectNURBSurfaceTo2D( const G4Plane& ,const G4Plane&, - G4ProjectedSurface*); + register G4ProjectedSurface*); + // Projects the nurb surface so that the z-axis = ray. G4ProjectedSurface* CopyToProjectedSurface(const G4Ray&); G4Point3D FinalIntersection(); @@ -88,15 +85,30 @@ private: // G4Point3D Evaluate(); G4Point3D BSEvaluate(); - G4PointRat& InternalEvalCrv(int i, G4ControlPoints *crv); + G4PointRat& InternalEvalCrv(G4int i, G4ControlPoints *crv); G4Point3D Evaluation(const G4Ray&); - G4Vector3D SurfaceNormal(const G4Point3D& Pt)const - { - return G4Vector3D(0,0,0); - } + inline G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; +private: + + G4SurfaceList bezier_list; + G4SurfaceList projected_list; + short dir; + G4int order[2]; + G4KnotVector *u_knots; + G4KnotVector *v_knots; + G4KnotVector *tmp_knots; + G4ControlPoints *ctl_points; + G4UVHit* Hit; + G4UVHit* first_hit; + G4int ord; + G4int k_index; + G4double param; + G4int Rational; }; +#include "G4BSplineSurface.icc" + #endif diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.icc b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc new file mode 100644 index 0000000000..4465e2cf7c --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc @@ -0,0 +1,81 @@ +// 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: G4BSplineSurface.icc,v 1.3 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4BSplineSurface.icc +// +// Implementation of inline methods of G4BSplineSurface +// -------------------------------------------------------------------- + +inline +G4double G4BSplineSurface::GetUHit() const +{ + return Hit->GetU(); +} + +inline +G4double G4BSplineSurface::GetVHit() const +{ + return Hit->GetV(); +} + +inline +G4int G4BSplineSurface::MyType() const +{ + return 2; +} + +inline +void G4BSplineSurface::Reset() +{ + active=1; + bezier_list.EmptyList(); + projected_list.EmptyList(); + Intersected=0; + distance = kInfinity; +} + +inline +G4int G4BSplineSurface::GetRows() const +{ + return ctl_points->GetRows(); +} + +inline +G4int G4BSplineSurface::GetCols() const +{ + return ctl_points->GetCols(); +} + +inline +G4Point3D G4BSplineSurface::GetControlPoint(G4int a, G4int b) const +{ + return ctl_points->Get3D(a,b); +} + +inline +G4int G4BSplineSurface::GetOrder (G4int direction) const +{ + return order[direction]; +} + +inline +void G4BSplineSurface::PutOrder(G4int direction, G4int value) +{ + order[direction]=value; +} + +inline +G4Vector3D G4BSplineSurface::SurfaceNormal(const G4Point3D& Pt) 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 0fc3bbb633..4820e7e9f0 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh @@ -5,9 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurfaceWithKnots.hh,v 1.1 2000/02/25 15:57:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurfaceWithKnots.hh,v 1.2 2000/08/28 08:57:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BSplineSurfaceWithKnots +// +// Class description: +// +// Definition of a generic BSpline surface with knots. +// *** NOT implemented yet *** + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __B_SPLINESURFACEWITHKNOTS_H #define __B_SPLINESURFACEWITHKNOTS_H @@ -16,6 +27,6 @@ class G4BSplineSurfaceWithKnots : public G4BSplineSurface { - }; + #endif diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.hh b/source/geometry/solids/BREPS/include/G4BezierSurface.hh index 60dbacafaa..2839a61c68 100644 --- a/source/geometry/solids/BREPS/include/G4BezierSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BezierSurface.hh,v 1.2 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BezierSurface.hh,v 1.5 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BezierSurface +// +// Class description: +// +// Definition of a generic Bezier surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __BEZIERSURFACE_H #define __BEZIERSURFACE_H @@ -18,7 +28,6 @@ #include "G4OsloMatrix.hh" #include "G4KnotVector.hh" - class G4ProjectedSurface; class G4BezierSurface : public G4Surface @@ -26,95 +35,97 @@ class G4BezierSurface : public G4Surface friend class G4BSplineSurface; friend class G4ProjectedSurface; -public: - // Test variables - static int Clips; - static int Splits; +public: // with description G4BezierSurface(); - G4BezierSurface(const G4BezierSurface &tmp); - ~G4BezierSurface(); - - friend void CopySurface(G4BezierSurface& bez); - static G4double Tolerance; - - inline G4Point3D AveragePoint() { return average_pt; }; - inline void SetAveragePoint(G4Point3D p) { average_pt=p; } + virtual ~G4BezierSurface(); + // Constructor & destructor - inline G4double UAverage() { return average_u; } - inline G4double VAverage() { return average_v; } + inline G4Point3D AveragePoint() const; + inline void SetAveragePoint(G4Point3D p); - inline void Dir(int d) { dir=d; } - inline void ChangeDir() { dir=!dir; } + inline G4double UAverage() const; + inline G4double VAverage() const; - inline G4double SMin() {return smin; } - inline G4double SMax() {return smax; } + inline void Dir(G4int d); + inline void ChangeDir(); - inline int GetOrder(int direction) { return order[direction]; } - inline void PutOrder(int direction, int value){ order[direction]=value; } + inline G4double SMin() const; + inline G4double SMax() const; - inline G4double GetU() { return (u_min + u_max)/2.0;} - inline G4double GetV() { return (v_min + v_max)/2.0;} + inline G4int GetOrder(G4int direction) const; + inline void PutOrder(G4int direction, G4int value); + + inline G4double GetU() const; + inline G4double GetV() const; void CalcBBox(); - // L. Broglia - // Because G4BezierSurface::Intersect hides the virtual function - // G4Surface::Intersect(const G4Ray&), I changed the name of this - // function - // G4int Intersect(G4SurfaceList&); G4int BIntersect(G4SurfaceList&); - G4SurfaceList* bezier_list; - int ClipBothDirs(); + G4int ClipBothDirs(); void ClipSurface(); - virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt)const - { - return G4Vector3D(0,0,0); - } + virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; + friend void CopySurface(G4BezierSurface& bez); + +protected: // without description + + G4SurfaceList* bezier_list; + + static G4int Clips; + static G4int Splits; + static G4double Tolerance; + // Test variables private: - int order[2]; + void CalcAverage(); + void CalcDistance(const G4Point3D&); + void SetValues(); + inline void LocalizeClipValues(); + + void SplitNURBSurface(); + void GetClippedRegionFromSurface(); + void RefineSurface(); + void CalcOsloMatrix(); + void MapSurface(G4Surface*); + + inline G4double Findzero(G4double x0, G4double x1, + G4double y0, G4double y1) const; + inline G4int Sign(G4double a) const; + // For ClipSurface... + + inline G4int Amax(G4int i, G4int j) const; + inline G4int Amin(G4int i, G4int j) const; + inline G4int AhIndex(G4int j, G4int t, G4int iorder) const; + // For calc_G4OsloMatrix... + +private: + + G4BezierSurface(const G4BezierSurface&); + G4BezierSurface& operator=(const G4BezierSurface &); + // Private copy constructor and assignment operator. + +private: + + G4int order[2]; G4double smin; G4double smax; G4Point3D line; G4double average_u; G4double average_v; G4Point3D average_pt; - int dir; + G4int dir; G4KnotVector *u_knots; G4KnotVector *v_knots; G4ControlPoints *ctl_points; - - void CalcAverage(); - void CalcDistance(const G4Point3D&); - void SetValues(); - - inline void LocalizeClipValues() - { - if ( dir == ROW) - { - smin = (1.0 - smin) * u_knots->GetKnot(0) + - smin * u_knots->GetKnot(u_knots->GetSize() - 1); - smax = (1.0 - smax) * u_knots->GetKnot(0) + - smax * u_knots->GetKnot(u_knots->GetSize() - 1); - } - else - { - smin = (1.0 - smin) * v_knots->GetKnot(0) + - smin * v_knots->GetKnot(v_knots->GetSize() - 1); - smax = (1.0 - smax) * v_knots->GetKnot(0) + - smax * v_knots->GetKnot(v_knots->GetSize() - 1); - } - } G4KnotVector *new_knots; - int ord; + G4int ord; G4OsloMatrix * oslo_m; - int lower,upper; + G4int lower,upper; G4double u[2]; G4double v[2]; G4double u_min; @@ -123,64 +134,8 @@ private: G4double v_max; G4ControlPoints* old_points; - void SplitNURBSurface(); - void GetClippedRegionFromSurface(); - void RefineSurface(); - void CalcOsloMatrix(); - void MapSurface(G4Surface*); - - // For ClipSurface... - inline G4double Findzero(G4double x0,G4double x1,G4double y0,G4double y1) - { - return(x0 - y0 * ( x1 - x0) / (y1-y0)); - }; - - inline int Sign(G4double a) - { - return((a < 0.0)? -1 : 1) ; - }; - - // For calc_G4OsloMatrix... - inline int Amax(int i, int j) {return( (i) > (j) ? (i) : (j) );}; - inline int Amin(int i, int j) {return( (i) < (j) ? (i) : (j) );}; - - inline int AhIndex(int j,int t, int iorder) - { - return(( (j) * ((j)+1)/2) + (t) - ((iorder-1) - (j))); - }; - }; +#include "G4BezierSurface.icc" + #endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.icc b/source/geometry/solids/BREPS/include/G4BezierSurface.icc new file mode 100644 index 0000000000..66b7f977a2 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.icc @@ -0,0 +1,139 @@ +// 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: G4BezierSurface.icc,v 1.2 2000/08/28 15:00:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4BezierSurface.icc +// +// Implementation of inline methods of G4BezierSurface +// -------------------------------------------------------------------- + +inline +G4Point3D G4BezierSurface::AveragePoint() const +{ + return average_pt; +} + +inline +void G4BezierSurface::SetAveragePoint(G4Point3D p) +{ + average_pt=p; +} + +inline +G4double G4BezierSurface::UAverage() const +{ + return average_u; +} + +inline +G4double G4BezierSurface::VAverage() const +{ + return average_v; +} + +inline +void G4BezierSurface::Dir(G4int d) +{ + dir=d; +} + +inline +void G4BezierSurface::ChangeDir() +{ + dir=!dir; +} + +inline +G4double G4BezierSurface::SMin() const +{ + return smin; +} + +inline +G4double G4BezierSurface::SMax() const +{ + return smax; +} + +inline +G4int G4BezierSurface::GetOrder(G4int direction) const +{ + return order[direction]; +} + +inline +void G4BezierSurface::PutOrder(G4int direction, G4int value) +{ + order[direction]=value; +} + +inline +G4double G4BezierSurface::GetU() const +{ + return (u_min + u_max)/2.0; +} + +inline +G4double G4BezierSurface::GetV() const +{ + return (v_min + v_max)/2.0; +} + +inline +void G4BezierSurface::LocalizeClipValues() +{ + if ( dir == ROW) + { + smin = (1.0 - smin) * u_knots->GetKnot(0) + + smin * u_knots->GetKnot(u_knots->GetSize() - 1); + smax = (1.0 - smax) * u_knots->GetKnot(0) + + smax * u_knots->GetKnot(u_knots->GetSize() - 1); + } + else + { + smin = (1.0 - smin) * v_knots->GetKnot(0) + + smin * v_knots->GetKnot(v_knots->GetSize() - 1); + smax = (1.0 - smax) * v_knots->GetKnot(0) + + smax * v_knots->GetKnot(v_knots->GetSize() - 1); + } +} + +inline +G4double G4BezierSurface::Findzero(G4double x0, G4double x1, + G4double y0, G4double y1) const +{ + return(x0 - y0 * ( x1 - x0) / (y1-y0)); +} + +inline +G4int G4BezierSurface::Sign(G4double a) const +{ + return ((a < 0.0)? -1 : 1); +} + +inline +G4int G4BezierSurface::Amax(G4int i, G4int j) const +{ + return( (i) > (j) ? (i) : (j) ); +} + +inline +G4int G4BezierSurface::Amin(G4int i, G4int j) const +{ + return( (i) < (j) ? (i) : (j) ); +} + +inline +G4int G4BezierSurface::AhIndex(G4int j, G4int t, G4int iorder) const +{ + return(( (j) * ((j)+1)/2) + (t) - ((iorder-1) - (j))); +} diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh index 1fff8e68b4..52c22f8370 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh @@ -1,3 +1,23 @@ +// 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: G4BoundingBox3D.hh,v 1.4 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4BoundingBox3D +// +// Class description: +// +// Definition of a generic solid's bounding box in the 3D space. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4BoundingBox3D_h #define __G4BoundingBox3D_h 1 @@ -7,33 +27,49 @@ class G4BoundingBox3D { -public: + +public: // with description G4BoundingBox3D(); - G4BoundingBox3D(const G4Point3D&); G4BoundingBox3D(const G4Point3D&, const G4Point3D&); ~G4BoundingBox3D(); - + // Constructors & destructor. + + G4BoundingBox3D(const G4BoundingBox3D& right); + G4BoundingBox3D& operator=(const G4BoundingBox3D& right); + // Copy constructor and assignment operator. + void Init(const G4Point3D&); void Init(const G4Point3D&, const G4Point3D&); void Extend(const G4Point3D&); + // To create/extend the bounding box G4Point3D GetBoxMin() const; G4Point3D GetBoxMax() const; - G4double GetDistance() const; void SetDistance(G4double distance0); + // Accessors. - int GetTestResult() const; - int Test(const G4Ray&); + G4int Inside(const G4Point3D&) const; + // Returns 1 if the point is inside and on the bbox. + // Returns 0 if the point is outside the bbox. - // this function return 1 if the point is inside and on the bbox, - // 0 if the point is outside the bbox - G4int Inside(const G4Point3D&); +public: + + G4int GetTestResult() const; + G4int Test(const G4Ray&); static const G4BoundingBox3D space; +private: + + G4int BoxIntersect(const G4Point3D&, + const G4Point3D&, + const G4Vector3D&) const; + + G4double DistanceToIn(const G4Point3D&, + const G4Vector3D&) const; private: @@ -41,25 +77,12 @@ private: G4Point3D box_max; G4double distance; - int test_result; + G4int test_result; G4Point3D MiddlePoint; G4Vector3D GeantBox; - - int BoxIntersect(const G4Point3D&, - const G4Point3D&, - const G4Vector3D&) const; - - G4double DistanceToIn(const G4Point3D&, - const G4Vector3D&) const; }; - #include "G4BoundingBox3D.icc" #endif - - - - - diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc index eb0315a36d..82ef12965d 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc @@ -1,3 +1,21 @@ +// 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: G4BoundingBox3D.icc,v 1.2 2000/08/28 08:57:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4BoundingBox3D.icc +// +// Implementation of inline methods of G4BoundingBox3D +// -------------------------------------------------------------------- + inline G4Point3D G4BoundingBox3D::GetBoxMin() const { return box_min; @@ -22,9 +40,7 @@ inline void G4BoundingBox3D::SetDistance(G4double distance0) } -inline int G4BoundingBox3D::GetTestResult() const +inline G4int G4BoundingBox3D::GetTestResult() const { return test_result; } - - diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.hh b/source/geometry/solids/BREPS/include/G4CircularCurve.hh index ab3dabe464..5ad8b642fe 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.hh @@ -5,56 +5,70 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CircularCurve.hh,v 1.3 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CircularCurve.hh,v 1.6 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4CircularCurve +// +// Class description: +// +// Definition of a generic circle. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __CIRCULARCURVE_H #define __CIRCULARCURVE_H -// should be G4Circle, but there is one in graphics_reps already - #include "G4Conic.hh" class G4CircularCurve : public G4Conic { -public: + +public: // with description + G4CircularCurve(); - ~G4CircularCurve(); + virtual ~G4CircularCurve(); + // Constructor & destructor. + + G4CircularCurve(const G4CircularCurve& right); + G4CircularCurve& operator=(const G4CircularCurve& right); + // Copy-constructor and assignment operator. virtual G4Curve* Project(const G4Transform3D& tr= - G4Transform3D::Identity); - - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + G4Transform3D::Identity); + // Project along trasformation tr. - //virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); + virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Tangent computed from the 3D point representation as for all conics. + + virtual G4double GetPMax() const; + virtual G4Point3D GetPoint(G4double param) const; + virtual G4double GetPPoint(const G4Point3D& p) const; + inline G4double GetRadius() const; + // Accessors for the geometric data. + + void Init(const G4Axis2Placement3D& position0, G4double radius0); + // Initialises geometric data. + +public: // without description + + // virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); virtual G4int IntersectRay2D(const G4Ray& ray); - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); - - // Get/Set for the geometric data - void Init(const G4Axis2Placement3D& position0, G4double radius0); - G4double GetRadius() const; - -protected: +protected: // with description virtual void InitBounded(); + // Compute bounding box. private: - // geometric data G4double radius; + // Geometric data. }; #include "G4CircularCurve.icc" #endif - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.icc b/source/geometry/solids/BREPS/include/G4CircularCurve.icc index a68d5a254b..efe561a9c6 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.icc @@ -1,49 +1,31 @@ -inline void G4CircularCurve::Init(const G4Axis2Placement3D& position0, - G4double radius0) { +// 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: G4CircularCurve.icc,v 1.4 2000/08/28 15:00:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4CircularCurve.icc +// +// Implementation of inline methods of G4CircularCurve +// -------------------------------------------------------------------- + +inline +void G4CircularCurve::Init(const G4Axis2Placement3D& position0, + G4double radius0) +{ position= position0; radius= radius0; } -inline G4double G4CircularCurve::GetRadius() const { +inline +G4double G4CircularCurve::GetRadius() const +{ return radius; } - -///////////////////////////////////////////////////////////////////////////// - -inline G4double G4CircularCurve::GetPMax() { - return twopi; -} - -inline G4Point3D G4CircularCurve::GetPoint(G4double param) { - return position.GetLocation()+radius* - ( cos(param)*position.GetPX() + sin(param)*position.GetPY() ); -} - -inline G4double G4CircularCurve::GetPPoint(const G4Point3D& pt) { - G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt; - G4double angle= atan2(ptLocal.y(), ptLocal.x()); - return (angle<0)? angle+twopi: angle; -} - -//////////////////////////////////////////////////////////////////////////// - -#include "G4CurveRayIntersection.hh" - -/* -inline void G4CircularCurve::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) -{ - G4Exception("G4CircularCurve is always 3D!"); - exit(1); -} -*/ - -inline G4int G4CircularCurve::IntersectRay2D(const G4Ray& ray) -{ - G4Exception("G4CircularCurve is always 3D!"); - return 0; -} - - - - diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh index edd7527579..57ba6bf888 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh @@ -1,5 +1,25 @@ -#ifndef included_G4CompositeCurve -#define included_G4CompositeCurve +// 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: G4CompositeCurve.hh,v 1.5 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4CompositeCurve +// +// Class description: +// +// Definition of a generic composition of curves. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- +#ifndef __G4COMPOSITCURVE_H +#define __G4COMPOSITCURVE_H #include "G4Curve.hh" #include "G4CurveVector.hh" @@ -10,62 +30,61 @@ class G4CompositeCurve : public G4Curve { -public: +public: // with description + G4CompositeCurve(); - ~G4CompositeCurve(); + virtual ~G4CompositeCurve(); + // Default constructor & destructor - // the following is a constructor creating closed polygons, - // given the vertices. - // No call to Init and SetBounds is needed after calling this constructor. G4CompositeCurve(const G4Point3DVector& vertices); + // Constructor creating closed polygons, given the vertices. + // No call to Init and SetBounds is needed after calling this + // constructor. - virtual G4String GetEntityType() const - { - return "G4CompositeCurve"; - } + virtual G4String GetEntityType() const; + // Returns entity type identifier. virtual G4Curve* Project(const G4Transform3D& tr = G4Transform3D::Identity); + // Project along trasformation tr. virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Tangent computed from the 3D point representation. + + virtual G4double GetPMax() const; + virtual G4Point3D GetPoint(G4double param) const; + virtual G4double GetPPoint(const G4Point3D& p) const; + const G4CurveVector& GetSegments() const; + // Acccessors for the geometric data + + void Init(const G4CurveVector& segments0); + // Initialises geometric data. + // The object is not responsible for deleting the curves; + // only a shallow copy of the CurveVector is made. + +public: // without description // virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); virtual G4int IntersectRay2D(const G4Ray& ray); - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); - - // Get/Set for the geometric data - // the class is not responsible for deleting the curves; - // only a shallow copy of the CurveVector is made - - void Init(const G4CurveVector& segments0); - const G4CurveVector& GetSegments() const; - - -protected: +protected: // with description virtual void InitBounded(); - + // Compute bounding box. + +private: + + G4CompositeCurve(const G4CompositeCurve&); + G4CompositeCurve& operator=(const G4CompositeCurve&); + // Private copy-constructor and assignment operator. + private: - // geometric data G4CurveVector segments; G4CurveRayIntersection lastIntersection; - + // geometric data + }; #include "G4CompositeCurve.icc" #endif - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc index 19b2e9fa4e..7ad83fd019 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc @@ -1,36 +1,31 @@ -inline void G4CompositeCurve::Init(const G4CurveVector& segments0) +// 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: G4CompositeCurve.icc,v 1.3 2000/08/28 15:00:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4CompositeCurve.icc +// +// Implementation of inline methods of G4CompositeCurve +// -------------------------------------------------------------------- + +inline +void G4CompositeCurve::Init(const G4CurveVector& segments0) { segments= segments0; lastIntersection.Reset(); InitBounded(); } -inline const G4CurveVector& G4CompositeCurve::GetSegments() const +inline +const G4CurveVector& G4CompositeCurve::GetSegments() const { return segments; } - -///////////////////////////////////////////////////////////////////////////// - -inline G4double G4CompositeCurve::GetPMax() -{ - G4Exception("G4CompositeCurve::GetPMax"); - return 0; -} - -inline G4Point3D G4CompositeCurve::GetPoint(G4double param) -{ - G4Exception("G4CompositeCurve::GetPoint"); - // Fake return value - return G4Point3D(); -} - -inline G4double G4CompositeCurve::GetPPoint(const G4Point3D& pt) -{ - G4Exception("G4CompositeCurve::GetPPoint"); - return 0; -} - -//////////////////////////////////////////////////////////////////////////// - - diff --git a/source/geometry/solids/BREPS/include/G4Conic.hh b/source/geometry/solids/BREPS/include/G4Conic.hh index c07dd721dc..341823b058 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.hh +++ b/source/geometry/solids/BREPS/include/G4Conic.hh @@ -1,39 +1,65 @@ +// 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: G4Conic.hh,v 1.5 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4Conic +// +// Class description: +// +// Definition of a generic conical curve. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __CONIC_H #define __CONIC_H #include "G4Curve.hh" #include "G4Axis2Placement3D.hh" -class G4Conic: public G4Curve +class G4Conic : public G4Curve { -public: + +public: // with description G4Conic(); - ~G4Conic(); + virtual ~G4Conic(); + // Constructor & destructor. - // Get/Set to geometric data - const G4Axis2Placement3D* GetPosition() const; + G4Conic(const G4Conic& right); + G4Conic& operator=(const G4Conic& right); + // Copy contructor and assignment operator. - // pShift must be added/subtracted from the parameter - // no STEP I/O if not 0!!! - // set by Project members - G4double GetPShift() const; - void SetPShift(G4double pShift0); + inline const G4Axis2Placement3D* GetPosition() const; + inline G4double GetPShift() const; + inline void SetPShift(G4double pShift0); + // Get/Set geometric data. + +public: // without description //inline G4Placement GetPosition() {return Position;} //virtual const char *Name(){return "G4ConicalCurve";} protected: + //void ProjectCurve(const G4Plane&, const G4Plane&); - //int HitPartOfCurve(G4double, G4double, const G4Point2d&); + //G4int HitPartOfCurve(G4double, G4double, const G4Point2d&); //G4Placement Position; - // geometric data G4Axis2Placement3D position; - -private: + // Geometric data. G4double pShift; + // pShift must be added/subtracted from the parameter. + // No STEP I/O if not 0!!! + // Set by Project members. }; diff --git a/source/geometry/solids/BREPS/include/G4Conic.icc b/source/geometry/solids/BREPS/include/G4Conic.icc index 6c3eda4e41..0943bb524c 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.icc +++ b/source/geometry/solids/BREPS/include/G4Conic.icc @@ -1,13 +1,35 @@ -inline const G4Axis2Placement3D* G4Conic::GetPosition() const { +// 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: G4Conic.icc,v 1.2 2000/08/28 08:57:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Conic.icc +// +// Implementation of inline methods of G4Conic +// -------------------------------------------------------------------- + +inline +const G4Axis2Placement3D* G4Conic::GetPosition() const +{ return &position; } -inline G4double G4Conic::GetPShift() const { +inline +G4double G4Conic::GetPShift() const +{ return pShift; } -inline void G4Conic::SetPShift(G4double pShift0) { +inline +void G4Conic::SetPShift(G4double pShift0) +{ pShift= pShift0; } - - diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh index 49ea9e6398..1552a31ed9 100644 --- a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh @@ -5,223 +5,186 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConicalSurface.hh,v 1.4 2000/02/16 12:02:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConicalSurface.hh,v 1.7 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/geometry/G4ConicalSurface.h,v 1.5 1993/12/30 02:13:59 rensing Exp */ -// File: G4ConicalSurface.h -// Author: Alan Breakstone - -// Contents --------------------------------------------------------- +// ---------------------------------------------------------------------- +// Class G4ConicalSurface // -// G4ConicalSurface -// -// Description: +// Class Description: // -// C++ header file for the Gismo G4ConicalSurface class, derived from -// Surface class. -// Uses the GmsListLink, G4ThreeVec, G4ThreeMat, Ray, Helix, and Surface -// classes. -// A G4ConicalSurface is a semi-infinite conical surface defined by -// an axis and an opening angle, defined as the angle between the axis -// and the conical surface, with the origin being the apex of the cone. +// A G4ConicalSurface is a semi-infinite conical surface defined by +// an axis and an opening angle, defined as the angle between the axis +// and the conical surface, with the origin being the apex of the cone. + +// The code for G4ConicalSurface has been derived from the original +// implementation in the "Gismo" package. // -// End -------------------------------------------------------------- - -// Interface Dependencies ------------------------------------------- - -#ifndef __CONICALSURFACE_H -#define __CONICALSURFACE_H +// Author: A.Breakstone +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- +#ifndef __G4CONICALSURFACE_H +#define __G4CONICALSURFACE_H #include "G4Surface.hh" -class G4ThreeMat; -// End Interface Dependencies --------------------------------------- -// Class // - -class G4ConicalSurface: public G4Surface +class G4ConicalSurface : public G4Surface { -private: - G4Vector3D axis; // direction of axis of G4ConicalSurface (unit vector) - G4double angle; // half opening angle of G4ConicalSurface, in radians - // range is 0 < angle < PI/2 - -public: +public: // with description G4ConicalSurface(); + // Default constructor: + // default axis is ( 1.0, 0.0, 0.0 ), + // default angle is 1.0 radians. + G4ConicalSurface( const G4Point3D& o, const G4Vector3D& a, G4double e ); - virtual ~G4ConicalSurface() {} + // Normal constructor: + // first argument is the origin of the G4ConicalSurface + // second argument is the axis of the G4ConicalSurface + // third argument is the angle of the G4ConicalSurface. - G4String GetEntityType() { return G4String("Conical_Surface"); } + virtual ~G4ConicalSurface(); + // Virtual destructor. + + inline G4int operator==( const G4ConicalSurface& c ); + // Equality operator. + + inline G4String GetEntityType() const; + // Returns type identifier of the shape. + + virtual const char* NameOf() const; + // Returns the class name. - // G4ConicalSurface( const G4ConicalSurface& c ): G4Surface( c.origin ) - // { axis = c.axis; angle = c.angle; } - - virtual const char* NameOf() const { return "G4ConicalSurface"; } - virtual void PrintOn( G4std::ostream& os = G4cout ) const; - - int operator==( const G4ConicalSurface& c ) - { - return origin == c.origin && axis == c.axis && angle == c.angle; - } + // Printing function, streaming surface's attributes. virtual G4double HowNear( const G4Vector3D& x ) const; + // Returns the distance from a point to a semi-infinite G4ConicalSurface. + // The point x is the (input) argument. + // The distance is positive if the point is Inside, negative if it + // is outside - // virtual G4double distanceAlongRay( int which_way, const G4Ray* ry, - // G4Vector3D& p ) const; - - // Added 18.7-95 void CalcBBox(); - - // Added 18.7-95 , same as distanceAlongRay, but uses G4Ray.h - int Intersect( const G4Ray& ry ); + // Computes the bounding-box. - // virtual G4double distanceAlongHelix( int which_way, - // const Helix* hx, G4Vector3D& p ) const; - // G4Vector3D Normal( const G4Vector3D& p ) const; + G4int Intersect( const G4Ray& ry ); + // Returns the distance along a Ray (straight line with G4Vector3D) to + // leave or enter a G4ConicalSurface. + // If the G4Vector3D of the Ray is opposite to that of the Normal to + // the G4ConicalSurface at the intersection point, it will not leave the + // G4ConicalSurface. + // Similarly, if the G4Vector3D of the Ray is along that of the Normal + // to the G4ConicalSurface at the intersection point, it will not enter the + // G4ConicalSurface. + // This method is called by all finite shapes sub-classed to + // G4ConicalSurface. + // A negative result means no intersection. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; - - virtual int Inside( const G4Vector3D& x ) const; - - virtual int WithinBoundary( const G4Vector3D& x ) const; + // Returns the Normal unit vector to the G4ConicalSurface at a point p + // on (or nearly on) the G4ConicalSurface. - virtual G4double Scale() const { return 1.0; } + virtual G4int Inside( const G4Vector3D& x ) const; + // Returns 1 if the point x is Inside the G4ConicalSurface, 0 otherwise. + // Outside means that the distance to the G4ConicalSurface would be + // negative. Uses the HowNear() function to calculate this distance. - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, G4ThreeMat& m, int inverse ); - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, int inverse ); - - G4Vector3D GetAxis() const { return axis; } - - G4double GetAngle() const { return angle; } + virtual G4int WithinBoundary( const G4Vector3D& x ) const; + // Returns 1 if point x is on the G4ConicalSurface, otherwise return zero + // Since a G4ConicalSurface is infinite in extent, the function + // will just check if the point is on the G4ConicalSurface (to the surface + // precision). + + virtual G4double Scale() const; + // Function overwritten by finite-sized derived classes which returns + // a radius, unless it is zero, in which case it returns the smallest + // non-zero dimension. + // Since a semi-infinite cone has no Scale associated with it, it returns + // the arbitrary number 1.0. + // Used for Scale-invariant tests of surface thickness. + + inline G4Vector3D GetAxis() const; + inline G4double GetAngle() const; + // Return the axis and angle of the G4ConicalSurface. void SetAngle( G4double e ); + // Changes the angle of the G4ConicalSurface. + // Requires angle to range from 0 to PI/2. +public: // without description + +/* + virtual G4double distanceAlongRay( G4int which_way, const G4Ray* ry, + G4Vector3D& p ) const; + // Returns the distance along a Ray to enter or leave a G4ConicalSurface. + // The first (input) argument is +1 to leave or -1 to enter + // The second (input) argument is a pointer to the Ray + // The third (output) argument returns the intersection point. + + virtual G4double distanceAlongHelix( G4int which_way, const Helix* hx, + G4Vector3D& p ) const; + // Returns the distance along a Helix to enter or leave a G4ConicalSurface. + // The first (input) argument is +1 to leave or -1 to enter + // The second (input) argument is a pointer to the Helix + // The third (output) argument returns the intersection point. + + G4Vector3D Normal( const G4Vector3D& p ) const; + // Returns the Normal unit vector to a G4ConicalSurface + // at a point p on (or nearly on) the G4ConicalSurface. + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4ThreeMat& m, G4int inverse ); + // Rotates the G4ConicalSurface (angles are assumed to be given in + // radians), arguments: + // - first about global x-axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z-axis by angle gamma, + // - fourth (output) argument gives the calculated rotation matrix, + // - fifth (input) argument is an integer flag which if + // non-zero reverses the order of the rotations. + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4int inverse ); + // Rotates the G4ConicalSurface (angles are assumed to be given in + // radians), arguments: + // - first about global x-axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z-axis by angle gamma, + // - fourth (input) argument is an integer flag which if + // non-zero reverses the order of the rotations. private: - // virtual G4double gropeAlongHelix( const Helix* hx ) const; -// -// Description of functions ----------------------------------------- -// -// default constructor -//----->G4ConicalSurface(); -// -// Normal constructor: first argument is the origin of the G4ConicalSurface -// second argument is the axis of the G4ConicalSurface -// third argument is the angle of the G4ConicalSurface -//----->G4ConicalSurface(const G4Vector3D& o, const G4Vector3D& a, G4double e); -// -// destructor -//----->virtual ~G4ConicalSurface() {} -// -// copy constructor -//----->G4ConicalSurface( const G4ConicalSurface& c ): Surface( c.origin ) -//-----> { axis = c.axis; angle = c.angle; } -// -// function to return class name -//----->virtual const char* NameOf() const { return "G4ConicalSurface"; } -// -// printing function -//----->virtual void PrintOn( G4std::ostream& os = G4cout ) const; -// -// equality operator -//----->int operator==( const G4ConicalSurface& c ) -//-----> { return origin == c.origin && axis == c.axis -//-----> && angle == c.angle; } -// -// function which returns the distance from a point to a G4ConicalSurface -// the (input) argument is the point x -// the distance is positive if the point is Inside, -// negative if it is outside -//----->virtual G4double HowNear( const G4Vector3D& x ) const; -// -// function which returns the distance along a Ray to enter or leave a -// G4ConicalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Ray -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongRay( int which_way, const Ray* ry, -//-----> G4Vector3D& p ) const; -// -// function which returns the distance along a Helix to enter or leave a -// G4ConicalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Helix -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongHelix( int which_way, const Helix* hx, -//-----> G4Vector3D& p ) const; -// -// function which returns the Normal unit vector to a G4ConicalSurface -// at a point p on (or nearly on) the G4ConicalSurface -//----->virtual G4Vector3D Normal( const G4Vector3D& p ) const; -// -// function which returns -// true (1) if the point x is Inside the G4ConicalSurface, -// false (0) otherwise -//----->virtual int Inside( const G4Vector3D& x ) const; -// -// function overwritten by finite-sized derived classes which returns -// true (1) if the point x is within the boundary, false (0) -// otherwise. -// Since a G4ConicalSurface is infinite in extent, the function -// will just check if the point is on the G4ConicalSurface -// (to the surface precision). -//----->virtual int WithinBoundary( const G4Vector3D& x ) const; -// -// function overwritten by finite-sized derived classes which returns -// a radius, unless it is zero, in which case it returns -// the smallest non-zero dimension. -// Since a semi-infinite cone has no Scale associated with it, -// returns the arbitrary number 1.0. -// Used for Scale-invariant tests of surface thickness. -//----->virtual G4double Scale() const { return 1.0; } -// -// function to rotate the G4ConicalSurface (4 input arguments) -// first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z-axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (output) argument gives the calculated rotation -// matrix -// the fifth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, G4ThreeMat& m, int inverse ); -// -// function to rotate the G4ConicalSurface (4 input arguments) -// first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z-axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, int inverse ); -// -// functions to return the axis and angle of the G4ConicalSurface -//----->direction GetAxis() const { return axis; } -//----->G4double GetAngle() const { return angle; } -// -// function to change the angle of the G4ConicalSurface -//----->void SetAngle( G4double e ); -// -// -// Private function to use a crude technique to find the intersection -// of a Helix with a G4ConicalSurface. It returns the turning angle along the -// Helix at which the intersection occurs or -1.0 if no intersection -// point is found. The argument to the call is the pointer to the Helix. -//----->virtual G4double gropeAlongHelix( const Helix* hx ) const; + virtual G4double gropeAlongHelix( const Helix* hx ) const; + // Private function to use a crude technique to find the intersection + // of a Helix with a G4ConicalSurface. It returns the turning angle + // along the Helix at which the intersection occurs or -1.0 if no + // intersection point is found. + // The argument to the call is the pointer to the Helix. +*/ + +private: + + G4ConicalSurface(const G4ConicalSurface&); + G4ConicalSurface& operator=(const G4ConicalSurface&); + // Private copy constructor and assignment operator. + +private: + + G4Vector3D axis; + // Direction of axis of G4ConicalSurface (unit vector). + + G4double angle; + // Half opening angle of G4ConicalSurface, in radians + // range is 0 < angle < PI/2. + }; +#include "G4ConicalSurface.icc" + #endif - - - - - diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.icc b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc new file mode 100644 index 0000000000..b29bba15ff --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc @@ -0,0 +1,41 @@ +// 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: G4ConicalSurface.icc,v 1.2 2000/08/28 15:00:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4ConicalSurface.icc +// +// Implementation of inline methods of G4ConicalSurface +// -------------------------------------------------------------------- + +inline +G4String G4ConicalSurface::GetEntityType() const +{ + return G4String("Conical_Surface"); +} + +inline +G4int G4ConicalSurface::operator==( const G4ConicalSurface& c ) +{ + return origin == c.origin && axis == c.axis && angle == c.angle; +} + +inline +G4Vector3D G4ConicalSurface::GetAxis() const +{ + return axis; +} + +inline +G4double G4ConicalSurface::GetAngle() const +{ + return angle; +} diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.hh b/source/geometry/solids/BREPS/include/G4ControlPoints.hh index c77bb9f059..cd48a19563 100644 --- a/source/geometry/solids/BREPS/include/G4ControlPoints.hh +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.hh @@ -5,18 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ControlPoints.hh,v 1.3 2000/01/21 13:47:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ControlPoints.hh,v 1.5 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4ControlPoints // -// Modif 8 oct 98 : A.Floquet -// G4PointRat datas are made of -// . a point 3D -// . a additional value : the scale factor which is set to 1 by default +// Class Description: // -// G4ControlPoints includes only G4PointRat which in turn are made -// of G4Point3D +// G4ControlPoints defines an array of G4PointRat which in turn +// are made of G4Point3D. +// Author: J.Sulkimo, P.Urban. +// Revisions by: A.Floquet, L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4ControlPoints_h #define __G4ControlPoints_h 1 @@ -24,19 +26,19 @@ class G4ControlPoints { -public: +public: // with description - // Constructors G4ControlPoints(); + G4ControlPoints( G4int, G4int); + G4ControlPoints( G4int, G4int, G4int ); + G4ControlPoints( const G4ControlPoints& ); + // Constructors. - G4ControlPoints( int, int); - - G4ControlPoints( int , int , int ); - - G4ControlPoints(const G4ControlPoints&); - - // Destructor ~G4ControlPoints(); + // Destructor. + + G4ControlPoints& operator = ( const G4ControlPoints& ); + // Assignment operator. void SetWeights(G4double*); @@ -45,49 +47,33 @@ public: void CalcValues(G4double k1, G4double param, G4PointRat& pts1, G4double k2, G4PointRat& pts2); - inline int GetRows() const {return nr;} - inline int GetCols() const {return nc;} + inline G4int GetRows() const; + inline G4int GetCols() const; - // Puts control point into matrix location (i,j) - inline void put(const int i, const int j, const G4Point3D &tmp) - { - *data[i*nc+j]=tmp; // tmp is converted to a PointRat - // by the member affectation function - // of the G4PointRat class - } - - - inline void put(const int i, const int j, const G4PointRat& tmp) - { - *data[i*nc+j]=tmp; - } + inline void put(G4int i, G4int j, const G4Point3D &tmp); + inline void put(G4int i, G4int j, const G4PointRat& tmp); + // Put control point into matrix location (i,j). + + inline G4Point3D Get3D(G4int i, G4int j) const; + inline G4PointRat& GetRat(G4int i, G4int j) const; + // Retrieve control point from matrix location (i,j); - - // Retrieves control point from matrix location (i,j) - inline G4Point3D Get3D(const int i, const int j) const - { - return (data[i*nc+j])->pt(); - } - - inline G4PointRat& GetRat(const int i, const int j) const - { - return *data[i*nc+j]; - } - G4double ClosestDistanceToPoint(const G4Point3D&); private: - inline G4double Calc(const G4double k1, const G4double par, - const G4double old_val, const G4double k2, - const G4double new_val ) - { - return (((k1 - par) * old_val +(par - k2) * new_val) / (k1-k2)); - } + inline G4double Calc(G4double k1, G4double par, G4double old_val, + G4double k2, G4double new_val ); G4PointRat** data; - int nr, nc; + // G4PointRat datas are made of + // - a point 3D + // - an additional value: the scale factor which is set to 1 by default. + + G4int nr, nc; }; +#include "G4ControlPoints.icc" + #endif diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.icc b/source/geometry/solids/BREPS/include/G4ControlPoints.icc new file mode 100644 index 0000000000..8654c45040 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.icc @@ -0,0 +1,62 @@ +// 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: G4ControlPoints.icc,v 1.1 2000/08/28 08:57:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4ControlPoints.icc +// +// Implementation of inline methods of G4ControlPoints +// -------------------------------------------------------------------- + +inline +G4int G4ControlPoints::GetRows() const +{ + return nr; +} + +inline +G4int G4ControlPoints::GetCols() const +{ + return nc; +} + +inline +void G4ControlPoints::put(G4int i, G4int j, const G4Point3D &tmp) +{ + *data[i*nc+j]=tmp; // tmp is converted to a PointRat + // by the member affectation function + // of the G4PointRat class +} + +inline +void G4ControlPoints::put(G4int i, G4int j, const G4PointRat& tmp) +{ + *data[i*nc+j]=tmp; +} + +inline +G4Point3D G4ControlPoints::Get3D(G4int i, G4int j) const +{ + return (data[i*nc+j])->pt(); +} + +inline +G4PointRat& G4ControlPoints::GetRat(G4int i, G4int j) const +{ + return *data[i*nc+j]; +} + +inline +G4double G4ControlPoints::Calc(G4double k1, G4double par, G4double old_val, + G4double k2, G4double new_val) +{ + return (((k1 - par) * old_val +(par - k2) * new_val) / (k1-k2)); +} diff --git a/source/geometry/solids/BREPS/include/G4ConvexHull.hh b/source/geometry/solids/BREPS/include/G4ConvexHull.hh index 3ce4c22e21..7f67e1e1d5 100644 --- a/source/geometry/solids/BREPS/include/G4ConvexHull.hh +++ b/source/geometry/solids/BREPS/include/G4ConvexHull.hh @@ -5,33 +5,51 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConvexHull.hh,v 1.2 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConvexHull.hh,v 1.4 2000/11/08 14:22:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4ConvexHull +// +// Class Description: +// +// Definition of a convex hull list. + +// Author: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __CONVEXHULL_H #define __CONVEXHULL_H class G4ConvexHull { - public: + public: // with description + + G4ConvexHull(){} + G4ConvexHull(G4double pparam, G4double mmin, G4double mmax) + : next(this), param (pparam), min(mmin), max(mmax){} + // Constructors + + ~G4ConvexHull(){} + // Destructor + + G4ConvexHull* GetNextHull() { return next; } + G4double GetParam() const { return param; } + G4double GetMin() const { return min; } + G4double GetMax() const { return max; } + + void SetNextHull(G4ConvexHull* n) { next=n; } + void SetParam(G4double p) { param=p; } + void SetMin(G4double x) { min=x; } + void SetMax(G4double y) { max=y; } + + private: G4ConvexHull *next; G4double param; G4double min; G4double max; - - G4ConvexHull(){}; - G4ConvexHull(G4double pparam, G4double mmin, G4double mmax) - { - next = this; - param = pparam; - min = mmin; - max = mmax; - } - - ~G4ConvexHull(){} }; #endif - diff --git a/source/geometry/solids/BREPS/include/G4Curve.hh b/source/geometry/solids/BREPS/include/G4Curve.hh index 85f16eea8d..c8663de148 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.hh +++ b/source/geometry/solids/BREPS/include/G4Curve.hh @@ -5,9 +5,23 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Curve.hh,v 1.4 2000/02/16 12:02:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Curve.hh,v 1.7 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Curve +// +// Class Description: +// +// Definition of a generic curve. +// To Initialize objects derived from G4Curve: +// - Construct curve (the constructor takes no parameters) +// - call Init() +// - if the curve is bounded, call one of the SetBounds() methods. + +// Author: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __CURVE_H #define __CURVE_H @@ -18,147 +32,113 @@ #include "G4Transform3D.hh" #include "G4Ray.hh" - class G4Ray; class G4CurveRayIntersection; class G4CurvePoint; class G4Surface; - class G4Curve { -public: - // The right way to Initialize objects derived from G4Curve is: - // . Construct (the constructor takes no parameters) - // . call Init() - // . call one of the SetBounds(), if the curve is bounded (most are) + public: // with description G4Curve(); virtual ~G4Curve(); + // Constructor & destructor. - virtual G4String GetEntityType() const { return "G4Curve"; } + G4Curve(const G4Curve& c); + G4Curve& operator=(const G4Curve& c); + // Copy contructor and assignment operator. -private: + inline G4bool operator==(const G4Curve& right) const; + // Equality operator. - G4Curve(const G4Curve&); - G4Curve& operator=(const G4Curve&); + virtual G4String GetEntityType() const; + // Returns shape identifier. -public: - - // transformation of the curve - // virtual void Transform(const G4Transform3D& tr); - - // projection onto the xy plane after transformation tr - // the returned object is allocated dynamically; - // it is the caller's responsibility to delete it - // in case the projection maps two distinct points into one, - // 0 is returned - // NOTE: this should not occur when using projection - // with G4SurfaceOfRevolution. - // For other uses this might be too restrictive... virtual G4Curve* Project(const G4Transform3D& tr=G4Transform3D::Identity)= 0; - - // tangent vector to a curve at the point with parameter u - // true if exists - // vector comes into v + // Projection onto the xy plane after the transformation tr. + // The returned object is allocated dynamically; it's caller's + // responsibility to delete it. + // In case the projection maps two distinct points into one, 0 is returned. + // NOTE: this should not occur when using projection with + // G4SurfaceOfRevolution. + virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v)= 0; + // Returns tangent vector v to a curve at the point cp. + // Returns true if v exists. - - // intersect a 2D curve (probably obtained with Project) with a ray. - // the ray is projected onto the xy plane. - // no intersection: return false - // intersection: return true, and set intersection0 - // the intersection point is ray.start+ray.dir*intersection0 - // virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is)= 0; virtual G4int IntersectRay2D(const G4Ray& ray)= 0; + // Intersects a 2D curve with a ray. + // The ray is projected onto the xy plane. + // If no intersection it returns false, otherwise it returns true, + // the intersection point is ray.start+ray.dir*intersection0. - // start and endpoints - // in 3D space - const G4Point3D& GetStart() const; - const G4Point3D& GetEnd() const; + inline const G4Point3D& GetStart() const; + inline const G4Point3D& GetEnd() const; + // Return start and endpoints in 3D space. + inline G4double GetPStart() const; + inline G4double GetPEnd() const; + // Return start and endpoints in parameter space. - // in parameter space - G4double GetPStart() const; - G4double GetPEnd() const; + inline void SetBounds(G4double p1, G4double p2); + inline void SetBounds(G4double p1, const G4Point3D& p2); + inline void SetBounds(const G4Point3D& p1, G4double p2); + inline void SetBounds(const G4Point3D& p1, const G4Point3D& p2); + // Set start and endpoints, given points as parameter values + // or 3D points. + inline G4bool IsBounded() const; + // Returns if the curve is bounded. - // set start and endpoints - // four versions, as both points can be given as parameter values - // or 3D points - void SetBounds(G4double p1, G4double p2); - void SetBounds(G4double p1, const G4Point3D& p2); - void SetBounds(const G4Point3D& p1, G4double p2); - void SetBounds(const G4Point3D& p1, const G4Point3D& p2); + inline G4bool IsPOn(G4double param) const; + // Returns if the parameter is on the curve. + inline void SetSameSense(G4int sameSense0); + inline G4int GetSameSense() const; + // The sameSense flag can be used to reverse the orientation + // of the curve (value false). + // The curves themselves never use the value of this flag; + // this is just a convenient mean of storing this piece of + // topological information. - // returns if the curve is bounded - G4bool IsBounded() const; + virtual G4double GetPMax() const = 0; + // If the parameter space is closed, return the max value + // if not, return <=0. + virtual G4Point3D GetPoint(G4double param) const = 0; + // Return the point in the 3D space, given correspondent parameter. - // returns if the parameter is on the curve - G4bool IsPOn(G4double param); + virtual G4double GetPPoint(const G4Point3D& p) const = 0; + // Return parapmeter give a point in space. + // In case the point is further off the curve than some tolerance + // the result is undefined. - - // the sameSense flag can be used to reverse the orientation - // of the curve (value false). - // the curves themselves never use the value of this flag; - // this is just a convenient means of storing - // this piece of topological information. - void SetSameSense(G4int sameSense0); - G4int GetSameSense() const; - - - // if the parameter space is closed, return the max value - // if not, return <=0 - virtual G4double GetPMax()= 0; - - - // parameter -> point - virtual G4Point3D GetPoint(G4double param)= 0; - - - // point -> parameter - // result is undefined - // if the point is further off the curve than some tolerance - virtual G4double GetPPoint(const G4Point3D& p)= 0; - - - // get the bounding box for the curve - // this function only works when the curve is bounded! - // otherwise, the result is undefined. const G4BoundingBox3D* BBox() const; + // Gets the bounding box for the curve + // If the curve is not bounded, the result is undefined. - // To be moved to a derived class - // really needed? - virtual void SetParentSrfPtr(const G4Surface* srf){} + virtual const char* Name() const; + // Returns type name. + public: // without description - virtual const char* Name() const {return "G4Curve";} + // virtual void Transform(const G4Transform3D& tr); + // Transformation of the curve. + // virtual void IntersectRay2D(const G4Ray&, G4CurveRayIntersection&)= 0; - G4bool operator==(const G4Curve& right) const - { - return this == &right; - } + virtual void SetParentSrfPtr(const G4Surface*); + // To be moved to a derived class. Is it really needed? - -protected: - - G4BoundingBox3D bBox; - - // This function will be called after the bounds are set: + protected: virtual void InitBounded()= 0; + // This function will be called after the bounds are set. -private: - - void SetStart(const G4Point3D& pt); - void SetStart(G4double p); - void SetEnd(const G4Point3D& p); - void SetEnd(G4double p); - void SetBoundsRest(); + protected: + G4BoundingBox3D bBox; G4Point3D start; G4Point3D end; G4double pStart; @@ -166,13 +146,17 @@ private: G4double pRange; G4bool bounded; G4int sameSense; -}; + private: + + inline void SetStart(const G4Point3D& pt); + inline void SetStart(G4double p); + inline void SetEnd(const G4Point3D& p); + inline void SetEnd(G4double p); + inline void SetBoundsRest(); + +}; #include "G4Curve.icc" #endif - - - - diff --git a/source/geometry/solids/BREPS/include/G4Curve.icc b/source/geometry/solids/BREPS/include/G4Curve.icc index 9d4163d5cd..c72902cb64 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.icc +++ b/source/geometry/solids/BREPS/include/G4Curve.icc @@ -1,59 +1,88 @@ -// inline members of G4Curve +// 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: G4Curve.icc,v 1.4 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Curve.icc +// +// Implementation of inline methods of G4Curve +// -------------------------------------------------------------------- -inline const G4BoundingBox3D* G4Curve::BBox() const +inline G4bool G4Curve::operator==(const G4Curve& right) const +{ + return this == &right; +} + +inline +const G4BoundingBox3D* G4Curve::BBox() const { return &bBox; } // bounds related -inline const G4Point3D& G4Curve::GetStart() const +inline +const G4Point3D& G4Curve::GetStart() const { return start; } -inline const G4Point3D& G4Curve::GetEnd() const +inline +const G4Point3D& G4Curve::GetEnd() const { - // workaround for an xlC bug - const G4Point3D& lof= end; - return lof; + return end; } -inline G4double G4Curve::GetPStart() const +inline +G4double G4Curve::GetPStart() const { return pStart; } -inline G4double G4Curve::GetPEnd() const +inline +G4double G4Curve::GetPEnd() const { return pEnd; } -inline void G4Curve::SetStart(const G4Point3D& pt) +inline +void G4Curve::SetStart(const G4Point3D& pt) { start= pt; pStart= GetPPoint(pt); } -inline void G4Curve::SetStart(G4double p) +inline +void G4Curve::SetStart(G4double p) { pStart= p; start= GetPoint(p); } -inline void G4Curve::SetEnd(const G4Point3D& pt) +inline +void G4Curve::SetEnd(const G4Point3D& pt) { end= pt; pEnd= GetPPoint(pt); } -inline void G4Curve::SetEnd(G4double p) +inline +void G4Curve::SetEnd(G4double p) { pEnd= p; end= GetPoint(p); } -inline void G4Curve::SetBoundsRest() +inline +void G4Curve::SetBoundsRest() { pRange= pEnd-pStart; G4double pMax= GetPMax(); @@ -67,35 +96,40 @@ inline void G4Curve::SetBoundsRest() InitBounded(); } -inline void G4Curve::SetBounds(G4double p1, G4double p2) +inline +void G4Curve::SetBounds(G4double p1, G4double p2) { SetStart(p1); SetEnd(p2); SetBoundsRest(); } -inline void G4Curve::SetBounds(G4double p1, const G4Point3D& p2) +inline +void G4Curve::SetBounds(G4double p1, const G4Point3D& p2) { SetStart(p1); SetEnd(p2); SetBoundsRest(); } -inline void G4Curve::SetBounds(const G4Point3D& p1, G4double p2) +inline +void G4Curve::SetBounds(const G4Point3D& p1, G4double p2) { SetStart(p1); SetEnd(p2); SetBoundsRest(); } -inline void G4Curve::SetBounds(const G4Point3D& p1, const G4Point3D& p2) +inline +void G4Curve::SetBounds(const G4Point3D& p1, const G4Point3D& p2) { SetStart(p1); SetEnd(p2); SetBoundsRest(); } -inline G4bool G4Curve::IsPOn(G4double param) +inline +G4bool G4Curve::IsPOn(G4double param) const { G4double diff= param-pStart; G4double pMax= GetPMax(); @@ -106,18 +140,20 @@ inline G4bool G4Curve::IsPOn(G4double param) return diff<=pRange; } -inline G4bool G4Curve::IsBounded() const +inline +G4bool G4Curve::IsBounded() const { return bounded; } -inline void G4Curve::SetSameSense(G4int sameSense0) +inline +void G4Curve::SetSameSense(G4int sameSense0) { sameSense= sameSense0; } -inline G4int G4Curve::GetSameSense() const +inline +G4int G4Curve::GetSameSense() const { return sameSense; } - diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.hh b/source/geometry/solids/BREPS/include/G4CurvePoint.hh index 488aeb8ff2..598cdd385d 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.hh +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.hh @@ -1,40 +1,70 @@ +// 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: G4CurvePoint.hh,v 1.4 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4CurvePoint +// +// Class Description: +// +// Class capable of storing both the parametric and the non-parametric +// representation of a point on a curve. +// The representation is evaluated lazily for efficiency. + +// Author: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef included_G4CurvePoint #define included_G4CurvePoint -// A class capable of storing both the parametric and the non-parametric -// representation of a point on a curve. -// The representation is evaluated lazily for efficiency. - #include "G4Curve.hh" #include "G4Point3D.hh" class G4CurvePoint { -public: +public: // with description G4CurvePoint(G4Curve& c0); + // Constructor, taking a curve as argument. - void Init(G4Curve& c0); + virtual ~G4CurvePoint(); + // Empty destructor. - G4Curve& GetCurve() const; + G4CurvePoint(const G4CurvePoint& cp); + G4CurvePoint& operator=(const G4CurvePoint& cp); + // Copy constructor and assignment operator. - void Reset(); + inline void Init(G4Curve& c0); + // Initialises a G4CurvePoint. Called by the constructor. - void Reset(G4double u0); + inline G4Curve& GetCurve() const; + // Returns the curve which the point belongs to. - void Reset(const G4Point3D& p0); - - void Reset(G4double u0, const G4Point3D& p0); - - G4double GetPPoint(); - - const G4Point3D& GetPoint(); + inline void Reset(); + inline void Reset(G4double u0); + inline void Reset(const G4Point3D& p0); + inline void Reset(G4double u0, const G4Point3D& p0); + // Resets point's attributes. + inline G4double GetPPoint(); + inline const G4Point3D& GetPoint(); + // Returns point as parameter or as point in space. protected: - G4CurvePoint() { } + G4CurvePoint(); + // Protected default constructor. + +protected: + + // data G4Curve* c; diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.icc b/source/geometry/solids/BREPS/include/G4CurvePoint.icc index 47e0a0e989..807a29c736 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.icc +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.icc @@ -1,39 +1,58 @@ -inline void G4CurvePoint::Init(G4Curve& c0) +// 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: G4CurvePoint.icc,v 1.2 2000/08/28 08:57:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4CurvePoint.icc +// +// Implementation of inline methods of G4CurvePoint +// -------------------------------------------------------------------- + +inline +void G4CurvePoint::Init(G4Curve& c0) { c= &c0; notComputed= allFlags; } -inline G4CurvePoint::G4CurvePoint(G4Curve& c0) -{ - Init(c0); -} - -inline G4Curve& G4CurvePoint::GetCurve() const +inline +G4Curve& G4CurvePoint::GetCurve() const { return *c; } ///////////////////////////////////////////////////////////////////////////// -inline void G4CurvePoint::Reset() +inline +void G4CurvePoint::Reset() { notComputed= allFlags; } -inline void G4CurvePoint::Reset(G4double u0) +inline +void G4CurvePoint::Reset(G4double u0) { u= u0; notComputed= pFlag; } -inline void G4CurvePoint::Reset(const G4Point3D& p0) +inline +void G4CurvePoint::Reset(const G4Point3D& p0) { p= p0; notComputed= uFlag; } -inline void G4CurvePoint::Reset(G4double u0, const G4Point3D& p0) +inline +void G4CurvePoint::Reset(G4double u0, const G4Point3D& p0) { u= u0; p= p0; @@ -42,7 +61,8 @@ inline void G4CurvePoint::Reset(G4double u0, const G4Point3D& p0) ///////////////////////////////////////////////////////////////////////////// -inline G4double G4CurvePoint::GetPPoint() +inline +G4double G4CurvePoint::GetPPoint() { if (notComputed & uFlag) { u= c->GetPPoint(p); @@ -51,7 +71,8 @@ inline G4double G4CurvePoint::GetPPoint() return u; } -inline const G4Point3D& G4CurvePoint::GetPoint() +inline +const G4Point3D& G4CurvePoint::GetPoint() { if (notComputed & pFlag) { p= c->GetPoint(u); @@ -59,4 +80,3 @@ inline const G4Point3D& G4CurvePoint::GetPoint() } return p; } - diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh index b9aea25d74..0ca5061799 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh @@ -1,63 +1,88 @@ +// 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: G4CurveRayIntersection.hh,v 1.3 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4CurveRayIntersection +// +// Class Description: +// +// Class capable of storing both the parametric and the non-parametric +// representation of a intersection point on a curve. It's subclassed +// from G4CurvePoint. + +// Author: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef included_G4CurveRayIntersection #define included_G4CurveRayIntersection #include "G4CurvePoint.hh" #include "G4Ray.hh" -class G4CurveRayIntersection: public G4CurvePoint { +class G4CurveRayIntersection : public G4CurvePoint +{ -// at first, the interface similar to that of G4CurvePoint: - -public: +public: // with description G4CurveRayIntersection(); - // must be followed by Init! - // only the distance is set (to infinity) + // Default constructor. Sets only distance to infinity. + // Must be followed by Init! G4CurveRayIntersection(G4Curve& c0, const G4Ray& r0); + // Constructor taking a curve and a ray. - void Init(G4Curve& c0, const G4Ray& r0); + ~G4CurveRayIntersection(); + // Empty destructor. - const G4Ray& GetRay() const; + G4CurveRayIntersection(const G4CurveRayIntersection& cr); + G4CurveRayIntersection& operator=(const G4CurveRayIntersection& cr); + // Copy constructor and assignment operator. - void Reset(); + inline void Init(G4Curve& c0, const G4Ray& r0); + // Initialises a G4CurveRayIntersection. Called by the constructor above. - void ResetPPoint(G4double u0); + inline const G4Ray& GetRay() const; + // Returns the ray of intersection. - void Reset(const G4Point3D& p0); + inline void Reset(); + inline void ResetPPoint(G4double u0); + inline void Reset(const G4Point3D& p0); + inline void Reset(G4double u0, const G4Point3D& p0); + inline void ResetDistance(G4double d0); + inline void Reset(G4double u0, G4double d0); + inline void Reset(const G4Point3D& p0, G4double d0); + inline void Reset(G4double u0, const G4Point3D& p0, G4double d0); + // Resets point's attributes. - void Reset(G4double u0, const G4Point3D& p0); + inline G4double GetPPoint(); + inline const G4Point3D& GetPoint(); + // Returns point as parameter or as point in space. - void ResetDistance(G4double d0); + inline G4double GetDistance(); + // Returns intersection's distance. - void Reset(G4double u0, G4double d0); +public: // without description - void Reset(const G4Point3D& p0, G4double d0); + // additional functionalities - void Reset(G4double u0, const G4Point3D& p0, G4double d0); - - G4double GetPPoint(); - - const G4Point3D& GetPoint(); - - G4double GetDistance(); + inline void Update(G4CurveRayIntersection& is); + inline void UpdateWithPointOnCurve(G4CurveRayIntersection& is); protected: + // data + const G4Ray* r; - G4double d; - static const G4int dFlag; -// now the additional functionality - -public: - - void Update(G4CurveRayIntersection& is); - - void UpdateWithPointOnCurve(G4CurveRayIntersection& is); - }; #include "G4CurveRayIntersection.icc" diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc index 34b812b3cb..dafae3b705 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc @@ -1,4 +1,23 @@ -inline void G4CurveRayIntersection::Init(G4Curve& c0, const G4Ray& r0) +// 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: G4CurveRayIntersection.icc,v 1.2 2000/08/28 08:57:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4CurveRayIntersection.icc +// +// Implementation of inline methods of G4CurveRayIntersection +// -------------------------------------------------------------------- + +inline +void G4CurveRayIntersection::Init(G4Curve& c0, const G4Ray& r0) { c= &c0; r= &r0; @@ -6,46 +25,41 @@ inline void G4CurveRayIntersection::Init(G4Curve& c0, const G4Ray& r0) notComputed= allFlags; } -inline G4CurveRayIntersection::G4CurveRayIntersection(G4Curve& c0, const G4Ray& r0) -{ - Init(c0, r0); -} - -inline G4CurveRayIntersection::G4CurveRayIntersection() -{ - d= kInfinity; -} - ////////////////////////////////////////////////////////////////////////////// -inline const G4Ray& G4CurveRayIntersection::GetRay() const +inline +const G4Ray& G4CurveRayIntersection::GetRay() const { return *r; } ////////////////////////////////////////////////////////////////////////////// -inline void G4CurveRayIntersection::Reset() +inline +void G4CurveRayIntersection::Reset() { d= +kInfinity; notComputed= uFlag|pFlag; } -inline void G4CurveRayIntersection::ResetPPoint(G4double u0) +inline void +G4CurveRayIntersection::ResetPPoint(G4double u0) { d= 0; u= u0; notComputed= pFlag|dFlag; } -inline void G4CurveRayIntersection::Reset(const G4Point3D& p0) +inline void +G4CurveRayIntersection::Reset(const G4Point3D& p0) { d= 0; p= p0; notComputed= uFlag|dFlag; } -inline void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0) +inline +void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0) { d= 0; u= u0; @@ -53,26 +67,32 @@ inline void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0) notComputed= dFlag; } -inline void G4CurveRayIntersection::ResetDistance(G4double d0) +inline void +G4CurveRayIntersection::ResetDistance(G4double d0) { d= d0; notComputed= uFlag|pFlag; } -inline void G4CurveRayIntersection::Reset(G4double u0, G4double d0) + +inline +void G4CurveRayIntersection::Reset(G4double u0, G4double d0) { d= d0; u= u0; notComputed= pFlag; } -inline void G4CurveRayIntersection::Reset(const G4Point3D& p0, G4double d0) +inline +void G4CurveRayIntersection::Reset(const G4Point3D& p0, G4double d0) { d= d0; p= p0; notComputed= uFlag; } -inline void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0, G4double d0) +inline +void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0, + G4double d0) { d= d0; u= u0; @@ -82,7 +102,8 @@ inline void G4CurveRayIntersection::Reset(G4double u0, const G4Point3D& p0, G4do ////////////////////////////////////////////////////////////////////////////// -inline G4double G4CurveRayIntersection::GetPPoint() +inline +G4double G4CurveRayIntersection::GetPPoint() { if (notComputed & uFlag) { if (notComputed & pFlag) { @@ -95,7 +116,8 @@ inline G4double G4CurveRayIntersection::GetPPoint() return u; } -inline const G4Point3D& G4CurveRayIntersection::GetPoint() +inline +const G4Point3D& G4CurveRayIntersection::GetPoint() { if (notComputed & pFlag) { if (notComputed & dFlag) { @@ -108,7 +130,8 @@ inline const G4Point3D& G4CurveRayIntersection::GetPoint() return p; } -inline G4double G4CurveRayIntersection::GetDistance() +inline +G4double G4CurveRayIntersection::GetDistance() { if (notComputed & dFlag) { if (notComputed & pFlag) { @@ -123,8 +146,8 @@ inline G4double G4CurveRayIntersection::GetDistance() ////////////////////////////////////////////////////////////////////////////// -inline void G4CurveRayIntersection::UpdateWithPointOnCurve( - G4CurveRayIntersection& is) +inline +void G4CurveRayIntersection::UpdateWithPointOnCurve(G4CurveRayIntersection& is) { if (d!=kInfinity) { // not the first intersection @@ -138,7 +161,8 @@ inline void G4CurveRayIntersection::UpdateWithPointOnCurve( *this= is; } -inline void G4CurveRayIntersection::Update(G4CurveRayIntersection& is) +inline +void G4CurveRayIntersection::Update(G4CurveRayIntersection& is) { if (c->IsBounded()) { if (!c->IsPOn(is.GetPPoint())) { @@ -147,6 +171,3 @@ inline void G4CurveRayIntersection::Update(G4CurveRayIntersection& is) } UpdateWithPointOnCurve(is); } - - - diff --git a/source/geometry/solids/BREPS/include/G4CurveVector.hh b/source/geometry/solids/BREPS/include/G4CurveVector.hh index 4bd66d849c..1dcaac2b80 100644 --- a/source/geometry/solids/BREPS/include/G4CurveVector.hh +++ b/source/geometry/solids/BREPS/include/G4CurveVector.hh @@ -1,3 +1,23 @@ +// 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: G4CurveVector.hh,v 1.3 2000/08/28 08:57:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4CurveVector +// +// Class Description: +// +// Simple array of pointers to G4Curves. + +// Author: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef included_G4CurveVector #define included_G4CurveVector @@ -7,15 +27,3 @@ typedef G4RWTPtrOrderedVector G4CurveVector; #endif - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh index 21a462a8ce..8e35dfb833 100644 --- a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh @@ -5,222 +5,182 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CylindricalSurface.hh,v 1.4 2000/02/16 12:02:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CylindricalSurface.hh,v 1.7 2000/11/08 20:26:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/geometry/G4CylindricalSurface.h,v 1.16 1993/12/30 02:14:08 rensing Exp */ -// File: G4CylindricalSurface.h -// Author: Alan Breakstone - -// Contents --------------------------------------------------------- +// ---------------------------------------------------------------------- +// Class G4CylindricalSurface // -// G4CylindricalSurface -// -// Description: +// Class Description: // -// C++ header file for Gismo G4CylindricalSurface class, derived from Surface class. -// Uses the GmsListLink, G4ThreeVec, G4ThreeMat, Ray, Helix, and Surface -// classes. +// Definition of a generic cylindrical surface. + +// The code for G4CylindricalSurface has been derived from the original +// implementation in the "Gismo" package. // -// End -------------------------------------------------------------- - -// Interface Dependencies ------------------------------------------- - -#ifndef __CYLINDER_H -#define __CYLINDER_H +// Author: A.Breakstone +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- +#ifndef __G4CYLINDERSURFACE_H +#define __G4CYLINDERSURFACE_H #include "G4Surface.hh" -class G4ThreeMat; - -// End Interface Dependencies --------------------------------------- - -// Class // - -// class G4Surface; -class G4CylindricalSurface: public G4Surface +class G4CylindricalSurface : public G4Surface { -protected: // make available to derived classes - G4Vector3D axis; // direction of axis of G4CylindricalSurface - // (unit vector) - G4double radius; // radius of G4CylindricalSurface + public: // with description -public: G4CylindricalSurface(); - G4CylindricalSurface( const G4Vector3D& o, - const G4Vector3D& a, - G4double r ); - - virtual ~G4CylindricalSurface() {} - - // G4CylindricalSurface( const G4CylindricalSurface& c ): - // G4Surface( c.origin ) - // { axis = c.axis; radius = c.radius; } - // - - G4String GetEntityType(){return G4String("Cylindrical_Surface");} - - virtual const char* NameOf() const { return "G4CylindricalSurface"; } - + // Default constructor. + + G4CylindricalSurface( const G4Vector3D& o, const G4Vector3D& a, G4double r ); + // Normal constructor: + // - first argument is the origin of the G4CylindricalSurface + // - second argument is the axis of the G4CylindricalSurface + // - third argument is the radius of the G4CylindricalSurface. + + virtual ~G4CylindricalSurface(); + // Destructor. + + inline G4int operator==( const G4CylindricalSurface& c ) const; + // Equality operator. + + inline G4String GetEntityType() const; + // Returns the shape identifier. + + virtual const char* NameOf() const; + // Returns the class name. + virtual void PrintOn( G4std::ostream& os = G4cout ) const; - - int operator==( const G4CylindricalSurface& c ) - { - return ( origin == c.origin && - axis == c.axis && - radius == c.radius ); - } - - + // Printing function, streaming surface's attributes. + virtual G4double HowNear( const G4Vector3D& x ) const; - - // virtual G4double distanceAlongRay( int which_way, const G4Ray* ry, - // G4Vector3D& p ) const; - // virtual G4double distanceAlongHelix( int which_way, - // const Helix* hx, G4Vector3D& p ) const; - + // Returns the distance from a point to a G4CylindricalSurface. + // The point x is the (input) argument. + // The distance is positive if the point is Inside, negative otherwise. + virtual G4Vector3D Normal( const G4Vector3D& p ) const; - + // Returns the Normal unit vector to a G4CylindricalSurface at a point p + // on (or nearly on) the G4CylindricalSurface. + virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; - - virtual int Inside( const G4Vector3D& x ) const; - - virtual int WithinBoundary( const G4Vector3D& x ) const; - + // Returns the Normal unit vector to the G4CylindricalSurface at a point + // p on (or nearly on) the G4CylindricalSurface. + + virtual G4int Inside( const G4Vector3D& x ) const; + // Returns 1 if the point x is Inside the G4CylindricalSurface, + // returns 0 otherwise. + // Outside means that the distance to the G4CylindricalSurface would + // be negative. + // Uses the HowNear() function to calculate this distance. + + virtual G4int WithinBoundary( const G4Vector3D& x ) const; + // Function overwritten by finite-sized derived classes which returns + // 1 if the point x is within the boundary, 0 otherwise. + // Since a G4CylindricalSurface is infinite in extent, the function will + // just check if the point is on the G4CylindricalSurface (to the surface + // precision). + virtual G4double Scale() const; + // Function overwritten by finite-sized derived classes which returns + // the radius, unless it is zero, in which case it returns the smallest + // non-zero dimension. + // Used for Scale-invariant tests of surface thickness. - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, G4ThreeMat& m, int inverse ); - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, int inverse ); + G4int Intersect(const G4Ray& ry); + // Returns the distance along a Ray (straight line with G4Vector3D) to + // leave or enter a G4CylindricalSurface. + // If the G4Vector3D of the Ray is opposite to that of the Normal to + // the G4CylindricalSurface at the intersection point, it will not leave + // the G4CylindricalSurface. + // Similarly, if the G4Vector3D of the Ray is along that of the Normal + // to the G4CylindricalSurface at the intersection point, it will not enter + // the G4CylindricalSurface. + // This method is called by all finite shapes sub-classed to + // G4CylindricalSurface. + // A negative result means no intersection. + // If no valid intersection point is found, the distance and intersection + // point are set to large numbers. + + inline G4Vector3D GetAxis() const; + inline G4double GetRadius() const; + // Return the axis and radius of the G4CylindricalSurface. - int Intersect(const G4Ray& ry); - - G4Vector3D GetAxis() const { return axis; } - - G4double GetRadius() const { return radius; } - void SetRadius( G4double r ); + // Changes the radius of the G4CylindricalSurface. + // Requires radius to be non-negative. -private: + public: // without description + +/* + virtual G4double distanceAlongRay( G4int which_way, const G4Ray* ry, + G4Vector3D& p ) const; + // Returns the distance along a Ray to enter or leave a + // G4CylindricalSurface. Arguments: + // - first (input) argument is +1 to leave or -1 to enter + // - second (input) argument is a pointer to the Ray + // - third (output) argument returns the intersection point. + + virtual G4double distanceAlongHelix( G4int which_way, const Helix* hx, + G4Vector3D& p ) const; + // Returns the distance along a Helix to enter or leave a + // G4CylindricalSurface. Arguments: + // - first (input) argument is +1 to leave or -1 to enter + // - second (input) argument is a pointer to the Helix + // - third (output) argument returns the intersection point. + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4ThreeMat& m, G4int inverse ); + // Rotates the G4CylindricalSurface (the angles are assumed to be given + // in radians). Arguments: + // - first about global x-axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z-axis by angle gamma + // - fourth (output) argument gives the calculated rotation matrix + // - fifth (input) argument is an integer flag which if non-zero + // reverses the order of the rotations + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4int inverse ); + // Rotates the G4CylindricalSurface (the angles are assumed to be given + // in radians). Arguments: + // - first about global x-axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z-axis by angle gamma + // - fourth (input) argument is an integer flag which if non-zero + // reverses the order of the rotations +*/ + + + protected: // make available to derived classes + + G4Vector3D axis; + // Direction of axis of G4CylindricalSurface (unit vector). + + G4double radius; + // Radius of G4CylindricalSurface. + + + private: + + G4CylindricalSurface(const G4CylindricalSurface&); + G4CylindricalSurface& operator=(const G4CylindricalSurface&); + // Private copy constructor and assignment operator. + +/* + virtual G4double gropeAlongHelix( const Helix* hx ) const; + // Private function to use a crude technique to find the intersection + // of a Helix with a G4CylindricalSurface. It returns the turning angle + // along the Helix at which the intersection occurs or -1.0 if no + // intersection point is found. The argument to the call is the pointer + // to the Helix. +*/ -// virtual G4double gropeAlongHelix( const Helix* hx ) const; -// -// -// Description of functions ----------------------------------------- -// -// default constructor -//----->G4CylindricalSurface(); -// -// Normal constructor:first argument is the origin of the G4CylindricalSurface -// second argument is the axis of the G4CylindricalSurface -// third argument is the radius of the G4CylindricalSurface -//----->G4CylindricalSurface( const G4Vector3D& o, -// const G4Vector3D& a, G4double r ); -// -// destructor -//----->virtual ~G4CylindricalSurface() {} -// -// copy constructor -//----->G4CylindricalSurface( const G4CylindricalSurface& c ): -// Surface( c.origin ) -//-----> { axis = c.axis; radius = c.radius; } -// -// function to return class name -//----->virtual const char* NameOf() const { return "G4CylindricalSurface"; } -// -// printing function -//----->virtual void PrintOn( G4std::ostream& os = G4cout ) const; -// -// equality operator -//----->int operator==( const G4CylindricalSurface& c ) -//-----> { return origin == c.origin && axis == c.axis -//-----> && radius == c.radius; } -// -// function which returns the distance from a point to a G4CylindricalSurface -// the (input) argument is the point x -// the distance is positive if the point is Inside, -// negative if it is outside -//----->virtual G4double HowNear( const G4Vector3D& x ) const; -// -// function which returns the distance along a Ray to enter or leave a -// G4CylindricalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Ray -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongRay( int which_way, const Ray* ry, -//-----> G4Vector3D& p ) const; -// -// function which returns the distance along a Helix to enter or leave a -// G4CylindricalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Helix -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongHelix( int which_way, const Helix* hx, -//-----> G4Vector3D& p ) const; -// -// function which returns the Normal unit vector to a -// G4CylindricalSurface at a point p -// on (or nearly on) the G4CylindricalSurface -//----->virtual G4Vector3D Normal( const G4Vector3D& p ) const; -// -// function which -// returns true (1) if the point x is Inside the G4CylindricalSurface, -// returns false (0) otherwise -//----->virtual int Inside( const G4Vector3D& x ) const; -// -// function overwritten by finite-sized derived classes which returns -// true (1) if the point x is within the boundary, false (0) -// otherwise. -// Since a G4CylindricalSurface is infinite in extent, the -// function will just check if the point is on the -// G4CylindricalSurface (to the surface precision). -//----->virtual int WithinBoundary( const G4Vector3D& x ) const; -// -// function overwritten by finite-sized derived classes which returns -// the radius, unless it is zero, in which case it returns -// the smallest non-zero dimension. -// Used for Scale-invariant tests of surface thickness. -//----->virtual G4double Scale() const; -// -// function to rotate the G4CylindricalSurface (4 input arguments) -// first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z-axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (output) argument gives the calculated rotation -// matrix -// the fifth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, G4ThreeMat& m, int inverse ); -// -// function to rotate the G4CylindricalSurface (4 input arguments) -// first about global x-axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z-axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, int inverse ); -// -// functions to return the axis and radius of the G4CylindricalSurface -//----->direction GetAxis() const { return axis; } -//----->G4double GetRadius() const { return radius; } -// -// function to change the radius of the G4CylindricalSurface -//----->void SetRadius( G4double r ); -// -// -// Private function to use a crude technique to find the intersection -// of a Helix with a G4CylindricalSurface. It returns the turning angle along -// the Helix at which the intersection occurs or -1.0 if no intersection -// point is found. The argument to the call is the pointer to the Helix. -//----->virtual G4double gropeAlongHelix( const Helix* hx ) const; }; +#include "G4CylindricalSurface.icc" + #endif - diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc new file mode 100644 index 0000000000..4abab178f1 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc @@ -0,0 +1,43 @@ +// 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: G4CylindricalSurface.icc,v 1.2 2000/08/28 15:00:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4CylindricalSurface.icc +// +// Implementation of inline methods of G4CylindricalSurface +// -------------------------------------------------------------------- + +inline +G4int G4CylindricalSurface::operator==( const G4CylindricalSurface& c ) const +{ + return ( origin == c.origin && + axis == c.axis && + radius == c.radius ); +} + +inline +G4String G4CylindricalSurface::GetEntityType() const +{ + return G4String("Cylindrical_Surface"); +} + +inline +G4Vector3D G4CylindricalSurface::GetAxis() const +{ + return axis; +} + +inline +G4double G4CylindricalSurface::GetRadius() const +{ + return radius; +} diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.hh b/source/geometry/solids/BREPS/include/G4Ellipse.hh index c072a703e2..cbfe56682d 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.hh +++ b/source/geometry/solids/BREPS/include/G4Ellipse.hh @@ -5,50 +5,72 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Ellipse.hh,v 1.4 2000/01/21 13:47:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Ellipse.hh,v 1.7 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Ellipse +// +// Class description: +// +// Definition of a generic ellipse curve. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __ELLIPTICCURVE_H #define __ELLIPTICCURVE_H #include "G4CircularCurve.hh" - class G4Ellipse : public G4Conic { -public: + +public: // with description + G4Ellipse(); - ~G4Ellipse(); - - virtual G4Curve* Project(const G4Transform3D& tr = G4Transform3D::Identity); + virtual ~G4Ellipse(); + // Constructor & destructor. - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); - - //virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); - virtual G4int IntersectRay2D(const G4Ray& ray); + G4Ellipse(const G4Ellipse& right); + G4Ellipse& operator=(const G4Ellipse& right); + // Copy constructor and assignment operator. - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); + G4Curve* Project(const G4Transform3D& tr= + G4Transform3D::Identity); + // Transforms and projects the curve. - // Get/Set for the geometric data - void Init(const G4Axis2Placement3D& position0, - G4double semiAxis10, G4double semiAxis20); - - G4double GetSemiAxis1() const; - G4double GetSemiAxis2() const; + G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Returns tangent to curve at a given point, if existing. + // The tangent is computed from the 3D point representation. + inline G4double GetPMax() const; + inline G4Point3D GetPoint(G4double param) const; + inline G4double GetPPoint(const G4Point3D& p) const; + // Accessors methods. + + inline G4double GetSemiAxis1() const; + inline G4double GetSemiAxis2() const; + inline void Init(const G4Axis2Placement3D& position0, + G4double semiAxis10, G4double semiAxis20); + // Get/Set methods for the geometric data. + + +public: + + inline G4int IntersectRay2D(const G4Ray& ray); + // void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); protected: - virtual void InitBounded(); + void InitBounded(); private: // geometric data + G4double semiAxis1; G4double semiAxis2; - G4double ratioAxis2Axis1; G4Transform3D toUnitCircle; diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.icc b/source/geometry/solids/BREPS/include/G4Ellipse.icc index 78c27d403f..efec4d7a57 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.icc +++ b/source/geometry/solids/BREPS/include/G4Ellipse.icc @@ -1,5 +1,25 @@ -inline void G4Ellipse::Init(const G4Axis2Placement3D& position0, - G4double semiAxis10, G4double semiAxis20) { +// 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: G4Ellipse.icc,v 1.5 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Ellipse.icc +// +// Implementation of inline methods of G4Ellipse +// -------------------------------------------------------------------- + +inline +void G4Ellipse::Init(const G4Axis2Placement3D& position0, + G4double semiAxis10, G4double semiAxis20) +{ position= position0; semiAxis1= semiAxis10; semiAxis2= semiAxis20; @@ -15,28 +35,38 @@ inline void G4Ellipse::Init(const G4Axis2Placement3D& position0, forTangent= -semiAxis1*semiAxis1/(semiAxis2*semiAxis2); } -inline G4double G4Ellipse::GetSemiAxis1() const { +inline +G4double G4Ellipse::GetSemiAxis1() const +{ return semiAxis1; } -inline G4double G4Ellipse::GetSemiAxis2() const { +inline +G4double G4Ellipse::GetSemiAxis2() const +{ return semiAxis2; } ///////////////////////////////////////////////////////////////////////////// -inline G4double G4Ellipse::GetPMax() { +inline +G4double G4Ellipse::GetPMax() const +{ return twopi; } -inline G4Point3D G4Ellipse::GetPoint(G4double param) { +inline +G4Point3D G4Ellipse::GetPoint(G4double param) const +{ param-= GetPShift(); - return position.GetLocation() - + semiAxis1*cos(param)*position.GetPX() - + semiAxis2*sin(param)*position.GetPY(); + return G4Point3D( position.GetLocation() + + semiAxis1*cos(param)*position.GetPX() + + semiAxis2*sin(param)*position.GetPY() ); } -inline G4double G4Ellipse::GetPPoint(const G4Point3D& pt) { +inline +G4double G4Ellipse::GetPPoint(const G4Point3D& pt) const +{ G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt; G4double angle= atan2(ptLocal.y(), ptLocal.x()*ratioAxis2Axis1); G4double r= (angle<0)? angle+twopi: angle; @@ -48,8 +78,9 @@ inline G4double G4Ellipse::GetPPoint(const G4Point3D& pt) { #include "G4CurveRayIntersection.hh" /* -inline void G4Ellipse::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) +inline +void G4Ellipse::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) { is.Init(*this, ray); @@ -88,7 +119,8 @@ inline void G4Ellipse::IntersectRay2D(const G4Ray& ray, } */ -inline G4int G4Ellipse::IntersectRay2D(const G4Ray& ray) +inline +G4int G4Ellipse::IntersectRay2D(const G4Ray& ray) { // transform s.t. the ellipse becomes the unit circle // with the center at the origin @@ -127,5 +159,3 @@ inline G4int G4Ellipse::IntersectRay2D(const G4Ray& ray) return nbinter; } - - diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh index ba26a7a2e0..07d2410cad 100644 --- a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh @@ -5,9 +5,36 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FConicalSurface.hh,v 1.6 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FConicalSurface.hh,v 1.10 2000/11/20 17:54:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4FConicalSurface +// +// Class description: +// +// Definition of a generic conical surface. +/* + Position.axis| + | + -- ---|--- small_radius + l | / | \ + e | / | \ + n | / | \ + g | / | \ + t | / | \ + h | / | \ + -- ---------|--------- large_radius + Position +*/ + +// The code for G4FConicalSurface has been derived from the original +// implementation in the "Gismo" package. +// +// Author: Alan Breakstone +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __FCONIC_H #define __FCONIC_H @@ -15,153 +42,108 @@ #include "G4Axis2Placement3D.hh" #include "G4Surface.hh" - -// Position.axis| -// | -// -- ---|--- small_radius -// l | / | \ -// e | / | \ -// n | / | \ -// g | / | \ -// t | / | \ -// h | / | \ -// -- ---------|--------- large_radius -// Position - - -class G4FConicalSurface: public G4Surface //: public G4ConicalSurface +class G4FConicalSurface : public G4Surface { -protected: - G4double length; // length of G4FConicalSurface - G4double small_radius;// small radius of G4FConicalSurface, can be zero - G4double large_radius;// large radius of G4FConicalSurface, must be - // greater than the small radius - // Note that the angle of the G4ConicalSurface is - // calculated from these three quantities. - - G4Axis2Placement3D Position; - - // Add by L. Broglia - G4double tan_angle; - -public: + public: // with description - G4FConicalSurface() //: G4ConicalSurface() - { - length = 1.0; - small_radius = 0.0; - large_radius = 1.0; - - // Add by L. Broglia - tan_angle = (large_radius-small_radius)/length; - } - -// constructor utilized into G4BREPSolidPCone -// default constructor -//----->G4FConicalSurface() : G4ConicalSurface() { length = 1.0; -//-----> small_radius = 0.0; -//-----> large_radius = 1.0; } -// -// Normal constructor: first argument is the origin of the G4FConicalSurface -// second argument is the axis of the G4FConicalSurface -// third argument is the length of the G4FConicalSurface -// fourth argument is the small radius of the -// G4FConicalSurface -// fifth argument is the large radius of the -// G4FConicalSurface + G4FConicalSurface(); + virtual ~G4FConicalSurface(); + // Default constructor and destructor. G4FConicalSurface( const G4Point3D& o, const G4Vector3D& a, G4double l, G4double sr, G4double lr ); - - G4FConicalSurface( const G4FConicalSurface& c ); - - ~G4FConicalSurface() {} + // o : origin of the G4FConicalSurface. + // a : axis of the G4FConicalSurface. + // l : length of the G4FConicalSurface. + // sl: small radius of the G4FConicalSurface. + // lr: large radius of the G4FConicalSurface. virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; + // Returns the normal to the surface on point p. -// Return 0 if point x is outside G4ConicalSurface, 1 if Inside. - virtual int Inside( const G4Vector3D& x ) const; + G4int Inside( const G4Vector3D& x ) const; + // Returns 0 if point x is outside G4ConicalSurface, 1 if Inside. - G4String GetEntityType(){return G4String("FConical_Surface");} + inline G4String GetEntityType() const; + // Returns the type identifier. + + virtual const char* Name() const; + // Returns the class type name. - // STEP additions -// -// function to return class name - virtual const char* Name() const { return "G4FConicalSurface"; } -// printing function virtual void PrintOn( G4std::ostream& os = G4cout ) const; + // Printing function. -// equality operator - int operator==( const G4FConicalSurface& c ); + G4int operator==( const G4FConicalSurface& c ) const; + // Equality operator. -// This function count the number of intersections of a -// bounded conical surface by a ray. -// At first, calculates the intersections with the semi-infinite -// conical surfsace. After, count the intersections within the -// finite conical surface boundaries, and set "distance" to the -// closest distance from the start point to the nearest intersection -// If the point is on the surface it returns or the intersection with -// the opposite surface or kInfinity -// If no intersection is founded, set distance = kInfinity and -// return 0 + G4int Intersect( const G4Ray& ry ); + // Counts the number of intersections of a bounded conical surface by a ray. + // At first, calculates the intersections with the semi-infinite + // conical surface; then, it counts the intersections within the + // finite conical surface boundaries, and sets the "distance" to the + // closest distance from the start point to the nearest intersection. + // If the point is on the surface it returns or the intersection with + // the opposite surface or kInfinity. + // If no intersection is found, it sets distance = kInfinity and returns 0. - int Intersect( const G4Ray& ry ) ; void CalcBBox(); + // Computes the bounding-box. - // Add by L. Broglia + virtual G4double HowNear( const G4Vector3D& x ) const; + // Computes the shortest distance from the point x to the G4FConicalSurface. + // The distance will always be positive. + // This function works only with Cone axis equal (0,0,1) or (0,0,-1), + // it projects the surface and the point on the x,z plane and computes + // the distance in analytical way. -// Shortest distance from the point x to the G4FConicalSurface. -// The distance will be positive always positive - - virtual G4double HowNear( const G4Vector3D& x ) const; - -// function which returns true (1) if the point x is within the boundary -// returns false (0) otherwise - - virtual int WithinBoundary( const G4Vector3D& x ) const; - -// function to return the size of a G4FConicalSurface. -// Used for Scale-invariant tests of surface thickness. -// If the small radius is zero, returns the large radius. + virtual G4int WithinBoundary( const G4Vector3D& x ) const; + // Returns 1 if the point x is within the boundary, returns 0 otherwise. virtual G4double Scale() const; + // Returns the size of a G4FConicalSurface. + // Used for Scale-invariant tests of surface thickness. + // If the small radius is zero, returns the large radius. -// function to calculate the Area of a G4FConicalSurface virtual G4double Area() const; - -// function to change the radii and length of the G4FConicalSurface -// the first (input) argument is the new length -// the second (input) argument is the new small radius -// the third (input) argument is the new large radius + // Calculates the area of a G4FConicalSurface. virtual void resize( G4double l, G4double sr, G4double lr ); - -// functions to return the dimensions of the G4FConicalSurface + // Changes the radii and length of the G4FConicalSurface. + // - l (input) argument: the new length + // - sr (input) argument: the new small radius + // - lr (input) argument: the new large radius - G4double GetLength() const { return length; } -// functions to return the dimensions of the G4FConicalSurface + inline G4double GetLength() const; + inline G4double GetSmallRadius() const; + inline G4double GetLargeRadius() const; + inline G4double GetTan_Angle() const; + // Accessors to dimensions of the G4FConicalSurface. - G4double GetSmallRadius() const { return small_radius; } +protected: -// functions to return the dimensions of the G4FConicalSurface + G4double length; + // length of G4FConicalSurface - G4double GetLargeRadius() const { return large_radius; } + G4double small_radius; + // small radius of G4FConicalSurface, can be zero + G4double large_radius; + // large radius of G4FConicalSurface, must be greater than the small + // radius. Note that the angle of the G4ConicalSurface is calculated + // from these three quantities. + + G4Axis2Placement3D Position; + G4double tan_angle; -// functions to return the dimensions of the G4FConicalSurface +private: - G4double GetTan_Angle() const { return tan_angle; } + G4FConicalSurface(const G4FConicalSurface&); + G4FConicalSurface& operator=(const G4FConicalSurface&); + // Private copy constructor and assignment operator. }; +#include "G4FConicalSurface.icc" + #endif - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.icc b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc new file mode 100644 index 0000000000..c59b6282b1 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc @@ -0,0 +1,47 @@ +// 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: G4FConicalSurface.icc,v 1.2 2000/08/28 15:00:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4FConicalSurface.icc +// +// Implementation of inline methods of G4FConicalSurface +// -------------------------------------------------------------------- + +inline +G4String G4FConicalSurface::GetEntityType() const +{ + return G4String("FConical_Surface"); +} + +inline +G4double G4FConicalSurface::GetLength() const +{ + return length; +} + +inline +G4double G4FConicalSurface::GetSmallRadius() const +{ + return small_radius; +} + +inline +G4double G4FConicalSurface::GetLargeRadius() const +{ + return large_radius; +} + +inline +G4double G4FConicalSurface::GetTan_Angle() const +{ + return tan_angle; +} diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh index 0fa61de845..8d2296e324 100644 --- a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh @@ -5,17 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FCylindricalSurface.hh,v 1.7 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FCylindricalSurface.hh,v 1.10 2000/11/08 14:22:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4FCylindricalSurface +// +// Class Description: +// +// Definition of a generic bounded cylindrical surface. // -#ifndef __FCYLINDER_H -#define __FCYLINDER_H - -#include "G4PointRat.hh" -#include "G4Axis2Placement3D.hh" -#include "G4Surface.hh" - - // Position.axis| radius // >|---|<--------- // | @@ -28,126 +27,122 @@ // h | | | | // -- +---|---+ // Position - + +// The code for G4CylindricalSurface has been derived from the original +// implementation in the "Gismo" package. +// +// Author: A.Breakstone +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- +#ifndef __FCYLINDER_H +#define __FCYLINDER_H + +#include "G4PointRat.hh" +#include "G4Axis2Placement3D.hh" +#include "G4Surface.hh" -class G4FCylindricalSurface: public G4Surface +class G4FCylindricalSurface : public G4Surface { + + public: // with description + + G4FCylindricalSurface(); + // Default constructor. + + G4FCylindricalSurface( const G4Point3D& o, + const G4Vector3D& a, + G4double r, + G4double l ); + // o : origin. + // a : axis. + // r : radius. + // l : length. + + virtual ~G4FCylindricalSurface(); + // Destructor. + + inline G4int operator==( const G4FCylindricalSurface& c ) const; + // Equality operator. + + virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; + // Returns the Normal unit vector to the G4FCylindricalSurface at a point + // p on (or nearly on) the G4FCylindricalSurface. + + virtual G4int Inside( const G4Vector3D& x ) const; + // Returns 1 if the point x is Inside the G4FCylindricalSurface, + // returns 0 otherwise. + + inline G4String GetEntityType() const; + // Returns the shape identifier. + + G4int Intersect(const G4Ray&); + // Counts the number of intersections of a bounded cylindrical surface + // by a ray. At first, it calculates the intersections with the infinite + // cylindrical surface. Then, it counts the intersections within the + // finite cylindrical surface boundaries, and sets the "distance" to the + // closest distance from the start point to the nearest intersection. + // If the point is on the surface it returns either the intersection with + // the opposite surface or kInfinity. + // If no intersection is found, it sets distance = kInfinity and returns 0. + + virtual G4double HowNear( const G4Vector3D& x ) const; + // Computes the shortest distance from the point x to the + // G4FCylindricalSurface. The distance will be always positive. + + void CalcBBox(); + // Computes the bounding box. + + virtual const char* NameOf() const; + // Returns the class name. + + virtual void PrintOn( G4std::ostream& os = G4cout ) const; + // Printing function. + + virtual G4int WithinBoundary( const G4Vector3D& x ) const; + // Returns 1 if the point x is within the boundary, 0 otherwise. + + virtual G4double Scale() const; + // Return the radius of a G4FCylindricalSurface. + // Used for Scale-invariant tests of surface thickness. + // If the radius is zero, it returns the length. + + virtual G4double Area() const; + // Calculates the area of a G4FCylindricalSurface. + + virtual void resize( G4double r, G4double l ); + // Changes the radius and length of the G4FCylindricalSurface: + // the first (input) argument is the new radius; + // the second (input) argument is the new length. + + inline G4double GetLength() const; + inline G4Vector3D GetAxis() const; + inline G4double GetRadius() const; + void SetRadius( G4double r ); + // Get/Set methods for the geometrical data of the G4FCylindricalSurface. + + public: // without description + + void InitValues(); + // Re-calculates the private values of the G4FCylindrical surface + // before the Intersect and HowNear function if the G4FCylindrical + // was created by the STEP interface. + protected: G4Axis2Placement3D Position; G4double radius; G4double length; + private: - public: + G4FCylindricalSurface(const G4FCylindricalSurface&); + G4FCylindricalSurface& operator=(const G4FCylindricalSurface&); + // Private copy constructor and assignment operator. - // default constructor - G4FCylindricalSurface() - { - length = 1.0; - } - - // Constructor utilized by the G4BREPSolidPCone - // first argument is the origin - // second argument is the axis - // third argument is the radius - // fourth argument is the length - G4FCylindricalSurface( const G4Point3D& o, - const G4Vector3D& a, - const G4double r, - const G4double l ); - - // destructor - ~G4FCylindricalSurface() {} - - // copy constructor - G4FCylindricalSurface(const G4FCylindricalSurface& c); - - virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; - - virtual int Inside( const G4Vector3D& x ) const; - - // - G4String GetEntityType() - { - return G4String("Cylindrical_Surface"); - } - - // This function count the number of intersections of a - // bounded cylindrical surface by a ray. - // At first, calculates the intersections with the infinite - // cylindrical surfsace. After, count the intersections within the - // finite cylindrical surface boundaries, and set "distance" to the - // closest distance from the start point to the nearest intersection - // If the point is on the surface it returns or the intersection with - // the opposite surface or kInfinity - - // If no intersection is founded, set distance = kInfinity and - // return 0 - int Intersect(const G4Ray&); - - // Shortest distance from the point x to the G4FCylindricalSurface. - // The distance will be always positive. - virtual G4double HowNear( const G4Vector3D& x ) const; - - // - void CalcBBox(); - - // function to return class name - virtual const char* NameOf() const - { - return "G4FCylindricalSurface"; - } - - // printing function - virtual void PrintOn( G4std::ostream& os = G4cout ) const; - - // equality operator - int operator==( const G4FCylindricalSurface& c ); - - // function which returns true (1) if the point x is within the boundary - // returns false (0) otherwise - virtual int WithinBoundary( const G4Vector3D& x ) const; - - // function to return the radius of a G4FCylindricalSurface. - // Used for Scale-invariant tests of surface thickness. - // If the radius is zero, returns the length. - virtual G4double Scale() const; - - // function to calculate the Area of a G4FCylindricalSurface - virtual G4double Area() const - { - return ( 2.0 * M_PI * radius * length ); - } - - // function to change the radius and length of the G4FCylindricalSurface - // the first (input) argument is the new radius - // the second (input) argument is the new length - virtual void resize( G4double r, G4double l ); - - // function to return the length of the G4FCylindricalSurface - G4double GetLength() const - { - return length; - } - - G4Vector3D GetAxis() const { return Position.GetAxis(); } - - G4double GetRadius() const { return radius; } - - void SetRadius( G4double r ); - - // Re-calculates the private values of the G4FCylindrical surface - // before the Intersect and HowNear function if the G4FCylindrical - // was created by the STEP interface - void InitValues(); }; +#include "G4FCylindricalSurface.icc" + #endif - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc new file mode 100644 index 0000000000..474ef0f2ca --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc @@ -0,0 +1,50 @@ +// 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: G4FCylindricalSurface.icc,v 1.2 2000/08/28 15:00:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4FCylindricalSurface.icc +// +// Implementation of inline methods of G4FCylindricalSurface +// -------------------------------------------------------------------- + +inline +G4int G4FCylindricalSurface::operator==( const G4FCylindricalSurface& c ) const +{ + return ( origin == c.origin && + Position == c.Position && + radius == c.radius && + length == c.length ); +} + +inline +G4String G4FCylindricalSurface::GetEntityType() const +{ + return G4String("Cylindrical_Surface"); +} + +inline +G4double G4FCylindricalSurface::GetLength() const +{ + return length; +} + +inline +G4Vector3D G4FCylindricalSurface::GetAxis() const +{ + return Position.GetAxis(); +} + +inline +G4double G4FCylindricalSurface::GetRadius() const +{ + return radius; +} diff --git a/source/geometry/solids/BREPS/include/G4FPlane.hh b/source/geometry/solids/BREPS/include/G4FPlane.hh index ebd425aaa6..bdbb8bc672 100644 --- a/source/geometry/solids/BREPS/include/G4FPlane.hh +++ b/source/geometry/solids/BREPS/include/G4FPlane.hh @@ -5,143 +5,151 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FPlane.hh,v 1.7 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FPlane.hh,v 1.10 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// L. Broglia -// +// ---------------------------------------------------------------------- +// Class G4FPlane +// +// Class Description: +// // A G4FPlane is a plane created by 3 points or by an origin, an axis and // a direction. The plane created is a G4Plane, where his coefficient a, b, -// c and d are stored. Be carreful that the equation of the plane is : +// c and d are stored. The equation of the plane is: // ax + by + cz = d // // This class contain 2 intersection functions : // - closest intersection // - intersection by a ray + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, S.Giani, G.Cosmo. +// ---------------------------------------------------------------------- // -// Corrections by S.Giani: -// +// History +// ------- // - SurfaceNormal always returns the direction of NormalX, always containing -// the correct orientation for all faces. -// - Addition of default argument sense = 1 in the second constructor. - - +// the correct orientation for all faces (S.Giani). +// - Addition of default argument sense = 1 in the second constructor (S.Giani). +// - The constructor using iVec now properly stores both the internal and +// external boundaries in the bounds vector (S.Giani). +// - Proper initialization of sameSense in both the constructors (S.Giani). +// - Addition of third argument (sense) in the second constructor to ensure +// consistent setting of the normal in all the client code (S.Giani). +// - Proper use of the tolerance in the Intersect function (S.Giani). +// ---------------------------------------------------------------------- #ifndef __PLANESURFACE_H #define __PLANESURFACE_H - #include "G4Axis2Placement3D.hh" #include "G4Plane.hh" #include "G4Surface.hh" -class G4FPlane:public G4Surface +class G4FPlane : public G4Surface { -public: +public: // with description - // Default constructor - destructor G4FPlane(); - ~G4FPlane() { delete NormalX; } + virtual ~G4FPlane(); + // Default constructor & destructor. - // Normal constructor G4FPlane( const G4Vector3D& direction, const G4Vector3D& axis , const G4Point3D& Pt0 ); - - // Constructor used by G4BREPSolidBox and G4BREPSolidPolyhedra + // Normal constructor. + G4FPlane(const G4Point3DVector* pVec, const G4Point3DVector* iVec= 0, - int sense = 1); + G4int sense = 1); + // Constructor used by G4BREPSolidBox and G4BREPSolidPolyhedra. - // hit point of the ray on the surface - G4Point3D hitpoint; + G4int Intersect(const G4Ray& G4Rayref); + // Calculates the intersection of the plane and a ray. - // calculate the intersection of the plane and a ray - int Intersect(const G4Ray& G4Rayref); - //int Evaluate(const G4Ray& ray) { return Intersect(ray); } - - // Calculate bounding box void CalcBBox(); + // Calculates bounding box. - // Calculate the projection of the plane void Project(); + // Computes the projection of the plane. - // return the type, used in G4BREPSolid - inline int MyType()const { return 1; } - - // return the convexity or not - int GetConvex() { return Convex; } + inline G4int GetConvex() const; + // Return plane's convexity, if so. - // is convex ? - int IsConvex(); - - // deactive, used in G4Surface - inline void Deactivate() { active=0; } + inline G4int GetNumberOfPoints() const; + // Gets the number of the points on the surface boundary. - // get the number of the points on the surface boundary - inline int GetNumberOfPoints() - { - return (surfaceBoundary.GetNumberOfPoints()); - } + inline G4Point3D GetSrfPoint() const; + // Gets the location point on the surface. + + inline const G4Point3D& GetPoint(G4int Count) const; + // Gets a surface boundary point. - // get the location point - G4Point3D GetSrfPoint() { return pplace.GetLocation(); } - - // get a surface boundary point - inline const G4Point3D& GetPoint(const int Count) - { - return surfaceBoundary.GetPoint(Count); - } - void CalcNormal(); - - // return the normal, used in BREPSolid - G4Ray* Norm() { return NormalX; } + // Computes normal to surface. - G4Vector3D SurfaceNormal(const G4Point3D& Pt)const - { - return NormalX->GetDir(); - } - - virtual const char* Name() const { return "G4FPlane"; } + inline G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; + // Returns normal to surface. + + inline const char* Name() const; + // Returns the type identifier. G4double ClosestDistanceToPoint(const G4Point3D& Pt); + // Returns the closest distance from point Pt. - // L. Broglia : create this Surface function - virtual G4double HowNear( const G4Vector3D& x ) const ; + G4double HowNear( const G4Vector3D& x ) const ; + // Computes the shortest distance from the point x to the G4FPlane. + // The distance will always be positive. - inline G4Axis2Placement3D GetPplace() const { return pplace; } + inline G4Axis2Placement3D GetPplace() const; + inline G4Plane GetPplane() const; + // Accessors to geometrical data. - inline G4Plane GetPplane() const { return Pl; } +public: // without description + + inline G4int MyType() const; + // Returns the shape type (used in G4BREPSolid). + + G4int IsConvex() const; + // Returns -1. (?) + + inline void Deactivate(); + // Deactive, used in G4Surface. + + inline G4Ray* Norm(); + // Returns the normal (used in BREPSolid). + + inline const G4Point3D& GetHitPoint() const; + // Returns the hit point of the ray on the surface. + +protected: + + void InitBounded(); + +protected: + + G4Point3D hitpoint; + // Hit point of the ray on the surface. + +private: + + G4FPlane(const G4FPlane&); + G4FPlane& operator=(const G4FPlane&); + // Private copy constructor and assignment operator. + + inline G4int Sign(G4double a) const; private: G4Axis2Placement3D pplace; G4Plane Pl; - G4Ray *NormalX; - int Convex; + G4Ray* NormalX; + G4int Convex; G4SurfaceBoundary* projectedBoundary; - inline int Sign(const G4double a) - { - register int i=1; - if(a<0) - i= -1; - - return i; - } - - -protected: - - // P. Urban - virtual void InitBounded(); - }; +#include "G4FPlane.icc" + #endif - - - - diff --git a/source/geometry/solids/BREPS/include/G4FPlane.icc b/source/geometry/solids/BREPS/include/G4FPlane.icc new file mode 100644 index 0000000000..6f0adb044b --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4FPlane.icc @@ -0,0 +1,98 @@ +// 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: G4FPlane.icc,v 1.3 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4FPlane.icc +// +// Implementation of inline methods of G4FPlane +// -------------------------------------------------------------------- + +inline +G4int G4FPlane::GetConvex() const +{ + return Convex; +} + +inline +void G4FPlane::Deactivate() +{ + active=0; +} + +inline +G4int G4FPlane::GetNumberOfPoints() const +{ + return (surfaceBoundary.GetNumberOfPoints()); +} + +inline +G4Point3D G4FPlane::GetSrfPoint() const +{ + return pplace.GetLocation(); +} + +inline +const G4Point3D& G4FPlane::GetPoint(G4int Count) const +{ + return surfaceBoundary.GetPoint(Count); +} + +inline +const G4Point3D& G4FPlane::GetHitPoint() const +{ + return hitpoint; +} + +inline +G4Ray* G4FPlane::Norm() +{ + return NormalX; +} + +inline +G4Vector3D G4FPlane::SurfaceNormal(const G4Point3D& Pt) const +{ + return NormalX->GetDir(); +} + +inline +const char* G4FPlane::Name() const +{ + return "G4FPlane"; +} + +inline +G4Axis2Placement3D G4FPlane::GetPplace() const +{ + return pplace; +} + +inline +G4Plane G4FPlane::GetPplane() const +{ + return Pl; +} + +inline +G4int G4FPlane::MyType() const +{ + return 1; +} + +inline +G4int G4FPlane::Sign(G4double a) const +{ + register G4int i=1; + if(a<0) + i= -1; + return i; +} diff --git a/source/geometry/solids/BREPS/include/G4Globals.hh b/source/geometry/solids/BREPS/include/G4Globals.hh index 6d047fed42..44c00851f7 100644 --- a/source/geometry/solids/BREPS/include/G4Globals.hh +++ b/source/geometry/solids/BREPS/include/G4Globals.hh @@ -5,21 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Globals.hh,v 1.2 1999/12/15 14:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Globals.hh,v 1.3 2000/08/28 08:57:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/support/globals.h,v 1.8 1994/04/18 18:29:03 atwood Exp */ -// File: globals.h -// Author: Alan Breakstone -// -// Description -// -// Defines global variables and declarations for Gismo +// Author: A.Breakstone +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- // +// Defines global constants required by some surfaces // +// ---------------------------------------------------------------------- -#ifndef __GLOBALS_H -#define __GLOBALS_H +#ifndef __G4BREPGLOBALS_H +#define __G4BREPGLOBALS_H // // Define a C preprocessor constant for a Scale factor to apply to @@ -34,9 +33,4 @@ // to limit the size of for or while loops. The default value is 50. #define HELIX_MAX_TURNS 50 -// Define some geometric constants of use -// These should be gotten via math.h ... see M_PI etc.... -//#define PI 3.14159265358979323846 -//#define TWO_PI 6.2831853071795862 - #endif diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.hh b/source/geometry/solids/BREPS/include/G4Hyperbola.hh index 896d31a4af..2b8cc67391 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.hh +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Hyperbola.hh,v 1.4 2000/01/21 13:47:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Hyperbola.hh,v 1.7 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Hyperbola +// +// Class description: +// +// Definition of a generic hyperbola. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __HYPERBOLICCURVE_H #define __HYPERBOLICCURVE_H @@ -15,50 +25,56 @@ class G4Hyperbola : public G4Conic { -public: + +public: // with description G4Hyperbola(); - ~G4Hyperbola(); - - virtual G4Curve* Project(const G4Transform3D& tr= G4Transform3D::Identity); + virtual ~G4Hyperbola(); + // Constructor & destructor. - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + G4Hyperbola(const G4Hyperbola& right); + G4Hyperbola& operator=(const G4Hyperbola& right); + // Copy constructor and assignment operator. - //virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); - virtual G4int IntersectRay2D(const G4Ray& ray); + G4Curve* Project(const G4Transform3D& tr= + G4Transform3D::Identity); + // Transforms and projects the curve. - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); + G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Returns tangent to curve at a given point, if existing. + // The tangent is computed from the 3D point representation. + inline G4double GetPMax() const; + inline G4Point3D GetPoint(G4double param) const; + inline G4double GetPPoint(const G4Point3D& p) const; + // Accessors methods. + + inline G4double GetSemiAxis() const; + inline G4double GetSemiImagAxis() const; + inline void Init(G4Axis2Placement3D position0, + G4double semiAxis0, G4double semiImagAxis0); + // Get/Set for the geometric data. + +public: // without description + + inline G4int IntersectRay2D(const G4Ray& ray); + + //void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); //G4Hyperbola(G4Point3d, G4Point3d, G4Point3d, - // G4Point3d,G4double, G4double ); - //G4Point3d EvaluateByParameterValue(const G4double u); + // G4Point3d, G4double, G4double ); + //G4Point3d EvaluateByParameterValue(G4double u); //G4Point3d GetBoundMax(); //G4Point3d GetBoundMin(); - // Get/Set for the geometric data - void Init(G4Axis2Placement3D position0, - G4double semiAxis0, G4double semiImagAxis0); - - G4double GetSemiAxis() const; - G4double GetSemiImagAxis() const; - - protected: - virtual void InitBounded(); - + void InitBounded(); private: - int Inside(const G4Point3D&, const G4Ray&); -/* L. Broglia - G4Point3d Focus1; - G4Point3d Focus2; - G4Point2d ProjFocus1; - G4Point2d ProjFocus2; -*/ + G4int Inside(const G4Point3D&, const G4Ray&); + +private: G4Point3D Focus1; G4Point3D Focus2; @@ -73,7 +89,8 @@ private: G4Transform3D toUnitHyperbola; - G4double forTangent; // R_1^2/R_2^2 + G4double forTangent; + // R_1^2/R_2^2 }; #include "G4Hyperbola.icc" diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.icc b/source/geometry/solids/BREPS/include/G4Hyperbola.icc index 54406b0972..2017591833 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.icc +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.icc @@ -1,5 +1,25 @@ -inline void G4Hyperbola::Init(G4Axis2Placement3D position0, - G4double semiAxis0, G4double semiImagAxis0) { +// 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: G4Hyperbola.icc,v 1.5 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Hyperbola.icc +// +// Implementation of inline methods of G4Hyperbola +// -------------------------------------------------------------------- + +inline +void G4Hyperbola::Init(G4Axis2Placement3D position0, + G4double semiAxis0, G4double semiImagAxis0) +{ position= position0; semiAxis= semiAxis0; semiImagAxis= semiImagAxis0; @@ -13,27 +33,37 @@ inline void G4Hyperbola::Init(G4Axis2Placement3D position0, forTangent= semiAxis*semiAxis/(semiImagAxis*semiImagAxis); } -inline G4double G4Hyperbola::GetSemiAxis() const { +inline +G4double G4Hyperbola::GetSemiAxis() const +{ return semiAxis; } -inline G4double G4Hyperbola::GetSemiImagAxis() const { +inline +G4double G4Hyperbola::GetSemiImagAxis() const +{ return semiImagAxis; } ////////////////////////////////////////////////////////////////////////////// -inline G4double G4Hyperbola::GetPMax() { +inline +G4double G4Hyperbola::GetPMax() const +{ return -1; } -inline G4Point3D G4Hyperbola::GetPoint(G4double param) { - return position.GetLocation() - + semiAxis*cosh(param)*position.GetPX() - + semiImagAxis*sinh(param)*position.GetPY(); +inline +G4Point3D G4Hyperbola::GetPoint(G4double param) const +{ + return G4Point3D( position.GetLocation() + + semiAxis*cosh(param)*position.GetPX() + + semiImagAxis*sinh(param)*position.GetPY() ); } -inline G4double G4Hyperbola::GetPPoint(const G4Point3D& pt) { +inline +G4double G4Hyperbola::GetPPoint(const G4Point3D& pt) const +{ G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt; G4double xval= ptLocal.y()/ptLocal.x()*ratioAxisImagAxis; #ifdef WIN32 @@ -46,11 +76,12 @@ inline G4double G4Hyperbola::GetPPoint(const G4Point3D& pt) { ///////////////////////////////////////////////////////////////////////////// +/* #include "G4CurveRayIntersection.hh" -/* -inline void G4Hyperbola::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) +inline +void G4Hyperbola::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) { is.Init(*this, ray); @@ -99,7 +130,8 @@ inline void G4Hyperbola::IntersectRay2D(const G4Ray& ray, } */ -inline G4int G4Hyperbola::IntersectRay2D(const G4Ray& ray) +inline +G4int G4Hyperbola::IntersectRay2D(const G4Ray& ray) { // NOT VERIFIED @@ -141,4 +173,3 @@ inline G4int G4Hyperbola::IntersectRay2D(const G4Ray& ray) return nbinter; } - diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.hh b/source/geometry/solids/BREPS/include/G4KnotVector.hh index be1fee38df..6fa7105843 100644 --- a/source/geometry/solids/BREPS/include/G4KnotVector.hh +++ b/source/geometry/solids/BREPS/include/G4KnotVector.hh @@ -5,74 +5,85 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4KnotVector.hh,v 1.3 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4KnotVector.hh,v 1.6 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4KnotVector +// +// Class description: +// +// Utility class for operations on a vector of knots. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __KNOTVECTOR_H #define __KNOTVECTOR_H -#include -//#include "STEPaggregate.h" -#include "geomdefs.hh" +#include +#include "geomdefs.hh" class G4KnotVector { - public: + + public: // with description G4KnotVector(); -// G4KnotVector(const int Size, const int* MultiList, STEPaggregate& Aggr); -// G4KnotVector(const int Size, STEPaggregate& Aggr); - G4KnotVector(const int sz); - G4KnotVector(const G4KnotVector& old_kv); + G4KnotVector(G4int sz); ~G4KnotVector(); + // Constructors & destructor. - // Gets number of knots - inline int GetSize()const {return k_size;}; + G4KnotVector(const G4KnotVector& orig); + // Copy constructor. - // Retrieves knot from knot vector index knot_number - inline G4double GetKnot(const int knot_number){return knots[knot_number];} + G4KnotVector& operator=(const G4KnotVector& right); + // Assignment operator. - // Sets knot vector index knot_number to value - inline void PutKnot(const int knot_number, const G4double value) - { - knots[knot_number]=value; - } + inline G4int GetSize() const; + // Gets number of knots. - // Adds the internal knots to the new knot vector - G4KnotVector* MultiplyKnotVector( const int num, const G4double value); + inline G4double GetKnot(G4int knot_number) const; + // Retrieves knot from knot vector index knot_number. - // Creates the new vector by merging the old vector with the - // knots in the vector knots_to_add - G4double* MergeKnotVector( const G4double *knots_to_add, const int add_size); + inline void PutKnot(G4int knot_number, G4double value); + // Sets knot vector index knot_number to value. - // Finds out how many Times val occurs in the knot vector - int CheckKnotVector(const G4double val); + G4KnotVector* MultiplyKnotVector(G4int num, G4double value); + // Adds the internal knots to the new knot vector. - // Copies either the first half or the second half of - // the new knot vector values to the knot vectors of the - // new surfaces created by splitting - void ExtractKnotVector( G4KnotVector* kv, const int upper, const int lower); + G4double* MergeKnotVector(const G4double *knots_to_add, G4int add_size); + // Creates the new vector by merging the old vector with the + // knots in the vector knots_to_add. - // Searches the knot vector for the value and returns the index - // This is used in the Evaluation of the intersection to find - // out between which knots the intersection point is on the b-spline - // surface - int GetKnotIndex(G4double k_value, const int order); + G4int CheckKnotVector(G4double val) const; + // Finds out how many times val occurs in the knot vector. + void ExtractKnotVector(G4KnotVector* kv, G4int upper, G4int lower); + // Copies either the first half or the second half of + // the new knot vector values to the knot vectors of the + // new surfaces created by splitting. + + G4int GetKnotIndex(G4double k_value, G4int order) const; + // Searches the knot vector for the value and returns the index + // This is used in the evaluation of the intersection to find + // out between which knots the intersection point is on the b-spline + // surface. private: - // Number of knots - int k_size; + inline G4double ApxEq(G4double x, G4double y) const; + + private: + + G4int k_size; + // Number of knots. - // Knot vector G4double *knots; - - inline G4double ApxEq(const G4double x,const G4double y) - { - return (fabs(x - y) < kCarTolerance); - } + // Knot vector. }; +#include "G4KnotVector.icc" + #endif diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.icc b/source/geometry/solids/BREPS/include/G4KnotVector.icc new file mode 100644 index 0000000000..b11db7916c --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4KnotVector.icc @@ -0,0 +1,41 @@ +// 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: G4KnotVector.icc,v 1.2 2000/08/28 15:00:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4KnotVector.icc +// +// Implementation of inline methods of G4KnotVector +// -------------------------------------------------------------------- + +inline +G4int G4KnotVector::GetSize() const +{ + return k_size; +} + +inline +G4double G4KnotVector::GetKnot(G4int knot_number) const +{ + return knots[knot_number]; +} + +inline +void G4KnotVector::PutKnot(G4int knot_number, G4double value) +{ + knots[knot_number]=value; +} + +inline +G4double G4KnotVector::ApxEq(G4double x, G4double y) const +{ + return (fabs(x - y) < kCarTolerance); +} diff --git a/source/geometry/solids/BREPS/include/G4Line.hh b/source/geometry/solids/BREPS/include/G4Line.hh index 735fca50db..73ce46efa9 100644 --- a/source/geometry/solids/BREPS/include/G4Line.hh +++ b/source/geometry/solids/BREPS/include/G4Line.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Line.hh,v 1.3 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Line.hh,v 1.6 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Line +// +// Class description: +// +// Definition of a generic line. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __LINE_H #define __LINE_H @@ -15,36 +25,44 @@ class G4Line : public G4Curve { -public: - G4Line (); - virtual ~G4Line (); +public: // with description - virtual G4Curve* Project(const G4Transform3D& tr = G4Transform3D::Identity); + G4Line(); + virtual ~G4Line(); + // Constructor & destructor. - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& vec); + G4Line(const G4Line& orig); + G4Line& operator=(const G4Line& right); + // Copy constructor and assignment operator. - // virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); - virtual G4int IntersectRay2D(const G4Ray& ray); + G4Curve* Project(const G4Transform3D& tr=G4Transform3D::Identity); + // Transforms and projects the line. - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& pt); + G4bool Tangent(G4CurvePoint& cp, G4Vector3D& vec); + // Returns tangent to line at a given point, if existing. + // The tangent is computed from the 3D point representation. - // Get/Set for the geometric data - void Init(const G4Point3D& pnt0, const G4Vector3D& dir0); - G4Point3D GetPnt() const; - G4Vector3D GetDir() const; + inline G4double GetPMax() const; + inline G4Point3D GetPoint(G4double param) const; + inline G4double GetPPoint(const G4Point3D& pt) const; + // Accessors methods. + inline G4Point3D GetPnt() const; + inline G4Vector3D GetDir() const; + inline void Init(const G4Point3D& pnt0, const G4Vector3D& dir0); + // Get/Set for the geometric data. + +public: // without description + + inline G4int IntersectRay2D(const G4Ray& ray); + // void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); protected: - virtual void InitBounded(); + inline void InitBounded(); - private: - // For the Inside function - //inline int Sign(G4double a, G4double b){return((a>=0&&b>=0)||(a<0&&b<0));} // geometric data G4Point3D pnt; diff --git a/source/geometry/solids/BREPS/include/G4Line.icc b/source/geometry/solids/BREPS/include/G4Line.icc index 0cc04b4df6..940454d308 100644 --- a/source/geometry/solids/BREPS/include/G4Line.icc +++ b/source/geometry/solids/BREPS/include/G4Line.icc @@ -1,33 +1,67 @@ +// 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: G4Line.icc,v 1.6 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Line.icc +// +// Implementation of inline methods of G4Line +// -------------------------------------------------------------------- -inline G4double G4Line::GetPMax() { return -1; } +inline +G4double G4Line::GetPMax() const +{ + return -1; +} -inline G4Point3D G4Line::GetPoint(G4double param) { return pnt+param*dir; } +inline +G4Point3D G4Line::GetPoint(G4double param) const +{ + return G4Point3D( pnt+param*dir ); +} -inline G4double G4Line::GetPPoint(const G4Point3D& pt) +inline +G4double G4Line::GetPPoint(const G4Point3D& pt) const { return (pt-pnt)*invDir; } //////////////////////////////////////////////////////////////////////////// -inline void G4Line::Init(const G4Point3D& pnt0, const G4Vector3D& dir0) { +inline +void G4Line::Init(const G4Point3D& pnt0, const G4Vector3D& dir0) +{ pnt= pnt0; dir= dir0; invDir= dir*(1/dir.mag2()); v= dir.unit(); } -inline G4Point3D G4Line::GetPnt() const { +inline +G4Point3D G4Line::GetPnt() const +{ return pnt; } -inline G4Vector3D G4Line::GetDir() const { +inline +G4Vector3D G4Line::GetDir() const +{ return dir; } /////////////////////////////////////////////////////////////////////////// -inline void G4Line::InitBounded() { +inline +void G4Line::InitBounded() +{ bBox.Init(GetStart(), GetEnd()); } @@ -36,8 +70,9 @@ inline void G4Line::InitBounded() { #include "G4CurveRayIntersection.hh" /* -inline void G4Line::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) +inline +void G4Line::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) { is.Init(*this, ray); G4CurveRayIntersection isTmp(*this, ray); @@ -74,7 +109,8 @@ inline void G4Line::IntersectRay2D(const G4Ray& ray, } */ -inline G4int G4Line::IntersectRay2D(const G4Ray& ray) +inline +G4int G4Line::IntersectRay2D(const G4Ray& ray) { const G4Point3D& s= ray.GetStart(); const G4Vector3D& d= ray.GetDir(); @@ -119,4 +155,3 @@ inline G4int G4Line::IntersectRay2D(const G4Ray& ray) return nbinter; } - diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh index 2ed5c68893..90d145738e 100644 --- a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh @@ -5,10 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4OsloMatrix.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4OsloMatrix.hh,v 1.4 2000/11/08 14:22:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4OsloMatrix +// +// Class description: +// +// Utility class for the definition of a matrix of knots. +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4OsloMatrix_h #define __G4OsloMatrix_h 1 @@ -17,69 +26,72 @@ class G4OsloMatrix { -public: - G4OsloMatrix() - { - o_vec = (G4KnotVector*)0; - next = (G4OsloMatrix*)0; - }; - - G4OsloMatrix(int vec_size, int offsetparam, int osizeparam) - { - next = (G4OsloMatrix*)0; - o_vec = new G4KnotVector(vec_size); - offset = offsetparam; - osize = osizeparam; - } - - ~G4OsloMatrix() { delete o_vec; } - - G4OsloMatrix * next; - int offset; - int osize; - G4KnotVector *o_vec; +public: // with description + + G4OsloMatrix(); + G4OsloMatrix(G4int vec_size, G4int offsetparam, G4int osizeparam); + ~G4OsloMatrix(); + // Constructors & destructor + + inline G4int GetOffset() const; + inline G4int GetSize() const; + inline G4OsloMatrix* GetNextNode(); + inline G4KnotVector* GetKnotVector(); + inline void SetOffset(G4int); + inline void SetSize(G4int); + inline void SetNextNode(G4OsloMatrix*); + inline void SetKnotVector(G4KnotVector*); + // Accessors + +private: + + G4OsloMatrix(const G4OsloMatrix&); + G4OsloMatrix& operator=(const G4OsloMatrix&); + // Private copy constructor and assignment operator. + +private: + + G4OsloMatrix* next; + G4int offset; + G4int osize; + G4KnotVector* o_vec; }; - -class Matrix +class G4PointMatrix { public: - // Constructors - Matrix(); - Matrix(int, int); - Matrix(G4double[]); + G4PointMatrix(); + G4PointMatrix(G4int, G4int); + G4PointMatrix(G4double[]); + // Constructors + + ~G4PointMatrix(); + // Destructor + + inline G4int GetRows() const; + inline G4int GetCols() const; + + inline void put(G4int i, G4int j, G4double x); + // Puts control point into matrix location (i,j) - // Destructor - ~Matrix(); + inline G4double get(G4int i, G4int j) const; + // Retrieves control point from matrix location (i,j) - inline int GetRows() const { return nr; } - inline int GetCols() const { return nc; } - - // Puts control point into matrix location (i,j) - inline void put(int i,int j, G4double x){ data[i*nc+j]=x; } - - // Retrieves control point from matrix location (i,j) - inline G4double get(int i, int j) const - { - return data[i*nc+j]; - } +private: + G4PointMatrix(const G4PointMatrix&); + G4PointMatrix& operator=(const G4PointMatrix&); + // Private copy constructor and assignment operator. private: G4double* data; - int nr, nc; + G4int nr, nc; }; +#include "G4OsloMatrix.icc" #endif - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.icc b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc new file mode 100644 index 0000000000..f7698aee8b --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc @@ -0,0 +1,89 @@ +// 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: G4OsloMatrix.icc,v 1.2 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4OsloMatrix.icc +// +// Implementation of inline methods of G4OsloMatrix +// -------------------------------------------------------------------- + +inline +G4int G4OsloMatrix::GetOffset() const +{ + return offset; +} + +inline +G4int G4OsloMatrix::GetSize() const +{ + return osize; +} + +inline +G4OsloMatrix* G4OsloMatrix::GetNextNode() +{ + return next; +} + +inline +G4KnotVector* G4OsloMatrix::GetKnotVector() +{ + return o_vec; +} + +inline +void G4OsloMatrix::SetOffset(G4int o) +{ + offset = o; +} + +inline +void G4OsloMatrix::SetSize(G4int s) +{ + osize = s; +} + +inline +void G4OsloMatrix::SetNextNode(G4OsloMatrix* n) +{ + next = n; +} + +inline +void G4OsloMatrix::SetKnotVector(G4KnotVector* v) +{ + o_vec = v; +} + +inline +G4int G4PointMatrix::GetRows() const +{ + return nr; +} + +inline +G4int G4PointMatrix::GetCols() const +{ + return nc; +} + +inline +void G4PointMatrix::put(G4int i, G4int j, G4double x) +{ + data[i*nc+j]=x; +} + +inline +G4double G4PointMatrix::get(G4int i, G4int j) const +{ + return data[i*nc+j]; +} diff --git a/source/geometry/solids/BREPS/include/G4Parabola.hh b/source/geometry/solids/BREPS/include/G4Parabola.hh index c75be1db55..dd82a19d48 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.hh +++ b/source/geometry/solids/BREPS/include/G4Parabola.hh @@ -5,10 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Parabola.hh,v 1.4 2000/01/21 13:47:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Parabola.hh,v 1.7 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Parabola +// +// Class description: +// +// Definition of a generic parabola. +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __PARABOLICCURVE_H #define __PARABOLICCURVE_H @@ -16,38 +25,53 @@ class G4Parabola : public G4Conic { -public: + +public: // with description + G4Parabola(); - ~G4Parabola(); + virtual ~G4Parabola(); + // Constructor & destructor. - virtual G4Curve* Project(const G4Transform3D& tr = G4Transform3D::Identity); + G4Parabola(const G4Parabola& right); + G4Parabola& operator=(const G4Parabola& right); + // Copy constructor and assignment operator. - virtual G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + G4Curve* Project(const G4Transform3D& tr= + G4Transform3D::Identity); + // Transforms and projects the curve. - // virtual void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); - virtual G4int IntersectRay2D(const G4Ray& ray); + G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Returns tangent to curve at a given point, if existing. + // The tangent is computed from the 3D point representation. - virtual G4double GetPMax(); - virtual G4Point3D GetPoint(G4double param); - virtual G4double GetPPoint(const G4Point3D& p); + inline G4double GetPMax() const; + inline G4Point3D GetPoint(G4double param) const; + inline G4double GetPPoint(const G4Point3D& p) const; + // Accessors methods. - //G4Parabola(G4Point3d, G4Point3d, G4double ); - //G4Point3d EvaluateByParameterValue(const G4double u); - //G4Point3d GetBoundMax(); - //G4Point3d GetBoundMin(); + inline G4double GetFocalDist() const; + inline void Init(const G4Axis2Placement3D& position0, G4double focalDist0); + // Get/Set for the geometric data. - // Get/Set for the geometric data - void Init(const G4Axis2Placement3D& position0, G4double focalDist0); - double GetFocalDist() const; +public: // without description + + inline G4int IntersectRay2D(const G4Ray& ray); + + // void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); + // G4Parabola(G4Point3d, G4Point3d, G4double ); + // G4Point3d EvaluateByParameterValue(G4double u); + // G4Point3d GetBoundMax(); + // G4Point3d GetBoundMin(); protected: - virtual void InitBounded(); + void InitBounded(); private: // geometric data - double focalDist; + + G4double focalDist; // for the intersection G4Point3D F; diff --git a/source/geometry/solids/BREPS/include/G4Parabola.icc b/source/geometry/solids/BREPS/include/G4Parabola.icc index 028f8e132e..a7661f3183 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.icc +++ b/source/geometry/solids/BREPS/include/G4Parabola.icc @@ -1,5 +1,25 @@ -inline void G4Parabola::Init(const G4Axis2Placement3D& position0, - G4double focalDist0) { +// 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: G4Parabola.icc,v 1.5 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Parabola.icc +// +// Implementation of inline methods of G4Parabola +// -------------------------------------------------------------------- + +inline +void G4Parabola::Init(const G4Axis2Placement3D& position0, + G4double focalDist0) +{ position= position0; focalDist= focalDist0; @@ -10,33 +30,43 @@ inline void G4Parabola::Init(const G4Axis2Placement3D& position0, //l= position.GetPY(); } -inline double G4Parabola::GetFocalDist() const { +inline +G4double G4Parabola::GetFocalDist() const +{ return focalDist; } ////////////////////////////////////////////////////////////////////////////// -inline G4double G4Parabola::GetPMax() { +inline +G4double G4Parabola::GetPMax() const +{ return -1; } -inline G4Point3D G4Parabola::GetPoint(G4double param) { - return position.GetLocation() - + focalDist* (param*param*position.GetPX() + 2*param*position.GetPY()); +inline +G4Point3D G4Parabola::GetPoint(G4double param) const +{ + return G4Point3D( position.GetLocation() + + focalDist* (param*param*position.GetPX() + + 2*param*position.GetPY()) ); } -inline G4double G4Parabola::GetPPoint(const G4Point3D& pt) { +inline +G4double G4Parabola::GetPPoint(const G4Point3D& pt) const +{ G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt; return ptLocal.y()/(2*focalDist); } ////////////////////////////////////////////////////////////////////////////// +/* #include "G4CurveRayIntersection.hh" -/* -inline void G4Parabola::IntersectRay2D(const G4Ray& ray, - G4CurveRayIntersection& is) +inline +void G4Parabola::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) { is.Init(*this, ray); @@ -71,7 +101,8 @@ inline void G4Parabola::IntersectRay2D(const G4Ray& ray, } */ -inline G4int G4Parabola::IntersectRay2D(const G4Ray& ray) +inline +G4int G4Parabola::IntersectRay2D(const G4Ray& ray) { // NOT VERIFIED @@ -80,7 +111,7 @@ inline G4int G4Parabola::IntersectRay2D(const G4Ray& ray) const G4Vector3D& l= position.GetPY(); // a == 1 - G4Vector3D SMinusF= S-F; + G4Vector3D SMinusF= G4Vector3D( S-F ); G4double bHalf= SMinusF*d - (d.x()*l.y()-d.y()*l.x()); G4double c= SMinusF.mag2() + ( (S.x()-L0.x())*l.y() - (S.y()-L0.y())*l.x() ); @@ -103,5 +134,3 @@ inline G4int G4Parabola::IntersectRay2D(const G4Ray& ray) return nbinter++; } - - diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh index edc7882601..15a4b07eed 100644 --- a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh @@ -5,43 +5,59 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PlacedSolid.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PlacedSolid.hh,v 1.6 2000/11/09 19:12:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4PlacedSolid +// +// Class description: +// +// Class for a generic BREP solid placed in a 3D space. +// Attributes are: the solid, a traslation vector and a +// rotation matrix. +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef G4PLACEDSOLID_HH #define G4PLACEDSOLID_HH #include "G4BREPSolid.hh" - +#include "G4RotationMatrix.hh" class G4PlacedSolid { -public: + +public: // with description G4PlacedSolid(); G4PlacedSolid(G4BREPSolid*, G4Axis2Placement3D* =0); ~G4PlacedSolid(); - - G4VSolid* GetSolid() { return solid; } - HepRotation* GetRotation() { return solidRotation; } - G4ThreeVector* GetTranslation() { return solidTranslation; } + // Constructors & destructor - G4bool operator==(const G4PlacedSolid& ps) const - { - return (this==&ps) ? true : false; - } + inline G4bool operator==(const G4PlacedSolid& ps) const; + // Equality operator. + + inline G4VSolid* GetSolid() const; + inline G4RotationMatrix* GetRotation() const; + inline G4ThreeVector* GetTranslation() const; + // Accessors. private: - G4BREPSolid* solid; - HepRotation* solidRotation; - G4ThreeVector* solidTranslation; + G4PlacedSolid(const G4PlacedSolid&); + G4PlacedSolid& operator=(const G4PlacedSolid&); + // Private copy constructor and assignment operator. + +private: + + G4BREPSolid* solid; + G4RotationMatrix* solidRotation; + G4ThreeVector* solidTranslation; }; +#include "G4PlacedSolid.icc" + #endif - - - - diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.icc b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc new file mode 100644 index 0000000000..b2f0c20a33 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc @@ -0,0 +1,41 @@ +// 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: G4PlacedSolid.icc,v 1.4 2000/11/09 19:12:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4PlacedSolid.icc +// +// Implementation of inline methods of G4PlacedSolid +// -------------------------------------------------------------------- + +inline +G4bool G4PlacedSolid::operator==(const G4PlacedSolid& ps) const +{ + return (this==&ps) ? true : false; +} + +inline +G4VSolid* G4PlacedSolid::GetSolid() const +{ + return solid; +} + +inline +G4RotationMatrix* G4PlacedSolid::GetRotation() const +{ + return solidRotation; +} + +inline +G4ThreeVector* G4PlacedSolid::GetTranslation() const +{ + return solidTranslation; +} diff --git a/source/geometry/solids/BREPS/include/G4PlacementVector.hh b/source/geometry/solids/BREPS/include/G4PlacementVector.hh index 19de8494ef..6f5f85b307 100644 --- a/source/geometry/solids/BREPS/include/G4PlacementVector.hh +++ b/source/geometry/solids/BREPS/include/G4PlacementVector.hh @@ -1,3 +1,23 @@ +// 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: G4PlacementVector.hh,v 1.3 2000/08/28 08:57:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4PlacementVector +// +// Class description: +// +// A ordered collection of pointers to placement axes +// (G4Axis2Placement3D) in the 3D space. + +// Authors: J.Sulkimo, P.Urban. +// ---------------------------------------------------------------------- #ifndef included_G4PlacementVector #define included_G4PlacementVector diff --git a/source/geometry/solids/BREPS/include/G4Plane.hh b/source/geometry/solids/BREPS/include/G4Plane.hh index b72177d8ec..1f1a086131 100644 --- a/source/geometry/solids/BREPS/include/G4Plane.hh +++ b/source/geometry/solids/BREPS/include/G4Plane.hh @@ -5,16 +5,32 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Plane.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Plane.hh,v 1.4 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Plane +// +// Class description: +// +// Utility class, placeholder for plane's equation coefficients. + +// Authors: J.Sulkimo, P.Urban. +// ---------------------------------------------------------------------- #ifndef __G4Plane #define __G4Plane + #include "globals.hh" + class G4Plane { + +public: // without description + + G4Plane() : a(0), b(0), c(0), d(0) {} + public: - G4Plane(){a=b=c=d=0;} + G4double a,b,c,d; }; diff --git a/source/geometry/solids/BREPS/include/G4Point3DVector.hh b/source/geometry/solids/BREPS/include/G4Point3DVector.hh index a6a344ba4c..ae5cdd8fc4 100644 --- a/source/geometry/solids/BREPS/include/G4Point3DVector.hh +++ b/source/geometry/solids/BREPS/include/G4Point3DVector.hh @@ -5,9 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Point3DVector.hh,v 1.3 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Point3DVector.hh,v 1.4 2000/08/28 08:57:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Point3DVector +// +// Class description: +// +// A value collection of points in 3D space (G4Point3D). + +// Authors: J.Sulkimo, P.Urban. +// ---------------------------------------------------------------------- #ifndef included_G4Point3DVector #define included_G4Point3DVector diff --git a/source/geometry/solids/BREPS/include/G4PointRat.hh b/source/geometry/solids/BREPS/include/G4PointRat.hh index 5b7d6e03cb..04aea17cf2 100644 --- a/source/geometry/solids/BREPS/include/G4PointRat.hh +++ b/source/geometry/solids/BREPS/include/G4PointRat.hh @@ -5,16 +5,21 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointRat.hh,v 1.6 2000/02/25 15:59:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointRat.hh,v 1.8 2000/08/28 15:00:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4PointRat // -// Modif 8 oct 98 : A.Floquet -// G4PointRat datas are made of -// . a point 3D -// . a additional value : the scale factor which is set to 1 by default +// Class description: // +// A G4PointRat object is composed of: +// - a point in 3D space (G4Point3D) +// - a scale factor (set to 1 by default) +// Authors: J.Sulkimo, P.Urban. +// Revisions by: A.Floquet, L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4POINT_RAT #define __G4POINT_RAT @@ -23,98 +28,54 @@ #include "G4Point3D.hh" #include "G4Plane3D.hh" -// L. Broglia -// Before included in G4Point.hh -#include "G4Plane.hh" #define SQRT_SMALL_FASTF 1.0e-18 -#define SMALL SQRT_SMALL_FASTF -#define ROW 0 -#define COL 1 -// const G4double INFINITY = 9.0e+99; -const G4Point3D PINFINITY(kInfinity, kInfinity, kInfinity); +#define SMALL SQRT_SMALL_FASTF +#define ROW 0 +#define COL 1 -class G4Plane; +const G4Point3D PINFINITY(kInfinity, kInfinity, kInfinity); class G4PointRat { -public: + +public: // with description + G4PointRat(); + ~G4PointRat(); + // Constructor & destructor. G4PointRat(const G4Point3D&); + // Copy constructor. - ~G4PointRat(); + G4PointRat& operator=(const G4Point3D&); + G4PointRat& operator=(const G4PointRat&); + // Overloaded assignment operators. - int GetType(void)const { return 4; } // This function should be removed - // if calls to this are also removed - void operator=(const G4Point3D&); + inline G4double x() const; + inline void setX (G4double Value); + inline G4double y() const; + inline void setY (G4double Value); + inline G4double z() const; + inline void setZ (G4double Value); + inline G4double w() const; + inline void setW(G4double Value); + inline G4Point3D pt() const; + // Get/Set methods for attributes. - void operator=(const G4PointRat&); + inline G4double PlaneDistance(const G4Plane3D& Pl) const; + // Returns distance from a given plane. - inline G4double x() const {return pt3d.x();} +public: // without description - inline void setX (const G4double Value) { pt3d.setX ( Value );} + G4int GetType(void) const; // This function should be removed + // if calls to this are also removed - inline G4double y() const {return pt3d.y();} - - inline void setY (const G4double Value) { pt3d.setY ( Value );} - - inline G4double z() const {return pt3d.z();} - - inline void setZ (const G4double Value) { pt3d.setZ ( Value );} - - inline G4double w() const {return s;} - - inline void setW(const G4double Value) {s=Value;} - - inline G4Point3D pt() const { return pt3d; } - - - inline G4double PlaneDistance(const G4Plane3D& Pl) - { - return ((Pl.a()*pt3d.x() + Pl.b()*pt3d.y() + Pl.c()*pt3d.z()) - Pl.d()); - } - private: + G4Point3D pt3d; G4double s; - - -public : - -// L. Broglia -/* - inline G4Point3D Min(const G4Point3D& p) - { - if(pt3d.x() < p.x()) pt3d.setX(p.x()); - if(pt3d.y() < p.y()) pt3d.setY(p.y()); - if(pt3d.z() < p.z()) pt3d.setZ(p.z()); - } - - inline G4Point3D Max(const G4Point3D& p) - { - if(pt3d.x() > p.x()) pt3d.setX(p.x()); - if(pt3d.y() > p.y()) pt3d.setY(p.y()); - if(pt3d.z() > p.z()) pt3d.setZ(p.z()); - } -*/ - - -/* - inline G4Point3D Min(const G4Vector3D& v) - { - if(pt3d.x() < v.x()) pt3d.setX(v.x()); - if(pt3d.y() < v.y()) pt3d.setY(v.y()); - if(pt3d.z() < v.z()) pt3d.setZ(v.z()); - } - - inline G4Point3D Max(const G4Vector3D& v) - { - if(pt3d.x() > v.x()) pt3d.setX(v.x()); - if(pt3d.y() > v.y()) pt3d.setY(v.y()); - if(pt3d.z() > v.z()) pt3d.setZ(v.z()); - } -*/ }; -#endif +#include "G4PointRat.icc" +#endif diff --git a/source/geometry/solids/BREPS/include/G4PointRat.icc b/source/geometry/solids/BREPS/include/G4PointRat.icc new file mode 100644 index 0000000000..2440cc379d --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4PointRat.icc @@ -0,0 +1,83 @@ +// 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: G4PointRat.icc,v 1.2 2000/08/28 15:00:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4PointRat.icc +// +// Implementation of inline methods of G4PointRat +// -------------------------------------------------------------------- + +inline +G4double G4PointRat::x() const +{ + return pt3d.x(); +} + +inline +void G4PointRat::setX (G4double Value) +{ + pt3d.setX ( Value ); +} + +inline +G4double G4PointRat::y() const +{ + return pt3d.y(); +} + +inline +void G4PointRat::setY (G4double Value) +{ + pt3d.setY ( Value ); +} + +inline +G4double G4PointRat::z() const +{ + return pt3d.z(); +} + +inline +void G4PointRat::setZ (G4double Value) +{ + pt3d.setZ ( Value ); +} + +inline +G4double G4PointRat::w() const +{ + return s; +} + +inline +void G4PointRat::setW(G4double Value) +{ + s=Value; +} + +inline +G4Point3D G4PointRat::pt() const +{ + return pt3d; +} + +inline +G4double G4PointRat::PlaneDistance(const G4Plane3D& Pl) const +{ + return ((Pl.a()*pt3d.x() + Pl.b()*pt3d.y() + Pl.c()*pt3d.z()) - Pl.d()); +} + +inline +G4int G4PointRat::GetType(void) const +{ + return 4; +} diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh index 4b0a9ad1e7..07e78df128 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh @@ -5,90 +5,113 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ProjectedSurface.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ProjectedSurface.hh,v 1.5 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4ProjectedSurface +// +// Class description: +// +// Definition of a projected surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4ProjectedSurface_h #define __G4ProjectedSurface_h 1 #include "G4BezierSurface.hh" -class G4ProjectedSurface : public G4Surface +class G4ProjectedSurface : public G4Surface { friend class G4BSplineSurface; friend void CopySurface(G4ProjectedSurface& proj); -public: - //Default constructor +public: // with description + G4ProjectedSurface(); - ~G4ProjectedSurface(); - - // Copy-constructor - G4ProjectedSurface(const G4ProjectedSurface &tmp); - - // Test variables - static int Splits; - + virtual ~G4ProjectedSurface(); + // Default constructor and destructor. + void CalcBBox(); - G4ControlPoints *ctl_points; - - virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt)const - { - return G4Vector3D(0,0,0); - } + // Finds the bounds of the 2D-projected nurb, it + // calculates the bounds for a bounding rectangle + // to the surface. The bounding rectangle is used + // for a preliminary check of intersection. - +public: // without description + + inline G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; + // Returns normal to surface (G4Vector3D(0,0,0)). + +protected: + + static G4int Splits; + G4ControlPoints *ctl_points; + // Test variables + private: + + G4ProjectedSurface(const G4ProjectedSurface&); + G4ProjectedSurface& operator=(const G4ProjectedSurface&); + // Private copy constructor and assignment operator. + + void CopySurface(); + // Copies the projected surface into a bezier surface + // and adds it to the List of bezier surfaces. + + void ConvertToBezier (G4SurfaceList& p, G4SurfaceList& b); + // Converts surface into a Bezier surface to b. + + inline G4int GetOrder(G4int direction) const; + inline void PutOrder(G4int direction, G4int value); + + void SplitNURBSurface(); + // Divides the surface in two parts. Uses the oslo-algorithm to calculate + // the new knot-vectors and control-points for the subsurfaces. + + G4int CheckBezier(); + // Checks if the surface is a Bezier surface by verifying + // if internal knots exist. If no internal knots exist the quantity + // of knots is 2*order of the surface. Returns 1 if the surface + // is a Bezier. + + void CalcOsloMatrix(); + // Calculates the oslo-matrix, which is used in mapping the new + // knot-vector and the control-point values. + // This algorithm is described in the paper "Making the Oslo-algorithm + // more efficient" in SIAM J.NUMER.ANAL. Vol.23, No. 3, June '86. + + void MapSurface(G4ProjectedSurface* srf); + // Maps the new control-points into the new surface. + // This algorithm is described in the paper "Making the Oslo-algorithm + // more efficient" in SIAM J.NUMER.ANAL. Vol.23, No. 3, June '86. + + inline G4int Amax(G4int i, G4int j) const; + inline G4int Amin(G4int i, G4int j) const; + inline G4int AhIndex(G4int j, G4int t, G4int iorder) const; + +private: + short dir; G4KnotVector *u_knots; G4KnotVector *v_knots; - void CopySurface(); - - void ConvertToBezier ( G4SurfaceList&, G4SurfaceList&); - - inline int GetOrder(int direction) - { - return order[direction]; - } - - inline void PutOrder(int direction, int value) - { - order[direction]=value; - } - G4SurfaceList* projected_list; G4SurfaceList* bezier_list; - int order[2]; + G4int order[2]; G4KnotVector *new_knots; - int ord; - int lower,upper; + G4int ord; + G4int lower,upper; G4OsloMatrix* oslo_m; G4Point3D vmin; G4Point3D vmax; - void SplitNURBSurface(); - int CheckBezier(); - - void CalcOsloMatrix(); - void MapSurface(G4ProjectedSurface* srf); - inline int Amax(int i, int j) - { - return( (i) > (j) ? (i) : (j) ); - } - - inline int Amin(int i, int j) - { - return( (i) < (j) ? (i) : (j) ); - } - - inline int AhIndex(int j,int t, int iorder) - { - return(( (j) * ((j)+1)/2) + (t) - ((iorder-1) - (j))); - } }; -#endif +#include "G4ProjectedSurface.icc" +#endif diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc new file mode 100644 index 0000000000..424cce41ff --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc @@ -0,0 +1,53 @@ +// 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: G4ProjectedSurface.icc,v 1.2 2000/08/28 15:00:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4ProjectedSurface.icc +// +// Implementation of inline methods of G4ProjectedSurface +// -------------------------------------------------------------------- + +inline +G4Vector3D G4ProjectedSurface::SurfaceNormal(const G4Point3D& Pt) const +{ + return G4Vector3D(0,0,0); +} + +inline +G4int G4ProjectedSurface::GetOrder(G4int direction) const +{ + return order[direction]; +} + +inline +void G4ProjectedSurface::PutOrder(G4int direction, G4int value) +{ + order[direction]=value; +} + +inline +G4int G4ProjectedSurface::Amax(G4int i, G4int j) const +{ + return( (i) > (j) ? (i) : (j) ); +} + +inline +G4int G4ProjectedSurface::Amin(G4int i, G4int j) const +{ + return( (i) < (j) ? (i) : (j) ); +} + +inline +G4int G4ProjectedSurface::AhIndex(G4int j, G4int t, G4int iorder) const +{ + return(( (j) * ((j)+1)/2) + (t) - ((iorder-1) - (j))); +} diff --git a/source/geometry/solids/BREPS/include/G4Ray.hh b/source/geometry/solids/BREPS/include/G4Ray.hh index a2a87909fc..8f2564db82 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.hh +++ b/source/geometry/solids/BREPS/include/G4Ray.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Ray.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Ray.hh,v 1.5 2000/11/20 17:54:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4Ray +// +// Class description: +// +// Definition of a generic ray. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4Ray_h #define __G4Ray_h 1 @@ -20,25 +30,108 @@ class G4Ray { -public: +public: // with description G4Ray(); - G4Ray(const G4Point3D& start0, const G4Vector3D& dir0); + ~G4Ray(); + // Contructors and destructor. + + inline G4Point3D GetPoint(G4double i) const; + inline G4double GetPPoint(const G4Point3D& p) const; + inline const G4Vector3D& GetDir() const; + inline const G4Point3D& GetStart() const; + inline void SetDir(const G4Vector3D& dir0); + inline void SetStart(const G4Point3D& start0); + const G4Plane& GetPlane(G4int number_of_plane) const; + // Get/Set methods of geometrical data. + + void RayCheck(); + // Makes sure that the vector has unit length. + + void CreatePlanes(); + // Creates two orthogonal planes (plane1,plane2), the ray (rray) + // being situated in the intersection of the planes. The planes are + // used to project the surface (nurb) in two dimensions. + + static G4int CalcPlane3Pts( G4Plane& plane, const G4Point3D& a, + const G4Point3D& b, const G4Point3D& c ); + // Finds the equation of a G4Plane that contains three points. + // Note that Normal vector created is expected to point outside. + // This follows the outward-pointing Normal convention, and the + // right-hand rule for cross products. + /* + + C + * + |\ + | \ + ^ N | \ + | \ | \ + | \ | \ + |C-A \ | \ + | \ | \ + | \ | \ + \| \ + *---------* + A B + -----> + B-A + */ + // If the points are given in the order A B C (eg, *counter*-clockwise), + // then the outward pointing surface Normal N = (B-A) x (C-A). + // + // Explicit return value: + // 0 OK + // -1 Failure. At least two of the points were not distinct, + // or all three were colinear. + // + // Implicit return argument: + // plane The G4Plane equation coefficients are stored here. + + inline G4double P2(G4double x) const; + inline G4int NearZero(G4double val, G4double epsilon) const; + void MatVecOrtho(register G4Vector3D &out, register const G4Vector3D in); + // Utility methods. + + inline void Vsetall(G4Vector3D &a, G4double s); + // Sets all elements of vector to the same scalar value. + + static inline void Vcross(G4Plane &a, const G4Vector3D &b, + const G4Vector3D &c); + // Cross product of 'b' and 'c'. Stores result in 'a' (G4Plane). + + static inline void Vcross(G4Vector3D &a, const G4Vector3D &b, + const G4Vector3D &c); + // Cross product of 'b' and 'c'. Stores result in 'a' (G4Vector3D). + + static inline void Vmove(G4Point3D &a, const G4Point3D &b); + // Sets 'a' equal to 'b'. + + static inline void Vadd2(G4Point3D &a, const G4Point3D &b, + const G4Vector3D &c ); + // Adds vector 'c' to 'b'. Stores result in 'a'. + + static inline void Vsub2(G4Vector3D &a, const G4Point3D &b, + const G4Point3D &c); + // Subtracts vector 'c' from 'b'. Stores result in 'a'. + + static inline void Vscale(G4Plane& a, const G4Plane& b, G4double c); + // Scales vector at `b' by scalar `c'. Stores result in `a'. + + static inline G4double Vdot(const G4Plane &a, const G4Point3D &b); + // Computes dot product of vectors at `a' and `b'. + + static inline G4double Magsq(const G4Plane &a); + // Returns scalar Magnitude squared of vector at `a'. + + static inline G4double Magnitude(const G4Plane &a); + // Returns scalar Magnitude of vector at `a'. + +public: // without description void Init(const G4Point3D& start0, const G4Vector3D& dir0); - - G4Point3D GetPoint(G4double i) const; - - G4double GetPPoint(const G4Point3D& p) const; - - const G4Vector3D& GetDir() const; - - const G4Point3D& GetStart() const; - - void SetDir(const G4Vector3D& dir0); - - void SetStart(const G4Point3D& start0); + // Initialisation of a G4Ray (called by constructor). private: @@ -50,117 +143,8 @@ private: G4Plane plane1, plane2; - -public: - - const G4Plane& GetPlane(const int number_of_plane)const;//1 or 2 - - void RayCheck(); - - void CreatePlanes(); - - static int CalcPlane3Pts( G4Plane &plane1, const G4Point3D& a, - const G4Point3D& b, const G4Point3D& c ); - - inline G4double P2(const G4double x) {return(x*x);}; - - void MatVecOrtho( register G4Vector3D &out, register const G4Vector3D in ); - - inline int NearZero(const G4double val, const G4double epsilon) - { - return ( ((val) > -epsilon) && ((val) < epsilon) ); - } - - static inline void Vcross(G4Plane &a, - const G4Vector3D &b, const G4Vector3D &c) - { - a.a = b.y() * c.z() - b.z() * c.y() ; - a.b = b.z() * c.x() - b.x() * c.z() ; - a.c = b.x() * c.y() - b.y() * c.x() ; - } - - static inline void Vcross(G4Vector3D &a, - const G4Vector3D &b, const G4Vector3D &c) - { - a.setX(b.y() * c.z() - b.z() * c.y()) ; - a.setY(b.z() * c.x() - b.x() * c.z()) ; - a.setZ(b.x() * c.y() - b.y() * c.x()) ; - } - - inline void Vmove(G4Point3D &a, const G4Point3D &b) - { - a.setX(b.x()); - a.setY(b.y()); - a.setZ(b.z()); - } - - inline void Vadd2(G4Point3D &a, const G4Point3D &b, const G4Vector3D &c ) - { - a.setX(b.x() + c.x()) ; - a.setY(b.y() + c.y()) ; - a.setZ(b.z() + c.z()) ; - } - - static inline void Vsub2(G4Vector3D &a, - const G4Point3D &b, const G4Point3D &c) - { - a.setX(b.x() - c.x()); - a.setY(b.y() - c.y()); - a.setZ(b.z() - c.z()); - } - - // Set all elements of vector to same scalar value - inline void Vsetall(G4Vector3D &a, G4double s) - { - a.setX(s); a.setY(s); a.setZ(s); - } - - // Scale vector at `b' by scalar `c', Store result at `a' - static inline void Vscale(G4Plane& a, const G4Plane& b, const G4double c) - { - a.a = b.a * c; - a.b = b.b * c; - a.c = b.c * c; - } - - // Compute dot product of vectors at `a' and `b' - static inline G4double Vdot(const G4Plane &a, const G4Point3D &b) - { - return (a.a * b.x() + - a.b * b.y() + - a.c * b.z()); - } - - // Return scalar Magnitude squared of vector at `a' - static inline G4double Magsq(const G4Plane &a) - { - return ( a.a * a.a + a.b * a.b + a.c *a.c ); - } - - // Return scalar Magnitude of vector at `a' - static inline G4double Magnitude(const G4Plane &a) - { - return (sqrt( Magsq( a )) ); - } - }; #include "G4Ray.icc" #endif - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4Ray.icc b/source/geometry/solids/BREPS/include/G4Ray.icc index e4f2c0fb5d..e4c166787b 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.icc +++ b/source/geometry/solids/BREPS/include/G4Ray.icc @@ -1,29 +1,60 @@ -inline G4Point3D G4Ray::GetPoint(G4double i) const { - return start+i*dir; +// 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: G4Ray.icc,v 1.4 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Ray.icc +// +// Implementation of inline methods of G4Ray +// -------------------------------------------------------------------- + +inline +G4Point3D G4Ray::GetPoint(G4double i) const +{ + return G4Point3D( start+i*dir ); } -inline G4double G4Ray::GetPPoint(const G4Point3D& p) const { +inline +G4double G4Ray::GetPPoint(const G4Point3D& p) const +{ // |dir|==1 return (p-start)*dir; } -inline const G4Vector3D& G4Ray::GetDir() const { +inline +const G4Vector3D& G4Ray::GetDir() const +{ return dir; } -inline const G4Point3D& G4Ray::GetStart() const { +inline +const G4Point3D& G4Ray::GetStart() const +{ return start; } -inline void G4Ray::SetDir(const G4Vector3D& dir0) { +inline +void G4Ray::SetDir(const G4Vector3D& dir0) +{ dir= dir0.unit(); } -inline void G4Ray::SetStart(const G4Point3D& start0) { +inline +void G4Ray::SetStart(const G4Point3D& start0) +{ start= start0; } -inline void G4Ray::Init(const G4Point3D& start0, const G4Vector3D& dir0) +inline +void G4Ray::Init(const G4Point3D& start0, const G4Vector3D& dir0) { start= start0; dir= dir0; @@ -31,11 +62,88 @@ inline void G4Ray::Init(const G4Point3D& start0, const G4Vector3D& dir0) CreatePlanes(); } -inline G4Ray::G4Ray(const G4Point3D& start0, const G4Vector3D& dir0) { - Init(start0, dir0); -} - -inline G4Ray::G4Ray() +inline +G4double G4Ray::P2(G4double x) const { + return(x*x); } +inline +G4int G4Ray::NearZero(G4double val, G4double epsilon) const +{ + return ( ((val) > -epsilon) && ((val) < epsilon) ); +} + +inline +void G4Ray::Vcross(G4Plane &a, const G4Vector3D &b, const G4Vector3D &c) +{ + a.a = b.y() * c.z() - b.z() * c.y() ; + a.b = b.z() * c.x() - b.x() * c.z() ; + a.c = b.x() * c.y() - b.y() * c.x() ; +} + +inline +void G4Ray::Vcross(G4Vector3D &a, const G4Vector3D &b, const G4Vector3D &c) +{ + a.setX(b.y() * c.z() - b.z() * c.y()) ; + a.setY(b.z() * c.x() - b.x() * c.z()) ; + a.setZ(b.x() * c.y() - b.y() * c.x()) ; +} + +inline +void G4Ray::Vmove(G4Point3D &a, const G4Point3D &b) +{ + a.setX(b.x()); + a.setY(b.y()); + a.setZ(b.z()); +} + +inline +void G4Ray::Vadd2(G4Point3D &a, const G4Point3D &b, const G4Vector3D &c) +{ + a.setX(b.x() + c.x()) ; + a.setY(b.y() + c.y()) ; + a.setZ(b.z() + c.z()) ; +} + +inline +void G4Ray::Vsub2(G4Vector3D &a, const G4Point3D &b, const G4Point3D &c) +{ + a.setX(b.x() - c.x()); + a.setY(b.y() - c.y()); + a.setZ(b.z() - c.z()); +} + +inline +void G4Ray::Vsetall(G4Vector3D &a, G4double s) +{ + a.setX(s); a.setY(s); a.setZ(s); +} + +inline +void G4Ray::Vscale(G4Plane& a, const G4Plane& b, G4double c) +{ + a.a = b.a * c; + a.b = b.b * c; + a.c = b.c * c; +} + +inline +G4double G4Ray::Vdot(const G4Plane &a, const G4Point3D &b) +{ + return (a.a * b.x() + + a.b * b.y() + + a.c * b.z()); +} + +inline +G4double G4Ray::Magsq(const G4Plane &a) +{ + return ( a.a * a.a + a.b * a.b + a.c *a.c ); +} + +inline +G4double G4Ray::Magnitude(const G4Plane &a) +{ + return (sqrt( Magsq( a )) ); +} diff --git a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh index a2c366d02f..f9f94b32fd 100644 --- a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh @@ -5,22 +5,47 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RectangularTrimmedSurface.hh,v 1.4 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RectangularTrimmedSurface.hh,v 1.6 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4BezierSurface +// +// Class description: +// +// Definition of a rectangular trimmed surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- +#ifndef __RECTRIMMEDSURFACE_H +#define __RECTRIMMEDSURFACE_H + #include "G4FCylindricalSurface.hh" -class G4RectangularTrimmedSurface: public G4Surface +class G4RectangularTrimmedSurface : public G4Surface { -public: + +public: // with description + G4RectangularTrimmedSurface(); - ~G4RectangularTrimmedSurface(); + virtual ~G4RectangularTrimmedSurface(); + // Constructor & destructor + + G4int Intersect(const G4Ray&); + // Counts the number of intersections of a the surface by a ray. + // If no intersection is found, it sets distance = kInfinity and returns 0. - int Intersect(const G4Ray&); void CalcBBox(); + // Computes the bounding-box. - virtual const char* Name() const { return "G4RectangularTrimmedSurface"; } + virtual const char* Name() const; + // Returns the class type name. +private: + + G4RectangularTrimmedSurface(const G4RectangularTrimmedSurface&); + G4RectangularTrimmedSurface& operator=(const G4RectangularTrimmedSurface&); private: @@ -34,7 +59,4 @@ private: }; - - - - +#endif diff --git a/source/geometry/solids/BREPS/include/G4STEPEntity.hh b/source/geometry/solids/BREPS/include/G4STEPEntity.hh index 63438e852f..b698122346 100644 --- a/source/geometry/solids/BREPS/include/G4STEPEntity.hh +++ b/source/geometry/solids/BREPS/include/G4STEPEntity.hh @@ -1,14 +1,38 @@ +// 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: G4STEPEntity.hh,v 1.4 2000/11/08 14:22:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4STEPEntity +// +// Class description: +// +// Utility abstract class for STEP entity. + +// Authors: J.Sulkimo, P.Urban. +// ---------------------------------------------------------------------- #ifndef __G4STEPENTITY #define __G4STEPENTITY + #include "globals.hh" #include "G4OrderedTable.hh" class G4STEPEntity { + public: - virtual G4String GetEntityType()=0; + + G4STEPEntity(){} + virtual ~G4STEPEntity(){} + + virtual G4String GetEntityType() const = 0; + }; - - #endif diff --git a/source/geometry/solids/BREPS/include/G4Sort.hh b/source/geometry/solids/BREPS/include/G4Sort.hh index efce560245..dba58f062f 100644 --- a/source/geometry/solids/BREPS/include/G4Sort.hh +++ b/source/geometry/solids/BREPS/include/G4Sort.hh @@ -5,27 +5,23 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Sort.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Sort.hh,v 1.3 2000/08/28 08:57:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// File: G4Sort.h -// Author: Alan Breakstone -// -// Description -// -// Routines to G4Sort arG4Rays of various kinds of numbers +// ---------------------------------------------------------------------- // +// Global functions for sorting and swaping arrays of various +// kinds of numbers. +// Author: Alan Breakstone +// ---------------------------------------------------------------------- #ifndef __SORT_H #define __SORT_H + #include "globals.hh" -void G4Sort_double( G4double [], int, int ); +void sort_double( G4double [], G4int, G4int ); -void swap_double( G4double [], int, int ); - -void G4Sort_float( float [], int, int ); - -void swap_float( float [], int, int ); +void swap_double( G4double [], G4int, G4int ); #endif diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh index 0bc2b2c438..d68e5b2ce3 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh @@ -5,285 +5,224 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SphericalSurface.hh,v 1.4 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SphericalSurface.hh,v 1.7 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4SphericalSurface +// +// Class description: +// +// Definition of a spherical surface. + +// The code for G4SphericalSurface has been derived from the original +// implementation in the "Gismo" package. +// +// Authors: L.Lim, A.Breakstone. +// Adaptation: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4SpheShell_H #define __G4SpheShell_H #include "G4Surface.hh" #include "G4ThreeMat.hh" -// #include "G4Vector3D.hh" already included in G4ThreeMat - -class G4SphericalSurface: public G4Surface +class G4SphericalSurface : public G4Surface { -protected: - G4Vector3D x_axis; // direction (unit vector) of axis of G4SphericalSurface - // which defines azimuthal angle of zero - - G4Vector3D z_axis; // direction (unit vector) of axis of G4SphericalSurface - // which defines polar angle of zero - - G4double radius; // radius of G4SphericalSurface - - G4double phi_1; // lower azimuthal angle limit of G4SphericalSurface - // (in radians). Allowed range 0 <= phi_1 < 2*PI - - G4double phi_2; // upper azimuthal angle limit of G4SphericalSurface - // (in radians). Allowed range - // phi_1 < phi_2 <= phi_1 + 2*PI - - G4double theta_1; // lower polar angle limit of G4SphericalSurface - // (in radians). Allowed range 0 <= theta_1 < PI - - G4double theta_2; // upper polar angle limit of G4SphericalSurface - // (in radians). Allowed range - // theta_1 < theta_2 <= theta_1 + PI - -public: +public: // with description G4SphericalSurface(); + // Default constructor. + G4SphericalSurface( const G4Vector3D& o, const G4Vector3D& xhat, const G4Vector3D& zhat, G4double r, G4double ph1, G4double ph2, - G4double th1, G4double th2 ); - ~G4SphericalSurface() {} + G4double th1, G4double th2 ); + // Normal constructor: + // first argument is the origin of the G4SphericalSurface + // second argument is the axis of the G4SphericalSurface + // which defines azimuthal angle equals zero + // third argument is the axis of the G4SphericalSurface + // which defines polar angle equals zero + // fourth argument is the radius of the G4SphericalSurface + // fifth argument is the lower azimuthal angle limit of the surface + // sixth argument is the upper azimuthal angle limit of the surface + // seventh argument is the lower polar angle limit of the surface + // eigth argument is the upper polar angle limit of the surface - G4String GetEntityType() { return G4String("Spherical_Surface"); } + virtual ~G4SphericalSurface(); + // Destructor. - // G4SphericalSurface( const G4SphericalSurface& s ): G4Surface( s.origin ) - // { x_axis = s.x_axis; - // z_axis = s.z_axis; - // radius = s.radius; - // phi_1 = s.phi_1; - // phi_2 = s.phi_2; - // theta_1 = s.theta_1; - // theta_2 = s.theta_2; } - + inline G4int operator==( const G4SphericalSurface& s ); + // Equality operator. - int Intersect(const G4Ray&); - - void CalcBBox(); - - inline void Comp( G4Vector3D& v, G4Point3D& min , G4Point3D& max) - { - // Compares the x,y and z values of v and min - // / v and max. min/max-values are replaced if - // greater/smaller than v-values. - - if(v.x() > max.x()) max.setX(v.x()); - if(v.y() > max.y()) max.setY(v.y()); - if(v.z() > max.z()) max.setZ(v.z()); + inline G4String GetEntityType() const; + // Returns the type identifier. - if(v.x() < min.x()) min.setX(v.x()); - if(v.y() < min.y()) min.setY(v.y()); - if(v.z() < min.z()) min.setZ(v.z()); - } + virtual const char* NameOf() const; + // Returns the class name. - virtual const char* NameOf() const { return "G4SphericalSurface"; } virtual void PrintOn( G4std::ostream& os = G4cout ) const; - - int operator==( const G4SphericalSurface& s ) - { return origin == s.origin && - x_axis == s.x_axis && - z_axis == s.z_axis && - radius == s.radius && - phi_1 == s.phi_1 && - phi_2 == s.phi_2 && - theta_1 == s.theta_1 && - theta_2 == s.theta_2; } - + // Printing function, streaming surface's attributes. + + G4int Intersect(const G4Ray&); + // Returns the distance along a Ray (straight line with G4Vector3D) to + // leave or enter a G4SphericalSurface. + // If the G4Vector3D of the Ray is opposite to that of the Normal to + // the G4SphericalSurface at the intersection point, it will not leave the + // G4SphericalSurface. + // Similarly, if the G4Vector3D of the Ray is along that of the Normal + // to the G4SphericalSurface at the intersection point, it will not enter + // the G4SphericalSurface. + // This method is called by all finite shapes sub-classed to + // G4SphericalSurface. + // A negative result means no intersection. + // If no valid intersection point is found, set the distance + // and intersection point to large numbers. + + void CalcBBox(); + // Computes the bounding-box. + + inline void Comp(G4Vector3D& v, G4Point3D& min , G4Point3D& max); + // Compares the x,y and z values of v and min + // versus v and max. min/max-values are replaced if + // greater/smaller than v-values. + virtual G4double HowNear( const G4Vector3D& x ) const; - - //virtual G4double distanceAlongRay( int which_way, const G4Ray* ry, - // G4ThreeVec& p ) const; - // virtual G4double distanceAlongHelix( int which_way, const Helix* hx, - // G4ThreeVec& p ) const; - // virtual G4Vector3D Normal( const G4Point3D& p ) const; + // Returns the distance from a point to a G4SphericalSurface + // The point x is the (input) argument. + // The distance is positive if the point is Inside, negative if it + // is outside - virtual G4Vector3D Normal( const G4Vector3D& p ) const; virtual G4Vector3D SurfaceNormal( const G4Point3D& p ) const; - - virtual int Inside( const G4Vector3D& x ) const; - virtual int WithinBoundary( const G4Vector3D& x ) const; + // Returns the Normal unit vector to the G4SphericalSurface at a point p + // on (or nearly on) the G4SphericalSurface. + + virtual G4int Inside( const G4Vector3D& x ) const; + // Returns 1 if the point x is Inside the G4SphericalSurface, 0 otherwise. + + virtual G4int WithinBoundary( const G4Vector3D& x ) const; + // Returns 1 if the point x is within the boundary, 0 otherwise. virtual G4double Scale() const; + // Returns the radius, unless it is zero, in which case it + // returns 1. Used for Scale-invariant tests of surface thickness. + virtual G4double Area() const; + // Calculates the area of a G4SphericalSurface. virtual void resize( G4double r, G4double ph1, G4double ph2, G4double th1, G4double th2); + // Resizes the G4SphericalSurface to new radius and angle limits. + // first argument is the radius of the G4SphericalSurface + // second argument is the lower azimuthal angle limit of the surface + // third argument is the upper azimuthal angle limit of the surface + // fourth argument is the lower polar angle limit of the surface + // fifth argument is the upper polar angle limit of the surface - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, G4ThreeMat& m, int inverse ); - // virtual void rotate( G4double alpha, G4double beta, - // G4double gamma, int inverse ); - // + inline G4Vector3D GetXAxis() const; + inline G4Vector3D GetZAxis() const; + inline G4double GetRadius() const; + inline G4double GetPhi1() const; + inline G4double GetPhi2() const; + inline G4double GetTheta1() const; + inline G4double GetTheta2() const; + // Accessors methodss to return the axes, radius, and angles + // of the G4SphericalSurface. - G4Vector3D GetXAxis() const { return x_axis; } - G4Vector3D GetZAxis() const { return z_axis; } +public: // without description - G4double GetRadius() const { return radius; } + virtual G4Vector3D Normal( const G4Vector3D& p ) const; + // Returns the Normal unit vector as for SurfaceNormal(). - G4double GetPhi1() const { return phi_1; } - G4double GetPhi2() const { return phi_2; } +/* + virtual G4double distanceAlongRay( G4int which_way, const G4Ray* ry, + G4ThreeVec& p ) const; + // Returns the distance along a Ray to enter or leave a G4SphericalSurface. + // The first (input) argument is +1 to leave or -1 to enter + // The second (input) argument is a pointer to the Ray + // The third (output) argument returns the intersection point. - G4double GetTheta1() const { return theta_1; } - G4double GetTheta2() const { return theta_2; } + virtual G4double distanceAlongHelix( G4int which_way, const Helix* hx, + G4ThreeVec& p ) const; + // Returns the distance along a Helix to enter or leave a G4SphericalSurface. + // The first (input) argument is +1 to leave or -1 to enter + // The second (input) argument is a pointer to the Helix + // The third (output) argument returns the intersection point. + + virtual G4Vector3D Normal( const G4Point3D& p ) const; + // Returns the Normal unit vector to a G4SphericalSurface at a point p + // on (or nearly on) the G4SphericalSurface. + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4ThreeMat& m, G4int inverse ); + // Rotates the G4SphericalSurface (angles are assumed to be given in + // radians), arguments: + // - first about global x_axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z_axis by angle gamma, + // - fourth (output) argument gives the calculated rotation matrix, + // - fifth (input) argument is an integer flag which if + // non-zero reverses the order of the rotations. + + virtual void rotate( G4double alpha, G4double beta, + G4double gamma, G4int inverse ); + // Rotates the G4SphericalSurface (angles are assumed to be given in + // radians), arguments: + // - first about global x_axis by angle alpha, + // - second about global y-axis by angle beta, + // - third about global z_axis by angle gamma, + // - fourth (input) argument is an integer flag which if + // non-zero reverses the order of the rotations. +*/ + +protected: // with description + + G4Vector3D x_axis; + // Direction (unit vector) of axis of G4SphericalSurface + // which defines azimuthal angle of zero. + + G4Vector3D z_axis; + // Direction (unit vector) of axis of G4SphericalSurface + // which defines polar angle of zero. + + G4double radius; + // Radius of G4SphericalSurface. + + G4double phi_1; + // Lower azimuthal angle limit of G4SphericalSurface + // (in radians). Allowed range: 0 <= phi_1 < 2*PI. + G4double phi_2; + // Upper azimuthal angle limit of G4SphericalSurface + // (in radians). Allowed range: phi_1 < phi_2 <= phi_1 + 2*PI + + G4double theta_1; + // Lower polar angle limit of G4SphericalSurface + // (in radians). Allowed range: 0 <= theta_1 < PI. + + G4double theta_2; + // Upper polar angle limit of G4SphericalSurface + // (in radians). Allowed range: theta_1 < theta_2 <= theta_1 + PI. + private: -// virtual G4double gropeAlongHelix( const Helix* hx ) const; + G4SphericalSurface(const G4SphericalSurface&); + G4SphericalSurface& operator=(const G4SphericalSurface&); + // Private copy constructor and assignment operator. + // virtual G4double gropeAlongHelix( const Helix* hx ) const; + // Private function to use a crude technique to find the intersection + // of a Helix with a G4SphericalSurface. It returns the turning angle + // along the Helix at which the intersection occurs or -1.0 if no + // intersection point is found. The argument to the call is the pointer + // to the Helix. -// -// Description of functions ----------------------------------------- -// -// default constructor -//----->G4SphericalSurface(); -// -// Normal constructor: first argument is the origin of the G4SphericalSurface -// second argument is the axis of the G4SphericalSurface -// which defines azimuthal angle equals zero -// third argument is the axis of the G4SphericalSurface -// which defines polar angle equals zero -// fourth argument is the radius of the G4SphericalSurface -// fifth argument is the lower azimuthal angle limit of -// the G4SphericalSurface -// sixth argument is the upper azimuthal angle limit of -// the G4SphericalSurface -// seventh argument is the lower polar angle limit of -// the G4SphericalSurface -// eigth argument is the upper polar angle limit of -// the G4SphericalSurface -//----->G4SphericalSurface( const G4ThreeVec& o, const G4ThreeVec& xhat, -//-----> const G4ThreeVec& zhat, -//-----> G4double r, G4double ph1, G4double ph2, -//-----> G4double th1, G4double th2 ); -// -// destructor -//----->virtual ~G4SphericalSurface() {} -// -// copy constructor -//----->G4SphericalSurface( const G4SphericalSurface& s ): Surface( s.origin ) -//-----> { x_axis = s.X()_axis; -//-----> z_axis = s.Z()_axis; -//-----> radius = s.radius; -//-----> phi_1 = s.phi_1; -//-----> phi_2 = s.phi_2; -//-----> theta_1 = s.theta_1; -//-----> theta_2 = s.theta_2; } -// -// function to return class name -//----->virtual const char* NameOf() const { return "G4SphericalSurface"; } -// -// printing function -//----->virtual void PrintOn( G4std::ostream& os = G4cout ) const; -// -// equality operator -//----->int operator==( const G4SphericalSurface& s ) -//-----> { return origin == s.origin && -//-----> x_axis == s.X()_axis && -//-----> z_axis == s.Z()_axis && -//-----> radius == s.radius && -//-----> phi_1 == s.phi_1 && -//-----> phi_2 == s.phi_2 && -//-----> theta_1 == s.theta_1 && -//-----> theta_2 == s.theta_2; } -// -// function which returns the distance from a point to a G4SphericalSurface -// the (input) argument is the point x -// the distance is positive if the point is Inside, -// negative if it is outside -//----->virtual G4double HowNear( const G4ThreeVec& x ) const; -// -// function which returns the distance along a Ray to enter or leave a -// G4SphericalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Ray -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongRay( int which_way, const Ray* ry, -//-----> G4ThreeVec& p ) const; -// -// function which returns the distance along a Helix to enter or leave a -// G4SphericalSurface. -// the first (input) argument is +1 to leave or -1 to enter -// the second (input) argument is a pointer to the Helix -// the third (output) argument returns the intersection point -//----->virtual G4double distanceAlongHelix( int which_way, const Helix* hx, -//-----> G4ThreeVec& p ) const; -// -// function which returns the Normal unit vector to a G4SphericalSurface at a point p -// on (or nearly on) the G4SphericalSurface -//----->virtual G4ThreeVec Normal( const G4ThreeVec& p ) const; -// -// function which returns true (1) if the point x is Inside the -// G4SphericalSurface, returns false (0) otherwise -//----->virtual int Inside( const G4ThreeVec& x ) const; -// -// function which returns true (1) if the point x is within the boundary, -// false (0) otherwise. -//----->virtual int WithinBoundary( const G4ThreeVec& x ) const; -// -// function which returns the radius, unless it is zero, in which case it -// returns 1. Used for Scale-invariant tests of surface thickness. -//----->virtual G4double Scale() const; -// -// function to calculate the Area of a G4SphericalSurface -//----->virtual G4double Area() const; -// -// function to resize the G4SphericalSurface to new radius and angle limits -// first argument is the radius of the G4SphericalSurface -// second argument is the lower azimuthal angle limit of -// the G4SphericalSurface -// third argument is the upper azimuthal angle limit of -// the G4SphericalSurface -// fourth argument is the lower polar angle limit of -// the G4SphericalSurface -// fifth argument is the upper polar angle limit of -// the G4SphericalSurface -//----->virtual void resize( G4double r, G4double ph1, G4double ph2, -//-----> G4double th1, G4double th2); -// -// function to rotate the G4SphericalSurface (4 input arguments) -// first about global x_axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z_axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (output) argument gives the calculated rotation -// matrix -// the fifth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, G4ThreeMat& m, int inverse ); -// -// function to rotate the G4SphericalSurface (4 input arguments) -// first about global x_axis by angle alpha, -// second about global y-axis by angle beta, -// third about global z_axis by angle gamma -// the angles are assumed to be given in radians -// the fourth (input) argument is an integer flag which if -// non-zero reverses the order of the rotations -//----->virtual void rotate( G4double alpha, G4double beta, -//-----> G4double gamma, int inverse ); -// -// functions to return the axes, radius, and angles of the G4SphericalSurface -//----->direction GetXAxis() const { return x_axis; } -//----->direction GetZAxis() const { return z_axis; } -//----->G4double GetRadius() const { return radius; } -//----->G4double GetPhi1() const { return phi_1; } -//----->G4double GetPhi2() const { return phi_2; } -//----->G4double GetTheta1() const { return theta_1; } -//----->G4double GetTheta2() const { return theta_2; } -// -// -// Private function to use a crude technique to find the intersection -// of a Helix with a G4SphericalSurface. It returns the turning angle -// along the Helix at which the intersection occurs or -1.0 if no intersection -// point is found. The argument to the call is the pointer to the Helix. -//----->virtual G4double gropeAlongHelix( const Helix* hx ) const; }; +#include "G4SphericalSurface.icc" + #endif diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.icc b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc new file mode 100644 index 0000000000..1b4ef49741 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc @@ -0,0 +1,90 @@ +// 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: G4SphericalSurface.icc,v 1.2 2000/08/28 15:00:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4SphericalSurface.icc +// +// Implementation of inline methods of G4SphericalSurface +// -------------------------------------------------------------------- + +inline +G4int G4SphericalSurface::operator==( const G4SphericalSurface& s ) +{ + return origin == s.origin && + x_axis == s.x_axis && + z_axis == s.z_axis && + radius == s.radius && + phi_1 == s.phi_1 && + phi_2 == s.phi_2 && + theta_1 == s.theta_1 && + theta_2 == s.theta_2; +} + +inline +G4String G4SphericalSurface::GetEntityType() const +{ + return G4String("Spherical_Surface"); +} + +inline +void G4SphericalSurface::Comp(G4Vector3D& v, G4Point3D& min , G4Point3D& max) +{ + if(v.x() > max.x()) max.setX(v.x()); + if(v.y() > max.y()) max.setY(v.y()); + if(v.z() > max.z()) max.setZ(v.z()); + + if(v.x() < min.x()) min.setX(v.x()); + if(v.y() < min.y()) min.setY(v.y()); + if(v.z() < min.z()) min.setZ(v.z()); +} + +inline +G4Vector3D G4SphericalSurface::GetXAxis() const +{ + return x_axis; +} + +inline +G4Vector3D G4SphericalSurface::GetZAxis() const +{ + return z_axis; +} + +inline +G4double G4SphericalSurface::GetRadius() const +{ + return radius; +} + +inline +G4double G4SphericalSurface::GetPhi1() const +{ + return phi_1; +} + +inline +G4double G4SphericalSurface::GetPhi2() const +{ + return phi_2; +} + +inline +G4double G4SphericalSurface::GetTheta1() const +{ + return theta_1; +} + +inline +G4double G4SphericalSurface::GetTheta2() const +{ + return theta_2; +} diff --git a/source/geometry/solids/BREPS/include/G4Surface.hh b/source/geometry/solids/BREPS/include/G4Surface.hh index 1cc1226639..1beb553290 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.hh +++ b/source/geometry/solids/BREPS/include/G4Surface.hh @@ -1,3 +1,23 @@ +// 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: G4Surface.hh,v 1.6 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4Surface +// +// Class description: +// +// Base class for a generic surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __surface_h #define __surface_h 1 @@ -9,181 +29,181 @@ #include "G4STEPEntity.hh" #include "G4SurfaceBoundary.hh" -// This is the combined G4Surface class -class G4Surface: public G4STEPEntity +class G4Surface : public G4STEPEntity { -public: + +public: // with description G4Surface(); virtual ~G4Surface(); + // Constructor & destructor. + + G4int operator==( const G4Surface& s ); + // Equality operator. + + virtual G4String GetEntityType() const; + // Returns type information, needed for STEP output. + + virtual const char* Name() const; + virtual G4int MyType() const; + // Returns type information, redundant versions... - // sets the boundaries of the surface. - // The curves in the CurveVector must be non-intersecting - // closed curves. void SetBoundaries(G4CurveVector*); - // It calls InitBounded -- empty by default + // Sets the boundaries of the surface. The curves in the CurveVector + // must be non-intersecting closed curves. + + virtual G4double HowNear( const G4Vector3D& x ) const; + // Returns the distance from the point x to the Surface. + // The default for a Surface is the distance from the point to the + // origin. Overridden by derived classes to take into account boundaries. + + virtual G4double ClosestDistanceToPoint(const G4Point3D& Pt); + // Returns the closest distance to point Pt, as for HowNear() above. + // This one is used by G4BREPSolid. + + inline G4Vector3D GetOrigin() const; + inline G4double GetDistance() const; + inline void SetDistance(G4double Dist); + inline G4int IsActive() const; + inline void SetActive(G4int act); + inline void Deactivate(); + inline void SetSameSense(G4int sameSense0); + inline G4int GetSameSense() const; + inline G4BoundingBox3D* GetBBox(); + inline const G4Point3D& GetClosestHit() const; + inline void SetNextNode(G4Surface*); + inline G4Surface* GetNextNode(); + // Get/Set methods for surface's attributes. + + virtual void Reset(); + // Resets basic attributes. + + virtual G4int Intersect(const G4Ray&); + // Should return the intersection with a ray. Cannot be called from + // G4Surface base class. Overridden by subclasses. + + virtual G4Vector3D Normal( const G4Vector3D& p ) const; + // Returns the Normal unit vector to a Surface at the point p on + // (or nearly on) the Surface. The default is not well defined, + // so return ( 0, 0, 0 ). Overridden by subclasses. + + virtual void CalcBBox(); + // Calculates the bounds for a bounding box to the surface. + // The bounding box is used for a preliminary check of intersection. + + +public: // without description + + inline static void Project (G4double& Coord, const G4Point3D& Pt, + const G4Plane& Pl); + // Utility function returning the projection (Coord) of a point Pt + // on a plane Pl. + + virtual G4double GetUHit() const; + virtual G4double GetVHit() const; + // Overriden by BSplineSurface. + // uhit and vhit are never set. + + virtual G4Point3D Evaluation(const G4Ray& G4Rayref); + virtual G4int Evaluate(register const G4Ray& Rayref); + // For NURBS, there is a two pass intersection algorithm. + // Sometimes, the result of the cheap one tells us + // that execution of the expensive one is not necessary. + // Evaluation (Evaluate?) is one of them. Better names wanted! + + virtual void Project(); + // Used by BREPSolid. Thus it's probably needed. + + virtual void CalcNormal(); + // Used only in G4FPlane. Should be private to that class? + + virtual G4int IsConvex() const; + // Only in G4FPlane. BREPSolid::IsConvex uses it. + // But who uses BREPSolid::IsConvex? Thus: probably not needed. + // However, knowing if the surface is convex could be used for + // optimization. + + virtual G4int GetConvex() const; + // Only in G4FPlane, but G4BREPSolid uses them. + + virtual G4int GetNumberOfPoints() const; + virtual const G4Point3D& GetPoint(G4int Count) const; + // ??? + + virtual G4Ray* Norm(); + virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt) const = 0; + // There is Normal as well -- so what do these do? + +/* + virtual G4double distanceAlongRay( G4int which_way, const G4Ray* ry, + G4Vector3D& p ) const; + // Returns distance along a Ray (straight line with G4ThreeVec) to leave + // or enter a Surface. The input variable which_way should be set to +1 + // to indicate leaving a Surface, -1 to indicate entering a Surface. + // p is the point of intersection of the Ray with the Surface. + // This is a default function which just gives the distance + // between the origin of the Ray and the origin of the Surface. + // Since a generic Surface doesn't have a well-defined Normal, no + // further checks are Done. It must be overwritten by derived classes. + + virtual G4double G4Surface::distanceAlongHelix( G4int which_way, + const Helix* hx, + G4ThreeVec& p ) const; + // Returns the distance along a Helix to leave or enter a Surface. + // The input variable which_way should be set to +1 to indicate + // leaving a Surface, -1 to indicate entering a Surface. + // p is the point of intersection of the Helix with the Surface. + // This is a default function which just gives the distance + // between the origin of the Helix and the origin of the Surface. + // Since a generic Surface doesn't have a well-defined Normal, no + // further checks are Done. It must be overwritten by derived classes. +*/ protected: - virtual void InitBounded() { } + virtual void InitBounded(); -public: - - // type information, needed for STEP output (see STEPinterface) - virtual G4String GetEntityType(){return G4String("Surface");} - - // The origin should move to the derived classes - int operator==( const G4Surface& s ) { return origin == s.origin; } - - // such a function is needed - // (see G4VSolid::DistanceToIn(const G4ThreeVector&) ) - // but the G4surface implementation is useless. - // Overriding functions don't take the surface - // boundary into account. - virtual G4double HowNear( const G4Vector3D& x ) const; - - //virtual G4double distanceAlongRay( int which_way, const G4Ray* ry, - // G4Vector3D& p ) const; - - // unnecessary -- origin should move to descendants - G4Vector3D GetOrigin() const { return origin; } - - // Gerep members - // bad function names -- use Set and Get - // ?? - inline G4double Distance() { return distance; } - inline void Distance(const G4double Dist) { distance=Dist; } - - // a boolean flag, not used by the surfaces themselves - virtual inline int Active(){return active;} - virtual inline void Active(const int act){active=act;} - - // Isn't this the same as HowNear? (This one is used by G4BREPSolid.) - virtual G4double ClosestDistanceToPoint(const G4Point3D&); - - // uhit and vhit are never set. - // Only BSplineSurface overrides. - // There is a G4UVHit class. - virtual G4double GetUHit() { return uhit; } - virtual G4double GetVHit() { return vhit; } - - // Intersection with a ray. the result is put into - // some data members. - virtual int Intersect(const G4Ray&); - - // Surface normal calculation. - virtual G4Vector3D Normal( const G4Vector3D& p ) const; - - // Bounding box calculation. - virtual void CalcBBox(); - - // For NURBS, there is a two pass intersection algorithm. - // Sometimes, the result of the cheap one tells us - // that execution of the expensive one is not necessary. - // Evaluation (Evaluate?) is one of them. - // better names wanted! - virtual G4Point3D Evaluation(const G4Ray& G4Rayref); - virtual int Evaluate(register const G4Ray& Rayref); - - // There is Active(int) instead. - virtual inline void Deactivate(){active=0;} - - // Distance(kInfinity); bbox->SetDistance(kInfinity);}; - - virtual inline void Reset(){Intersected=0;active = 1; distance = kInfinity;}; - - // one function for type info (GetEntityType) should be enough - virtual const char* Name() const { return "G4Surface"; } - virtual int MyType() const { return Type; } - - // To be replaced by a CLHEP vector operation - inline static void Project (G4double& Coord, const G4Point3D& Pt2, - const G4Plane& Pl1 ) - { - Coord = Pt2.x()*Pl1.a + Pt2.y()*Pl1.b + Pt2.z()*Pl1.c - Pl1.d; - } - - // Used by BREPSolid. Thus it's probably needed. - virtual void Project(){} - - // Only in G4FPlane. Should be private to that class? - virtual void CalcNormal(){} - - // Only in G4FPlane. BREPSolid::IsConvex uses it. - // But who uses BREPSolid::IsConvex? - // Thus: probably not needed. But knowing - // if the surface is convex could be used for optimization. - virtual int IsConvex(){return -1;} - - // Only in G4FPlane, but G4BREPSolid uses them. - virtual int GetConvex(){return 0;} - - virtual int GetNumberOfPoints(){return 0;} - - virtual const G4Point3D& GetPoint(const int Count) - { - const G4Point3D* tmp= new G4Point3D(0,0,0); - return *tmp; - } - - // L. Broglia - void SetSameSense(G4int sameSense0) { sameSense = sameSense0; } - G4int GetSameSense() { return sameSense ; } - - G4BoundingBox3D* GetBBox() { return bbox; } - - // there is Normal as well -- so what do these do? - virtual G4Ray* Norm(){return (G4Ray*)0;} - virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt) const =0; - - // should be at least protected, but BREPSolid uses these data members. - // So why not a Get function? - - -public: +protected: G4BoundingBox3D* bbox; G4Point3D closest_hit; + G4Surface* next; -protected: - - // The boundaries of the surface. G4SurfaceBoundary surfaceBoundary; + // The boundaries of the surface. - // BSplineSurface anf FPlane sets it, no one gets it - int Intersected; + G4int Intersected; + // BSplineSurface and FPlane sets it, no one gets it. - // see Get... members - G4Vector3D origin; // origin of Surface - int Type; - int AdvancedFace; - int active; + G4Vector3D origin; + // Origin of Surface. + + G4int Type; + G4int AdvancedFace; + G4int active; G4double distance; G4double uhit,vhit; + // Generic attributes... - // L. Broglia G4int sameSense; + // by L. Broglia protected: - // Maybe kInfinity instead? const G4double FLT_MAXX; + // Maybe kInfinity instead? - // Maybe kCarTolerance instead? const G4double FLT_EPSILO; + // Maybe kCarTolerance instead? - // temporary solution so that G4SurfaceList sees this member - // but G4SurfaceList should go. +private: - -public: - G4Surface* next; + G4Surface(const G4Surface&); + G4Surface& operator=(const G4Surface&); + // Private copy constructor and assignment operator. }; +#include "G4Surface.icc" + #endif - - - - - diff --git a/source/geometry/solids/BREPS/include/G4Surface.icc b/source/geometry/solids/BREPS/include/G4Surface.icc new file mode 100644 index 0000000000..cb1aa60a65 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4Surface.icc @@ -0,0 +1,97 @@ +// 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: G4Surface.icc,v 1.2 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Surface.icc +// +// Implementation of inline methods of G4Surface +// -------------------------------------------------------------------- + +inline +G4Vector3D G4Surface::GetOrigin() const +{ + return origin; +} + +inline +G4double G4Surface::GetDistance() const +{ + return distance; +} + +inline +void G4Surface::SetDistance(G4double Dist) +{ + distance=Dist; +} + +inline +G4int G4Surface::IsActive() const +{ + return active; +} + +inline +void G4Surface::SetActive(G4int act) +{ + active=act; +} + +inline +void G4Surface::Deactivate() +{ + active=0; +} + +inline +void G4Surface::SetSameSense(G4int sameSense0) +{ + sameSense = sameSense0; +} + +inline +G4int G4Surface::GetSameSense() const +{ + return sameSense; +} + +inline +G4BoundingBox3D* G4Surface::GetBBox() +{ + return bbox; +} + +inline +const G4Point3D& G4Surface::GetClosestHit() const +{ + return closest_hit; +} + +inline +G4Surface* G4Surface::GetNextNode() +{ + return next; +} + +inline +void G4Surface::SetNextNode(G4Surface* node) +{ + next = node; +} + +inline +void G4Surface::Project (G4double& Coord, + const G4Point3D& Pt2, + const G4Plane& Pl1) +{ + Coord = Pt2.x()*Pl1.a + Pt2.y()*Pl1.b + Pt2.z()*Pl1.c - Pl1.d; +} diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh index 6853e3b343..da6171faa7 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh @@ -1,3 +1,23 @@ +// 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: G4SurfaceBoundary.hh,v 1.5 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4SurfaceBoundary +// +// Class description: +// +// Definition of a surface boundary. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef included_G4SurfaceBoundary #define included_G4SurfaceBoundary @@ -12,92 +32,87 @@ class G4Ray; class G4CylindricalSurface; -class G4SurfaceBoundary { +class G4SurfaceBoundary +{ -public: +public: // with description - // Initialize with a set of closed curves, - // each of which is an (inner or outer) boundary. - // no responsibility to delete the curves is taken. - // shallow copy of G4Curve-s. G4SurfaceBoundary(); + ~G4SurfaceBoundary(); + // Constructor & destructor. void Init(const G4CurveVector& bounds0); + // Initializes with a set of closed curves, each of which is an + // (inner or outer) boundary. No responsibility to delete the curves + // is taken. - const G4CurveVector& GetBounds() const { return bounds; } - - virtual ~G4SurfaceBoundary(); + inline const G4CurveVector& GetBounds() const; + // Returns closed curve boundaries. + inline const G4BoundingBox3D& BBox() const; + // Returns the bounding-box. - // projection onto the xy plane after transformation tr - // the returned object is allocated dynamically; - // it is the caller's responsibility to delete it - // in case the projection maps a line into a point, - // 0 is returned + G4SurfaceBoundary* Project(const G4Transform3D& tr= + G4Transform3D::Identity); + // Projection onto the xy plane after transformation tr. + // The returned object is allocated dynamically; it is the caller's + // responsibility to delete it. + // In case the projection maps a line into a point, 0 is returned. - G4SurfaceBoundary* Project(const G4Transform3D& tr=G4Transform3D::Identity); - - - // intersect a 2D boundary (probably obtained with Project) with a ray. - // the ray is projected onto the xy plane. - // no intersection: return false - // intersection: return true, and set intersection0 - // the intersection point is ray.start+ray.dir*intersection0 - //void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); G4int IntersectRay2D(const G4Ray& ray); - - // tangent vector to a curve at the point with parameter u - // true if exists - // vector comes into v + // Intersects a 2D boundary with a ray. The ray is projected onto the + // xy plane. If no intersection 0 is returned, otherwise 1 is returned. + // and the intersection set to intersection0. + // The intersection point is: ray.start+ray.dir*intersection0. G4bool Tangent(G4CurvePoint& cp, G4Vector3D& v); + // Tangent vector to a curve at the point with parameter u. + // Returns true if exists. The vector is stored in v. - // split a boundary with a plane containing p0 with normal n. - // pointers to the resulting boundaries are put into new1 and new2. - // it is the caller's responsibility to delete them. +public: // without description void SplitWithPlane(const G4Point3D& p0, const G4Vector3D& n, G4SurfaceBoundary*& new1, G4SurfaceBoundary*& new2 ); - - + // Splits a boundary with a plane containing p0 with normal n. + // Pointers to the resulting boundaries are put into new1 and new2. + // It is the caller's responsibility to delete them. + // To be implemented yet. void SplitWithCylinder(const G4CylindricalSurface& c, G4SurfaceBoundary*& new1, - G4SurfaceBoundary*& new2 ); + G4SurfaceBoundary*& new2 ); + // Splits a boundary with a cylindrical surface. + // Pointers to the resulting boundaries are put into new1 and new2. + // It is the caller's responsibility to delete them. + // To be implemented yet. + inline G4int GetNumberOfPoints() const; + inline const G4Point3D& GetPoint(G4int Count) const; + // Functions probably not used and should be removed in the future - const G4BoundingBox3D& BBox() const { return bBox; } - - // the following functions are probably not used - // and should be removed in the future - - G4Point3DVector points; - inline int GetNumberOfPoints(){return points.length();} - - inline const G4Point3D& GetPoint(const int Count){return points.ref(Count);} - + // void IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is); private: - // copy disabled G4SurfaceBoundary(const G4SurfaceBoundary&); G4SurfaceBoundary& operator=(const G4SurfaceBoundary&); + // Private copy constructor and assignment operator. private: + G4Point3DVector points; G4CurveVector bounds; G4BoundingBox3D bBox; + // to speed up the tangent computation G4CurveRayIntersection lastIntersection; }; +#include "G4SurfaceBoundary.icc" + #endif - - - - diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc new file mode 100644 index 0000000000..4f8665c3e5 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc @@ -0,0 +1,41 @@ +// 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: G4SurfaceBoundary.icc,v 1.2 2000/08/28 15:00:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4SurfaceBoundary.icc +// +// Implementation of inline methods of G4SurfaceBoundary +// -------------------------------------------------------------------- + +inline +const G4CurveVector& G4SurfaceBoundary::GetBounds() const +{ + return bounds; +} + +inline +const G4BoundingBox3D& G4SurfaceBoundary::BBox() const +{ + return bBox; +} + +inline +G4int G4SurfaceBoundary::GetNumberOfPoints() const +{ + return points.length(); +} + +inline +const G4Point3D& G4SurfaceBoundary::GetPoint(G4int Count) const +{ + return points.ref(Count); +} diff --git a/source/geometry/solids/BREPS/include/G4SurfaceList.hh b/source/geometry/solids/BREPS/include/G4SurfaceList.hh index af217a1408..5aac966359 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceList.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceList.hh @@ -5,9 +5,18 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SurfaceList.hh,v 1.2 1999/12/15 14:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SurfaceList.hh,v 1.4 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4SurfaceList +// +// Class description: +// +// Class defining a list of surfaces. + +// Authors: J.Sulkimo, P.Urban. +// ---------------------------------------------------------------------- #ifndef __G4SurfaceList_h #define __G4SurfaceList_h 1 @@ -15,25 +24,18 @@ class G4SurfaceList { - public: + public: // with description G4SurfaceList(); ~G4SurfaceList(); - - int number_of_elements; - - G4Surface* first; - G4Surface* next; - G4Surface* last; - G4Surface* temp; - G4Surface* index; - + // Constructor & destructor. + void MoveToFirst(G4Surface *srf); void AddSurface(G4Surface *srf); G4Surface* GetSurface(); - G4Surface* GetSurface(int number); - G4Surface* GetLastSurface(); + const G4Surface* GetSurface(G4int number); + const G4Surface* GetLastSurface() const; void RemoveSurface(G4Surface* srf); void RemovePointer(); @@ -44,16 +46,28 @@ class G4SurfaceList void EmptyList(); void G4SortList(); - void QuickG4Sort(G4Surface**, int, int); + void QuickG4Sort(G4Surface**, G4int, G4int); + const G4Surface* GetFirst() const { return first; } + const G4Surface* GetNext() const { return next; } + G4int GetSize() const { return number_of_elements; } + + private: + + G4SurfaceList(const G4SurfaceList&); + G4SurfaceList& operator=(const G4SurfaceList&); + // Private copy constructor and assignment operator. + + private: // without description + + G4int number_of_elements; + + G4Surface* first; + G4Surface* next; + G4Surface* last; + G4Surface* temp; + G4Surface* index; + }; #endif - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh index 13b49fc578..8d8799bf86 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh @@ -1,26 +1,42 @@ +// 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: G4SurfaceOfLinearExtrusion.hh,v 1.3 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4SurfaceOfLinearExtrusion +// +// Class description: +// +// Definition of a surface of linear extrusion. +// (not implemented yet). + +// ---------------------------------------------------------------------- #ifndef included_G4SurfaceOfLinearExtrusion #define included_G4SurfaceOfLinearExtrusion -// surface of linear extrusion - #include "G4Surface.hh" -class G4SurfaceOfLinearExtrusion: public G4Surface +class G4SurfaceOfLinearExtrusion : public G4Surface { -public: +public: // with description G4SurfaceOfLinearExtrusion(); virtual ~G4SurfaceOfLinearExtrusion(); + // Constructor & destructor. private: G4SurfaceOfLinearExtrusion(const G4SurfaceOfLinearExtrusion &); G4SurfaceOfLinearExtrusion& operator=(const G4SurfaceOfLinearExtrusion &); + // Private copy constructor and assignement operator. }; #endif - - - diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh index 5c0fa8c38a..e616a92d7d 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh @@ -1,28 +1,41 @@ +// 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: G4SurfaceOfRevolution.hh,v 1.3 2000/11/08 14:22:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// Class G4SurfaceOfRevolution +// +// Class description: +// +// Definition of a surface of revolution. +// (not implemented yet). + +// ---------------------------------------------------------------------- #ifndef included_G4SurfaceOfRevolution #define included_G4SurfaceOfRevolution -// surface of linear extrusion - #include "G4Surface.hh" - -class G4SurfaceOfRevolution: public G4Surface +class G4SurfaceOfRevolution : public G4Surface { -public: +public: // with description G4SurfaceOfRevolution(); virtual ~G4SurfaceOfRevolution(); - + // Constructor & destructor. private: G4SurfaceOfRevolution(const G4SurfaceOfRevolution &); G4SurfaceOfRevolution& operator=(const G4SurfaceOfRevolution &); - + // Private copy constructor and assignment operator. }; #endif - - - diff --git a/source/geometry/solids/BREPS/include/G4ThreeMat.hh b/source/geometry/solids/BREPS/include/G4ThreeMat.hh index c9e1666c77..a73ee514a4 100644 --- a/source/geometry/solids/BREPS/include/G4ThreeMat.hh +++ b/source/geometry/solids/BREPS/include/G4ThreeMat.hh @@ -5,76 +5,63 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ThreeMat.hh,v 1.4 2000/02/16 12:02:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ThreeMat.hh,v 1.7 2000/11/08 14:22:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* G4ThreeMat.h,v 1.7 1993/12/30 02:15:55 rensing Exp */ -// File: G4ThreeMat.h -// Author: Alan Breakstone - -// Contents --------------------------------------------------------------- -// -// G4ThreeMat -// -// Description -// -// Defines the class G4ThreeMat for three by three matrices -// -// -// End -------------------------------------------------------------------- - - -// Interface Dependencies ------------------------------------------------- - +// ---------------------------------------------------------------------- +// Class G4ThreeMat +// +// Class description: +// +// Defines the class G4ThreeMat for three by three matrices. +// Author: Alan Breakstone +// Adaptation by: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __THREEMAT_H #define __THREEMAT_H #include "G4Vector3D.hh" -// End Interface Dependencies ------------------------------------------- - -// Class // - class G4ThreeMat { -// The elements exist individually and are also aggregated into -// rows and columns to use operations already written for the G4Vector3Dc -// class. - G4double element[3][3]; - G4Vector3D row[3], column[3]; -public: -// default constructor - G4ThreeMat(); -// Normal constructors with a 3 x 3 arG4Ray argument - G4ThreeMat( G4double a[3][3] ); -// destructor - virtual ~G4ThreeMat() {}; -// copy constructor - G4ThreeMat( const G4ThreeMat& m ); -// function to return class name - virtual const char* NameOf() const { return "G4ThreeMat"; } -// printing functions (derived classes do not need to overwrite operator <<) - friend G4std::ostream& operator<<( G4std::ostream& os, const G4ThreeMat& m ); - virtual void PrintOn( G4std::ostream& os = G4cout ) const; -// equality operator - int operator==( const G4ThreeMat& m ); -// -// overload operators =, +, -, +=, -=, * -// - void operator=( const G4ThreeMat& m ); - G4ThreeMat operator+() const { return *this; }; - G4ThreeMat operator-(); - G4ThreeMat operator+=( const G4ThreeMat& m2 ); - G4ThreeMat operator-=( const G4ThreeMat& m2 ); - friend G4ThreeMat operator+( const G4ThreeMat& m1, const G4ThreeMat& m2 ); - friend G4ThreeMat operator-( const G4ThreeMat& m1, const G4ThreeMat& m2 ); - friend G4ThreeMat operator*( G4double x, const G4ThreeMat& m ); - friend G4Vector3D operator*( const G4ThreeMat& m, const G4Vector3D& v ); - friend G4ThreeMat operator*( const G4ThreeMat& m1, const G4ThreeMat& m2 ); - // - // Determinant of matrix - G4double Determinant(); + +public: // with description + + G4ThreeMat(); + // Default constructor. + + G4ThreeMat( G4double a[3][3] ); + // Normal constructors with a 3 x 3 array argument. + + virtual ~G4ThreeMat(); + // Destructor. + + G4ThreeMat( const G4ThreeMat& m ); + G4ThreeMat& operator=( const G4ThreeMat& m ); + // Copy constructor and assignment operator. + + G4int operator==( const G4ThreeMat& m ) const; + // Equality operator. + + friend G4std::ostream& operator<<( G4std::ostream& os, const G4ThreeMat& m ); + + virtual const char* NameOf() const; + // Returns the class name. + + virtual void PrintOn( G4std::ostream& os = G4cout ) const; + // Printing functions (derived classes do not need to overwrite operator <<). + + G4double Determinant() const; + // Determinant of matrix. + +private: + + G4double element[3][3]; + G4Vector3D row[3], column[3]; + // The elements exist individually and are also aggregated into rows and + // columns to use operations already written for the G4Vector3Dc class. }; #endif diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh index bf8fe0115a..5e81929693 100644 --- a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ToroidalSurface.hh,v 1.2 1999/12/15 14:49:58 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ToroidalSurface.hh,v 1.5 2000/11/08 14:22:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4ToroidalSurface +// +// Class Description: +// +// Definition of a toroidal surface. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4TOROIDALSURAFCE #define __G4TOROIDALSURAFCE @@ -15,118 +25,71 @@ #include "G4FPlane.hh" #include "G4OsloMatrix.hh" -class G4ToroidalSurface:public G4Surface +class G4ToroidalSurface : public G4Surface { - public: + + public: // with description G4ToroidalSurface(); - G4ToroidalSurface(const G4Vector3D&, const G4Vector3D&, const G4Vector3D&, - const G4double, - const G4double); + G4double, + G4double); + virtual ~G4ToroidalSurface(); + // Constructors & destructor. - ~G4ToroidalSurface(); + inline G4String GetEntityType() const; + // Returns type identifier of the shape. - G4String GetEntityType(){return G4String("Toroidal_Surface");} + G4int Intersect(const G4Ray&); + // Determines the intersection of a ray with a torus. + // Returns 1 if the ray intersects the torus. - int Intersect(const G4Ray&); - void CalcBBox(); - - inline G4Vector3D GetDirection(){return Placement.GetRefDirection();} - - inline G4Vector3D GetAxis() {return Placement.GetAxis();} - - inline G4Point3D GetLocation() {return Placement.GetLocation();} - - inline G4double GetMinRadius(){return MinRadius;} - - inline G4double GetMaxRadius(){return MaxRadius;} - - G4double ClosestDistanceToPoint(const G4Point3D&); - - G4Vector3D SurfaceNormal(const G4Point3D& Pt)const - {return G4Vector3D(0,0,0);} + // Computes the bounding-box. + inline G4Vector3D GetDirection() const; + inline G4Vector3D GetAxis() const; + inline G4Point3D GetLocation() const; + inline G4double GetMinRadius() const; + inline G4double GetMaxRadius() const; + // Accessors to geometrical data. - inline void MultiplyPointByMatrix(G4Point3D& Base) - { - Base.setX((Base.x() * TransMatrix->get(0,0)) + - (Base.y() * TransMatrix->get(1,0)) + - (Base.z() * TransMatrix->get(2,0))); - Base.setY((Base.x() * TransMatrix->get(0,1)) + - (Base.y() * TransMatrix->get(1,1)) + - (Base.z() * TransMatrix->get(2,1))); - Base.setZ((Base.x() * TransMatrix->get(0,2)) + - (Base.y() * TransMatrix->get(1,2)) + - (Base.z() * TransMatrix->get(2,2))); - } + G4double ClosestDistanceToPoint(const G4Point3D& x); + // Returns the closest distance to the torus surface from a point x. - inline void MultiplyVectorByMatrix(G4Vector3D& DCos) - { - G4double w; - DCos.setX((DCos.x() * TransMatrix->get(0,0)) + - (DCos.y() * TransMatrix->get(1,0)) + - (DCos.z() * TransMatrix->get(2,0)) + TransMatrix->get(3,0)); + virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt) const; + // Returns the Normal unit vector to the G4ToroidalSurface at a point Pt + // on (or nearly on) the G4ToroidalSurface. - DCos.setY((DCos.x() * TransMatrix->get(0,1)) + - (DCos.y() * TransMatrix->get(1,1)) + - (DCos.z() * TransMatrix->get(2,1)) + TransMatrix->get(3,1)); + inline void MultiplyPointByMatrix(G4Point3D& Base); + inline void MultiplyVectorByMatrix(G4Vector3D& DCos); + // Utility methods. - DCos.setY((DCos.x() * TransMatrix->get(0,2)) + - (DCos.y() * TransMatrix->get(1,2)) + - (DCos.z() * TransMatrix->get(2,2)) + TransMatrix->get(3,2)); - - w = ((DCos.x() * TransMatrix->get(0,3)) + - (DCos.y() * TransMatrix->get(1,3)) + - (DCos.z() * TransMatrix->get(2,3)) + TransMatrix->get(3,3)); - - if (w != 0.0) - { - DCos.setX(DCos.x() / w); - DCos.setY(DCos.y() / w); - DCos.setZ(DCos.z() / w); - } - } - +private: + + G4ToroidalSurface(const G4ToroidalSurface&); + G4ToroidalSurface& operator=(const G4ToroidalSurface&); + // Private copy constructor and assignment operator. + + inline G4int IsZero(G4double x) const; + G4int SolveQuartic(G4double c[], G4double s[]); + G4int SolveCubic (G4double c[], G4double s[]); + G4int SolveQuadric(G4double c[], G4double s[]); + // Algorithms for solving quadratic, cubic and quartic equations. private: G4Axis2Placement3D Placement; G4double MinRadius; G4double MaxRadius; - Matrix* TransMatrix; // transformation matrix + G4PointMatrix* TransMatrix; // transformation matrix G4Point3D hitpoint; const G4double EQN_EPS; - int SolveQuartic(G4double c[], G4double s[]); - - inline int IsZero(G4double x) - { - if((x) > -EQN_EPS && (x) < EQN_EPS) - return 1; - else return 0; - } - - int SolveCubic(G4double c[], G4double s[]); - - int SolveQuadric(G4double c[], G4double s[]); - }; +#include "G4ToroidalSurface.icc" #endif - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc new file mode 100644 index 0000000000..6facd6eff5 --- /dev/null +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc @@ -0,0 +1,102 @@ +// 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: G4ToroidalSurface.icc,v 1.2 2000/08/28 15:00:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4ToroidalSurface.icc +// +// Implementation of inline methods of G4ToroidalSurface +// -------------------------------------------------------------------- + +inline +G4String G4ToroidalSurface::GetEntityType() const +{ + return G4String("Toroidal_Surface"); +} + +inline +G4Vector3D G4ToroidalSurface::GetDirection() const +{ + return Placement.GetRefDirection(); +} + +inline +G4Vector3D G4ToroidalSurface::GetAxis() const +{ + return Placement.GetAxis(); +} + +inline +G4Point3D G4ToroidalSurface::GetLocation() const +{ + return Placement.GetLocation(); +} + +inline +G4double G4ToroidalSurface::GetMinRadius() const +{ + return MinRadius; +} + +inline G4double G4ToroidalSurface::GetMaxRadius() const +{ + return MaxRadius; +} + +inline +void G4ToroidalSurface::MultiplyPointByMatrix(G4Point3D& Base) +{ + Base.setX((Base.x() * TransMatrix->get(0,0)) + + (Base.y() * TransMatrix->get(1,0)) + + (Base.z() * TransMatrix->get(2,0))); + Base.setY((Base.x() * TransMatrix->get(0,1)) + + (Base.y() * TransMatrix->get(1,1)) + + (Base.z() * TransMatrix->get(2,1))); + Base.setZ((Base.x() * TransMatrix->get(0,2)) + + (Base.y() * TransMatrix->get(1,2)) + + (Base.z() * TransMatrix->get(2,2))); +} + +inline +void G4ToroidalSurface::MultiplyVectorByMatrix(G4Vector3D& DCos) +{ + G4double w; + DCos.setX((DCos.x() * TransMatrix->get(0,0)) + + (DCos.y() * TransMatrix->get(1,0)) + + (DCos.z() * TransMatrix->get(2,0)) + TransMatrix->get(3,0)); + + DCos.setY((DCos.x() * TransMatrix->get(0,1)) + + (DCos.y() * TransMatrix->get(1,1)) + + (DCos.z() * TransMatrix->get(2,1)) + TransMatrix->get(3,1)); + + DCos.setY((DCos.x() * TransMatrix->get(0,2)) + + (DCos.y() * TransMatrix->get(1,2)) + + (DCos.z() * TransMatrix->get(2,2)) + TransMatrix->get(3,2)); + + w = ((DCos.x() * TransMatrix->get(0,3)) + + (DCos.y() * TransMatrix->get(1,3)) + + (DCos.z() * TransMatrix->get(2,3)) + TransMatrix->get(3,3)); + + if (w != 0.0) + { + DCos.setX(DCos.x() / w); + DCos.setY(DCos.y() / w); + DCos.setZ(DCos.z() / w); + } +} + +inline +G4int G4ToroidalSurface::IsZero(G4double x) const +{ + if((x) > -EQN_EPS && (x) < EQN_EPS) + return 1; + else return 0; +} diff --git a/source/geometry/solids/BREPS/include/G4UVHit.hh b/source/geometry/solids/BREPS/include/G4UVHit.hh index 7fab5a6cc1..afbf44bba8 100644 --- a/source/geometry/solids/BREPS/include/G4UVHit.hh +++ b/source/geometry/solids/BREPS/include/G4UVHit.hh @@ -5,9 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UVHit.hh,v 1.3 2000/02/25 15:59:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UVHit.hh,v 1.5 2000/11/08 14:22:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// Class G4UVHit +// +// Class Description: +// +// Utility class for knots. + +// Authors: J.Sulkimo, P.Urban. +// Revisions by: L.Broglia, G.Cosmo. +// ---------------------------------------------------------------------- #ifndef __G4UV_Hit #define __G4UV_Hit @@ -16,12 +26,18 @@ class G4UVHit { public: - G4UVHit(){u=-1;v=-1; next=0;} - G4UVHit(G4double u_hit, G4double v_hit){u = u_hit; v = v_hit; next=0;} - ~G4UVHit(){} + G4UVHit() {u=-1; v=-1; next=0;} + G4UVHit(G4double u_hit, G4double v_hit) {u = u_hit; v = v_hit; next=0;} + ~G4UVHit() {} -public: - G4UVHit * next; + void SetNext(G4UVHit* n) { next = n; } + G4UVHit* GetNext() { return next; } + G4double GetU() const { return u; } + G4double GetV() const { return v; } + +private: + + G4UVHit* next; G4double u, v; }; diff --git a/source/geometry/solids/BREPS/src/G4Assembly.cc b/source/geometry/solids/BREPS/src/G4Assembly.cc index 0545ce6056..4405a21fe9 100644 --- a/source/geometry/solids/BREPS/src/G4Assembly.cc +++ b/source/geometry/solids/BREPS/src/G4Assembly.cc @@ -1,5 +1,21 @@ -#include "G4Assembly.hh" +// 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: G4Assembly.cc,v 1.3 2000/11/08 14:22:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Assembly.cc +// +// ---------------------------------------------------------------------- +#include "G4Assembly.hh" G4Assembly::G4Assembly() { @@ -7,14 +23,11 @@ G4Assembly::G4Assembly() // CopySTEPData(); } - G4Assembly::~G4Assembly() { - for(G4int a=0;aactive=1; + ((G4BREPSolid*)this)->intersectionDistance=kInfinity; + ((G4BREPSolid*)this)->startInside=0; + + for(register G4int a=0;aReset(); + + ShortestDistance = kInfinity; +} void G4BREPSolid::CheckSurfaceNormals() { @@ -101,7 +109,6 @@ void G4BREPSolid::CheckSurfaceNormals() // Loop through each face and check the G4Vector3D of the Normal G4Surface* srf; - G4Vector3D *Normal1, Normal2; G4Point3D V; G4int PointNum=0; @@ -109,8 +116,8 @@ void G4BREPSolid::CheckSurfaceNormals() G4double YValue=0; G4Point3D Pt; - // const int Faces = all_surfaces.number_of_elements; - // const int Faces = surfaces.entries(); + // G4int Faces = all_surfaces.number_of_elements; + // G4int Faces = surfaces.entries(); G4int a, b; for(a=0; aGetNumberOfPoints(); + G4int Points = srf->GetNumberOfPoints(); for(b =0; bGetNumberOfPoints(); + G4int SrfPoints = srf->GetNumberOfPoints(); N1 = (srf->Norm())->GetDir(); for(b=a+1; bGetNumberOfPoints(); + G4int ConnSrfPoints = ConnectedSrf->GetNumberOfPoints(); for(G4int c=0;cNorm())->GetDir(); // Check cross product. - G4Vector3D CP1 = N1.cross(N2); + G4Vector3D CP1 = G4Vector3D( N1.cross(N2) ); G4double CrossProd1 = CP1.x()+CP1.y()+CP1.z(); // Create the other normals @@ -226,7 +229,7 @@ void G4BREPSolid::CheckSurfaceNormals() N4 = (Pt1-Pt4); - G4Vector3D CP2 = N3.cross(N4); + G4Vector3D CP2 = G4Vector3D( N3.cross(N4) ); G4double CrossProd2 = CP2.x()+CP2.y()+CP2.z(); G4cout << "\nCroosProd2: " << CrossProd2; @@ -255,7 +258,7 @@ void G4BREPSolid::CheckSurfaceNormals() } -int G4BREPSolid::IsBox() +G4int G4BREPSolid::IsBox() { // This is Done by checking that the solid consist of 6 planes. // Then the type is checked to be planar face for each face. @@ -320,10 +323,10 @@ int G4BREPSolid::IsBox() return 0; else { - if(!(int)Result) + if(!(G4int)Result) Sides++; else - if(((int)Result) == 1) + if(((G4int)Result) == 1) Opposite++; } } @@ -361,7 +364,7 @@ G4bool G4BREPSolid::IsConvex() G4Surface* Srf; G4Surface* ConnectedSrf; - int Result; + G4int Result; Convex = 1; G4int a, b, c, d; @@ -385,7 +388,7 @@ G4bool G4BREPSolid::IsConvex() G4Point3D Pt1; G4Point3D Pt2; - int ConnectingPoints=0; + G4int ConnectingPoints=0; G4Vector3D N1; G4Vector3D N2; @@ -471,7 +474,7 @@ G4bool G4BREPSolid::IsConvex() N1 = Srf->Norm()->GetDir(); N2 = ConnectedSrf->Norm()->GetDir(); // Check cross product. - G4Vector3D CP = N1.cross(N2); + G4Vector3D CP = G4Vector3D( N1.cross(N2) ); G4double CrossProd = CP.x()+CP.y()+CP.z(); if( CrossProd > 0 ) @@ -601,6 +604,8 @@ G4bool G4BREPSolid::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } pMin-=kCarTolerance; @@ -640,9 +645,9 @@ G4bool G4BREPSolid::CalculateExtent(const EAxis pAxis, // envelopes the clipping volume. Hence set min/max extents according // to clipping volume extents along the specified axis. G4ThreeVector clipCentre( - (pVoxelLimit.GetMinXExtent()+pVoxelLimit.GetMaxXExtent())*0.5, - (pVoxelLimit.GetMinYExtent()+pVoxelLimit.GetMaxYExtent())*0.5, - (pVoxelLimit.GetMinZExtent()+pVoxelLimit.GetMaxZExtent())*0.5); + (pVoxelLimit.GetMinXExtent()+pVoxelLimit.GetMaxXExtent())*0.5, + (pVoxelLimit.GetMinYExtent()+pVoxelLimit.GetMaxYExtent())*0.5, + (pVoxelLimit.GetMinZExtent()+pVoxelLimit.GetMaxZExtent())*0.5); if (Inside(pTransform.Inverse().TransformPoint(clipCentre))!=kOutside) { @@ -698,9 +703,6 @@ EInside G4BREPSolid::Inside(register const G4ThreeVector& Pt)const // This function find if the point Pt is inside, // outside or on the surface of the solid - - G4double halfTolerance = kCarTolerance*0.5; - G4Vector3D v(1, 0, 0.01); G4Vector3D Pttmp(Pt); G4Vector3D Vtmp(v); @@ -721,7 +723,7 @@ EInside G4BREPSolid::Inside(register const G4ThreeVector& Pt)const for(G4int a=0; a < nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // count the number of intersections. // if this number is odd, the start of the ray is @@ -732,12 +734,12 @@ EInside G4BREPSolid::Inside(register const G4ThreeVector& Pt)const if( (SurfaceVec[a]->Intersect(r)) & 1 ) { // test if the point is on the surface - if(SurfaceVec[a]->Distance() < kCarTolerance) + if(SurfaceVec[a]->GetDistance() < kCarTolerance) return kSurface; // test if this intersection was founded before for(G4int i=0; iDistance() == SurfaceVec[i]->Distance()) + if(SurfaceVec[a]->GetDistance() == SurfaceVec[i]->GetDistance()) { samehit++; break; @@ -759,7 +761,7 @@ EInside G4BREPSolid::Inside(register const G4ThreeVector& Pt)const } -G4ThreeVector G4BREPSolid::SurfaceNormal(const G4ThreeVector& Pt)const +G4ThreeVector G4BREPSolid::SurfaceNormal(const G4ThreeVector& Pt) const { // This function calculates the normal of the surface // at a point on the surface @@ -789,7 +791,7 @@ G4ThreeVector G4BREPSolid::SurfaceNormal(const G4ThreeVector& Pt)const } -G4double G4BREPSolid::DistanceToIn(const G4ThreeVector& Pt)const +G4double G4BREPSolid::DistanceToIn(const G4ThreeVector& Pt) const { // Calculates the shortest distance ("safety") from a point // outside the solid to any boundary of this solid. @@ -797,7 +799,6 @@ G4double G4BREPSolid::DistanceToIn(const G4ThreeVector& Pt)const G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again @@ -834,7 +835,7 @@ G4double G4BREPSolid::DistanceToIn(const G4ThreeVector& Pt)const G4double G4BREPSolid::DistanceToIn(register const G4ThreeVector& Pt, - register const G4ThreeVector& V )const + register const G4ThreeVector& V ) const { // Calculates the distance from a point outside the solid // to the solid`s boundary along a specified direction vector. @@ -861,17 +862,17 @@ G4double G4BREPSolid::DistanceToIn(register const G4ThreeVector& Pt, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // test if the ray intersect the surface if( (SurfaceVec[a]->Intersect(r)) ) { // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } else { @@ -880,7 +881,7 @@ G4double G4BREPSolid::DistanceToIn(register const G4ThreeVector& Pt, G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp); if( (Norm * Vtmp) < 0 ) - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } } } @@ -935,17 +936,17 @@ G4double G4BREPSolid::DistanceToOut(register const G4ThreeVector& P, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // test if the ray intersect the surface if( (SurfaceVec[a]->Intersect(r)) ) { // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } else { @@ -973,7 +974,6 @@ G4double G4BREPSolid::DistanceToOut(const G4ThreeVector& Pt)const // Return 0 if the point is already outside. G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again @@ -1066,8 +1066,8 @@ void G4BREPSolid::CalcBBoxes() // if(convex && Concavepoint==-1) { srf->CalcBBox(); - G4Point3D box_min = srf->bbox->GetBoxMin(); - G4Point3D box_max = srf->bbox->GetBoxMax(); + G4Point3D box_min = srf->GetBBox()->GetBoxMin(); + G4Point3D box_max = srf->GetBBox()->GetBoxMax(); // Find max and min of face bboxes to make // solids bbox. @@ -1095,7 +1095,7 @@ void G4BREPSolid::CalcBBoxes() } -void G4BREPSolid::RemoveHiddenFaces(register const G4Ray& rayref, int In) const +void G4BREPSolid::RemoveHiddenFaces(register const G4Ray& rayref, G4int In) const { // Deactivates the planar faces that are // on the "back" side of a solid. @@ -1161,13 +1161,13 @@ void G4BREPSolid::TestSurfaceBBoxes(register const G4Ray& rayref) const // Get first in List srf = SurfaceVec[a]; - if(srf->Active()) + if(srf->IsActive()) { // Get type if(srf->MyType() != 1) // 1 == planar face { - if(srf->bbox->Test(rayref)) - srf->Distance(bbox->GetDistance()); + if(srf->GetBBox()->Test(rayref)) + srf->SetDistance(bbox->GetDistance()); else { // Test failed. Flag as inactive. @@ -1192,7 +1192,7 @@ void G4BREPSolid::TestSurfaceBBoxes(register const G4Ray& rayref) const } -int G4BREPSolid::Intersect(register const G4Ray& rayref) const +G4int G4BREPSolid::Intersect(register const G4Ray& rayref) const { // Gets the roughly calculated closest // intersection point for a b_spline & accurate point for others @@ -1212,28 +1212,24 @@ int G4BREPSolid::Intersect(register const G4Ray& rayref) const for(register G4int a=0;aActive()) + if(srf->IsActive()) { result = srf->Intersect(rayref); if(result) { - register G4Surface* tmp; - - - // Get the evaluated point on the surface - G4Point3D& closest_point = srf->closest_hit; + const G4Point3D& closest_point = srf->GetClosestHit(); // Test for DistanceToIn(pt, vec) // if d = 0 and vec.norm > 0, do not see the surface - if( !( (srf->Distance() < kCarTolerance/2) || + if( !( (srf->GetDistance() < kCarTolerance/2) || (RayDir.dot(srf->SurfaceNormal(closest_point)) > 0) ) ) { if(srf->MyType()==1) - HitDistance = srf->Distance(); + HitDistance = srf->GetDistance(); else { // Check if the evaluated point is in front of the @@ -1275,7 +1271,7 @@ int G4BREPSolid::Intersect(register const G4Ray& rayref) const else { // Mark rest surfaces as inactive - for(register int c=a+1;cActive())) + if(!(SurfaceVec[0]->IsActive())) return 0; - ((G4BREPSolid*)this)->intersection_point = SurfaceVec[0]->closest_hit; + ((G4BREPSolid*)this)->intersection_point = SurfaceVec[0]->GetClosestHit(); bbox->SetDistance(HitDistance); @@ -1314,20 +1310,19 @@ int G4BREPSolid::Intersect(register const G4Ray& rayref) const } -int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, - const int ToIn ) const +G4int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, + G4int ToIn ) const { register G4Surface* srf; G4double halfTolerance = 0.5*kCarTolerance; G4double Dist=0; - G4int count=0; ((G4BREPSolid*)this)->intersectionDistance = kInfinity; for(register G4int a=0;aActive()) + if(srf->IsActive()) { const G4Point3D& srf_intersection = srf->Evaluation(rayref); @@ -1341,7 +1336,7 @@ int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, Dist = srf_intersection.distance2(start); } else - Dist = srf->Distance(); + Dist = srf->GetDistance(); // Skip point wichare on the surface i.e. within // tolerance of the surface @@ -1351,7 +1346,7 @@ int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, if(ToIn) { const G4Vector3D& Dir = rayref.GetDir(); - const G4Point3D& Hit = srf->closest_hit; + const G4Point3D& Hit = srf->GetClosestHit(); const G4Vector3D& Norm = srf->SurfaceNormal(Hit); if(( Dir * Norm ) >= 0) @@ -1396,12 +1391,12 @@ int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, // Check that the intersection is closer than the // next surfaces approx point. - if(srf->Active()) + if(srf->IsActive()) { if(a+1closest_hit; + const G4Point3D& Hit = srf->GetClosestHit(); const G4Vector3D& Norm = srf->SurfaceNormal(Hit); // L. Broglia @@ -1444,7 +1439,7 @@ int G4BREPSolid::FinalEvaluation(register const G4Ray& rayref, } -G4Point3D G4BREPSolid::Scope() +G4Point3D G4BREPSolid::Scope() const { G4Point3D scope; G4Point3D Max = bbox->GetBoxMax(); diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc index 1ff313e045..5ca50a6874 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc @@ -5,14 +5,21 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidBox.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidBox.cc,v 1.4 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidBox.cc +// +// ---------------------------------------------------------------------- + #include "G4BREPSolidBox.hh" #include "G4FPlane.hh" #include "G4Point3DVector.hh" -G4BREPSolidBox::G4BREPSolidBox(G4String name, +G4BREPSolidBox::G4BREPSolidBox(const G4String& name, const G4Point3D& Pt1, const G4Point3D& Pt2, const G4Point3D& Pt3, @@ -65,6 +72,9 @@ G4BREPSolidBox::G4BREPSolidBox(G4String name, } +G4BREPSolidBox::~G4BREPSolidBox() +{ +} EInside G4BREPSolidBox::Inside(register const G4ThreeVector& Pt) const { @@ -88,11 +98,4 @@ EInside G4BREPSolidBox::Inside(register const G4ThreeVector& Pt) const return kInside; return kSurface; - - } - - - - - diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc index eb01bc0b81..416a79449f 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidCone.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidCone.cc,v 1.4 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidCone.cc +// +// ---------------------------------------------------------------------- #include "G4BREPSolidCone.hh" #include "G4FPlane.hh" @@ -15,26 +21,26 @@ #include "G4FCylindricalSurface.hh" #include "G4CircularCurve.hh" -G4BREPSolidCone::G4BREPSolidCone(G4String name, +G4BREPSolidCone::G4BREPSolidCone(const G4String& name, const G4ThreeVector& origin, const G4ThreeVector& axis, const G4ThreeVector& direction, - const G4double length, - const G4double radius, - const G4double large_radius):G4BREPSolid(name) - + G4double length, + G4double radius, + G4double large_radius) + : G4BREPSolid(name) { - SurfaceVec = new G4Surface*[3]; - G4Point3D ArcStart1 = origin + (radius*direction); + SurfaceVec = new G4Surface*[3]; + G4Point3D ArcStart1 = G4Point3D(origin + (radius*direction)); G4Vector3D tmpaxis(axis); G4Vector3D tmporigin(origin); - G4Point3D paska; + G4Point3D tmppoint; - paska= origin + (length*tmpaxis); - G4Point3D origin2(paska.x(), paska.y(), paska.z()); + tmppoint= origin + (length*tmpaxis); + G4Point3D origin2(tmppoint.x(), tmppoint.y(), tmppoint.z()); - paska= origin2 + (large_radius*tmpaxis); - G4Point3D ArcStart2(paska.x(), paska.y(), paska.z()); + tmppoint= origin2 + (large_radius*tmpaxis); + G4Point3D ArcStart2(tmppoint.x(), tmppoint.y(), tmppoint.z()); G4Ray::Vcross(tmpaxis, axis, direction); G4ThreeVector axis2(tmpaxis.x(),tmpaxis.y(), tmpaxis.z()); @@ -83,6 +89,10 @@ G4BREPSolidCone::G4BREPSolidCone(G4String name, Initialize(); } +G4BREPSolidCone::~G4BREPSolidCone() +{ +} + void G4BREPSolidCone::Initialize() { // Calc bounding box for solids and surfaces @@ -94,7 +104,6 @@ void G4BREPSolidCone::Initialize() CalcBBoxes(); } - EInside G4BREPSolidCone::Inside(register const G4ThreeVector& Pt) const { G4double dist1 = SurfaceVec[0]->HowNear(Pt); @@ -114,7 +123,6 @@ G4ThreeVector G4BREPSolidCone::SurfaceNormal(const G4ThreeVector& Pt) const return norm; } - G4double G4BREPSolidCone::DistanceToIn(const G4ThreeVector& Pt) const { G4double dist1 = fabs(SurfaceVec[0]->HowNear(Pt)); @@ -126,7 +134,6 @@ G4double G4BREPSolidCone::DistanceToIn(const G4ThreeVector& Pt) const } - G4double G4BREPSolidCone::DistanceToIn(register const G4ThreeVector& Pt, register const G4ThreeVector& V) const { @@ -138,13 +145,12 @@ G4double G4BREPSolidCone::DistanceToIn(register const G4ThreeVector& Pt, if(SurfaceVec[0]->Intersect( r )) { - ShortestDistance = SurfaceVec[0]->Distance(); + ShortestDistance = SurfaceVec[0]->GetDistance(); return ShortestDistance; } return kInfinity; } - G4double G4BREPSolidCone::DistanceToOut(register const G4ThreeVector& Pt, register const G4ThreeVector& V, const G4bool calcNorm, @@ -162,13 +168,12 @@ G4double G4BREPSolidCone::DistanceToOut(register const G4ThreeVector& Pt, G4Ray r(Pttmp, Vtmp); if(SurfaceVec[0]->Intersect( r )) { - ShortestDistance = SurfaceVec[0]->Distance(); + ShortestDistance = SurfaceVec[0]->GetDistance(); return ShortestDistance; } return kInfinity; } - G4double G4BREPSolidCone::DistanceToOut(const G4ThreeVector& Pt) const { G4double dist1 = fabs(SurfaceVec[0]->HowNear(Pt)); @@ -178,4 +183,3 @@ G4double G4BREPSolidCone::DistanceToOut(const G4ThreeVector& Pt) const if(dist1 > dist3) dist1 = dist3; return dist1; } - diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc index 44d74d867c..f074d2e0ff 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc @@ -5,23 +5,28 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidCylinder.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidCylinder.cc,v 1.4 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidCylinder.cc +// +// ---------------------------------------------------------------------- #include "G4BREPSolidCylinder.hh" #include "G4CircularCurve.hh" #include "G4FPlane.hh" #include "G4FCylindricalSurface.hh" - -G4BREPSolidCylinder::G4BREPSolidCylinder(G4String name, +G4BREPSolidCylinder::G4BREPSolidCylinder(const G4String& name, const G4ThreeVector& origin, const G4ThreeVector& axis, const G4ThreeVector& direction, - const G4double& radius, - const G4double& length) - :G4BREPSolid(name) + G4double radius, + G4double length) + : G4BREPSolid(name) { SurfaceVec = new G4Surface*[3]; G4CurveVector cv; @@ -35,9 +40,9 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(G4String name, //cv.clear(); - // Creation of the first circlular surface, which origin is origin - G4Point3D ArcStart1 = origin + ( radius*direction ); - G4Vector3D axis1 = axis.cross( direction ); + // Creation of the first circular surface, which origin is origin + G4Point3D ArcStart1 = G4Point3D( origin + ( radius*direction ) ); + G4Vector3D axis1 = G4Vector3D( axis.cross( direction ) ); tmp = new G4CircularCurve; tmp->Init( G4Axis2Placement3D(direction, axis1, origin), radius ); @@ -49,9 +54,9 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(G4String name, cv.clear(); - // Creation of the second circlular surfac - G4Point3D origin2 = origin + ( length*axis ); - G4Point3D ArcStart2 = origin2 + ( radius*direction ); + // Creation of the second circular surface + G4Point3D origin2 = G4Point3D( origin + ( length*axis ) ); + G4Point3D ArcStart2 = G4Point3D( origin2 + ( radius*direction ) ); G4Vector3D axis2 = axis1; tmp = new G4CircularCurve; @@ -69,16 +74,6 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(G4String name, Initialize(); } - - - - - - - - - - - - - +G4BREPSolidCylinder::~G4BREPSolidCylinder() +{ +} diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc index e30e82bcf4..65b116b966 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc @@ -5,30 +5,42 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // +// $Id: G4BREPSolidOpenPCone.cc,v 1.5 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidOpenPCone.cc +// +// ---------------------------------------------------------------------- #include "G4BREPSolidOpenPCone.hh" #include "G4BREPSolidPCone.hh" #include "G4Tubs.hh" #include "G4VGraphicsScene.hh" -G4BREPSolidOpenPCone::G4BREPSolidOpenPCone (G4String name, - const G4double start_angle, - const G4double opening_angle, - const int num_z_planes, // sections, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ) : - G4IntersectionSolid ( name, - new G4BREPSolidPCone ( name, start_angle, opening_angle, - num_z_planes, - z_start, z_values, RMIN, RMAX ) , - new G4Tubs( "IntersectionTubs", 0, 1*cm, 1*cm, 0*deg, - 360*deg ) ) +G4BREPSolidOpenPCone::G4BREPSolidOpenPCone + (const G4String& name, + G4double start_angle, + G4double opening_angle, + G4int num_z_planes, // sections, + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] + ) + : G4IntersectionSolid ( name, + new G4BREPSolidPCone ( name, + start_angle, + opening_angle, + num_z_planes, + z_start, z_values, + RMIN, RMAX ), + new G4Tubs( "IntersectionTubs", 0., 1., 1., + start_angle, opening_angle ) ) { - // compute max radius G4double MaxRMAX = 0; @@ -37,19 +49,16 @@ G4BREPSolidOpenPCone::G4BREPSolidOpenPCone (G4String name, G4double length = z_values[num_z_planes-1] - z_values[0]; - G4Tubs *ptrTubs = (G4Tubs*) fPtrSolidB; // To be modified: TODO - - ptrTubs->SetInnerRadius ( 0 ); - ptrTubs->SetOuterRadius ( MaxRMAX ); - ptrTubs->SetZHalfLength ( length ); - ptrTubs->SetStartPhiAngle ( start_angle ); - ptrTubs->SetDeltaPhiAngle ( opening_angle ); + ((G4Tubs*)fPtrSolidB)->SetOuterRadius ( MaxRMAX ); + ((G4Tubs*)fPtrSolidB)->SetZHalfLength ( length ); } -#include "G4Polyhedron.hh" +G4BREPSolidOpenPCone::~G4BREPSolidOpenPCone() +{ +} - -void G4BREPSolidOpenPCone::DescribeYourselfTo (G4VGraphicsScene& scene) const { +void G4BREPSolidOpenPCone::DescribeYourselfTo (G4VGraphicsScene& scene) const +{ scene.AddThis ( *this ); } diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc index 25486e6357..024136ac61 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc @@ -5,16 +5,21 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidPCone.cc,v 1.14 1999/12/15 17:17:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidPCone.cc,v 1.17 2000/11/20 17:54:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file // +// G4BREPSolidPCone.cc +// +// ---------------------------------------------------------------------- // The polyconical solid G4BREPSolidPCone is a shape defined by a set of // inner and outer conical or cylindrical surface sections and two planes // perpendicular to the Z axis. Each conical surface is defined by its // radius at two different planes perpendicular to the Z-axis. Inner and // outer conical surfaces are defined using common Z planes. -// +// ---------------------------------------------------------------------- #include "G4BREPSolidPCone.hh" #include "G4FCylindricalSurface.hh" @@ -23,18 +28,18 @@ #include "G4FPlane.hh" -G4BREPSolidPCone::G4BREPSolidPCone(G4String name, - const G4double start_angle, - const G4double opening_angle, - const int num_z_planes, // sections, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ): G4BREPSolid(name) +G4BREPSolidPCone::G4BREPSolidPCone(const G4String& name, + G4double start_angle, + G4double opening_angle, + G4int num_z_planes, // sections, + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] ) + : G4BREPSolid(name) { - const int sections= num_z_planes-1; + G4int sections= num_z_planes-1; nb_of_surfaces = 2*sections+2; SurfaceVec = new G4Surface*[nb_of_surfaces]; G4ThreeVector Axis(0,0,1); @@ -46,7 +51,6 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, G4ThreeVector PlaneAxis(0, 0, 1); G4ThreeVector PlaneDir (0, 1, 0); - /////////////////////////////////////////////////// // Test the validity of the R values @@ -96,15 +100,15 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, } else { - G4cerr << "Error in construction of G4BREPSolidPCone " - << "Exactly the same z, rmin and rmax given for " + G4cerr << "Error in construction of G4BREPSolidPCone. \n" + << "Exactly the same z, rmin and rmax given for \n" << "consecutive indices, " << a << " and " << a+1 << G4endl; continue; } // Create plane surface - G4Point3D ArcStart1 = LocalOrigin + (R1*PlaneDir); - G4Point3D ArcStart2 = LocalOrigin + (R2*PlaneDir); + G4Point3D ArcStart1 = G4Point3D( LocalOrigin + (R1*PlaneDir) ); + G4Point3D ArcStart2 = G4Point3D( LocalOrigin + (R2*PlaneDir) ); G4CurveVector cv1; G4CircularCurve *tmp1, *tmp2; @@ -154,7 +158,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, // Create cone if(RMIN[a] > RMIN[a+1]) { - G4Vector3D ConeOrigin = LocalOrigin ; + G4Vector3D ConeOrigin = G4Vector3D(LocalOrigin) ; SurfaceVec[b] = new G4FConicalSurface(ConeOrigin, Axis, Length, RMIN[a+1], RMIN[a]); @@ -163,9 +167,9 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, } else { - G4Vector3D Axis2 = (-1*Axis); - G4Vector3D LocalOrigin2 = LocalOrigin + (Length*Axis); - G4Vector3D ConeOrigin = LocalOrigin2 ; + G4Vector3D Axis2 = G4Vector3D( -1*Axis ); + G4Vector3D LocalOrigin2 = G4Vector3D( LocalOrigin + (Length*Axis) ); + G4Vector3D ConeOrigin = LocalOrigin2; SurfaceVec[b] = new G4FConicalSurface(ConeOrigin, Axis2, Length, RMIN[a], RMIN[a+1]); @@ -187,7 +191,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, else { // Create cylinder - G4Vector3D CylOrigin = LocalOrigin ; + G4Vector3D CylOrigin = G4Vector3D( LocalOrigin ); SurfaceVec[b] = new G4FCylindricalSurface(CylOrigin, Axis, RMIN[a], Length ); @@ -205,7 +209,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, // Create cone if(RMAX[a] > RMAX[a+1]) { - G4Vector3D ConeOrigin = LocalOrigin ; + G4Vector3D ConeOrigin = G4Vector3D( LocalOrigin ); SurfaceVec[b] = new G4FConicalSurface(ConeOrigin, Axis, Length, RMAX[a+1], RMAX[a]); @@ -215,8 +219,8 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, } else { - G4Vector3D Axis2 = (-1*Axis); - G4Vector3D LocalOrigin2 = LocalOrigin + (Length*Axis); + G4Vector3D Axis2 = G4Vector3D( -1*Axis ); + G4Vector3D LocalOrigin2 = G4Vector3D( LocalOrigin + (Length*Axis) ); G4Vector3D ConeOrigin = LocalOrigin2 ; SurfaceVec[b] = new G4FConicalSurface(ConeOrigin, Axis2, @@ -231,7 +235,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, else { // Create cylinder - G4Vector3D CylOrigin = LocalOrigin ; + G4Vector3D CylOrigin = G4Vector3D( LocalOrigin ); if (RMAX[a] == 0) { @@ -242,7 +246,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, else { // Create cylinder - G4Vector3D CylOrigin = LocalOrigin ; + G4Vector3D CylOrigin = G4Vector3D( LocalOrigin ); SurfaceVec[b] = new G4FCylindricalSurface(CylOrigin, Axis, RMAX[a], Length ); @@ -268,8 +272,8 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, if(RMIN[0] < RMAX[0]) { // Create start G4Plane & boundaries - G4Point3D ArcStart1a = Origin + (RMIN[0]*PlaneDir); - G4Point3D ArcStart1b = Origin + (RMAX[0]*PlaneDir); + G4Point3D ArcStart1a = G4Point3D( Origin + (RMIN[0]*PlaneDir) ); + G4Point3D ArcStart1b = G4Point3D( Origin + (RMAX[0]*PlaneDir) ); tmp = new G4CircularCurve; tmp->Init(G4Axis2Placement3D(PlaneDir, PlaneAxis, Origin), RMIN[0]); @@ -283,7 +287,7 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, tmp->SetSameSense(1); cv.append(tmp); - SurfaceVec[nb_of_surfaces-2] = new G4FPlane(PlaneDir, -PlaneAxis, Origin); + SurfaceVec[nb_of_surfaces-2] = new G4FPlane(PlaneDir, -PlaneAxis, Origin); SurfaceVec[nb_of_surfaces-2]->SetBoundaries(&cv); // set sense of the surface @@ -297,8 +301,8 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, if(RMIN[sections] < RMAX[sections]) { // Create end G4Plane & boundaries - G4Point3D ArcStart2a = LocalOrigin + (RMIN[sections]*PlaneDir); - G4Point3D ArcStart2b = LocalOrigin + (RMAX[sections]*PlaneDir); + G4Point3D ArcStart2a = G4Point3D( LocalOrigin+(RMIN[sections]*PlaneDir) ); + G4Point3D ArcStart2b = G4Point3D( LocalOrigin+(RMAX[sections]*PlaneDir) ); cv.clear(); @@ -368,15 +372,13 @@ G4BREPSolidPCone::G4BREPSolidPCone(G4String name, } - G4BREPSolidPCone::~G4BREPSolidPCone() { - delete[] original_parameters.Z_values; - delete[] original_parameters.Rmin; - delete[] original_parameters.Rmax; + delete [] original_parameters.Z_values; + delete [] original_parameters.Rmin; + delete [] original_parameters.Rmax; } - void G4BREPSolidPCone::Initialize() { // Calc bounding box for solids and surfaces @@ -390,15 +392,11 @@ void G4BREPSolidPCone::Initialize() CalcBBoxes(); } - EInside G4BREPSolidPCone::Inside(register const G4ThreeVector& Pt) const { // This function find if the point Pt is inside, // outside or on the surface of the solid - - G4double halfTolerance = kCarTolerance*0.5; - // G4Vector3D v(1, 0, 0.01); G4Vector3D v(1, 0, 0); G4Vector3D Pttmp(Pt); @@ -426,15 +424,15 @@ EInside G4BREPSolidPCone::Inside(register const G4ThreeVector& Pt) const for(G4int a=0; a < nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { if(fabs(SurfaceVec[a]->HowNear(Pt)) < kCarTolerance) return kSurface; if ( SurfaceVec[a]->Intersect(r) ) { isIntersected = true; - if ( fabs(SurfaceVec[a]->Distance()) < dist ) { - dist = SurfaceVec[a]->Distance(); + if ( fabs(SurfaceVec[a]->GetDistance()) < dist ) { + dist = SurfaceVec[a]->GetDistance(); WhichSurface = a; } } @@ -452,7 +450,6 @@ EInside G4BREPSolidPCone::Inside(register const G4ThreeVector& Pt) const } - G4ThreeVector G4BREPSolidPCone::SurfaceNormal(const G4ThreeVector& Pt) const { // This function calculates the normal of the surface @@ -490,7 +487,6 @@ G4ThreeVector G4BREPSolidPCone::SurfaceNormal(const G4ThreeVector& Pt) const } } - G4double G4BREPSolidPCone::DistanceToIn(const G4ThreeVector& Pt) const { // Calculates the shortest distance ("safety") from a point @@ -499,7 +495,6 @@ G4double G4BREPSolidPCone::DistanceToIn(const G4ThreeVector& Pt) const G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again @@ -534,7 +529,6 @@ G4double G4BREPSolidPCone::DistanceToIn(const G4ThreeVector& Pt) const return fabs(Dist); } - G4double G4BREPSolidPCone::DistanceToIn(register const G4ThreeVector& Pt, register const G4ThreeVector& V) const { @@ -563,7 +557,7 @@ G4double G4BREPSolidPCone::DistanceToIn(register const G4ThreeVector& Pt, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // test if the ray intersect the surface G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp); @@ -573,10 +567,10 @@ G4double G4BREPSolidPCone::DistanceToIn(register const G4ThreeVector& Pt, // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } } } @@ -591,7 +585,6 @@ G4double G4BREPSolidPCone::DistanceToIn(register const G4ThreeVector& Pt, return kInfinity; } - G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, register const G4ThreeVector& V, const G4bool calcNorm, @@ -611,7 +604,7 @@ G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, Reset(); const G4double halfTolerance = kCarTolerance*0.5; - G4Vector3D Ptv = Pt; + G4Vector3D Ptv = G4Vector3D( Pt ); G4int a; // I don`t understand this line @@ -631,7 +624,7 @@ G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp); if( (Norm * Vtmp) > 0 && fabs(SurfaceVec[a]->HowNear(Pt)) < halfTolerance ) @@ -641,10 +634,10 @@ G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, { // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } } } @@ -660,7 +653,6 @@ G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, return 0; } - G4double G4BREPSolidPCone::DistanceToOut(const G4ThreeVector& Pt) const { // Calculates the shortest distance ("safety") from a point @@ -668,7 +660,6 @@ G4double G4BREPSolidPCone::DistanceToOut(const G4ThreeVector& Pt) const // Return 0 if the point is already outside. G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again @@ -704,6 +695,15 @@ G4double G4BREPSolidPCone::DistanceToOut(const G4ThreeVector& Pt) const return fabs(Dist); } +void G4BREPSolidPCone::Reset() const +{ + Active(1); + ((G4BREPSolidPCone*)this)->intersectionDistance=kInfinity; + StartInside(0); + for(register int a=0;aReset(); + ShortestDistance = kInfinity; +} // In graphics_reps: @@ -718,20 +718,3 @@ G4Polyhedron* G4BREPSolidPCone::CreatePolyhedron() const original_parameters.Rmin, original_parameters.Rmax); } - - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc index fb1b816047..173f4a347e 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc @@ -5,9 +5,25 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidPolyhedra.cc,v 1.11 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidPolyhedra.cc,v 1.15 2000/11/20 17:54:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidPolyhedra.cc +// +// ---------------------------------------------------------------------- +// The polygonal solid G4BREPSolidPolyhedra is a shape defined by an inner +// and outer polygonal surface and two planes perpendicular to the Z axis. +// Each polygonal surface is created by linking a series of polygons created +// at different planes perpendicular to the Z-axis. All these polygons all +// have the same number of sides (sides) and are defined at the same Z planes +// for both inner and outer polygonal surfaces. +// ---------------------------------------------------------------------- +// +// History +// ------- // Corrections by S.Giani: // - Xaxis now corresponds to phi=0 // - partial angle = phiTotal / Nsides @@ -17,34 +33,25 @@ // - corrected surface orientation for outer faces parallel to Z // - completed explicit setting of the orientation for all faces // - some comparison between doubles avoided by using tolerances -// - visualisation parameters made consistent with the use made by constructor -// of the input arguments (i.e. circumscribed radius). -// -// -// The polygonal solid G4BREPSolidPolyhedra is a shape defined by an inner -// and outer polygonal surface and two planes perpendicular to the Z axis. -// Each polygonal surface is created by linking a series of polygons created -// at different planes perpendicular to the Z-axis. All these polygons all -// have the same number of sides (sides) and are defined at the same Z planes -// for both inner and outer polygonal surfaces. -// +// - visualisation parameters made consistent with the use made by +// constructor of the input arguments (i.e. circumscribed radius). +// ---------------------------------------------------------------------- #include "G4BREPSolidPolyhedra.hh" #include "G4FPlane.hh" - -G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(G4String name, - const G4double phi1, - const G4double dphi, - const int sides, - const int num_z_planes, - const G4double z_start, - const G4double z_values[], - const G4double RMIN[], - const G4double RMAX[] - ) : G4BREPSolid(name) +G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name, + G4double phi1, + G4double dphi, + G4int sides, + G4int num_z_planes, + G4double z_start, + G4double z_values[], + G4double RMIN[], + G4double RMAX[] ) + : G4BREPSolid(name) { - const int sections= num_z_planes - 1; + G4int sections= num_z_planes - 1; if(dphi >= 2*pi-perMillion) nb_of_surfaces = 2*(sections * sides) + 2; @@ -78,7 +85,7 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(G4String name, // See G4FPlane // Create sides - for(int b=0;bintersectionDistance=kInfinity; + StartInside(0); + for(register G4int a=0;aReset(); + ShortestDistance = kInfinity; +} EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const { // This function find if the point Pt is inside, // outside or on the surface of the solid - - G4double halfTolerance = kCarTolerance*0.5; - G4Vector3D v(1, 0, 0.01); G4Vector3D Pttmp(Pt); G4Vector3D Vtmp(v); @@ -335,23 +344,23 @@ EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const for(G4int a=0; a < nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // count the number of intersections. // if this number is odd, the start of the ray is // inside the volume bounded by the surfaces, so // increment the number of intersection by 1 if the // point is not on the surface and if this intersection - // was not founded before + // was not found before if( (SurfaceVec[a]->Intersect(r)) & 1 ) { // test if the point is on the surface - if(SurfaceVec[a]->Distance() <= kCarTolerance*kCarTolerance) + if(SurfaceVec[a]->GetDistance() <= kCarTolerance*kCarTolerance) return kSurface; - // test if this intersection was founded before + // test if this intersection was found before for(G4int i=0; iDistance() == SurfaceVec[i]->Distance()) + if(SurfaceVec[a]->GetDistance() == SurfaceVec[i]->GetDistance()) { samehit++; break; @@ -372,9 +381,8 @@ EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const return kOutside; } - -G4ThreeVector G4BREPSolidPolyhedra::SurfaceNormal - (const G4ThreeVector& Pt) const +G4ThreeVector +G4BREPSolidPolyhedra::SurfaceNormal(const G4ThreeVector& Pt) const { // This function calculates the normal of the surface // at a point on the surface @@ -403,7 +411,6 @@ G4ThreeVector G4BREPSolidPolyhedra::SurfaceNormal return n; } - G4double G4BREPSolidPolyhedra::DistanceToIn(const G4ThreeVector& Pt) const { // Calculates the shortest distance ("safety") from a point @@ -412,14 +419,13 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(const G4ThreeVector& Pt) const G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again Reset(); - // calcul of the shortest distance of the point to each surfaces - // Be carreful : it's a signed value + // compute the shortest distance of the point to each surfaces + // Be careful : it's a signed value for(a=0; a< nb_of_surfaces; a++) dists[a] = SurfaceVec[a]->HowNear(Pt); @@ -447,9 +453,9 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(const G4ThreeVector& Pt) const return fabs(Dist); } - -G4double G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, - register const G4ThreeVector& V) const +G4double +G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, + register const G4ThreeVector& V) const { // Calculates the distance from a point outside the solid // to the solid`s boundary along a specified direction vector. @@ -476,17 +482,17 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // test if the ray intersect the surface if( (SurfaceVec[a]->Intersect(r)) ) { // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } else { @@ -495,7 +501,7 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp); if( (Norm * Vtmp) < 0 ) - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } } } @@ -510,12 +516,12 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, return kInfinity; } - -G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, - register const G4ThreeVector& V, - const G4bool calcNorm, - G4bool *validNorm, - G4ThreeVector *n ) const +G4double +G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, + register const G4ThreeVector& V, + const G4bool calcNorm, + G4bool *validNorm, + G4ThreeVector *n ) const { // Calculates the distance from a point inside the solid // to the solid`s boundary along a specified direction vector. @@ -553,7 +559,7 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, for(a=0; a< nb_of_surfaces; a++) { - if(SurfaceVec[a]->Active()) + if(SurfaceVec[a]->IsActive()) { // test if the ray intersects the surface if( (SurfaceVec[a]->Intersect(r)) ) @@ -562,10 +568,10 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, // if more than 1 surface is intersected, // take the nearest one - if( SurfaceVec[a]->Distance() < ShortestDistance ) - if( SurfaceVec[a]->Distance() > halfTolerance*halfTolerance ) + if( SurfaceVec[a]->GetDistance() < ShortestDistance ) + if( SurfaceVec[a]->GetDistance() > halfTolerance*halfTolerance ) { - ShortestDistance = SurfaceVec[a]->Distance(); + ShortestDistance = SurfaceVec[a]->GetDistance(); } else { @@ -576,7 +582,7 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, } } - // Be carreful ! + // Be careful ! // SurfaceVec->Distance is in fact the squared distance if((ShortestDistance != kInfinity) && (parity&1)) return sqrt(ShortestDistance); @@ -586,7 +592,6 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, return 0; } - G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const { // Calculates the shortest distance ("safety") from a point @@ -594,7 +599,6 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const // Return 0 if the point is already outside. G4double *dists = new G4double[nb_of_surfaces]; - G4double halfTolerance = kCarTolerance*0.5; G4int a; // Set the surfaces to active again @@ -630,7 +634,6 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const return fabs(Dist); } - // In graphics_reps: #include "G4Polyhedron.hh" diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc index b0d8a334cf..903ff1dfaf 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc @@ -5,18 +5,25 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidSphere.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidSphere.cc,v 1.4 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidSphere.cc +// +// ---------------------------------------------------------------------- #include "G4BREPSolidSphere.hh" #include "G4SphericalSurface.hh" -G4BREPSolidSphere::G4BREPSolidSphere(const G4String name, +G4BREPSolidSphere::G4BREPSolidSphere(const G4String& name, const G4Vector3D& o, const G4Vector3D& xhat, const G4Vector3D& zhat, - G4double r): G4BREPSolid(name) + G4double r) + : G4BREPSolid(name) { SurfaceVec = new G4Surface*[1]; G4double ph1 = 0; @@ -29,6 +36,9 @@ G4BREPSolidSphere::G4BREPSolidSphere(const G4String name, Initialize(); } +G4BREPSolidSphere::~G4BREPSolidSphere() +{ +} EInside G4BREPSolidSphere::Inside(register const G4ThreeVector& Pt) const { @@ -56,15 +66,15 @@ G4double G4BREPSolidSphere::DistanceToIn(const G4ThreeVector& Pt) const G4double G4BREPSolidSphere::DistanceToIn(register const G4ThreeVector& Pt, register const G4ThreeVector& V) const { - SphReset(); + // SphReset(); G4Vector3D Pttmp(Pt); G4Vector3D Vtmp(V); G4Ray r(Pttmp, Vtmp); - int Result = SurfaceVec[0]->Intersect( r ); + G4int Result = SurfaceVec[0]->Intersect( r ); if(Result>0) { - ShortestDistance = SurfaceVec[0]->Distance(); + ShortestDistance = SurfaceVec[0]->GetDistance(); return sqrt(ShortestDistance); } return kInfinity; @@ -77,9 +87,8 @@ G4double G4BREPSolidSphere::DistanceToOut(register const G4ThreeVector& Pt, G4bool *validNorm, G4ThreeVector *n) const { - if(validNorm) - *validNorm = false; - SphReset(); + if(validNorm) *validNorm = false; + // SphReset(); G4Vector3D Pttmp(Pt); G4Vector3D Vtmp(V); G4Ray r(Pttmp, Vtmp); @@ -92,7 +101,7 @@ G4double G4BREPSolidSphere::DistanceToOut(register const G4ThreeVector& Pt, *n = SurfaceNormal(Pt); } - ShortestDistance = SurfaceVec[0]->Distance(); + ShortestDistance = SurfaceVec[0]->GetDistance(); return sqrt(ShortestDistance); } return kInfinity; @@ -103,8 +112,3 @@ G4double G4BREPSolidSphere::DistanceToOut(const G4ThreeVector& Pt) const { return fabs(SurfaceVec[0]->HowNear(Pt)); } - - - - - diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc index 819ef0a4a3..17699cbc1f 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc @@ -5,18 +5,26 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BREPSolidTorus.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BREPSolidTorus.cc,v 1.4 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BREPSolidTorus.cc +// +// ---------------------------------------------------------------------- + #include "G4BREPSolidTorus.hh" #include "G4ToroidalSurface.hh" -G4BREPSolidTorus::G4BREPSolidTorus(const G4String name, +G4BREPSolidTorus::G4BREPSolidTorus(const G4String& name, const G4ThreeVector& origin, const G4ThreeVector& axis, const G4ThreeVector& direction, G4double MinRadius, - G4double MaxRadius): G4BREPSolid(name) + G4double MaxRadius) + : G4BREPSolid(name) { SurfaceVec = new G4Surface*[1]; SurfaceVec[0] = new G4ToroidalSurface( origin, axis, direction, @@ -26,3 +34,6 @@ G4BREPSolidTorus::G4BREPSolidTorus(const G4String name, Initialize(); } +G4BREPSolidTorus::~G4BREPSolidTorus() +{ +} diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc index 0dab0e0413..d4b2352d11 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc @@ -5,14 +5,22 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurve.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurve.cc,v 1.5 2000/11/08 14:22:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BSplineCurve.cc +// +// ---------------------------------------------------------------------- + #include "G4BSplineCurve.hh" #include "G4ControlPoints.hh" #include "G4KnotVector.hh" G4BSplineCurve::G4BSplineCurve() + : degree(0), controlPointsList(0), knots(0), weightsData(0) { } @@ -52,12 +60,82 @@ void G4BSplineCurve::Init(G4int degree0, G4Point3DVector* controlPointsList0, G4BSplineCurve::~G4BSplineCurve() { - delete controlPointsList; - delete knots; - if (weightsData) delete weightsData; + delete [] controlPointsList; + delete [] knots; + delete [] weightsData; } +G4BSplineCurve::G4BSplineCurve(const G4BSplineCurve& right) +{ + delete [] controlPointsList; + delete [] knots; + delete [] weightsData; + Init(right.degree, right.controlPointsList, + right.knots, right.weightsData); + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4BSplineCurve& G4BSplineCurve::operator=(const G4BSplineCurve& right) +{ + if (&right == this) return *this; + delete [] controlPointsList; + delete [] knots; + delete [] weightsData; + Init(right.degree, right.controlPointsList, + right.knots, right.weightsData); + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} + +// add by L. Broglia to pass linkage + +G4double G4BSplineCurve::GetPMax() const +{ + return 0.0; +} + +G4Point3D G4BSplineCurve::GetPoint(G4double param) const +{ + return G4Point3D(0, 0, 0); +} + +G4double G4BSplineCurve::GetPPoint(const G4Point3D& p) const +{ + return 0.0; +} + +/* +#include "G4CurveRayIntersection.hh" + +void G4BSplineCurve::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) +{ +} +*/ + +G4int G4BSplineCurve::IntersectRay2D(const G4Ray& ray) +{ + // L. Broglia + G4cout<<"\nWarning ! G4BSplineCurve::IntersectRay2D is empty."; + return 0; +} + /* void G4BSplineCurve::CalcCurvePlaneNormal() { @@ -122,9 +200,8 @@ void G4BSplineCurve::ProjectCurve(const G4Plane& Pl1, const G4Plane& Pl2) Project((*ProjectedControlPoints[a]), ControlPointList->get(0,a), Pl1, Pl2); } } -*/ -/* + int G4BSplineCurve::Inside( const G4Point3d& Hit, const G4Ray& rayref) { const G4Plane& Pl1 = rayref.GetPlane(0); diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc index bd95c15b76..3a4be97042 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc @@ -5,8 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurveWithKnots.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurveWithKnots.cc,v 1.3 2000/08/28 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BSplineCurveWithKnots.cc +// +// ---------------------------------------------------------------------- + #include "G4BSplineCurveWithKnots.hh" diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc index 006fa6402c..985412f83b 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurface.cc,v 1.7 2000/02/25 15:58:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurface.cc,v 1.10 2000/11/20 17:54:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BSplineSurface.cc +// +// ---------------------------------------------------------------------- #include "G4BSplineSurface.hh" #include "G4BezierSurface.hh" @@ -33,24 +39,6 @@ G4BSplineSurface::G4BSplineSurface(const char* nurbfilename, G4Ray& rayref) } -G4BSplineSurface::G4BSplineSurface(const G4BSplineSurface &tmp) -{ - distance = tmp.distance; - first_hit = Hit = (G4UVHit*)0; - - // next=this; - order[0] = tmp.order[0]; - order[1] = tmp.order[1]; - dir = tmp.dir; - - u_knots = new G4KnotVector(*tmp.u_knots); - v_knots = new G4KnotVector(*tmp.v_knots); - tmp_knots = (G4KnotVector*)0; - - ctl_points = new G4ControlPoints(*tmp.ctl_points); -} - - G4BSplineSurface::G4BSplineSurface(G4int u, G4int v, G4KnotVector& u_kv, G4KnotVector& v_kv, G4ControlPoints& cp) { @@ -76,7 +64,7 @@ G4BSplineSurface::~G4BSplineSurface() Hit = first_hit; while(Hit!=(G4UVHit*)0) { - Hit=Hit->next; + Hit=Hit->GetNext(); delete temphit; temphit=Hit; } @@ -85,7 +73,7 @@ G4BSplineSurface::~G4BSplineSurface() } -int G4BSplineSurface::Intersect(const G4Ray& rayref) +G4int G4BSplineSurface::Intersect(const G4Ray& rayref) { Intersected = 1; FindIntersections(rayref); @@ -93,21 +81,21 @@ int G4BSplineSurface::Intersect(const G4Ray& rayref) bezier_list.MoveToFirst(); distance = kInfinity; - while( bezier_list.index != (G4Surface*)0) + while( bezier_list.GetSurface() != (G4Surface*)0) { bez_ptr = (G4BezierSurface*)bezier_list.GetSurface(); - if(bez_ptr->Active()) - if(distance > bez_ptr->Distance()) + if(bez_ptr->IsActive()) + if(distance > bez_ptr->GetDistance()) { // Put data from closest bezier to b-spline data struct closest_hit = bez_ptr->AveragePoint(); - distance = bez_ptr->Distance(); + distance = bez_ptr->GetDistance(); } else { // Set other beziers as inactive - bez_ptr->Active(0); + bez_ptr->SetActive(0); // Remove beziers that are not closest // bezier_list.RemoveSurface(bez_ptr); @@ -118,7 +106,7 @@ int G4BSplineSurface::Intersect(const G4Ray& rayref) bezier_list.MoveToFirst(); - if(bezier_list.number_of_elements) + if(bezier_list.GetSize()) return 1; else { @@ -132,8 +120,8 @@ G4Point3D G4BSplineSurface::FinalIntersection() { // Compute the real intersection point. G4BezierSurface* bez_ptr; - while ( bezier_list.number_of_elements > 0 && - bezier_list.index != (G4Surface*)0) + while ( bezier_list.GetSize() > 0 && + bezier_list.GetSurface() != (G4Surface*)0) { bez_ptr = (G4BezierSurface*)bezier_list.GetSurface(); int tmp = 0; @@ -146,8 +134,8 @@ G4Point3D G4BSplineSurface::FinalIntersection() if(!tmp) { bezier_list.RemoveSurface(bez_ptr); - if(bezier_list.index != (G4Surface*)0) - bezier_list.index->Active(1); + if(bezier_list.GetSurface() != (G4Surface*)0) + bezier_list.GetSurface()->SetActive(1); } else if(tmp==1) @@ -178,8 +166,8 @@ G4Point3D G4BSplineSurface::FinalIntersection() // // Try the following instead (if that's the wished behavior)... // - if(bezier_list.index != bezier_list.last) - while (bezier_list.next != bezier_list.last) + if(bezier_list.GetSurface() != bezier_list.GetLastSurface()) + while (bezier_list.GetNext() != bezier_list.GetLastSurface()) bezier_list.Step(); G4BezierSurface* tmp = (G4BezierSurface*) bezier_list.GetSurface(); @@ -235,7 +223,7 @@ G4Point3D G4BSplineSurface::FinalIntersection() // result = Evaluate(); result = BSEvaluate(); - Hit = Hit->next; + Hit = Hit->GetNext(); } Hit = first_hit; @@ -253,8 +241,8 @@ void G4BSplineSurface::CalcBBox() // to the surface. The bounding box is used // for a preliminary check of intersection. - register G4Point3D box_min = PINFINITY; - register G4Point3D box_max =-PINFINITY; + register G4Point3D box_min = G4Point3D( PINFINITY); + register G4Point3D box_max = G4Point3D(-PINFINITY); // Loop to search the whole control point mesh // for the minimum and maximum values for x, y and z. @@ -304,7 +292,7 @@ void G4BSplineSurface::FindIntersections(const G4Ray& rayref) projected_list.AddSurface(proj_srf); // Loop through List of projected surfaces - while(projected_list.number_of_elements > 0) + while(projected_list.GetSize() > 0) { // Get first in List proj_srf = (G4ProjectedSurface*)projected_list.GetSurface(); @@ -327,7 +315,7 @@ void G4BSplineSurface::FindIntersections(const G4Ray& rayref) G4BezierSurface* bez_ptr; distance = kInfinity; - while(bezier_list.index != (G4Surface*)0) + while(bezier_list.GetSurface() != (G4Surface*)0) { bez_ptr = (G4BezierSurface*)bezier_list.GetSurface(); @@ -345,7 +333,7 @@ void G4BSplineSurface::FindIntersections(const G4Ray& rayref) bez_ptr->CalcDistance(rayref.GetStart()); // Put closest to b_splines distance value - if(bez_ptr->Distance() < distance) distance = bez_ptr->Distance(); + if(bez_ptr->GetDistance() < distance) distance = bez_ptr->GetDistance(); // Remove the temporary Hit if (first_hit == Hit) first_hit = (G4UVHit*)0; @@ -357,7 +345,7 @@ void G4BSplineSurface::FindIntersections(const G4Ray& rayref) } bezier_list.MoveToFirst(); - if(bezier_list.number_of_elements == 0) + if(bezier_list.GetSize() == 0) { active=0; return; @@ -366,7 +354,7 @@ void G4BSplineSurface::FindIntersections(const G4Ray& rayref) // Check that approx Hit is in direction of ray const G4Point3D& Pt = rayref.GetStart(); const G4Vector3D& Dir = rayref.GetDir(); - G4Point3D TestPoint = (0.00001*Dir) + Pt; + G4Point3D TestPoint = G4Point3D( (0.00001*Dir) + Pt ); G4BezierSurface* Bsrf = (G4BezierSurface*)bezier_list.GetSurface(0); G4Point3D AveragePoint = Bsrf->AveragePoint(); @@ -383,14 +371,14 @@ void G4BSplineSurface::AddHit(G4double u, G4double v) if(Hit == (G4UVHit*)0) { first_hit = new G4UVHit(u,v); - first_hit->next = (G4UVHit*)0; + first_hit->SetNext(0); Hit = first_hit; } else { - Hit->next = new G4UVHit(u,v); - Hit = Hit->next; - Hit->next=(G4UVHit*)0; + Hit->SetNext(new G4UVHit(u,v)); + Hit = Hit->GetNext(); + Hit->SetNext(0); } } @@ -486,9 +474,9 @@ G4PointRat& G4BSplineSurface::InternalEvalCrv(int i, G4ControlPoints* crv) crv->CalcValues(k1, param, *(G4PointRat*)pts1, k2, *(G4PointRat*)pts2); crv->put(0, j, *(G4PointRat*)pts2); } - */ register G4PointRat* pts1 = &crv->GetRat(i,j-1); register G4PointRat* pts2 = &crv->GetRat(i,j ); + */ } j--; @@ -515,7 +503,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() register int point_type = tmp->GetType(); diff_curve = new G4ControlPoints(point_type, row_size, 1); - k_index = u_knots->GetKnotIndex(Hit->u, GetOrder(ROW) ); + k_index = u_knots->GetKnotIndex(Hit->GetU(), GetOrder(ROW) ); ord = GetOrder(ROW); if(k_index==-1) @@ -527,18 +515,18 @@ G4Point3D G4BSplineSurface::BSEvaluate() curves=new G4ControlPoints(*ctl_points); tmp_knots = u_knots; - param = Hit->u; + param = Hit->GetU(); if(point_type == 4) { for ( i = 0; i < row_size; i++) { ord = GetOrder(ROW); - register G4PointRat rtr_pt = (G4PointRat&) InternalEvalCrv(i, curves); + register G4PointRat rtr_pt = InternalEvalCrv(i, curves); diff_curve->put(0,i,rtr_pt); } - k_index = v_knots->GetKnotIndex( Hit->v, GetOrder(COL) ); + k_index = v_knots->GetKnotIndex( Hit->GetV(), GetOrder(COL) ); if(k_index==-1) { delete diff_curve; @@ -549,7 +537,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() ord = GetOrder(COL); tmp_knots = v_knots; - param = Hit->v; + param = Hit->GetV(); // Evaluate the diff_curve... // G4PointRat rat_result = (G4PointRat&) InternalEvalCrv(0, diff_curve); @@ -573,7 +561,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() diff_curve->put(0,i,rtr_pt); } - k_index = v_knots->GetKnotIndex( Hit->v, GetOrder(COL) ); + k_index = v_knots->GetKnotIndex( Hit->GetV(), GetOrder(COL) ); if(k_index==-1) { delete diff_curve; @@ -584,7 +572,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() ord = GetOrder(COL); tmp_knots = v_knots; - param = Hit->v; + param = Hit->GetV(); // Evaluate the diff_curve... result = (InternalEvalCrv(0, diff_curve)).pt(); @@ -603,7 +591,7 @@ G4Point3D G4BSplineSurface::Evaluation(const G4Ray& rayref) G4UVHit* temphit=Hit; while(Hit!=(G4UVHit*)0) { - Hit=Hit->next; + Hit=Hit->GetNext(); delete temphit; temphit=Hit; } @@ -632,11 +620,3 @@ G4double G4BSplineSurface::ClosestDistanceToPoint(const G4Point3D& Pt) PointDistance = ctl_points->ClosestDistanceToPoint(Pt); return PointDistance; } - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc index b2615af577..807e9386d0 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc @@ -5,8 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurfaceWithKnots.cc,v 1.1 2000/02/25 15:57:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurfaceWithKnots.cc,v 1.2 2000/08/28 08:57:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BSplineSurfaceWithKnots.cc +// +// ---------------------------------------------------------------------- + #include "G4BSplineSurfaceWithKnots.hh" diff --git a/source/geometry/solids/BREPS/src/G4BezierSurface.cc b/source/geometry/solids/BREPS/src/G4BezierSurface.cc index cb34a1219d..f95ca75c2d 100644 --- a/source/geometry/solids/BREPS/src/G4BezierSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BezierSurface.cc @@ -5,20 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BezierSurface.cc,v 1.2 1999/12/15 14:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BezierSurface.cc,v 1.5 2000/11/20 17:54:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// L. Broglia, 10/10/98 -// Error in line 331 and replaced addition of coordinates by -// addition of 2 points - +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BezierSurface.cc +// +// ---------------------------------------------------------------------- +// History: +// ------- +// - Replaced addition of coordinates by addition of 2 points +// (L. Broglia, 10/10/98) +// ---------------------------------------------------------------------- #include "G4BezierSurface.hh" #include "G4ConvexHull.hh" G4double G4BezierSurface::Tolerance=0; -int G4BezierSurface::Clips=0; -int G4BezierSurface::Splits=0; +G4int G4BezierSurface::Clips=0; +G4int G4BezierSurface::Splits=0; G4BezierSurface::G4BezierSurface() @@ -31,26 +38,6 @@ G4BezierSurface::G4BezierSurface() v[0]=0; v[1]=0; } - -G4BezierSurface::G4BezierSurface(const G4BezierSurface &tmp) -{ - oslo_m = (G4OsloMatrix*)0; - // next=this; - - order[0] = tmp.order[0]; - order[1] = tmp.order[1]; - dir = tmp.dir; - - u_knots = new G4KnotVector(*tmp.u_knots); - v_knots = new G4KnotVector(*tmp.v_knots); - - ctl_points = new G4ControlPoints(*tmp.ctl_points); - - new_knots=(G4KnotVector*)0; - old_points=(G4ControlPoints*)0; -} - - G4BezierSurface::~G4BezierSurface() { delete u_knots; @@ -63,7 +50,7 @@ G4BezierSurface::~G4BezierSurface() while(oslo_m != (G4OsloMatrix*)0) { - oslo_m = oslo_m->next; + oslo_m = oslo_m->GetNextNode(); delete temp_oslo; temp_oslo = oslo_m; } @@ -72,8 +59,16 @@ G4BezierSurface::~G4BezierSurface() delete bbox; } +G4BezierSurface::G4BezierSurface(const G4BezierSurface&) +{ +} -int G4BezierSurface::ClipBothDirs() +G4Vector3D G4BezierSurface::SurfaceNormal(const G4Point3D& Pt) const +{ + return G4Vector3D(0,0,0); +} + +G4int G4BezierSurface::ClipBothDirs() { dir = ROW; ClipSurface(); @@ -125,15 +120,15 @@ 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 = PINFINITY; - register G4Point3D box_max =-PINFINITY; + register G4Point3D box_min = G4Point3D(PINFINITY); + register G4Point3D box_max = G4Point3D(-PINFINITY); // Loop to search the whole control point mesh // for the minimum and maximum values for.X() and y. - for(register int a = ctl_points->GetRows()-1; a>=0;a--) - for(register int b = ctl_points->GetCols()-1; b>=0;b--) - { + for(register G4int a = ctl_points->GetRows()-1; a>=0;a--) + for(register G4int b = ctl_points->GetCols()-1; b>=0;b--) + { /* L. Broglia G4Point2d& tmp = (G4Point2d&)ctl_points->get(a,b); if((box_min.X()) > (tmp.X())) box_min.X(tmp.X()); @@ -191,7 +186,7 @@ void G4BezierSurface::SetValues() G4int G4BezierSurface::BIntersect(G4SurfaceList& bez_list) { bezier_list = &bez_list; - int clip_regions = 0; // Used for tolerance/efficiency-testing + G4int clip_regions = 0; // Used for tolerance/efficiency-testing do { @@ -287,10 +282,10 @@ void G4BezierSurface::ClipSurface() // G4cout << "\nBezier clip."; - register int i,j; - register G4ConvexHull *ch_ptr, *ch_tmp, *ch_first; - register int col_size = ctl_points->GetCols(); - register int row_size = ctl_points->GetRows(); + register G4int i,j; + register G4ConvexHull *ch_ptr=0, *ch_tmp=0, *ch_first=0; + register G4int col_size = ctl_points->GetCols(); + register G4int row_size = ctl_points->GetRows(); // The four cornerpoints of the controlpoint mesh. @@ -371,14 +366,14 @@ void G4BezierSurface::ClipSurface() if( dir == ROW) { // Create a Convex() hull List - for(int a = 0; a < col_size; a++) + for(G4int a = 0; a < col_size; a++) { ch_ptr = new G4ConvexHull(a/(col_size - 1.0),1.0e8,-1.0e8); if(! a) { ch_first=ch_ptr;ch_tmp=ch_ptr; } - else ch_tmp->next=ch_ptr; + else ch_tmp->SetNextHull(ch_ptr); ch_tmp=ch_ptr; } @@ -389,9 +384,9 @@ void G4BezierSurface::ClipSurface() // Loops through the control point mesh and calculates // the nvex() hull for the surface. - for( int h = 0; h < row_size; h++) + for( G4int h = 0; h < row_size; h++) { - for(int k = 0; k < col_size; k++) + for(G4int k = 0; k < col_size; k++) { /* L. Broglia G4Point2d& coordstmp = (G4Point2d&)ctl_points->get(h,k); @@ -400,10 +395,10 @@ void G4BezierSurface::ClipSurface() G4Point3D coordstmp = ctl_points->Get3D(h,k); value = - ((coordstmp.x() * line.x() + coordstmp.y() * line.y())); - if( value <= (ch_ptr->min + kCarTolerance)) ch_ptr->min = value; - if( value >= (ch_ptr->max - kCarTolerance)) ch_ptr->max = value; + if( value <= (ch_ptr->GetMin()+kCarTolerance)) ch_ptr->SetMin(value); + if( value >= (ch_ptr->GetMax()-kCarTolerance)) ch_ptr->SetMax(value); - ch_ptr=ch_ptr->next; + ch_ptr=ch_ptr->GetNextHull(); } ch_ptr=ch_first; @@ -415,34 +410,34 @@ void G4BezierSurface::ClipSurface() // minimum and maximum values to where to clip the // surface. - for(int l = 0; l < col_size - 1; l++) + for(G4int l = 0; l < col_size - 1; l++) { - ch_tmp=ch_ptr->next; - for(int m = l+1; m < col_size; m++) + ch_tmp=ch_ptr->GetNextHull(); + for(G4int m = l+1; m < col_size; m++) { register G4double d; register G4double param1, param2; - param1 = ch_ptr->param; - param2 = ch_tmp->param; + param1 = ch_ptr->GetParam(); + param2 = ch_tmp->GetParam(); - if(ch_tmp->max- ch_ptr->max) + if(ch_tmp->GetMax() - ch_ptr->GetMax()) { - d = Findzero( param1, param2, ch_ptr->max, ch_tmp->max); + d = Findzero( param1, param2, ch_ptr->GetMax(), ch_tmp->GetMax()); if( d <= (smin + kCarTolerance) ) smin = d * .99; if( d >= (smax - kCarTolerance) ) smax = d * .99 + .01; } - if(ch_tmp->min- ch_ptr->min) + if(ch_tmp->GetMin() - ch_ptr->GetMin()) { - d = Findzero( param1, param2, ch_ptr->min, ch_tmp->min); + d = Findzero( param1, param2, ch_ptr->GetMin(), ch_tmp->GetMin()); if( d <= (smin + kCarTolerance)) smin = d * .99; if( d >= (smax - kCarTolerance)) smax = d * .99 + .01; } - ch_tmp=ch_tmp->next; + ch_tmp=ch_tmp->GetNextHull(); } - ch_ptr=ch_ptr->next; + ch_ptr=ch_ptr->GetNextHull(); } ch_ptr=ch_first; @@ -450,10 +445,10 @@ void G4BezierSurface::ClipSurface() if (smin <= 0.0) smin = 0.0; if (smax >= 1.0) smax = 1.0; - if ( Sign(ch_ptr->min) != Sign(ch_ptr->max)) smin = 0.0; + if ( Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax())) smin = 0.0; - i = Sign(ch_tmp->min); // ch_tmp points to last nvex()_hull in List - j = Sign(ch_tmp->max); + i = Sign(ch_tmp->GetMin()); // ch_tmp points to last nvex()_hull in List + j = Sign(ch_tmp->GetMax()); if ( abs(i-j) > kCarTolerance ) smax = 1.0; // if ( i != j) smax = 1.0; @@ -461,7 +456,7 @@ void G4BezierSurface::ClipSurface() } else // Other G4Vector3D { - for(int n = 0; n < row_size; n++) + for(G4int n = 0; n < row_size; n++) { ch_ptr = new G4ConvexHull(n/(row_size - 1.0),1.0e8,-1.0e8); if(!n) @@ -469,16 +464,16 @@ void G4BezierSurface::ClipSurface() ch_first=ch_ptr; ch_tmp=ch_ptr; } - else ch_tmp->next=ch_ptr; + else ch_tmp->SetNextHull(ch_ptr); ch_tmp=ch_ptr; } ch_ptr=ch_first; - for( int o = 0; o < col_size; o++) + for( G4int o = 0; o < col_size; o++) { - for(int p = 0; p < row_size; p++) + for(G4int p = 0; p < row_size; p++) { register G4double value; @@ -489,10 +484,10 @@ void G4BezierSurface::ClipSurface() G4Point3D coordstmp = ctl_points->Get3D(p,o); value = - ((coordstmp.x() * line.x() + coordstmp.y() * line.y())); - if( value <= (ch_ptr->min + kCarTolerance)) ch_ptr->min = value; - if( value >= (ch_ptr->max - kCarTolerance)) ch_ptr->max = value; + if( value <= (ch_ptr->GetMin()+kCarTolerance)) ch_ptr->SetMin(value); + if( value >= (ch_ptr->GetMax()-kCarTolerance)) ch_ptr->SetMax(value); - ch_ptr=ch_ptr->next; + ch_ptr=ch_ptr->GetNextHull(); } ch_ptr=ch_first; @@ -501,33 +496,33 @@ void G4BezierSurface::ClipSurface() ch_ptr=ch_first; ch_tmp=ch_first; - for(int q = 0; q < row_size - 1; q++) + for(G4int q = 0; q < row_size - 1; q++) { - ch_tmp=ch_ptr->next; - for(int r = q+1; r < row_size; r++) + ch_tmp=ch_ptr->GetNextHull(); + for(G4int r = q+1; r < row_size; r++) { - register G4double param1 = ch_ptr->param; - register G4double param2 = ch_tmp->param; + register G4double param1 = ch_ptr->GetParam(); + register G4double param2 = ch_tmp->GetParam(); register G4double d; - if(ch_tmp->max- ch_ptr->max) + if(ch_tmp->GetMax() - ch_ptr->GetMax()) { - d = Findzero( param1, param2, ch_ptr->max, ch_tmp->max); + d = Findzero( param1, param2, ch_ptr->GetMax(), ch_tmp->GetMax()); if( d <= (smin + kCarTolerance) ) smin = d * .99; if( d >= (smax - kCarTolerance) ) smax = d * .99 + .01; } - if(ch_tmp->min- ch_ptr->min) + if(ch_tmp->GetMin()-ch_ptr->GetMin()) { - d = Findzero( param1, param2, ch_ptr->min, ch_tmp->min); + d = Findzero( param1, param2, ch_ptr->GetMin(), ch_tmp->GetMin()); if( d <= (smin + kCarTolerance) ) smin = d * .99; if( d >= (smax - kCarTolerance) ) smax = d * .99 + .01; } - ch_tmp=ch_tmp->next; + ch_tmp=ch_tmp->GetNextHull(); } - ch_ptr=ch_ptr->next; + ch_ptr=ch_ptr->GetNextHull(); } ch_tmp=ch_ptr; @@ -536,20 +531,20 @@ void G4BezierSurface::ClipSurface() if (smin <= 0.0) smin = 0.0; if (smax >= 1.0) smax = 1.0; - if ( Sign(ch_ptr->min) != Sign(ch_ptr->max)) smin = 0.0; + if ( Sign(ch_ptr->GetMin()) != Sign(ch_ptr->GetMax())) smin = 0.0; - i = Sign(ch_tmp->min); // ch_tmp points to last nvex()_hull in List - j = Sign(ch_tmp->max); + i = Sign(ch_tmp->GetMin()); // ch_tmp points to last nvex()_hull in List + j = Sign(ch_tmp->GetMax()); // if ( (abs(i-j) > kCarTolerance)) smax = 1.0; } ch_ptr=ch_first; - while(ch_ptr!=ch_ptr->next) + while(ch_ptr!=ch_ptr->GetNextHull()) { ch_tmp=ch_ptr; - ch_ptr=ch_ptr->next; + ch_ptr=ch_ptr->GetNextHull(); delete ch_tmp; } @@ -572,7 +567,7 @@ void G4BezierSurface::GetClippedRegionFromSurface() if ( dir == ROW) { new_knots = new G4KnotVector(GetOrder(0) * 2); - for (register int i = 0; i < GetOrder(0); i++) + for (register G4int i = 0; i < GetOrder(0); i++) { new_knots->PutKnot(i, smin); new_knots->PutKnot(i+ GetOrder(0), smax); @@ -581,7 +576,7 @@ void G4BezierSurface::GetClippedRegionFromSurface() else { new_knots = new G4KnotVector( GetOrder(1) * 2); - for ( register int i = 0; i < GetOrder(1); i++) + for ( register G4int i = 0; i < GetOrder(1); i++) { new_knots->PutKnot(i, smin); new_knots->PutKnot(i+ GetOrder(1), smax); @@ -601,7 +596,7 @@ void G4BezierSurface::RefineSurface() // Row (u) G4Vector3D ord = GetOrder(0); CalcOsloMatrix(); - for(register int a=0;aGetSize();a++) + for(register G4int a=0;aGetSize();a++) u_knots->PutKnot(a, new_knots->GetKnot(a)); lower = 0; @@ -615,14 +610,14 @@ void G4BezierSurface::RefineSurface() { ord = GetOrder(1); CalcOsloMatrix (); - for(register int a=0;a < new_knots->GetSize();a++) + for(register G4int a=0;a < new_knots->GetSize();a++) v_knots->PutKnot(a, new_knots->GetKnot(a)); // Copy of the old points. old_points = new G4ControlPoints(*ctl_points); // Make new controlpoint matrix, - register int cols = ctl_points->GetCols(); + register G4int cols = ctl_points->GetCols(); delete ctl_points; ctl_points = new G4ControlPoints(2,(new_knots->GetSize()- @@ -643,12 +638,12 @@ void G4BezierSurface::CalcOsloMatrix() register G4KnotVector *ah; register G4KnotVector *newknots; - register int i; - register int j; - register int mu, muprim; - register int vv, p; - register int iu, il, ih, n1; - register int ahi; + register G4int i; + register G4int j; + register G4int mu, muprim; + register G4int vv, p; + register G4int iu, il, ih, n1; + register G4int ahi; register G4double beta1; register G4double tj; @@ -665,7 +660,7 @@ void G4BezierSurface::CalcOsloMatrix() // while(oslo_m!=oslo_m->next) while(oslo_m!=(G4OsloMatrix*)0) { - tmp=oslo_m->next;delete oslo_m; oslo_m=tmp; + tmp=oslo_m->GetNextNode();delete oslo_m; oslo_m=tmp; } } @@ -684,8 +679,8 @@ void G4BezierSurface::CalcOsloMatrix() { if ( j != 0 ) { - oslo_m->next = new G4OsloMatrix(); - oslo_m = oslo_m->next; + oslo_m->SetNextNode(new G4OsloMatrix()); + oslo_m = oslo_m->GetNextNode(); } while (old_knots->GetKnot(mu + 1) <= new_knots->GetKnot(j)) @@ -780,7 +775,7 @@ void G4BezierSurface::CalcOsloMatrix() while(oslo_m != (G4OsloMatrix*)0) { - oslo_m = oslo_m->next; + oslo_m = oslo_m->GetNextNode(); delete temp_oslo; temp_oslo = oslo_m; } @@ -791,13 +786,14 @@ void G4BezierSurface::CalcOsloMatrix() oslo_m = new G4OsloMatrix(vv+1, Amax(muprim - vv,0), vv); for ( i = vv, p = 0; i >= 0; i--) - oslo_m->o_vec->PutKnot ( p++, ah->GetKnot(AhIndex (vv, (ord-1) - i,ord))); + oslo_m->GetKnotVector() + ->PutKnot ( p++, ah->GetKnot(AhIndex (vv, (ord-1) - i,ord))); } delete ah; delete newknots; - oslo_m->next = (G4OsloMatrix*)0; + oslo_m->SetNextNode(0); oslo_m = o_ptr; } @@ -818,58 +814,58 @@ void G4BezierSurface::MapSurface(G4Surface* tmp) // Copy the old points so they can be used in calculating the new ones. // old_pts = new G4ControlPoints(*ctl_points); old_pts = old_points; - register int j, // j loop - i; // oslo loop + register G4int j, // j loop + i; // oslo loop c_ptr = new_pts; - register int size; // The number of rows or columns, - // depending on processing order + register G4int size; // The number of rows or columns, + // depending on processing order if(!dir) size=new_pts->GetRows(); else size=new_pts->GetCols(); - for(int a=0; anext); + i++, o_ptr = o_ptr->GetNextNode()); else o_ptr = oslo_m; if(!dir)// Direction ROW { - for ( j = lower; j < upper; j++, o_ptr = o_ptr->next) + for ( j = lower; j < upper; j++, o_ptr = o_ptr->GetNextNode()) { register G4double o_scale; - register int x; + register G4int x; x=a; /* L. Broglia - register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(x, o_ptr->offset); + register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(x, o_ptr->GetOffset()); register G4Point2d tempc= (G4Point2d&)c_ptr->Get2d(j/upper, (j)%upper-lower); */ - register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->offset); + register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); register G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); - o_scale = o_ptr->o_vec->GetKnot(0); + o_scale = o_ptr->GetKnotVector()->GetKnot(0); tempc.setX(o_pts.x() * o_scale); tempc.setY(o_pts.x() * o_scale); - for ( i = 1; i <= o_ptr->osize; i++) + for ( i = 1; i <= o_ptr->GetSize(); i++) { - o_scale = o_ptr->o_vec->GetKnot(i); + o_scale = o_ptr->GetKnotVector()->GetKnot(i); /* L. Broglia - o_pts = (G4Point2d&)old_pts->get(x, i+o_ptr->offset); + o_pts = (G4Point2d&)old_pts->get(x, i+o_ptr->GetOffset()); tempc.X(tempc.X() + o_scale * o_pts.X()); tempc.Y(tempc.Y() + o_scale * o_pts.Y()); */ - o_pts = old_pts->Get3D(x, i+o_ptr->offset); + o_pts = old_pts->Get3D(x, i+o_ptr->GetOffset()); tempc.setX(tempc.x() + o_scale * o_pts.x()); tempc.setY(tempc.y() + o_scale * o_pts.y()); @@ -880,32 +876,32 @@ void G4BezierSurface::MapSurface(G4Surface* tmp) } else // dir = COL { - for ( j = lower; j < upper; j++, o_ptr = o_ptr->next) + for ( j = lower; j < upper; j++, o_ptr = o_ptr->GetNextNode()) { register G4double o_scale; - register int x; + register G4int x; x=a; /* L. Broglia - register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(o_ptr->offset, x); + register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(o_ptr->GetOffset(), x); register G4Point2d tempc = (G4Point2d&)c_ptr->Get2d((j)%upper-lower, j/upper); */ - register G4Point3D o_pts = old_pts->Get3D(o_ptr->offset, x); + register G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(), x); register G4Point3D tempc = c_ptr->Get3D((j)%upper-lower,j/upper); - o_scale = o_ptr->o_vec->GetKnot(0); + o_scale = o_ptr->GetKnotVector()->GetKnot(0); tempc.setX(o_pts.x() * o_scale); tempc.setY(o_pts.y() * o_scale); - for ( i = 1; i <= o_ptr->osize; i++) + for ( i = 1; i <= o_ptr->GetSize(); i++) { - o_scale = o_ptr->o_vec->GetKnot(i); + o_scale = o_ptr->GetKnotVector()->GetKnot(i); /* L. Broglia - o_pts= (G4Point2d&)old_pts->get(i+o_ptr->offset,a); + o_pts= (G4Point2d&)old_pts->get(i+o_ptr->GetOffset(),a); */ - o_pts= old_pts->Get3D(i+o_ptr->offset,a); + o_pts= old_pts->Get3D(i+o_ptr->GetOffset(),a); tempc.setX(tempc.x() + o_scale * o_pts.x()); tempc.setY(tempc.y() + o_scale * o_pts.y()); } @@ -925,10 +921,10 @@ void G4BezierSurface::SplitNURBSurface() // G4cout << "\nBezier splitted."; register G4double value; - register int i; - register int k_index; + register G4int i; + register G4int k_index=0; G4BezierSurface *srf1, *srf2; - int nr,nc; + G4int nr,nc; if ( dir == ROW ) { @@ -1049,12 +1045,3 @@ void G4BezierSurface::SplitNURBSurface() // Testing Splits++; } - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc index fff5355d73..43fa1021e2 100644 --- a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc +++ b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc @@ -1,3 +1,20 @@ +// 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: G4BoundingBox3D.cc,v 1.5 2000/11/08 14:22:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4BoundingBox3D.cc +// +// ---------------------------------------------------------------------- + #include "G4BoundingBox3D.hh" #include "geomdefs.hh" @@ -21,6 +38,25 @@ G4BoundingBox3D::G4BoundingBox3D(const G4Point3D& p) G4BoundingBox3D::~G4BoundingBox3D() {} +G4BoundingBox3D::G4BoundingBox3D(const G4BoundingBox3D& right) + : box_min(right.box_min), box_max(right.box_max), + distance(right.distance), test_result(right.test_result), + MiddlePoint(right.MiddlePoint), GeantBox(right.GeantBox) +{ +} + +G4BoundingBox3D& G4BoundingBox3D::operator=(const G4BoundingBox3D& right) +{ + if (&right == this) return *this; + box_min = right.box_min; + box_max = right.box_max; + distance = right.distance; + test_result = right.test_result; + MiddlePoint = right.MiddlePoint; + GeantBox = right.GeantBox; + + return *this; +} void G4BoundingBox3D::Init(const G4Point3D& p1, const G4Point3D& p2) { @@ -84,7 +120,7 @@ void G4BoundingBox3D::Extend(const G4Point3D& p) //////////////////////////////////////////////////////////////////////////// -int G4BoundingBox3D::Test(const G4Ray& rayref) +G4int G4BoundingBox3D::Test(const G4Ray& rayref) { const G4Point3D& tmp_ray_start = rayref.GetStart(); const G4Vector3D& tmp_ray_dir = rayref.GetDir(); @@ -106,7 +142,7 @@ int G4BoundingBox3D::Test(const G4Ray& rayref) // Adapt ray_starting point to box - const G4Point3D ray_start2 = ray_start - MiddlePoint; + const G4Point3D ray_start2 = G4Point3D( ray_start - MiddlePoint ); distance = DistanceToIn(ray_start2, ray_dir); if(!distance) @@ -136,9 +172,9 @@ int G4BoundingBox3D::Test(const G4Ray& rayref) // the box (ie. there is a possiblity of an intersection) -int G4BoundingBox3D::BoxIntersect(const G4Point3D& gbox, - const G4Point3D& p , - const G4Vector3D& v ) const +G4int G4BoundingBox3D::BoxIntersect(const G4Point3D& gbox, + const G4Point3D& p , + const G4Vector3D& v ) const { G4double safx, safy, safz; G4double fdx, fdy, fdz; @@ -313,7 +349,7 @@ G4double G4BoundingBox3D::DistanceToIn(const G4Point3D& p, /////////////////////////////////////////////////////////////////////////////// -G4int G4BoundingBox3D::Inside(const G4Point3D& Pt) +G4int G4BoundingBox3D::Inside(const G4Point3D& Pt) const { if( ( Pt.x() >= box_min.x() && Pt.x() <= box_max.x() ) && ( Pt.y() >= box_min.y() && Pt.y() <= box_max.y() ) && @@ -322,16 +358,3 @@ G4int G4BoundingBox3D::Inside(const G4Point3D& Pt) else return 0; } - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4CircularCurve.cc b/source/geometry/solids/BREPS/src/G4CircularCurve.cc index 04af2514ac..bcf75c60d2 100644 --- a/source/geometry/solids/BREPS/src/G4CircularCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CircularCurve.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CircularCurve.cc,v 1.2 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CircularCurve.cc,v 1.5 2000/11/08 14:22:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4CircularCurve.cc +// +// ---------------------------------------------------------------------- #include "G4CircularCurve.hh" #include "G4Ellipse.hh" @@ -16,6 +22,41 @@ G4CircularCurve::G4CircularCurve() {} G4CircularCurve::~G4CircularCurve() {} +G4CircularCurve::G4CircularCurve(const G4CircularCurve& right) + : radius(right.radius) +{ + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4CircularCurve& +G4CircularCurve::operator=(const G4CircularCurve& right) +{ + if (&right == this) return *this; + + radius = right.radius; + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} + ////////////////////////////////////////////////////////////////////////////// void G4CircularCurve::InitBounded() @@ -65,3 +106,39 @@ G4bool G4CircularCurve::Tangent(G4CurvePoint& cp, G4Vector3D& v) return true; } +G4double G4CircularCurve::GetPMax() const +{ + return twopi; +} + +G4Point3D G4CircularCurve::GetPoint(G4double param) const +{ + return G4Point3D( position.GetLocation()+radius* + ( cos(param)*position.GetPX() + sin(param)*position.GetPY() ) ); +} + +G4double G4CircularCurve::GetPPoint(const G4Point3D& pt) const +{ + G4Point3D ptLocal= position.GetToPlacementCoordinates()*pt; + G4double angle= atan2(ptLocal.y(), ptLocal.x()); + return (angle<0)? angle+twopi: angle; +} + +//////////////////////////////////////////////////////////////////////////// + +/* +#include "G4CurveRayIntersection.hh" + +void G4CircularCurve::IntersectRay2D(const G4Ray& ray, + G4CurveRayIntersection& is) +{ + G4Exception("G4CircularCurve is always 3D!"); + exit(1); +} +*/ + +G4int G4CircularCurve::IntersectRay2D(const G4Ray& ray) +{ + 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 90dd050156..ed9f3dea32 100644 --- a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc @@ -1,13 +1,30 @@ +// 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: G4CompositeCurve.cc,v 1.8 2000/11/20 17:54:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4CircularCurve.cc +// +// ---------------------------------------------------------------------- + #include "G4CompositeCurve.hh" #include "G4Line.hh" G4CompositeCurve::G4CompositeCurve(){} + G4CompositeCurve::G4CompositeCurve(const G4Point3DVector& vertices) { G4CurveVector cv; - G4Line* l; - for (G4int i=0; iProject(tr); if (c==0) @@ -45,6 +69,29 @@ G4Curve* G4CompositeCurve::Project(const G4Transform3D& tr) return r; } +///////////////////////////////////////////////////////////////////////////// + +G4double G4CompositeCurve::GetPMax() const +{ + G4Exception("G4CompositeCurve::GetPMax"); + return 0; +} + +G4Point3D G4CompositeCurve::GetPoint(G4double param) const +{ + G4Exception("G4CompositeCurve::GetPoint"); + // Fake return value + return G4Point3D(); +} + +G4double G4CompositeCurve::GetPPoint(const G4Point3D& pt) const +{ + G4Exception("G4CompositeCurve::GetPPoint"); + return 0; +} + +//////////////////////////////////////////////////////////////////////////// + /* void G4CompositeCurve::IntersectRay2D(const G4Ray& ray, G4CurveRayIntersection& is) @@ -66,18 +113,19 @@ void G4CompositeCurve::IntersectRay2D(const G4Ray& ray, G4int G4CompositeCurve::IntersectRay2D(const G4Ray& ray) { - G4int nbinter = 0, temp = 0; + G4int nbinter = 0; + G4int temp = 0; - for (G4int i=0; iBBox(); bBox.Init(b->GetBoxMin(), b->GetBoxMax()); - for (G4int i=1; iBBox(); bBox.Extend(b->GetBoxMin()); @@ -108,19 +156,3 @@ void G4CompositeCurve::InitBounded() // init for efficient parameter <-> 3D point conversions } - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4Conic.cc b/source/geometry/solids/BREPS/src/G4Conic.cc index 28ac3ed65b..18f8d8b97f 100644 --- a/source/geometry/solids/BREPS/src/G4Conic.cc +++ b/source/geometry/solids/BREPS/src/G4Conic.cc @@ -1,13 +1,64 @@ +// 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: G4Conic.cc,v 1.5 2000/11/20 17:54:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4conic.cc +// +// ---------------------------------------------------------------------- + #include "G4Conic.hh" -// G4Conic -G4Conic::G4Conic (): pShift(0) {} -G4Conic::~G4Conic() {} +G4Conic::G4Conic () : pShift(0) +{ +} +G4Conic::~G4Conic() +{ +} +G4Conic::G4Conic(const G4Conic& right) + : position(right.position), pShift(right.pShift) +{ + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4Conic& G4Conic::operator=(const G4Conic& right) +{ + if (&right == this) return *this; + + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} /* -void G4ConicalCurve::ProjectCurve(const G4Plane& Pl1, const G4Plane& Pl2) +void +G4ConicalCurve::ProjectCurve(const G4Plane& Pl1, const G4Plane& Pl2) { // Curve start Project(ProjStart, Start, Pl1, Pl2); @@ -17,7 +68,9 @@ void G4ConicalCurve::ProjectCurve(const G4Plane& Pl1, const G4Plane& Pl2) Position.ProjectPlacement(Pl1,Pl2); } -int G4ConicalCurve::HitPartOfCurve(G4double Angle, G4double Solution, const G4Point2d& ProjHit) +G4int +G4ConicalCurve::HitPartOfCurve(G4double Angle, G4double Solution, + const G4Point2d& ProjHit) { // Check if Solution1 is part of the curve i.e. in the "pie" G4double TmpSol1 = Solution - ProjHit.X(); diff --git a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc index 399a1fd8b0..765badc61c 100644 --- a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc @@ -5,38 +5,24 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConicalSurface.cc,v 1.3 2000/02/25 16:00:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConicalSurface.cc,v 1.5 2000/11/08 14:22:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/geometry/G4ConicalSurface.cc,v 1.6 1994/08/03 17:15:01 burnett Exp */ -// File: G4ConicalSurface.cc -// Author: Alan Breakstone - -// Contents ---------------------------------------------------------- +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// G4ConicalSurface::G4ConicalSurface() -// G4ConicalSurface::G4ConicalSurface( const G4Vector3D& o, -// const G4Vector3D& a, G4double e ) -// G4ConicalSurface::PrintOn( G4std::ostream& os ) const -// G4ConicalSurface::HowNear( const G4Vector3D& x ) const -// G4ConicalSurface::distanceAlongRay( int which_way, const Ray* ry, -// G4Vector3D& p ) const -// G4ConicalSurface::Inside( const G4Vector3D& x ) const -// G4ConicalSurface::WithinBoundary( const G4Vector3D& x ) const -// G4ConicalSurface::SetAngle( G4double e ) +// G4ConicalSurface.cc // -// End --------------------------------------------------------------- +// ---------------------------------------------------------------------- #include "G4ConicalSurface.hh" #include "G4Sort.hh" #include "G4Globals.hh" -G4ConicalSurface::G4ConicalSurface() : G4Surface() + +G4ConicalSurface::G4ConicalSurface() + : G4Surface(), axis(G4Vector3D(1.,0.,0.)), angle(1.) { - // default constructor - // default axis is ( 1.0, 0.0, 0.0 ), default angle is 1.0 radians - axis = G4Vector3D( 1.0, 0.0, 0.0 ); - angle = 1.0; } G4ConicalSurface::G4ConicalSurface( const G4Point3D& o, @@ -81,6 +67,22 @@ G4ConicalSurface::G4ConicalSurface( const G4Point3D& o, } } +G4ConicalSurface::~G4ConicalSurface() +{ +} + +/* +G4ConicalSurface::G4ConicalSurface( const G4ConicalSurface& c ) + : G4Surface( c.origin ) +{ + axis = c.axis; angle = c.angle; +} +*/ + +const char* G4ConicalSurface::NameOf() const +{ + return "G4ConicalSurface"; +} void G4ConicalSurface::CalcBBox() { @@ -88,10 +90,9 @@ void G4ConicalSurface::CalcBBox() // copy of G4FPlane::CalcBBox() bbox= new G4BoundingBox3D(surfaceBoundary.BBox().GetBoxMin(), - surfaceBoundary.BBox().GetBoxMax()); + surfaceBoundary.BBox().GetBoxMax()); } - void G4ConicalSurface::PrintOn( G4std::ostream& os ) const { // printing function using C++ G4std::ostream class @@ -108,10 +109,10 @@ G4double G4ConicalSurface::HowNear( const G4Vector3D& x ) const // Note that this may not be correct for a bounded conical object // subclassed to G4ConicalSurface. - G4Vector3D d = x - origin; + G4Vector3D d = G4Vector3D( x - origin ); G4double l = d * axis; - G4Vector3D q = origin + l * axis; - G4Vector3D v = x - q; + G4Vector3D q = G4Vector3D( origin + l * axis ); + G4Vector3D v = G4Vector3D( x - q ); /* L. Broglia G4double Dist = ( l * tan( angle ) - v.Magnitude() ) * cos ( angle ); @@ -122,7 +123,7 @@ G4double G4ConicalSurface::HowNear( const G4Vector3D& x ) const } -int G4ConicalSurface::Intersect( const G4Ray& ry ) +G4int G4ConicalSurface::Intersect( const G4Ray& ry ) { // Distance along a Ray (straight line with G4Vector3D) to leave or enter // a G4ConicalSurface. The input variable which_way should be set to +1 to @@ -143,7 +144,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) // If no valid intersection point is found, set the distance // and intersection point to large numbers. - int which_way = -1; //Originally a parameter.Read explanation above. + G4int which_way = -1; //Originally a parameter.Read explanation above. distance = FLT_MAXX; @@ -155,7 +156,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) // Origin and G4Vector3D unit vector of Ray. // G4Vector3D x = ry->position(); - G4Vector3D x = ry.GetStart(); + G4Vector3D x = G4Vector3D( ry.GetStart() ); // G4Vector3D dhat = ry->direction( 0.0 ); G4Vector3D dhat = ry.GetDir(); @@ -164,7 +165,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) // Cone angle and axis unit vector. G4double ta = tan( GetAngle() ); G4Vector3D ahat = GetAxis(); - int isoln = 0, + G4int isoln = 0, maxsoln = 2; // array of solutions in distance along the Ray @@ -174,7 +175,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) s[1] = -1.0 ; // calculate the two solutions (quadratic equation) - G4Vector3D gamma = x - GetOrigin(); + G4Vector3D gamma = G4Vector3D( x - GetOrigin() ); G4double T = 1.0 + ta * ta; G4double ga = gamma * ahat; G4double da = dhat * ahat; @@ -207,7 +208,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) // order the possible solutions by increasing distance along the Ray // (G4Sorting routines are in support/G4Sort.h) - G4Sort_double( s, isoln, maxsoln-1 ); + sort_double( s, isoln, maxsoln-1 ); // now loop over each positive solution, keeping the first one (smallest // distance along the Ray) which is within the boundary of the sub-shape @@ -240,7 +241,7 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) /* - G4double G4ConicalSurface::distanceAlongHelix(int which_way, const Helix* hx, + G4double G4ConicalSurface::distanceAlongHelix(G4int which_way, const Helix* hx, G4Vector3D& p ) const { // Distance along a Helix to leave or enter a G4ConicalSurface. // The input variable which_way should be set to +1 to @@ -263,14 +264,14 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) G4double Dist = FLT_MAXX; G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); p = lv; - int isoln = 0, maxsoln = 4; + G4int isoln = 0, maxsoln = 4; // Array of solutions in turning angle // G4double s[4] = { -1.0, -1.0, -1.0, -1.0 }; G4double s[4];s[0] = -1.0; s[1]= -1.0 ;s[2] = -1.0; s[3]= -1.0 ; // Flag set to 1 if exact solution is found - int exact = 0; + G4int exact = 0; // Helix parameters G4double rh = hx->GetRadius(); // radius of Helix @@ -348,10 +349,10 @@ int G4ConicalSurface::Intersect( const G4Ray& ry ) // Iterate it until the accuracy is below the user-set surface precision. G4double delta = 0.; G4double delta0 = FLT_MAXX; - int dummy = 1; - int iter = 0; - int in0 = Inside( hx->position() ); - int in1 = Inside( p ); + G4int dummy = 1; + G4int iter = 0; + G4int in0 = Inside( hx->position() ); + G4int in1 = Inside( p ); G4double sc = Scale(); while ( dummy ) { iter++; @@ -461,7 +462,7 @@ G4Vector3D G4ConicalSurface::SurfaceNormal( const G4Point3D& p ) const { // return the Normal unit vector to the G4ConicalSurface at a point p // on (or nearly on) the G4ConicalSurface - G4Vector3D s = p - origin; + G4Vector3D s = G4Vector3D( p - origin ); /* L. Broglia G4double smag = s.Magnitude(); */ @@ -489,13 +490,13 @@ G4Vector3D G4ConicalSurface::SurfaceNormal( const G4Point3D& p ) const s = s / smag; */ s = s*(1/smag); - G4Vector3D q = origin + l * axis; - G4Vector3D v = p - q; + G4Vector3D q = G4Vector3D( origin + l * axis ); + G4Vector3D v = G4Vector3D( p - q ); /* L. Broglia G4double sl = v.Magnitude() * sin( angle ); */ G4double sl = v.mag2() * sin( angle ); - G4Vector3D n = v - sl * s; + G4Vector3D n = G4Vector3D( v - sl * s ); /* L. Broglia G4double nmag = n.Magnitude(); */ @@ -511,7 +512,7 @@ G4Vector3D G4ConicalSurface::SurfaceNormal( const G4Point3D& p ) const } -int G4ConicalSurface::Inside ( const G4Vector3D& x ) const +G4int G4ConicalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4ConicalSurface, 1 if Inside. // Outside means that the distance to the G4ConicalSurface would be negative. @@ -523,7 +524,7 @@ int G4ConicalSurface::Inside ( const G4Vector3D& x ) const } -int G4ConicalSurface::WithinBoundary( const G4Vector3D& x ) const +G4int G4ConicalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is on the G4ConicalSurface, otherwise return zero // base this on the surface precision factor set in support/globals.h @@ -533,6 +534,10 @@ int G4ConicalSurface::WithinBoundary( const G4Vector3D& x ) const return 0; } +G4double G4ConicalSurface::Scale() const +{ + return 1.0; +} void G4ConicalSurface::SetAngle( G4double e ) { diff --git a/source/geometry/solids/BREPS/src/G4ControlPoints.cc b/source/geometry/solids/BREPS/src/G4ControlPoints.cc index 9238936526..335cdf6045 100644 --- a/source/geometry/solids/BREPS/src/G4ControlPoints.cc +++ b/source/geometry/solids/BREPS/src/G4ControlPoints.cc @@ -5,17 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ControlPoints.cc,v 1.3 2000/01/21 13:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ControlPoints.cc,v 1.5 2000/11/08 14:22:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// Modif 8 oct 98 : A.Floquet -// G4PointRat datas are made of -// . a point 3D -// . a additional value : the scale factor which is set to 1 by default -// G4ControlPoints includes only G4PointRat which in turn are made -// of G4Point3D +// G4ControlPoints.cc // +// ---------------------------------------------------------------------- #include "G4ControlPoints.hh" @@ -27,18 +25,18 @@ G4ControlPoints::G4ControlPoints() } -G4ControlPoints::G4ControlPoints( int rows, int columns) +G4ControlPoints::G4ControlPoints( G4int rows, G4int columns) { nr=rows; nc=columns; data = (G4PointRat**) new G4PointRat *[nr*nc]; - for(int a =0; asetW(weights[a]); } @@ -115,8 +145,8 @@ G4double G4ControlPoints::ClosestDistanceToPoint( const G4Point3D& Pt) G4double TmpDist; G4Point3D Pt2; - for(int a=0;aDirection( 0.0 ); // Axis unit vector of the G4CylindricalSurface. G4Vector3D ahat = GetAxis(); - int isoln = 0, maxsoln = 2; + G4int isoln = 0, maxsoln = 2; // array of solutions in distance along the Ray // G4double s[2] = { -1.0, -1.0 }; G4double s[2];s[0] = -1.0; s[1]= -1.0 ; @@ -312,18 +309,22 @@ G4double G4CylindricalSurface::distanceAlongRay( int which_way, const G4Ray* ry, /* -G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* hx, +G4double G4CylindricalSurface::distanceAlongHelix( G4int which_way, + const Helix* hx, G4Vector3D& p ) const { // Distance along a Helix to leave or enter a G4CylindricalSurface. // The input variable which_way should be set to +1 to - // indicate leaving a G4CylindricalSurface, -1 to indicate entering a G4CylindricalSurface. + // indicate leaving a G4CylindricalSurface, -1 to indicate entering a + // G4CylindricalSurface. // p is the point of intersection of the Helix with the G4CylindricalSurface. // If the G4Vector3D of the Helix is opposite to that of the Normal to - // the G4CylindricalSurface at the intersection point, it will not leave the G4CylindricalSurface. - // Similarly, if the G4Vector3D of the Helix is along that of the Normal - // to the G4CylindricalSurface at the intersection point, it will not enter the + // the G4CylindricalSurface at the intersection point, it will not leave the + // G4CylindricalSurface. + // Similarly, if the G4Vector3D of the Helix is along that of the Normal + // to the G4CylindricalSurface at the intersection point, it will not enter + // the G4CylindricalSurface. + // This method is called by all finite shapes sub-classed to // G4CylindricalSurface. - // This method is called by all finite shapes sub-classed to G4CylindricalSurface. // Use the virtual function table to check if the intersection point // is within the boundary of the finite shape. // If no valid intersection point is found, set the distance @@ -333,14 +334,14 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); G4Vector3D zerovec; // zero G4Vector3D p = lv; - int isoln = 0, maxsoln = 4; + G4int isoln = 0, maxsoln = 4; // Array of solutions in turning angle // G4double s[4] = { -1.0, -1.0, -1.0, -1.0 }; G4double s[4];s[0]=-1.0;s[1]= -1.0;s[2]= -1.0;s[3]= -1.0; // Flag set to 1 if exact solution is found - int exact = 0; + G4int exact = 0; // Helix parameters G4double rh = hx->GetRadius(); // radius of Helix G4Vector3D ah = hx->GetAxis(); // axis of Helix @@ -367,15 +368,15 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h G4Vector3D ghat; // // Set flag for special cases - int special_case = 0; // 0 means general case + G4int special_case = 0; // 0 means general case // -// Test to see if axes of Helix and G4CylindricalSurface are parallel, in which case -// there are exact solutions. +// Test to see if axes of Helix and G4CylindricalSurface are parallel, in which +// case there are exact solutions. if ( ( fabs( ah.AngleBetween(ac) ) < FLT_EPSILO ) || ( fabs( ah.AngleBetween(ac) - M_PI ) < FLT_EPSILO ) ) { special_case = 1; -// If, in addition, gamma is a zero vector or is parallel to the G4CylindricalSurface -// axis, this simplifies the previous case. +// If, in addition, gamma is a zero vector or is parallel to the +// G4CylindricalSurface axis, this simplifies the previous case. if ( gamma == zerovec ) { special_case = 3; ghat = gamma; @@ -387,21 +388,21 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h FLT_EPSILO ) ) special_case = 3; } -// Test to see if, in addition to the axes of the Helix and G4CylindricalSurface being -// parallel, the axis of the G4CylindricalSurface is perpendicular to the initial -// G4Vector3D of the Helix. +// Test to see if, in addition to the axes of the Helix and G4CylindricalSurface +// being parallel, the axis of the G4CylindricalSurface is perpendicular to the +// initial G4Vector3D of the Helix. if ( fabs( ( ac * dh ) ) < FLT_EPSILO ) { // And, if, in addition to all this, the difference in origins of the Helix -// and G4CylindricalSurface is perpendicular to the initial G4Vector3D of the Helix, -// there is a separate special case. +// and G4CylindricalSurface is perpendicular to the initial G4Vector3D of the +// Helix, there is a separate special case. if ( fabs( ( ghat * dh ) ) < FLT_EPSILO ) special_case = 4; } } // end of section with axes of Helix and G4CylindricalSurface parallel // -// Another peculiar case occurs if the axis of the G4CylindricalSurface and the initial -// G4Vector3D of the Helix line up and their origins are the same. This will -// require a higher order approximation than the general case. +// Another peculiar case occurs if the axis of the G4CylindricalSurface and the +// initial G4Vector3D of the Helix line up and their origins are the same. +// This will require a higher order approximation than the general case. if ( ( ( fabs( dh.AngleBetween(ac) ) < FLT_EPSILO ) || ( fabs( dh.AngleBetween(ac) - M_PI ) < FLT_EPSILO ) ) && ( gamma == zerovec ) ) @@ -599,10 +600,10 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h // iterate it until the accuracy is below the user-set surface precision. G4double delta = 0.0; G4double delta0 = FLT_MAXX; - int dummy = 1; - int iter = 0; - int in0 = Inside( hx->position ( 0.0 ) ); - int in1 = Inside( p ); + G4int dummy = 1; + G4int iter = 0; + G4int in0 = Inside( hx->position ( 0.0 ) ); + G4int in1 = Inside( p ); G4double sc = Scale(); while ( dummy ) { iter++; @@ -657,9 +658,9 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h SURFACE_PRECISION ) break; // If delta has increased in absolute value from the previous iteration -// either the Helix doesn't Intersect the G4CylindricalSurface or the approximate solution -// is too far from the real solution. Try groping for a solution. If not -// found, Reset distance to large number, indicating no intersection with +// either the Helix doesn't Intersect the G4CylindricalSurface or the approximate +// solution is too far from the real solution. Try groping for a solution. +// If not found, Reset distance to large number, indicating no intersection with // the G4CylindricalSurface. if ( fabs( delta ) > fabs( delta0 ) ) { Dist = fabs( rhp ) * @@ -676,8 +677,10 @@ G4double G4CylindricalSurface::distanceAlongHelix( int which_way, const Helix* h delta0 = delta; // Add distance to G4CylindricalSurface to distance along Helix. Dist += delta; -// Negative distance along Helix means Helix doesn't Intersect G4CylindricalSurface. -// Reset distance to large number, indicating no intersection with G4CylindricalSurface. +// Negative distance along Helix means Helix doesn't Intersect +// G4CylindricalSurface. +// Reset distance to large number, indicating no intersection with +// G4CylindricalSurface. if ( Dist < 0.0 ) { Dist = FLT_MAXX; p = lv; @@ -738,7 +741,7 @@ G4Vector3D G4CylindricalSurface::SurfaceNormal( const G4Point3D& p ) const } -int G4CylindricalSurface::Inside ( const G4Vector3D& x ) const +G4int G4CylindricalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4CylindricalSurface, 1 if Inside. // Outside means that the distance to the G4CylindricalSurface would @@ -751,7 +754,7 @@ int G4CylindricalSurface::Inside ( const G4Vector3D& x ) const } -int G4CylindricalSurface::WithinBoundary( const G4Vector3D& x ) const +G4int G4CylindricalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is on the G4CylindricalSurface, otherwise return zero // base this on the surface precision factor set in support/globals.h @@ -776,7 +779,7 @@ G4double G4CylindricalSurface::Scale() const //void G4CylindricalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, G4ThreeMat& m, int inverse ) +// G4double gamma, G4ThreeMat& m, G4int inverse ) // // rotate G4CylindricalSurface first about global x-axis by angle alpha, // second about global y-axis by angle beta, // and third about global z-axis by angle gamma @@ -790,7 +793,7 @@ G4double G4CylindricalSurface::Scale() const //} //void G4CylindricalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, int inverse ) +// G4double gamma, G4int inverse ) //{ // rotate G4CylindricalSurface first about global x-axis by angle alpha, // second about global y-axis by angle beta, // and third about global z-axis by angle gamma @@ -832,7 +835,7 @@ G4double G4CylindricalSurface::gropeAlongHelix( const Helix* hx ) const // of some fraction of a turn. If at the end of a Step, the current position // along the Helix and the previous position are on opposite sides of the // G4CylindricalSurface, then the solution must lie somewhere in between. - int one_over_f = 8; // one over fraction of a turn to go in each Step + G4int one_over_f = 8; // one over fraction of a turn to go in each Step G4double turn_angle = 0.0; G4double dist_along = 0.0; G4double d_new; @@ -843,10 +846,10 @@ G4double G4CylindricalSurface::gropeAlongHelix( const Helix* hx ) const G4Vector3D prp = hx->getPerp(); // perpendicular vector G4double prpmag = prp.Magnitude(); G4double rhp = rh / prpmag; - int max_iter = one_over_f * HELIX_MAX_TURNS; + G4int max_iter = one_over_f * HELIX_MAX_TURNS; // Take up to a user-settable number of turns along the Helix, // groping for an intersection point. - for ( int k = 1; k < max_iter; k++ ) { + for ( G4int k = 1; k < max_iter; k++ ) { turn_angle = 2.0 * M_PI * k / one_over_f; dist_along = turn_angle * fabs( rhp ); d_new = HowNear( hx->position( dist_along ) ); @@ -856,7 +859,7 @@ G4double G4CylindricalSurface::gropeAlongHelix( const Helix* hx ) const // Old and new points are on opposite sides of the G4CylindricalSurface, therefore // a solution lies in between, use a binary search to pin the point down // to the surface precision, but don't do more than 50 iterations. - int itr = 0; + G4int itr = 0; while ( fabs( d_new / scal ) > SURFACE_PRECISION ) { itr++; if ( itr > 50 ) @@ -878,10 +881,3 @@ G4double G4CylindricalSurface::gropeAlongHelix( const Helix* hx ) const return -1.0; } */ - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4Ellipse.cc b/source/geometry/solids/BREPS/src/G4Ellipse.cc index 3998809201..a362d5fae0 100644 --- a/source/geometry/solids/BREPS/src/G4Ellipse.cc +++ b/source/geometry/solids/BREPS/src/G4Ellipse.cc @@ -5,14 +5,65 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Ellipse.cc,v 1.3 2000/05/15 14:16:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Ellipse.cc,v 1.6 2000/11/10 17:41:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Ellipse.cc +// +// ---------------------------------------------------------------------- #include "G4Ellipse.hh" -// G4Ellipse -G4Ellipse::G4Ellipse(){} +G4Ellipse::G4Ellipse() +{ +} + +G4Ellipse::~G4Ellipse() +{ +} + +G4Ellipse::G4Ellipse(const G4Ellipse& right) + : semiAxis1(right.semiAxis1), semiAxis2(right.semiAxis2), + ratioAxis2Axis1(right.ratioAxis2Axis1), toUnitCircle(right.toUnitCircle), + forTangent(right.forTangent) +{ + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4Ellipse& G4Ellipse::operator=(const G4Ellipse& right) +{ + if (&right == this) return *this; + + semiAxis1 = right.semiAxis1; + semiAxis2 = right.semiAxis2; + ratioAxis2Axis1 = right.ratioAxis2Axis1; + toUnitCircle = right.toUnitCircle; + forTangent = right.forTangent; + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} G4Curve* G4Ellipse::Project(const G4Transform3D& tr) { @@ -32,23 +83,27 @@ G4Curve* G4Ellipse::Project(const G4Transform3D& tr) G4Vector3D yPrime= tr*position.GetPY(); yPrime.setZ(0); - G4Vector3D a = semiAxis1*xPrime; - G4Vector3D b = semiAxis2*yPrime; + G4Vector3D a = G4Vector3D( semiAxis1*xPrime ); + G4Vector3D b = G4Vector3D( semiAxis2*yPrime ); G4double u; G4double abmag = a.mag2()-b.mag2(); G4double prod = 2*a*b; - if (abmag < FLT_MAX) - if (prod > 0) - u = pi/4; - else - u = -pi/4; + + if ((abmag > FLT_MAX) && (prod < -FLT_MAX)) + u = -pi/8; + else if ((abmag < -FLT_MAX) && (prod > FLT_MAX)) + u = 3*pi/8; + else if ((abmag < -FLT_MAX) && (prod < -FLT_MAX)) + u = -3*pi/8; + else if ((abs(abmag) < perMillion) && (abs(prod) < perMillion)) + u = 0.; else u = atan2(prod,abmag) / 2; // get the coordinate axis directions and the semiaxis lengths - G4Vector3D sAxis1 = a*cos(u)+b*sin(u); - G4Vector3D sAxis2 = a*cos(u+pi/2)+b*sin(u+pi/2); + G4Vector3D sAxis1 = G4Vector3D( a*cos(u)+b*sin(u) ); + G4Vector3D sAxis2 = G4Vector3D( a*cos(u+pi/2)+b*sin(u+pi/2) ); G4double newSemiAxis1 = sAxis1.mag(); G4double newSemiAxis2 = sAxis2.mag(); G4Vector3D newRefDirection = sAxis1; @@ -74,10 +129,6 @@ G4Curve* G4Ellipse::Project(const G4Transform3D& tr) return r; } - -G4Ellipse::~G4Ellipse(){} - - void G4Ellipse::InitBounded() { // original implementation diff --git a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc index 57dd1f0e08..96fff7dd9b 100644 --- a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc @@ -5,34 +5,33 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FConicalSurface.cc,v 1.9 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FConicalSurface.cc,v 1.14 2000/11/20 17:54:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/geometry/G4FConicalSurface.cc,v 1.2 1993/02/05 00:38:39 alanb Exp */ -// File: G4FConicalSurface.cc -// Author: Alan Breakstone - -// Contents ---------------------------------------------------------- +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// G4FConicalSurface::G4FConicalSurface( const G4Point3D& o, -// const G4Vector3D& a, -// G4double l, G4double sr, G4double lr ) -// G4FConicalSurface::G4FConicalSurface( const G4FConicalSurface& c ) -// G4FConicalSurface::PrintOn( G4std::ostream& os ) const -// G4FConicalSurface::operator==( const G4FConicalSurface& c ) -// G4FConicalSurface::WithinBoundary( const G4Vector3D& x ) const -// G4FConicalSurface::Scale() const -// G4FConicalSurface::Area() const -// G4FConicalSurface::resize( G4double l, G4double sr, G4double lr ) +// G4FConicalSurface.cc // -// End --------------------------------------------------------------- - +// ---------------------------------------------------------------------- #include "G4FConicalSurface.hh" #include "G4Sort.hh" #include "G4CircularCurve.hh" +G4FConicalSurface::G4FConicalSurface() +{ + length = 1.0; + small_radius = 0.0; + large_radius = 1.0; + tan_angle = (large_radius-small_radius)/length; +} + +G4FConicalSurface::~G4FConicalSurface() +{ +} + G4FConicalSurface::G4FConicalSurface(const G4Point3D& o, const G4Vector3D& a, G4double l, @@ -92,27 +91,20 @@ G4FConicalSurface::G4FConicalSurface(const G4Point3D& o, } -G4FConicalSurface::G4FConicalSurface( const G4FConicalSurface& c ) - //: G4ConicalSurface( c.origin, c.GetAxis(), c.GetAngle() ) -{ - // copy constructor - small_radius = c.small_radius; - large_radius = c.large_radius; - length = c.length; - tan_angle = c.tan_angle; +const char* G4FConicalSurface::Name() const +{ + return "G4FConicalSurface"; } - // Modified by L. Broglia (01/12/98) void G4FConicalSurface::CalcBBox() { - G4Point3D Max = -PINFINITY; - G4Point3D Min = PINFINITY; + G4Point3D Max = G4Point3D(-PINFINITY); + G4Point3D Min = G4Point3D( PINFINITY); G4Point3D Tmp; - G4double delta = small_radius / tan_angle; G4Point3D Origin = Position.GetLocation(); - G4Point3D EndOrigin = Origin + (length * Position.GetAxis()); + G4Point3D EndOrigin = G4Point3D( Origin + (length * Position.GetAxis()) ); G4double radius = large_radius; G4Point3D Radius(radius, radius, 0); @@ -150,7 +142,7 @@ void G4FConicalSurface::PrintOn( G4std::ostream& os ) const } -int G4FConicalSurface::operator==( const G4FConicalSurface& c ) +G4int G4FConicalSurface::operator==( const G4FConicalSurface& c ) const { return ( origin == c.origin && Position.GetAxis() == c.Position.GetAxis() && @@ -161,11 +153,11 @@ int G4FConicalSurface::operator==( const G4FConicalSurface& c ) } -int G4FConicalSurface::WithinBoundary( const G4Vector3D& x ) const +G4int G4FConicalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is within the boundaries of the G4FConicalSurface // return 0 otherwise (assume it is on the G4ConicalSurface) - G4Vector3D q = x - origin; + G4Vector3D q = G4Vector3D( x - origin ); G4double qmag = q.mag(); G4double s = sin( atan2(large_radius-small_radius, length) ); @@ -249,7 +241,7 @@ void G4FConicalSurface::resize( G4double l, G4double sr, G4double lr ) } -int G4FConicalSurface::Intersect(const G4Ray& ry ) +G4int G4FConicalSurface::Intersect(const G4Ray& ry ) { // This function count the number of intersections of a // bounded conical surface by a ray. @@ -279,7 +271,7 @@ int G4FConicalSurface::Intersect(const G4Ray& ry ) s[1]=-1.0; // calculate the two intersections (quadratic equation) - G4Vector3D gamma = x - Position.GetLocation(); + G4Vector3D gamma = G4Vector3D( x - Position.GetLocation() ); G4double t = 1 + ta * ta; G4double ga = gamma * ahat; @@ -305,8 +297,8 @@ int G4FConicalSurface::Intersect(const G4Ray& ry ) // validity of the solutions // the hit point must be into the bounding box of the conical surface - G4Point3D p0 = x + s[0]*dhat; - G4Point3D p1 = x + s[1]*dhat; + G4Point3D p0 = G4Point3D( x + s[0]*dhat ); + G4Point3D p1 = G4Point3D( x + s[1]*dhat ); if( !GetBBox()->Inside(p0) ) s[0] = kInfinity; @@ -374,7 +366,7 @@ G4Vector3D G4FConicalSurface::SurfaceNormal( const G4Point3D& p ) const { // return the Normal unit vector to the G4ConicalSurface at a point p // on (or nearly on) the G4ConicalSurface - G4Vector3D s = p - origin; + G4Vector3D s = G4Vector3D( p - origin ); G4double da = s * Position.GetAxis(); G4double r = sqrt( s*s - da*da); G4double z = tan_angle * r; @@ -391,7 +383,7 @@ G4Vector3D G4FConicalSurface::SurfaceNormal( const G4Point3D& p ) const return n; } -int G4FConicalSurface::Inside ( const G4Vector3D& x ) const +G4int G4FConicalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4ConicalSurface, 1 if Inside. if ( HowNear( x ) >= -0.5*kCarTolerance ) diff --git a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc index c7d53d0482..05ea106e25 100644 --- a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc @@ -5,35 +5,35 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FCylindricalSurface.cc,v 1.9 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FCylindricalSurface.cc,v 1.11 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* /usr/local/gismo/repo/geometry/FG4Cylinder.cc,v 1.1 1992/10/27 22:02:29 alanb Exp */ -// File: FG4Cylinder.cc -// Author: Alan Breakstone - -// Contents ---------------------------------------------------------- +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// FG4Cylinder::FG4Cylinder( const G4Point3D& o, const G4ThreeVec& a, -// G4double r, G4double l ) -// FG4Cylinder::FG4Cylinder( const FG4Cylinder& c ) -// FG4Cylinder::PrintOn( G4std::ostream& os ) const -// FG4Cylinder::operator==( const FG4Cylinder& c ) -// FG4Cylinder::WithinBoundary( const G4ThreeVec& x ) const -// FG4Cylinder::Scale() const -// FG4Cylinder::resize( G4double r, G4double l ) +// G4FCylindricalSurface.cc // -// End --------------------------------------------------------------- +// ---------------------------------------------------------------------- #include "G4FCylindricalSurface.hh" #include "G4Sort.hh" +G4FCylindricalSurface::G4FCylindricalSurface() + : length(1.) +{ +} + + +G4FCylindricalSurface::~G4FCylindricalSurface() +{ +} + G4FCylindricalSurface::G4FCylindricalSurface( const G4Point3D& o, const G4Vector3D& a, - const G4double r, - const G4double l + G4double r, + G4double l ) { // make a G4FCylindricalSurface with origin o, axis a, @@ -70,13 +70,12 @@ G4FCylindricalSurface::G4FCylindricalSurface( const G4Point3D& o, } -// copy constructor -G4FCylindricalSurface::G4FCylindricalSurface( const G4FCylindricalSurface& c ) -{ - length = c.length; +const char* G4FCylindricalSurface::NameOf() const +{ + return "G4FCylindricalSurface"; } -// printing function using C++ G4std::ostream class + void G4FCylindricalSurface::PrintOn( G4std::ostream& os ) const { os << "G4FCylindricalSurface with origin: " << origin << "\t" @@ -86,13 +85,9 @@ void G4FCylindricalSurface::PrintOn( G4std::ostream& os ) const } -int G4FCylindricalSurface::operator==( const G4FCylindricalSurface& c ) +G4double G4FCylindricalSurface::Area() const { -/* return ( origin == c.origin && - axis == c.axis && - radius == c.radius && - length == c.length );*/ - return 1; + return ( 2.0 * M_PI * radius * length ); } @@ -104,12 +99,12 @@ void G4FCylindricalSurface::CalcBBox() // calculates the bounds for a bounding box // to the surface. The bounding box is used // for a preliminary check of intersection. - G4Point3D Max = -PINFINITY; - G4Point3D Min = PINFINITY; + G4Point3D Max = G4Point3D(-PINFINITY); + G4Point3D Min = G4Point3D( PINFINITY); G4Point3D Tmp; G4Point3D Origin = Position.GetLocation(); - G4Point3D EndOrigin = Origin + (length*Position.GetAxis()); + G4Point3D EndOrigin = G4Point3D( Origin + (length*Position.GetAxis()) ); G4Point3D Radius(radius, radius, 0); // Default BBox @@ -135,7 +130,7 @@ void G4FCylindricalSurface::CalcBBox() } -int G4FCylindricalSurface::Intersect( const G4Ray& ry ) +G4int G4FCylindricalSurface::Intersect( const G4Ray& ry ) { // This function count the number of intersections of a // bounded cylindrical surface by a ray. @@ -165,7 +160,7 @@ int G4FCylindricalSurface::Intersect( const G4Ray& ry ) s[1]=-1.0; // calculate the two intersections (quadratic equation) - G4Vector3D gamma = x - Position.GetLocation(); + G4Vector3D gamma = G4Vector3D( x - Position.GetLocation() ); G4double ga = gamma * ahat; G4double da = dhat * ahat; @@ -188,8 +183,8 @@ int G4FCylindricalSurface::Intersect( const G4Ray& ry ) // validity of the solutions // the hit point must be into the bounding box of the cylindrical surface - G4Point3D p0 = x + s[0]*dhat; - G4Point3D p1 = x + s[1]*dhat; + G4Point3D p0 = G4Point3D( x + s[0]*dhat ); + G4Point3D p1 = G4Point3D( x + s[1]*dhat ); if( !GetBBox()->Inside(p0) ) s[0] = kInfinity; @@ -245,11 +240,12 @@ G4double G4FCylindricalSurface::HowNear( const G4Vector3D& x ) const return hownear; } -int G4FCylindricalSurface::WithinBoundary( const G4Vector3D& x ) const +G4int G4FCylindricalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is within the boundaries of the G4FCylindricalSurface // return 0 otherwise (assume it is on the cylinder) - if ( fabs( ( x - Position.GetLocation()) * Position.GetAxis() ) <= 0.5 * length ) + if ( fabs( ( x - Position.GetLocation()) * Position.GetAxis() ) + <= 0.5 * length ) return 1; else return 0; @@ -258,8 +254,8 @@ int G4FCylindricalSurface::WithinBoundary( const G4Vector3D& x ) const G4double G4FCylindricalSurface::Scale() const { - // Returns the radius of a G4FCylindricalSurface unless it is zero, in which - // case returns the length. + // Returns the radius of a G4FCylindricalSurface unless it is zero, + // in which case returns the length. // Used for Scale-invariant tests of surface thickness. if ( radius == 0.0 ) return length; @@ -273,8 +269,9 @@ G4Vector3D G4FCylindricalSurface::SurfaceNormal( const G4Point3D& p ) const // return the Normal unit vector to the G4CylindricalSurface at a point // p on (or nearly on) the G4CylindricalSurface - G4Vector3D n = ( p - Position.GetLocation() ) - - ( ( p - Position.GetLocation()) * Position.GetAxis() ) *Position.GetAxis(); + G4Vector3D n = G4Vector3D( ( p - Position.GetLocation() ) - + ( ( p - Position.GetLocation()) * + Position.GetAxis() ) * Position.GetAxis() ); G4double nmag = n.mag(); if ( nmag != 0.0 ) @@ -286,7 +283,7 @@ G4Vector3D G4FCylindricalSurface::SurfaceNormal( const G4Point3D& p ) const return n; } -int G4FCylindricalSurface::Inside ( const G4Vector3D& x ) const +G4int G4FCylindricalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4CylindricalSurface, 1 if Inside. // Outside means that the distance to the G4CylindricalSurface would @@ -322,5 +319,3 @@ void G4FCylindricalSurface::resize( G4double r, G4double l ) << "\tOriginal value of " << length << " is retained.\n"; } } - - diff --git a/source/geometry/solids/BREPS/src/G4FPlane.cc b/source/geometry/solids/BREPS/src/G4FPlane.cc index 9dabe74a5f..0acac155fe 100644 --- a/source/geometry/solids/BREPS/src/G4FPlane.cc +++ b/source/geometry/solids/BREPS/src/G4FPlane.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FPlane.cc,v 1.7 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FPlane.cc,v 1.11 2000/11/20 17:54:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4FPlane.cc +// +// ---------------------------------------------------------------------- // Corrections by S.Giani: // - The constructor using iVec now properly stores both the internal and // external boundaries in the bounds vector. @@ -15,6 +21,7 @@ // - Addition of third argument (sense) in the second constructor to ensure // consistent setting of the normal in all the client code. // - Proper use of the tolerance in the Intersect function. +// ---------------------------------------------------------------------- #include "G4FPlane.hh" #include "G4CompositeCurve.hh" @@ -22,13 +29,14 @@ G4FPlane::G4FPlane( const G4Vector3D& direction, const G4Vector3D& axis , - const G4Point3D& Pt0 ):pplace(direction, axis, Pt0) + const G4Point3D& Pt0 ) + : pplace(direction, axis, Pt0) { - G4Point3D Pt1 = Pt0 + direction; + G4Point3D Pt1 = G4Point3D( Pt0 + direction ); // The plane include direction and axis is the normal, // so axis^direction is included in the plane - G4Point3D Pt2 = Pt0 + axis.cross(direction); + G4Point3D Pt2 = G4Point3D( Pt0 + axis.cross(direction) ); G4Ray::CalcPlane3Pts( Pl, Pt0, Pt1, Pt2 ); @@ -40,8 +48,9 @@ G4FPlane::G4FPlane( const G4Vector3D& direction, } -G4FPlane::G4FPlane(const G4Point3DVector* pVec, const G4Point3DVector* iVec, int -sense) +G4FPlane::G4FPlane(const G4Point3DVector* pVec, + const G4Point3DVector* iVec, + G4int sense) : pplace( (*pVec)[0]-(*pVec)[1], // direction ((*pVec)[pVec->length()-1]-(*pVec)[0]) .cross((*pVec)[0]-(*pVec)[1]), // axis @@ -61,7 +70,7 @@ sense) polygon= new G4CompositeCurve(*pVec); - for (G4int i=0; i< polygon->GetSegments().length(); i++) + for (size_t i=0; i< polygon->GetSegments().length(); i++) polygon->GetSegments()[i]->SetSameSense(sameSense); bounds.insert(polygon); @@ -72,7 +81,7 @@ sense) { polygon= new G4CompositeCurve(*iVec); - for (G4int i=0; i< polygon->GetSegments().length(); i++) + for (size_t i=0; i< polygon->GetSegments().length(); i++) polygon->GetSegments()[i]->SetSameSense(sameSense); bounds.insert(polygon); @@ -80,7 +89,7 @@ sense) // Set sense for boundaries - for (G4int j=0; j< bounds.length(); j++) + for (size_t j=0; j< bounds.length(); j++) bounds[j]->SetSameSense(sameSense); @@ -93,6 +102,12 @@ sense) } +G4FPlane::~G4FPlane() +{ + delete NormalX; +} + + void G4FPlane::CalcBBox() { // This is needed since the bounds are used for the Solid @@ -158,8 +173,8 @@ void G4FPlane::CalcNormal() void G4FPlane::Project() { // Project - const G4Plane& Plane1 = NormalX->GetPlane(1); - const G4Plane& Plane2 = NormalX->GetPlane(2); + // const G4Plane& Plane1 = NormalX->GetPlane(1); + // const G4Plane& Plane2 = NormalX->GetPlane(2); // probably not necessary // projections of the boundary should be handled by the intersection @@ -167,13 +182,13 @@ void G4FPlane::Project() } -int G4FPlane::IsConvex() +G4int G4FPlane::IsConvex() const { return -1; } -int G4FPlane::Intersect(const G4Ray& rayref) +G4int G4FPlane::Intersect(const G4Ray& rayref) { // This function count the number of intersections of a // bounded surface by a ray. @@ -246,7 +261,7 @@ int G4FPlane::Intersect(const G4Ray& rayref) { // no hit active=0; - Distance(kInfinity); + SetDistance(kInfinity); return 0; } else @@ -254,7 +269,7 @@ int G4FPlane::Intersect(const G4Ray& rayref) // calculate the squared distance from the point to the intersection // and set it in the distance data member (all clients know they have // to take the sqrt) - Distance( RayStart.distance2(closest_hit) ); + SetDistance( RayStart.distance2(closest_hit) ); // now, we have to verify that the hit point founded // is included into the G4FPlane boundaries @@ -280,7 +295,7 @@ int G4FPlane::Intersect(const G4Ray& rayref) if(distance <= kCarTolerance*0.5*kCarTolerance*0.5) { // the point is on the surface, set the distance to 0 - Distance(0); + SetDistance(0); } else { @@ -294,7 +309,7 @@ int G4FPlane::Intersect(const G4Ray& rayref) // the intersection point is out the boundaries // it is not a real intersection active=0; - Distance(kInfinity); + SetDistance(kInfinity); return 0; } } @@ -326,5 +341,3 @@ G4double G4FPlane::HowNear( const G4Vector3D& Pt ) const return hownear; } - - diff --git a/source/geometry/solids/BREPS/src/G4Hyperbola.cc b/source/geometry/solids/BREPS/src/G4Hyperbola.cc index 2569e2787f..73d2a6ce6d 100644 --- a/source/geometry/solids/BREPS/src/G4Hyperbola.cc +++ b/source/geometry/solids/BREPS/src/G4Hyperbola.cc @@ -5,13 +5,72 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Hyperbola.cc,v 1.2 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Hyperbola.cc,v 1.5 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Hyperbola.cc +// +// ---------------------------------------------------------------------- #include "G4Hyperbola.hh" +#include "G4CurvePoint.hh" -G4Hyperbola::G4Hyperbola(){} +G4Hyperbola::G4Hyperbola() +{ +} + +G4Hyperbola::~G4Hyperbola() +{ +} + +G4Hyperbola::G4Hyperbola(const G4Hyperbola& right) + : Focus1(right.Focus1), Focus2(right.Focus2), + ProjFocus1(right.ProjFocus1), ProjFocus2(right.ProjFocus2), + semiAxis(right.semiAxis), semiImagAxis(right.semiImagAxis), + ratioAxisImagAxis(right.ratioAxisImagAxis), + toUnitHyperbola(right.toUnitHyperbola), forTangent(right.forTangent) +{ + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4Hyperbola& G4Hyperbola::operator=(const G4Hyperbola& right) +{ + if (&right == this) return *this; + + Focus1 = right.Focus1; + Focus2 = right.Focus2; + ProjFocus1 = right.ProjFocus1; + ProjFocus2 = right.ProjFocus2; + semiAxis = right.semiAxis; + semiImagAxis = right.semiImagAxis; + ratioAxisImagAxis = right.ratioAxisImagAxis; + toUnitHyperbola = right.toUnitHyperbola; + forTangent = right.forTangent; + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} G4Curve* G4Hyperbola::Project(const G4Transform3D& tr) { @@ -36,8 +95,8 @@ G4Curve* G4Hyperbola::Project(const G4Transform3D& tr) G4Vector3D yPrime = tr*position.GetPY(); yPrime.setZ(0); - G4Vector3D a = semiAxis*xPrime; - G4Vector3D b = semiImagAxis*yPrime; + G4Vector3D a = G4Vector3D( semiAxis*xPrime ); + G4Vector3D b = G4Vector3D( semiImagAxis*yPrime ); G4double xval = -2*a*b/(a.mag2()+b.mag2()); @@ -48,10 +107,10 @@ G4Curve* G4Hyperbola::Project(const G4Transform3D& tr) #endif // get the coordinate axis directions and the semiaxis lengths - G4Vector3D sAxis= a*cosh(u)+b*sinh(u); + G4Vector3D sAxis= G4Vector3D( a*cosh(u)+b*sinh(u) ); //!!!!!!!!!!!! - G4Vector3D sImagAxis= a*cosh(u+pi/2)+b*sinh(u+pi/2); + G4Vector3D sImagAxis= G4Vector3D( a*cosh(u+pi/2)+b*sinh(u+pi/2) ); //!!!!!!!!!!!! G4double newSemiAxis = sAxis.mag(); @@ -107,10 +166,6 @@ void G4Hyperbola::InitBounded() } } - -G4Hyperbola::~G4Hyperbola(){} - - G4bool G4Hyperbola::Tangent(G4CurvePoint& cp, G4Vector3D& v) { // The tangent is computed from the 3D point representation @@ -125,4 +180,3 @@ G4bool G4Hyperbola::Tangent(G4CurvePoint& cp, G4Vector3D& v) return true; } - diff --git a/source/geometry/solids/BREPS/src/G4KnotVector.cc b/source/geometry/solids/BREPS/src/G4KnotVector.cc index 565ff03194..4594011aeb 100644 --- a/source/geometry/solids/BREPS/src/G4KnotVector.cc +++ b/source/geometry/solids/BREPS/src/G4KnotVector.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4KnotVector.cc,v 1.2 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4KnotVector.cc,v 1.5 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4KnotVector.cc +// +// ---------------------------------------------------------------------- #include "G4KnotVector.hh" @@ -16,37 +22,55 @@ G4KnotVector::G4KnotVector() knots=(G4double*)0; } -G4KnotVector::G4KnotVector(const int sz) +G4KnotVector::G4KnotVector(G4int sz) { k_size=sz; knots = new G4double[k_size]; - for(int a=0;a ( knt = knots[k_size - order + 1])) + knt = knots[k_size - order + 1]; + if ( k_value > knt ) if (ApxEq( k_value, knt)) k_value = knt; else @@ -69,16 +93,16 @@ int G4KnotVector::GetKnotIndex(G4double k_value,const int order) } -G4KnotVector* G4KnotVector::MultiplyKnotVector(const int num, - const G4double val) +G4KnotVector* G4KnotVector::MultiplyKnotVector(G4int num, + G4double val) { - int n; + G4int n; G4double* knots_to_add; n = CheckKnotVector( val ); knots_to_add = new G4double[num-n]; - for (int i = 0; i < num - n; i++) + for (G4int i = 0; i < num - n; i++) knots_to_add[i] = val; G4KnotVector* new_kv = new G4KnotVector(); @@ -92,13 +116,13 @@ G4KnotVector* G4KnotVector::MultiplyKnotVector(const int num, G4double* G4KnotVector::MergeKnotVector(const G4double* knots_to_add, - const int add_size ) + G4int add_size ) { G4double *newknots; - int kv1_ptr = 0, - kv2_ptr = 0, - newptr; - int old_size = k_size; + G4int kv1_ptr = 0, + kv2_ptr = 0, + newptr; + G4int old_size = k_size; newknots = new G4double[k_size + add_size]; @@ -116,11 +140,11 @@ G4double* G4KnotVector::MergeKnotVector(const G4double* knots_to_add, } -int G4KnotVector::CheckKnotVector(const G4double val) +G4int G4KnotVector::CheckKnotVector(G4double val) const { - int num = 0; + G4int num = 0; - for ( int i = 0; i < k_size; i++) + for ( G4int i = 0; i < k_size; i++) { // if ( abs(val - knots[i]) < kCarTolerance) if ( val == knots[i] ) @@ -132,14 +156,12 @@ int G4KnotVector::CheckKnotVector(const G4double val) void G4KnotVector::ExtractKnotVector( G4KnotVector* kv, - const int upper,const int lower) + G4int upper, G4int lower) { delete[] kv->knots; kv->k_size = upper-lower; kv->knots = new G4double[kv->k_size]; - for ( int i = lower; i < upper; i++) + for ( G4int i = lower; i < upper; i++) kv->knots[i-lower] = knots[i]; } - - diff --git a/source/geometry/solids/BREPS/src/G4Line.cc b/source/geometry/solids/BREPS/src/G4Line.cc index 867de6b7f4..068b389f90 100644 --- a/source/geometry/solids/BREPS/src/G4Line.cc +++ b/source/geometry/solids/BREPS/src/G4Line.cc @@ -5,14 +5,54 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Line.cc,v 1.4 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Line.cc,v 1.6 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Line.cc +// +// ---------------------------------------------------------------------- + #include "G4Line.hh" G4Line::G4Line (){} G4Line::~G4Line (){} +G4Line::G4Line(const G4Line& right) + : pnt(right.pnt), dir(right.dir), invDir(right.invDir), v(right.v) +{ + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4Line& G4Line::operator=(const G4Line& right) +{ + if (&right == this) return *this; + + pnt = right.pnt; + dir = right.dir; + invDir = right.invDir; + v = right.v; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} + G4Curve* G4Line::Project(const G4Transform3D& tr) { G4Vector3D newDir= tr*dir; @@ -49,4 +89,3 @@ G4bool G4Line::Tangent(G4CurvePoint& cp, G4Vector3D& vec) return true; } - diff --git a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc index 6bc1f951d7..222cf1c08f 100644 --- a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc +++ b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc @@ -5,21 +5,45 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4OsloMatrix.cc,v 1.2 1999/12/15 14:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4OsloMatrix.cc,v 1.4 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4OsloMatrix.cc +// +// ---------------------------------------------------------------------- #include "G4OsloMatrix.hh" +G4OsloMatrix::G4OsloMatrix() +{ + o_vec = (G4KnotVector*)0; + next = (G4OsloMatrix*)0; +} -Matrix::Matrix() +G4OsloMatrix::G4OsloMatrix(G4int vec_size, G4int offsetparam, G4int osizeparam) +{ + next = (G4OsloMatrix*)0; + o_vec = new G4KnotVector(vec_size); + offset = offsetparam; + osize = osizeparam; +} + +G4OsloMatrix::~G4OsloMatrix() +{ + delete o_vec; +} + +G4PointMatrix::G4PointMatrix() { nr=nc=0; data=0; } -Matrix::Matrix(int rows, int columns) +G4PointMatrix::G4PointMatrix(int rows, int columns) { nr=rows; nc=columns; @@ -30,7 +54,7 @@ Matrix::Matrix(int rows, int columns) } -Matrix::Matrix(G4double vec[]) +G4PointMatrix::G4PointMatrix(G4double vec[]) { nr = 4; nc = 4; @@ -40,5 +64,5 @@ Matrix::Matrix(G4double vec[]) data[a]=vec[a]; } -Matrix::~Matrix(){;} +G4PointMatrix::~G4PointMatrix(){;} diff --git a/source/geometry/solids/BREPS/src/G4Parabola.cc b/source/geometry/solids/BREPS/src/G4Parabola.cc index 9cda593341..b597a09dbf 100644 --- a/source/geometry/solids/BREPS/src/G4Parabola.cc +++ b/source/geometry/solids/BREPS/src/G4Parabola.cc @@ -5,14 +5,58 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Parabola.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Parabola.cc,v 1.4 2000/11/08 14:22:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Parabola.cc +// +// ---------------------------------------------------------------------- + #include "G4Parabola.hh" +#include "G4CurvePoint.hh" G4Parabola::G4Parabola(){} G4Parabola::~G4Parabola(){} +G4Parabola::G4Parabola(const G4Parabola& right) + : focalDist(right.focalDist), F(right.F), L0(right.L0) +{ + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; +} + +G4Parabola& G4Parabola::operator=(const G4Parabola& right) +{ + if (&right == this) return *this; + + F = right.F; + L0 = right.L0; + focalDist = right.focalDist; + pShift = right.pShift; + position = right.position; + bBox = right.bBox; + start = right.start; + end = right.end; + pStart = right.pStart; + pEnd = right.pEnd; + pRange = right.pRange; + bounded = right.bounded; + sameSense = right.sameSense; + + return *this; +} + G4Curve* G4Parabola::Project(const G4Transform3D& tr) { G4double axisZ= (tr*position.GetPZ()).unit().z(); @@ -29,9 +73,8 @@ G4Curve* G4Parabola::Project(const G4Transform3D& tr) yPrime.setZ(0); G4double u= -(xPrime*yPrime)/xPrime.mag2(); - G4Point3D newLocation= tr*position.GetLocation()+ - focalDist*(u*u*xPrime+2*u*yPrime); - + G4Point3D newLocation= G4Point3D( tr*position.GetLocation()+ + focalDist*(u*u*xPrime+2*u*yPrime) ); newLocation.setZ(0); G4Vector3D newRefDirection= xPrime; G4double newFocalDist= (focalDist*((2*u+1)*xPrime+2*yPrime)).mag()/sqrt(5.); @@ -89,4 +132,3 @@ G4bool G4Parabola::Tangent(G4CurvePoint& cp, G4Vector3D& v) v= p.y()*pos.GetPX() + (2*focalDist)*pos.GetPY(); return true; } - diff --git a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc index 4651537c1e..3555c3906b 100644 --- a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc +++ b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc @@ -5,9 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PlacedSolid.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PlacedSolid.cc,v 1.3 2000/08/28 08:57:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4PlacedSolid.cc +// +// ---------------------------------------------------------------------- + #include "G4PlacedSolid.hh" G4PlacedSolid::G4PlacedSolid() @@ -50,7 +57,7 @@ G4PlacedSolid::G4PlacedSolid(G4BREPSolid* s, G4Axis2Placement3D* p) z = tmpvec.z(); G4ThreeVector y_axis(x,y,z); - solidRotation = new HepRotation(); + solidRotation = new G4RotationMatrix(); solidRotation->rotateAxes(x_axis, y_axis, x_axis.cross(y_axis)); } } @@ -71,6 +78,3 @@ G4PlacedSolid::~G4PlacedSolid() if(solidTranslation) delete solidTranslation; } - - - diff --git a/source/geometry/solids/BREPS/src/G4PointRat.cc b/source/geometry/solids/BREPS/src/G4PointRat.cc index dd1b26bf37..fccc232ee5 100644 --- a/source/geometry/solids/BREPS/src/G4PointRat.cc +++ b/source/geometry/solids/BREPS/src/G4PointRat.cc @@ -5,32 +5,46 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointRat.cc,v 1.3 2000/01/21 13:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointRat.cc,v 1.4 2000/08/28 08:57:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// Modif 8 oct 98 : A.Floquet -// G4PointRat datas are made of -// . a point 3D -// . a additional value : the scale factor which is set to 1 by default +// G4PointRat.cc // +// ---------------------------------------------------------------------- #include "G4PointRat.hh" -G4PointRat::G4PointRat():pt3d(){s=1;} +G4PointRat::G4PointRat() + : pt3d(), s(1) +{ +} -G4PointRat::G4PointRat(const G4Point3D& tmp):pt3d(tmp){s=1;} +G4PointRat::G4PointRat(const G4Point3D& tmp) + : pt3d(tmp), s(1) +{ +} -G4PointRat::~G4PointRat(){} +G4PointRat::~G4PointRat() +{ +} -void G4PointRat::operator=(const G4PointRat& a) -{ pt3d.setX(a.x()); +G4PointRat& G4PointRat::operator=(const G4PointRat& a) +{ + pt3d.setX(a.x()); pt3d.setY(a.y()); pt3d.setZ(a.z()); s=a.w(); + + return *this; } -void G4PointRat::operator=(const G4Point3D& a) -{ pt3d = a; +G4PointRat& G4PointRat::operator=(const G4Point3D& a) +{ + pt3d = a; s=1; + + return *this; } diff --git a/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc b/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc index 2e57b31305..ae8b77f85b 100644 --- a/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc @@ -5,12 +5,26 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ProjectedSurface.cc,v 1.3 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ProjectedSurface.cc,v 1.6 2000/11/20 17:54:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4ProjectedSurface.cc +// +// ---------------------------------------------------------------------- + #include "G4ProjectedSurface.hh" -int G4ProjectedSurface::Splits=0; +G4int G4ProjectedSurface::Splits=0; + +G4ProjectedSurface::G4ProjectedSurface() +{ + distance = 0; + oslo_m =(G4OsloMatrix*)0; +} + G4ProjectedSurface::~G4ProjectedSurface() { @@ -21,10 +35,10 @@ G4ProjectedSurface::~G4ProjectedSurface() G4OsloMatrix* temp_oslo; if(oslo_m!=(G4OsloMatrix*)0) { - while(oslo_m->next != oslo_m) + while(oslo_m->GetNextNode() != oslo_m) { temp_oslo = oslo_m; - oslo_m = oslo_m->next; + oslo_m = oslo_m->GetNextNode(); delete temp_oslo; } @@ -35,40 +49,17 @@ G4ProjectedSurface::~G4ProjectedSurface() delete bbox; } - -G4ProjectedSurface::G4ProjectedSurface() +G4ProjectedSurface::G4ProjectedSurface(const G4ProjectedSurface&) { - distance = 0; - oslo_m =(G4OsloMatrix*)0; } - -G4ProjectedSurface::G4ProjectedSurface(const G4ProjectedSurface &tmp) -{ - distance = tmp.distance; - oslo_m =(G4OsloMatrix*)0; - - // next=this; - - order[0] = tmp.order[0]; - order[1] = tmp.order[1]; - dir = tmp.dir; - - u_knots = new G4KnotVector(*tmp.u_knots); - v_knots = new G4KnotVector(*tmp.v_knots); - - ctl_points = new G4ControlPoints(*tmp.ctl_points); - bbox = new G4BoundingBox3D(); -} - - void G4ProjectedSurface::CopySurface() // Copies the projected surface into a bezier surface // and adds it to the List of bezier surfaces. { G4BezierSurface *bez = new G4BezierSurface(); - bez->Distance(distance); + bez->SetDistance(distance); bez->PutOrder(0, order[0]); bez->PutOrder(1, order[1]); bez->Dir(dir); @@ -99,8 +90,8 @@ void G4ProjectedSurface::CalcBBox() bminx = box_minx; bminy = box_miny; bmaxx = box_maxx; bmaxy = box_maxy; - for(register int a = ctl_points->GetRows()-1; a>=0;a--) - for(register int b = ctl_points->GetCols()-1; b>=0;b--) + for(register G4int a = ctl_points->GetRows()-1; a>=0;a--) + for(register G4int b = ctl_points->GetCols()-1; b>=0;b--) { /* L. Broglia G4Point2d& tmp = (G4Point2d&)ctl_points->get(a,b); @@ -238,7 +229,7 @@ void G4ProjectedSurface::ConvertToBezier(G4SurfaceList& proj_list, } -int G4ProjectedSurface::CheckBezier() +G4int G4ProjectedSurface::CheckBezier() { // Checks if the surface is a bezier surface by // checking wether internal knots exist. If no internal @@ -264,10 +255,10 @@ void G4ProjectedSurface::SplitNURBSurface() // G4cout << "\nProjected splitted."; register G4double value; - register int i; - register int k_index; + register G4int i; + register G4int k_index=0; register G4ProjectedSurface *srf1, *srf2; - register int nr,nc; + register G4int nr,nc; if ( dir == ROW ) { @@ -386,8 +377,8 @@ void G4ProjectedSurface::SplitNURBSurface() } // Check that surfaces are ok. - int col_size = srf1->ctl_points->GetCols(); - int row_size = srf1->ctl_points->GetRows(); + G4int col_size = srf1->ctl_points->GetCols(); + G4int row_size = srf1->ctl_points->GetRows(); /* L. Broglia // get three cornerpoints of the controlpoint mesh. @@ -459,12 +450,12 @@ void G4ProjectedSurface::CalcOsloMatrix() register G4KnotVector *ah; static G4KnotVector *newknots; - register int i; - register int j; - register int mu, muprim; - register int v, p; - register int iu, il, ih, n1; - register int ahi; + register G4int i; + register G4int j; + register G4int mu, muprim; + register G4int v, p; + register G4int iu, il, ih, n1; + register G4int ahi; register G4double beta1; register G4double tj; @@ -478,9 +469,9 @@ void G4ProjectedSurface::CalcOsloMatrix() if(oslo_m!=(G4OsloMatrix*)0) { G4OsloMatrix* tmp; - while(oslo_m!=oslo_m->next) + while(oslo_m!=oslo_m->GetNextNode()) { - tmp=oslo_m->next; + tmp=oslo_m->GetNextNode(); delete oslo_m; oslo_m=tmp; } @@ -502,8 +493,8 @@ void G4ProjectedSurface::CalcOsloMatrix() { if ( j != 0 ) { - oslo_m->next = new G4OsloMatrix(); - oslo_m = oslo_m->next; + oslo_m->SetNextNode(new G4OsloMatrix()); + oslo_m = oslo_m->GetNextNode(); } //while (old_knots->GetKnot(mu + 1) <= new_knots->GetKnot(j)) @@ -583,35 +574,23 @@ void G4ProjectedSurface::CalcOsloMatrix() } } - delete oslo_m->o_vec; - oslo_m->o_vec = new G4KnotVector(v+1); - oslo_m->offset = Amax(muprim - v, 0); - oslo_m->osize = v; + delete oslo_m->GetKnotVector(); + oslo_m->SetKnotVector(new G4KnotVector(v+1)); + oslo_m->SetOffset(Amax(muprim - v, 0)); + oslo_m->SetSize(v); for ( i = v, p = 0; i >= 0; i--) - oslo_m->o_vec->PutKnot ( p++, ah->GetKnot(AhIndex (v, (ord-1) - i,ord))); + oslo_m->GetKnotVector() + ->PutKnot( p++, ah->GetKnot(AhIndex (v, (ord-1) - i,ord)) ); } delete ah; delete newknots; - oslo_m->next = oslo_m; + oslo_m->SetNextNode(oslo_m); oslo_m = o_ptr; } - - - - - - - - - - - - - void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) { // This algorithm is described in the paper "Making the Oslo-algorithm @@ -630,56 +609,56 @@ void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) // as parameters the copying is not necessary. old_pts = new G4ControlPoints(*ctl_points); - register int j, // j loop - i; // oslo loop + register G4int j, // j loop + i; // oslo loop c_ptr = new_pts; - register int size; // The number of rows or columns, - // depending on processing order + register G4int size; // The number of rows or columns, + // depending on processing order if(!dir) size=new_pts->GetRows(); else size=new_pts->GetCols(); - for( register int a=0; anext); + for ( i = 0, o_ptr = oslo_m; i < lower; i++, o_ptr = o_ptr->GetNextNode()); else o_ptr = oslo_m; if(!dir)// Direction ROW { - for ( j = lower; j < upper; j++, o_ptr = o_ptr->next) + for ( j = lower; j < upper; j++, o_ptr = o_ptr->GetNextNode()) { register G4double o_scale; - register int x; + register G4int x; x=a; /* L. Broglia - register G4Point2d o_pts = (G4Point2d&)old_pts->get(x,o_ptr->offset); + register G4Point2d o_pts = (G4Point2d&)old_pts->get(x,o_ptr->GetOffset()); register G4Point2d tempc = (G4Point2d&)c_ptr->get(j/upper, (j)%upper-lower); */ - register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->offset); + register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); register G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); - o_scale = o_ptr->o_vec->GetKnot(0); + o_scale = o_ptr->GetKnotVector()->GetKnot(0); tempc.setX(o_pts.x() * o_scale); tempc.setY(o_pts.y() * o_scale); - for ( i = 1; i <= o_ptr->osize; i++) + for ( i = 1; i <= o_ptr->GetSize(); i++) { - o_scale = o_ptr->o_vec->GetKnot(i); + o_scale = o_ptr->GetKnotVector()->GetKnot(i); /* L. Broglia - o_pts = (G4Point2d&)old_pts->get(x,i+o_ptr->offset); + o_pts = (G4Point2d&)old_pts->get(x,i+o_ptr->GetOffset()); tempc.X(tempc.X() + o_scale * o_pts.X()); tempc.Y(tempc.Y() + o_scale * o_pts.Y()); */ - o_pts = old_pts->Get3D(x,i+o_ptr->offset); + o_pts = old_pts->Get3D(x,i+o_ptr->GetOffset()); tempc.setX(tempc.x() + o_scale * o_pts.x()); tempc.setY(tempc.y() + o_scale * o_pts.y()); } @@ -689,29 +668,29 @@ void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) } else // dir = COL { - for ( j = lower; j < upper; j++, o_ptr = o_ptr->next) + for ( j = lower; j < upper; j++, o_ptr = o_ptr->GetNextNode()) { register G4double o_scale; - register int x; + register G4int x; x=a; /* L.Broglia - register G4Point2d o_pts = (G4Point2d&)old_pts->get(o_ptr->offset,x); + register G4Point2d o_pts = (G4Point2d&)old_pts->get(o_ptr->GetOffset(),x); register G4Point2d tempc = (G4Point2d&)c_ptr->get((j)%upper-lower, j/upper); */ - register G4Point3D o_pts = old_pts->Get3D(o_ptr->offset,x); + register G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(),x); register G4Point3D tempc = c_ptr->Get3D((j)%upper-lower, j/upper); - o_scale = o_ptr->o_vec->GetKnot(0); + o_scale = o_ptr->GetKnotVector()->GetKnot(0); tempc.setX(o_pts.x() * o_scale); tempc.setY(o_pts.y() * o_scale); - for ( i = 1; i <= o_ptr->osize; i++) + for ( i = 1; i <= o_ptr->GetSize(); i++) { - o_scale = o_ptr->o_vec->GetKnot(i); - o_pts= old_pts->Get3D(i+o_ptr->offset,a); + o_scale = o_ptr->GetKnotVector()->GetKnot(i); + o_pts= old_pts->Get3D(i+o_ptr->GetOffset(),a); tempc.setX(tempc.x() + o_scale * o_pts.x()); tempc.setY(tempc.y() + o_scale * o_pts.y()); @@ -724,16 +703,3 @@ void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) delete old_pts; } - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4Ray.cc b/source/geometry/solids/BREPS/src/G4Ray.cc index c8b2e819a9..368ef65b64 100644 --- a/source/geometry/solids/BREPS/src/G4Ray.cc +++ b/source/geometry/solids/BREPS/src/G4Ray.cc @@ -5,37 +5,34 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Ray.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Ray.cc,v 1.5 2000/11/20 17:54:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Ray.cc +// +// ---------------------------------------------------------------------- + #include "G4Ray.hh" #include "G4PointRat.hh" - -/* -define in .icc -void G4Ray::SetStart(const G4Point3D& p) -{ - SetStart(G4Point3D(p.x(),p.y(),p.z())); -} - - -G4Ray::G4Ray(const G4Point3D& s, const G4Vector3D& d) +G4Ray::G4Ray() { - SetStart(s); - SetDir(G4Vector3D(d.x(),d.y(),d.z())); } - -void G4Ray::Init(const G4Point3D& s, const G4Vector3D& d) +G4Ray::G4Ray(const G4Point3D& start0, const G4Vector3D& dir0) { - SetStart(s); SetDir(G4Vector3D(d.x(),d.y(),d.z())); + Init(start0, dir0); } -*/ +G4Ray::~G4Ray() +{ +} -const G4Plane& G4Ray::GetPlane(const int number_of_plane)const +const G4Plane& G4Ray::GetPlane(G4int number_of_plane) const { if(number_of_plane==1) return plane2; @@ -55,7 +52,7 @@ void G4Ray::CreatePlanes() G4Point3D p1, p2, p3, p4; G4Vector3D dir1, dir2; - G4Vector3D invdir = PINFINITY ; + G4Vector3D invdir = G4Vector3D( PINFINITY ); if(!NearZero(RayDir.x(), SQRT_SMALL_FASTF)) invdir.setX(1.0 / RayDir.x()); @@ -79,10 +76,11 @@ void G4Ray::CreatePlanes() } -void G4Ray::MatVecOrtho(register G4Vector3D &out,register const G4Vector3D in ) +void G4Ray::MatVecOrtho(register G4Vector3D &out, + register const G4Vector3D in ) { register G4double f; - int i_Which; + G4int i_Which; if(NearZero(in.x(), 0.0001) && NearZero(in.y(), 0.0001) && NearZero(in.z(), 0.0001) ) @@ -151,23 +149,23 @@ void G4Ray::MatVecOrtho(register G4Vector3D &out,register const G4Vector3D in ) // This follows the outward-pointing Normal convention, and the // right-hand rule for cross products. // -// -// C -// * -// |\ -// | \ -// ^ N | \ -// | \ | \ -// | \ | \ -// |C-A \ | \ -// | \ | \ -// | \ | \ -// \| \ -// *---------* -// A B -// -----> -// B-A -// +/* + C + * + |\ + | \ + ^ N | \ + | \ | \ + | \ | \ + |C-A \ | \ + | \ | \ + | \ | \ + \| \ + *---------* + A B + -----> + B-A +*/ // If the points are given in the order A B C (eg, *counter*-clockwise), // then the outward pointing surface Normal N = (B-A) x (C-A). // @@ -180,10 +178,10 @@ void G4Ray::MatVecOrtho(register G4Vector3D &out,register const G4Vector3D in ) // G4Plane The G4Plane equation is stored here. -int G4Ray::CalcPlane3Pts(G4Plane &plane1, - const G4Point3D& a, - const G4Point3D& b, - const G4Point3D& c ) +G4int G4Ray::CalcPlane3Pts(G4Plane &plane1, + const G4Point3D& a, + const G4Point3D& b, + const G4Point3D& c ) { // Creates the two orthogonal planes which are needed in projecting the // surface into 2D. @@ -201,7 +199,8 @@ int G4Ray::CalcPlane3Pts(G4Plane &plane1, Vcross( plane1, B_A, C_A ); // Ensure unit length Normal - if( (mag = Magnitude(plane1)) <= SQRT_SMALL_FASTF ) + mag = Magnitude(plane1); + if( mag <= SQRT_SMALL_FASTF ) return(-1);// FAIL mag = 1/mag; @@ -230,24 +229,3 @@ void G4Ray::RayCheck() r_min = 0; r_max = 0; } - - - - - - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc b/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc index 0a4f23e8fe..d8cdc5aa5d 100644 --- a/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc +++ b/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc @@ -5,9 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RectangularTrimmedSurface.cc,v 1.3 2000/01/21 13:47:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RectangularTrimmedSurface.cc,v 1.5 2000/11/08 14:22:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4RectangularTrimmedSurface.cc +// +// ---------------------------------------------------------------------- #include "G4RectangularTrimmedSurface.hh" #include "G4FPlane.hh" @@ -15,21 +21,30 @@ #include "G4ToroidalSurface.hh" #include "G4SphericalSurface.hh" -G4RectangularTrimmedSurface::G4RectangularTrimmedSurface(){} +G4RectangularTrimmedSurface::G4RectangularTrimmedSurface() + : BasisSurface(0) +{ +} + G4RectangularTrimmedSurface::~G4RectangularTrimmedSurface() { - delete BasisSurface; + if (BasisSurface) delete BasisSurface; } +const char* G4RectangularTrimmedSurface::Name() const +{ + return "G4RectangularTrimmedSurface"; +} + void G4RectangularTrimmedSurface::CalcBBox() { BasisSurface->CalcBBox(); - bbox = BasisSurface->bbox; + bbox = BasisSurface->GetBBox(); } -int G4RectangularTrimmedSurface::Intersect(const G4Ray& Rayref) +G4int G4RectangularTrimmedSurface::Intersect(const G4Ray& Rayref) { if(BasisSurface->Intersect(Rayref)) { @@ -38,7 +53,7 @@ int G4RectangularTrimmedSurface::Intersect(const G4Ray& Rayref) if((TrimU1<=UHit)&&(TrimU2>=UHit)&&(TrimV1<=VHit)&&(TrimV2>=VHit)) { - closest_hit = BasisSurface->closest_hit; + closest_hit = BasisSurface->GetClosestHit(); return 1; } } diff --git a/source/geometry/solids/BREPS/src/G4Sort.cc b/source/geometry/solids/BREPS/src/G4Sort.cc index bf432b1fbd..6dda45cf98 100644 --- a/source/geometry/solids/BREPS/src/G4Sort.cc +++ b/source/geometry/solids/BREPS/src/G4Sort.cc @@ -5,28 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Sort.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Sort.cc,v 1.3 2000/08/28 08:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -// File: G4Sort.cc -// Author: Alan Breakstone +// ---------------------------------------------------------------------- +// GEANT 4 source file // -// Description -// -// Routines to G4Sort arrays of various kinds of numbers +// G4Sort.cc // +// ---------------------------------------------------------------------- #include "G4Sort.hh" -void G4Sort_double( G4double v[], int left, int right ) +void sort_double( G4double v[], G4int left, G4int right ) { // G4Sort elements in array from v[left] to v[right] // used recursively // algorithm comes from Kernighan and Ritchie, "The C Programming // Language", second edition, p.87 - int i, last; + G4int i, last; if ( left >= right ) // do nothing if array contains return; // fewer than two elements @@ -39,13 +38,13 @@ void G4Sort_double( G4double v[], int left, int right ) swap_double( v, left, last ); // restore partition element - G4Sort_double( v, left, last-1 ); - G4Sort_double( v, last+1, right ); + sort_double( v, left, last-1 ); + sort_double( v, last+1, right ); return; } -void swap_double( G4double v[], int i, int j ) +void swap_double( G4double v[], G4int i, G4int j ) { /* interchange elements i and j in an array */ G4double temp; @@ -53,7 +52,3 @@ void swap_double( G4double v[], int i, int j ) v[i] = v[j]; v[j] = temp; } - - - - diff --git a/source/geometry/solids/BREPS/src/G4SphericalSurface.cc b/source/geometry/solids/BREPS/src/G4SphericalSurface.cc index 63bb05f9dd..518053f7e6 100644 --- a/source/geometry/solids/BREPS/src/G4SphericalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4SphericalSurface.cc @@ -5,41 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SphericalSurface.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SphericalSurface.cc,v 1.4 2000/11/08 14:22:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* $Header: /private/Net/unixhub/u1/ea/liml/gismo/gismo-0.2/geometry/RCS/G4SphericalSurface.cc,v 1.10 1992/08 */ -// File: G4SphericalSurface.cc -// Author: Lorraine Lim -// Additional author: Alan Breakstone - -// Contents ---------------------------------------------------------- +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// G4SphericalSurface::G4SphericalSurface() -// G4SphericalSurface::G4SphericalSurface( const G4Vector3D& o, const G4Vector3D& xhat, -// const G4Vector3D& zhat, -// G4double r, G4double ph1, G4double ph2, -// G4double th1, G4double th2 ) -// G4SphericalSurface::PrintOn( G4std::ostream& os ) const -// G4SphericalSurface::HowNear( const G4Vector3D& x ) const -// G4SphericalSurface::distanceAlongRay( int which_way, const Ray* ry, -// G4Vector3D& p ) const -// G4SphericalSurface::distanceAlongHelix( int which_way, const Helix* hx, -// G4Vector3D& p ) const -// G4SphericalSurface::Normal( const G4Vector3D& p ) const -// G4SphericalSurface::Inside( const G4Vector3D& x ) const -// G4SphericalSurface::WithinBoundary( const G4Vector3D& x ) const -// G4SphericalSurface::Scale() const -// G4SphericalSurface::Area() const -// G4SphericalSurface::resize( G4double r, G4double ph1, G4double ph2, -// G4double th1, G4double th2 ) -// G4SphericalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, G4ThreeMat& m, int inverse ) -// G4SphericalSurface::rotate( G4double alpha, G4double beta, -// G4double gamma, int inverse ) -// G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const -// -// End --------------------------------------------------------------- +// G4SphericalSurface.cc +// +// ---------------------------------------------------------------------- #include "G4SphericalSurface.hh" @@ -162,6 +136,28 @@ G4SphericalSurface::G4SphericalSurface( const G4Vector3D& o, } +G4SphericalSurface::~G4SphericalSurface() +{ +} + +/* +G4SphericalSurface::G4SphericalSurface( const G4SphericalSurface& s ) + : G4Surface( s.origin ) +{ x_axis = s.x_axis; + z_axis = s.z_axis; + radius = s.radius; + phi_1 = s.phi_1; + phi_2 = s.phi_2; + theta_1 = s.theta_1; + theta_2 = s.theta_2; +} +*/ + +const char* G4SphericalSurface::NameOf() const +{ + return "G4SphericalSurface"; +} + void G4SphericalSurface::PrintOn( G4std::ostream& os ) const { // printing function using C++ G4std::ostream class @@ -181,18 +177,19 @@ G4double G4SphericalSurface::HowNear( const G4Vector3D& x ) const // Distance from the point x to the G4SphericalSurface. // The distance will be positive if the point is Inside the // G4SphericalSurface, negative if the point is outside. - G4Vector3D d = x - origin; + G4Vector3D d = G4Vector3D( x - origin ); G4double rad = d.mag(); return (radius - rad); } /* -G4double G4SphericalSurface::distanceAlongRay( int which_way, const G4Ray* ry, - G4Vector3D& p ) const +G4double G4SphericalSurface::distanceAlongRay( G4int which_way, + const G4Ray* ry, + G4Vector3D& p ) const { // Distance along a Ray (straight line with G4Vector3D) to leave or enter // a G4SphericalSurface. The input variable which_way should be set to +1 to - // indicate leaving a G4SphericalSurface, -1 to indicate entering a G4SphericalSurface. + // indicate leaving a G4SphericalSurface, -1 to indicate entering the surface. // p is the point of intersection of the Ray with the G4SphericalSurface. // If the G4Vector3D of the Ray is opposite to that of the Normal to // the G4SphericalSurface at the intersection point, it will not leave the @@ -212,7 +209,7 @@ G4double G4SphericalSurface::distanceAlongRay( int which_way, const G4Ray* ry, // Origin and G4Vector3D unit vector of Ray. G4Vector3D x = ry->Position( 0.0 ); G4Vector3D dhat = ry->Direction( 0.0 ); - int isoln = 0, maxsoln = 2; + G4int isoln = 0, maxsoln = 2; // array of solutions in distance along the Ray // G4double s[2] = { -1.0, -1.0 }; G4double s[2];s[0] = -1.0; s[1]= -1.0 ; @@ -274,7 +271,7 @@ void G4SphericalSurface::CalcBBox() } -int G4SphericalSurface::Intersect( const G4Ray& ry ) +G4int G4SphericalSurface::Intersect( const G4Ray& ry ) { // Distance along a Ray (straight line with G4Vector3D) to leave or enter // a G4SphericalSurface. The input variable which_way should be set to +1 @@ -295,7 +292,7 @@ int G4SphericalSurface::Intersect( const G4Ray& ry ) // If no valid intersection point is found, set the distance // and intersection point to large numbers. - int which_way = (int)HowNear(ry.GetStart()); + G4int which_way = (G4int)HowNear(ry.GetStart()); //Originally a parameter.Read explanation above. if(!which_way)which_way =-1; @@ -308,11 +305,11 @@ int G4SphericalSurface::Intersect( const G4Ray& ry ) // Origin and G4Vector3D unit vector of Ray. // G4Vector3D x = ry->position( 0.0 ); - G4Vector3D x=ry.GetStart(); + G4Vector3D x= G4Vector3D( ry.GetStart() ); // G4Vector3D dhat = ry->direction( 0.0 ); G4Vector3D dhat = ry.GetDir(); - int isoln = 0, maxsoln = 2; + G4int isoln = 0, maxsoln = 2; // array of solutions in distance along the Ray G4double s[2]; @@ -320,7 +317,7 @@ int G4SphericalSurface::Intersect( const G4Ray& ry ) s[1] = -1.0 ; // calculate the two solutions (quadratic equation) - G4Vector3D d = x - GetOrigin(); + G4Vector3D d = G4Vector3D( x - GetOrigin() ); G4double r = GetRadius(); // quit with no intersection if the radius of the G4SphericalSurface is zero @@ -384,8 +381,9 @@ int G4SphericalSurface::Intersect( const G4Ray& ry ) /* -G4double G4SphericalSurface::distanceAlongHelix( int which_way, const Helix* hx, - G4Vector3D& p ) const +G4double G4SphericalSurface::distanceAlongHelix( G4int which_way, + const Helix* hx, + G4Vector3D& p ) const { // Distance along a Helix to leave or enter a G4SphericalSurface. // The input variable which_way should be set to +1 to // indicate leaving a G4SphericalSurface, -1 to indicate entering a G4SphericalSurface. @@ -405,7 +403,7 @@ G4double G4SphericalSurface::distanceAlongHelix( int which_way, const Helix* hx, G4double Dist = FLT_MAXX; G4Vector3D lv ( FLT_MAXX, FLT_MAXX, FLT_MAXX ); p = lv; - int isoln = 0, maxsoln = 4; + G4int isoln = 0, maxsoln = 4; // Array of solutions in turning angle // G4double s[4] = { -1.0, -1.0, -1.0, -1.0 }; G4double s[4];s[0] = -1.0; s[1]= -1.0 ;s[2] = -1.0; s[3]= -1.0 ; @@ -472,10 +470,10 @@ G4double G4SphericalSurface::distanceAlongHelix( int which_way, const Helix* hx, // iterate it until the accuracy is below the user-set surface precision. G4double delta = 0.; G4double delta0 = FLT_MAXX; - int dummy = 1; - int iter = 0; - int in0 = Inside( hx->position ( 0.0 ) ); - int in1 = Inside( p ); + G4int dummy = 1; + G4int iter = 0; + G4int in0 = Inside( hx->position ( 0.0 ) ); + G4int in1 = Inside( p ); G4double sc = Scale(); while ( dummy ) { iter++; @@ -601,7 +599,7 @@ G4Vector3D G4SphericalSurface::Normal( const G4Vector3D& p ) const { // Return the Normal unit vector to the G4SphericalSurface at a point p on // (or nearly on) the G4SphericalSurface. - G4Vector3D n = p - origin; + G4Vector3D n = G4Vector3D( p - origin ); G4double nmag = n.mag(); if ( nmag != 0.0 ) @@ -620,7 +618,7 @@ G4Vector3D G4SphericalSurface::SurfaceNormal( const G4Point3D& p ) const { // Return the Normal unit vector to the G4SphericalSurface at a point p on // (or nearly on) the G4SphericalSurface. - G4Vector3D n = p - origin; + G4Vector3D n = G4Vector3D( p - origin ); G4double nmag = n.mag(); if ( nmag != 0.0 ) @@ -635,7 +633,7 @@ G4Vector3D G4SphericalSurface::SurfaceNormal( const G4Point3D& p ) const } -int G4SphericalSurface::Inside ( const G4Vector3D& x ) const +G4int G4SphericalSurface::Inside ( const G4Vector3D& x ) const { // Return 0 if point x is outside G4SphericalSurface, 1 if Inside. // Outside means that the distance to the G4SphericalSurface would @@ -648,12 +646,12 @@ int G4SphericalSurface::Inside ( const G4Vector3D& x ) const } -int G4SphericalSurface::WithinBoundary( const G4Vector3D& x ) const +G4int G4SphericalSurface::WithinBoundary( const G4Vector3D& x ) const { // return 1 if point x is on the G4SphericalSurface, otherwise return zero // (x is assumed to lie on the surface of the G4SphericalSurface, so one // only checks the angular limits) - G4Vector3D y_axis = z_axis.cross( x_axis ); + G4Vector3D y_axis = G4Vector3D( z_axis.cross( x_axis ) ); // components of x in the local coordinate system of the G4SphericalSurface G4double px = x * x_axis; @@ -785,7 +783,7 @@ void G4SphericalSurface::resize( G4double r, /* void G4SphericalSurface::rotate( G4double alpha, G4double beta, - G4double gamma, G4ThreeMat& m, int inverse ) + G4double gamma, G4ThreeMat& m, G4int inverse ) { // rotate G4SphericalSurface first about global x_axis by angle alpha, // second about global y-axis by angle beta, // and third about global z_axis by angle gamma @@ -803,7 +801,7 @@ void G4SphericalSurface::rotate( G4double alpha, G4double beta, /* void G4SphericalSurface::rotate( G4double alpha, G4double beta, - G4double gamma, int inverse ) + G4double gamma, G4int inverse ) { // rotate G4SphericalSurface first about global x_axis by angle alpha, // second about global y-axis by angle beta, // and third about global z_axis by angle gamma @@ -830,7 +828,7 @@ G4double G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const // of some fraction of a turn. If at the end of a Step, the current position // along the Helix and the previous position are on opposite sides of the // G4SphericalSurface, then the solution must lie somewhere in between. - int one_over_f = 8; // one over fraction of a turn to go in each Step + G4int one_over_f = 8; // one over fraction of a turn to go in each Step G4double turn_angle = 0.0; G4double dist_along = 0.0; G4double d_new; @@ -841,10 +839,10 @@ G4double G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const G4Vector3D prp = hx->getPerp(); // perpendicular vector G4double prpmag = prp.mag(); G4double rhp = rh / prpmag; - int max_iter = one_over_f * HELIX_MAX_TURNS; + G4int max_iter = one_over_f * HELIX_MAX_TURNS; // Take up to a user-settable number of turns along the Helix, // groping for an intersection point. - for ( int k = 1; k < max_iter; k++ ) { + for ( G4int k = 1; k < max_iter; k++ ) { turn_angle = 2.0 * M_PI * k / one_over_f; dist_along = turn_angle * fabs( rhp ); d_new = HowNear( hx->position( dist_along ) ); @@ -854,7 +852,7 @@ G4double G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const // Old and new points are on opposite sides of the G4SphericalSurface, therefore // a solution lies in between, use a binary search to pin the point down // to the surface precision, but don't do more than 50 iterations. - int itr = 0; + G4int itr = 0; while ( fabs( d_new / scal ) > SURFACE_PRECISION ) { itr++; if ( itr > 50 ) @@ -876,6 +874,3 @@ G4double G4SphericalSurface::gropeAlongHelix( const Helix* hx ) const return -1.0; } */ - - - diff --git a/source/geometry/solids/BREPS/src/G4Surface.cc b/source/geometry/solids/BREPS/src/G4Surface.cc index 724541c388..7f54a80f3c 100644 --- a/source/geometry/solids/BREPS/src/G4Surface.cc +++ b/source/geometry/solids/BREPS/src/G4Surface.cc @@ -1,7 +1,25 @@ +// 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: G4Surface.cc,v 1.7 2000/11/20 17:54:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4Surface.cc +// +// ---------------------------------------------------------------------- + #include "G4Surface.hh" #include "G4CompositeCurve.hh" -G4Surface::G4Surface(): FLT_MAXX(kInfinity), FLT_EPSILO(0.0001) +G4Surface::G4Surface() + : FLT_MAXX(kInfinity), FLT_EPSILO(0.0001) { AdvancedFace=0; active = 1; @@ -10,11 +28,62 @@ G4Surface::G4Surface(): FLT_MAXX(kInfinity), FLT_EPSILO(0.0001) bbox = (G4BoundingBox3D*)0; } -G4Surface::~G4Surface() {} +G4Surface::~G4Surface() +{ +} + +G4int G4Surface::operator==( const G4Surface& s ) +{ + return origin == s.origin; +} + +G4String G4Surface::GetEntityType() const +{ + return G4String("Surface"); +} + +const char* G4Surface::Name() const +{ + return "G4Surface"; +} + +G4int G4Surface::MyType() const +{ + return Type; +} + +void G4Surface::InitBounded() +{ +} + +G4double G4Surface::GetUHit() const +{ + return uhit; +} + +G4double G4Surface::GetVHit() const +{ + return vhit; +} //void G4Surface::read_surface(fstream& tmp){;} -G4Point3D G4Surface::Evaluation(const G4Ray& rayref){return closest_hit;} -int G4Surface::Evaluate(const G4Ray& rayref){return 0;} + +G4Point3D G4Surface::Evaluation(const G4Ray& rayref) +{ + return closest_hit; +} + +G4int G4Surface::Evaluate(const G4Ray& rayref) +{ + return 0; +} + +void G4Surface::Reset() +{ + Intersected = 0; + active = 1; + distance = kInfinity; +} void G4Surface::SetBoundaries(G4CurveVector* boundaries) { @@ -22,7 +91,6 @@ void G4Surface::SetBoundaries(G4CurveVector* boundaries) InitBounded(); } - void G4Surface::CalcBBox() { // Finds the bounds of the surface iow @@ -47,9 +115,9 @@ G4Vector3D G4Surface::Normal( const G4Vector3D& ) const } -int G4Surface::Intersect(const G4Ray& rayref) +G4int G4Surface::Intersect(const G4Ray& rayref) { - int Result = 0; + G4int Result = 0; G4Exception("G4Surface::Intersect is not implemented. It should not be called. "); @@ -100,7 +168,7 @@ G4double G4Surface::ClosestDistanceToPoint(const G4Point3D& Pt) { G4CompositeCurve* cc= (G4CompositeCurve*)c; const G4CurveVector& segments= cc->GetSegments(); - for (G4int i=0; iGetEnd()).mag2(); @@ -129,7 +197,7 @@ G4double G4Surface::ClosestDistanceToPoint(const G4Point3D& Pt) // G4double TmpDistance=0; // PointDistance = OuterBoundary->ClosestDistanceToPoint(Pt); // TmpDistance =0; - // for(int a=0;aClosestDistanceToPoint(Pt); // if(PointDistance > TmpDistance) PointDistance = TmpDistance; @@ -140,7 +208,7 @@ G4double G4Surface::ClosestDistanceToPoint(const G4Point3D& Pt) //{ // G4double PointDistance = kInfinity; // G4double TmpDistance = 0; - // for(int a =0; a < NumberOfPoints;a++) + // for(G4int a =0; a < NumberOfPoints;a++) // { // G4Point3d& Pt2 = GetPoint(a); // TmpDistance = Pt2.Distance(Pt); @@ -151,30 +219,6 @@ G4double G4Surface::ClosestDistanceToPoint(const G4Point3D& Pt) } -// Gismo members, modified by J.Sulkimo - -// Author: Alan Breakstone - -// Contents ---------------------------------------------------------- -// -// operator<<( G4std::ostream& os, const Surface& s ) -// Surface::PrintOn( G4std::ostream& os ) const -// Surface::HowNear( const G4ThreeVec& x ) const -// Surface::distanceAlongRay( int which_way, const Ray* ry, -// G4ThreeVec& p ) const -// Surface::distanceAlongHelix( int which_way, const Helix* hx, -// G4ThreeVec& p ) const -// Surface::Normal() const -// Surface::Normal( const G4ThreeVec& p ) const -// Surface::Inside( const G4ThreeVec& p ) const -// Surface::move( const G4ThreeVec& p ) -// Surface::rotate( G4double alpha, G4double beta, -// G4double gamma, G4ThreeMat& m, int inverse ) -// Surface::rotate( G4double alpha, G4double beta, -// G4double gamma, int inverse ) -// -// End --------------------------------------------------------------- - G4std::ostream& operator<<( G4std::ostream& os, const G4Surface& s ) { // overwrite output operator << to Print out Surface objects @@ -188,12 +232,46 @@ G4double G4Surface::HowNear( const G4Vector3D& x ) const { // Distance from the point x to a Surface. // The default for a Surface is the distance from the point to the origin. - G4Vector3D p = x - origin; + G4Vector3D p = G4Vector3D( x - origin ); return p.mag(); } +void G4Surface::Project() +{ +} + +void G4Surface::CalcNormal() +{ +} + +G4int G4Surface::IsConvex() const +{ + return -1; +} + +G4int G4Surface::GetConvex() const +{ + return 0; +} + +G4int G4Surface::GetNumberOfPoints() const +{ + return 0; +} + +const G4Point3D& G4Surface::GetPoint(G4int) const +{ + const G4Point3D* tmp= new G4Point3D(0,0,0); + return *tmp; +} + +G4Ray* G4Surface::Norm() +{ + return (G4Ray*)0; +} + /* -G4double G4Surface::distanceAlongRay( int which_way, const G4Ray* ry, +G4double G4Surface::distanceAlongRay( G4int which_way, const G4Ray* ry, G4ThreeVec& p ) const { // Distance along a Ray (straight line with G4ThreeVec) to leave or enter // a Surface. The input variable which_way should be set to +1 to indicate @@ -203,8 +281,9 @@ G4double G4Surface::distanceAlongRay( int which_way, const G4Ray* ry, // between the origin of the Ray and the origin of the Surface. // Since a generic Surface doesn't have a well-defined Normal, no // further checks are Done. -// This should always be overwritten for derived classes so Print out -// a warning message if this is called. + + // This should always be overwritten for derived classes so Print out + // a warning message if this is called. G4cout << "WARNING from Surface::distanceAlongRay\n" << " This function should be overwritten by a derived class.\n" << " Using the Surface base class default.\n"; @@ -213,7 +292,7 @@ G4double G4Surface::distanceAlongRay( int which_way, const G4Ray* ry, return d.Magnitude(); } -G4double G4Surface::distanceAlongHelix( int which_way, const Helix* hx, +G4double G4Surface::distanceAlongHelix( G4int which_way, const Helix* hx, G4ThreeVec& p ) const { // Distance along a Helix to leave or enter a Surface. // The input variable which_way should be set to +1 to indicate @@ -223,8 +302,9 @@ G4double G4Surface::distanceAlongHelix( int which_way, const Helix* hx, // between the origin of the Helix and the origin of the Surface. // Since a generic Surface doesn't have a well-defined Normal, no // further checks are Done. -// This should always be overwritten for derived classes so Print out -// a warning message if this is called. + + // This should always be overwritten for derived classes so Print out + // a warning message if this is called. G4cout << "WARNING from Surface::distanceAlongHelix\n" << " This function should be overwritten by a derived class.\n" << " Using the Surface base class default.\n"; @@ -232,10 +312,8 @@ G4double G4Surface::distanceAlongHelix( int which_way, const Helix* hx, G4ThreeVec d = hx->position() - p; return d.Magnitude(); } -*/ -/* G4ThreeVec G4Surface::Normal() const { // return the Normal unit vector to a Surface // (This is only meaningful for Surfaces for which the Normal does @@ -243,10 +321,8 @@ G4ThreeVec G4Surface::Normal() const // The default is not well defined, so return ( 0, 0, 0 ). return G4ThreeVec( 0.0, 0.0, 0.0 ); } -*/ -/* G4ThreeVec G4Surface::Normal( const G4ThreeVec& ) const { // return the Normal unit vector to a Surface at the point p on // (or nearly on) the Surface. @@ -254,7 +330,7 @@ G4ThreeVec G4Surface::Normal( const G4ThreeVec& ) const return G4ThreeVec( 0.0, 0.0, 0.0 ); } -int G4Surface::Inside( const G4ThreeVec& ) const +G4int G4Surface::Inside( const G4ThreeVec& ) const { // return 0 if point p is outside Surface, 1 if Inside // default is not well defined, so return 0 return 0; @@ -266,7 +342,7 @@ void G4Surface::move( const G4ThreeVec& p ) } void G4Surface::rotate( G4double alpha, G4double beta, - G4double gamma, G4ThreeMat& m, int inverse ) + G4double gamma, G4ThreeMat& m, G4int inverse ) { // rotate Surface first about global x-axis by angle alpha, // second about global y-axis by angle beta, // and third about global z-axis by angle gamma @@ -307,7 +383,7 @@ void G4Surface::rotate( G4double alpha, G4double beta, } void G4Surface::rotate( G4double alpha, G4double beta, - G4double gamma, int inverse ) + G4double gamma, G4int inverse ) { // rotate Surface first about global x-axis by angle alpha, // second about global y-axis by angle beta, // and third about global z-axis by angle gamma @@ -320,5 +396,3 @@ void G4Surface::rotate( G4double alpha, G4double beta, } */ - - diff --git a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc index c19fa0c90a..bcde52eb92 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc @@ -1,9 +1,32 @@ +// 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: G4SurfaceBoundary.cc,v 1.8 2000/11/20 17:54:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4SurfaceBoundary.cc +// +// ---------------------------------------------------------------------- + #include "G4SurfaceBoundary.hh" #include "geomdefs.hh" #include "G4CompositeCurve.hh" -G4SurfaceBoundary::G4SurfaceBoundary(){} +G4SurfaceBoundary::G4SurfaceBoundary() +{ +} + +G4SurfaceBoundary::~G4SurfaceBoundary() +{ +} void G4SurfaceBoundary::Init(const G4CurveVector& bounds0) { @@ -13,7 +36,7 @@ void G4SurfaceBoundary::Init(const G4CurveVector& bounds0) const G4BoundingBox3D* b= bounds[0]->BBox(); bBox.Init(b->GetBoxMin(), b->GetBoxMax()); - G4int i; + size_t i; for ( i=1; iBBox(); @@ -24,7 +47,7 @@ void G4SurfaceBoundary::Init(const G4CurveVector& bounds0) // the points array is probably unused, so the following code is useless G4int cnt= 0; - G4int entr = bounds.entries(); + size_t entr = bounds.entries(); for (i=0; i < entr; i++) { @@ -52,7 +75,7 @@ void G4SurfaceBoundary::Init(const G4CurveVector& bounds0) G4CompositeCurve* cc = (G4CompositeCurve*)c; const G4CurveVector& segments = cc->GetSegments(); - for (G4int i=0; iGetEnd(); @@ -71,14 +94,11 @@ void G4SurfaceBoundary::Init(const G4CurveVector& bounds0) } -G4SurfaceBoundary::~G4SurfaceBoundary() {} - - G4SurfaceBoundary* G4SurfaceBoundary::Project(const G4Transform3D& tr) { G4CurveVector newBounds; - for (G4int i=0; iProject(tr); @@ -120,18 +140,19 @@ void G4SurfaceBoundary::IntersectRay2D(const G4Ray& ray, G4int G4SurfaceBoundary::IntersectRay2D(const G4Ray& ray) { - G4int nbinter = 0, temp = 0; + G4int nbinter = 0; + G4int temp = 0; - for (G4int i=0; i < bounds.entries(); i++) + for (size_t i=0; i < bounds.entries(); i++) { G4Curve& c = *bounds.at(i); temp = c.IntersectRay2D(ray); - // test if the point is on the surface boundary - if( temp==999 ) - return 1; + // test if the point is on the boundary + if ( temp == 999 ) + nbinter = 1; else - nbinter +=temp; + nbinter += temp; } return nbinter; @@ -150,12 +171,17 @@ G4bool G4SurfaceBoundary::Tangent(G4CurvePoint& cp, G4Vector3D& v) } -void G4SurfaceBoundary::SplitWithPlane(const G4Point3D& p0, - const G4Vector3D& n, - G4SurfaceBoundary*& new1, - G4SurfaceBoundary*& new2) +void G4SurfaceBoundary::SplitWithPlane(const G4Point3D&, + const G4Vector3D&, + G4SurfaceBoundary*&, + G4SurfaceBoundary*&) { G4Exception("To be implemented"); } - +void G4SurfaceBoundary::SplitWithCylinder(const G4CylindricalSurface&, + G4SurfaceBoundary*&, + G4SurfaceBoundary*&) +{ + G4Exception("To be implemented"); +} diff --git a/source/geometry/solids/BREPS/src/G4SurfaceList.cc b/source/geometry/solids/BREPS/src/G4SurfaceList.cc index fd1ebd3dbe..0a107ef69b 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceList.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceList.cc @@ -5,9 +5,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SurfaceList.cc,v 1.3 2000/02/14 17:49:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SurfaceList.cc,v 1.5 2000/11/08 14:22:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4SurfaceList.cc +// +// ---------------------------------------------------------------------- + #include "G4SurfaceList.hh" G4SurfaceList::G4SurfaceList() @@ -17,14 +24,17 @@ G4SurfaceList::G4SurfaceList() } -G4SurfaceList::~G4SurfaceList() { EmptyList(); } +G4SurfaceList::~G4SurfaceList() +{ + EmptyList(); +} void G4SurfaceList::MoveToFirst(G4Surface* srf) { if(number_of_elements) { RemovePointer(); - srf->next = first; + srf->SetNextNode(first); first = srf; index=first; number_of_elements++; @@ -39,13 +49,13 @@ void G4SurfaceList::AddSurface(G4Surface* srf) index = srf; first = srf; last = srf; - first->next = (G4Surface*)0; + first->SetNextNode(0); } else { - srf->next = last->next; - last->next = srf; - last = last->next; + srf->SetNextNode(last->GetNextNode()); + last->SetNextNode(srf); + last = last->GetNextNode(); } number_of_elements++; @@ -59,17 +69,17 @@ G4Surface* G4SurfaceList::GetSurface() } -G4Surface* G4SurfaceList::GetSurface(int number) +const G4Surface* G4SurfaceList::GetSurface(G4int number) { index = first; - for(int a=0;anext; + first=first->GetNextNode(); index = first; if(number_of_elements == 0)last = first; delete srf; @@ -92,9 +102,9 @@ void G4SurfaceList::RemoveSurface(G4Surface* srf) } else { - while(temp->next != srf) temp = temp->next; - index = srf->next; - temp->next = index; + while(temp->GetNextNode() != srf) temp = temp->GetNextNode(); + index = srf->GetNextNode(); + temp->SetNextNode(index); if(srf == last) last = temp; index = first; delete srf; @@ -113,18 +123,18 @@ void G4SurfaceList::RemovePointer() temp = first; // Find previous - while(temp->next != index) temp = temp->next; + while(temp->GetNextNode() != index) temp = temp->GetNextNode(); // Hop over the one to be removed - temp->next = index->next; + temp->SetNextNode(index->GetNextNode()); // Correct the index pointer - index = temp->next; + index = temp->GetNextNode(); } else { // Hop over the first - first = first->next; + first = first->GetNextNode(); index = first; } @@ -138,7 +148,7 @@ void G4SurfaceList::EmptyList() while (first != (G4Surface*)0) { temp = first; - first = first->next; + first = first->GetNextNode(); delete temp; number_of_elements--; } @@ -156,7 +166,7 @@ void G4SurfaceList::MoveToFirst() void G4SurfaceList::Step() { if(index!=(G4Surface*)0) - index = index->next; + index = index->GetNextNode(); } @@ -167,7 +177,7 @@ void G4SurfaceList::G4SortList() // First create a vector of the surface distances // to the ray origin G4Surface** distances = new G4Surface*[number_of_elements]; - int x = 0; + G4int x = 0; MoveToFirst(); // Copy surface pointers to vector @@ -176,7 +186,7 @@ void G4SurfaceList::G4SortList() while(x < number_of_elements) { distances[x] = index; - index = index->next; + index = index->GetNextNode(); x++; } @@ -194,12 +204,12 @@ void G4SurfaceList::G4SortList() while (x < number_of_elements) { - last->next = distances[x]; - last = last ->next; + last->SetNextNode(distances[x]); + last = last->GetNextNode(); x++; } - last->next = (G4Surface*)0; + last->SetNextNode(0); MoveToFirst(); } @@ -207,20 +217,20 @@ void G4SurfaceList::G4SortList() } -void G4SurfaceList::QuickG4Sort(G4Surface** Dist, int left, int right) +void G4SurfaceList::QuickG4Sort(G4Surface** Dist, G4int left, G4int right) { - register int i=left; - register int j=right; + register G4int i=left; + register G4int j=right; G4Surface* elem1; G4Surface* elem2 = Dist[(left+right)/2]; do { - while ( (Dist[i]->Distance() < elem2->Distance()) && (i < right) ) + while ( (Dist[i]->GetDistance() < elem2->GetDistance()) && (i < right) ) i++; - while ( (elem2->Distance() < Dist[j]->Distance()) && (j > left)) + while ( (elem2->GetDistance() < Dist[j]->GetDistance()) && (j > left)) j--; if(i<=j) @@ -231,7 +241,7 @@ void G4SurfaceList::QuickG4Sort(G4Surface** Dist, int left, int right) i++; j--; } - } while (i<=j); + } while (i<=j); if( left < j ) QuickG4Sort(Dist, left, j ); diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc index 55cde196fb..5ebe40c7ff 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc @@ -1,3 +1,26 @@ +// 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: G4SurfaceOfLinearExtrusion.cc,v 1.2 2000/08/28 08:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4SurfaceOfLinearExtrusion.cc +// +// ---------------------------------------------------------------------- + #include "G4SurfaceOfLinearExtrusion.hh" +G4SurfaceOfLinearExtrusion::G4SurfaceOfLinearExtrusion() +{ +} +G4SurfaceOfLinearExtrusion::~G4SurfaceOfLinearExtrusion() +{ +} diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc index 38ba3a12f3..c5c42774c5 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc @@ -1,2 +1,23 @@ +// 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: G4SurfaceOfRevolution.cc,v 1.2 2000/08/28 08:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4SurfaceOfRevolution.cc +// +// ---------------------------------------------------------------------- + #include "G4SurfaceOfRevolution.hh" +G4SurfaceOfRevolution::G4SurfaceOfRevolution() +{ +} + +G4SurfaceOfRevolution::~G4SurfaceOfRevolution() +{ +} diff --git a/source/geometry/solids/BREPS/src/G4ThreeMat.cc b/source/geometry/solids/BREPS/src/G4ThreeMat.cc index 45528610c9..9ab805cd18 100644 --- a/source/geometry/solids/BREPS/src/G4ThreeMat.cc +++ b/source/geometry/solids/BREPS/src/G4ThreeMat.cc @@ -5,44 +5,27 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ThreeMat.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ThreeMat.cc,v 1.5 2000/11/08 14:22:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // -/* G4ThreeMat.cc,v 1.5 1993/08/02 22:21:27 atwood Exp */ -// File: G4ThreeMat.cc -// Author: Alan Breakstone - -// Contents ------------------------------------------------------------- +// ---------------------------------------------------------------------- +// GEANT 4 class source file // -// G4ThreeMat::G4ThreeMat() -// G4ThreeMat::G4ThreeMat( G4double a[3][3] ) -// operator<<( G4std::ostream&, const G4ThreeMat& m ); -// G4ThreeMat::PrintOn( G4std::ostream& os ) const -// operator==( const G4ThreeMat& m ) -// G4ThreeMat::operator=( const G4ThreeMat& m ) -// G4ThreeMat::operator-() -// G4ThreeMat::operator+=( const G4ThreeMat& m2 ) -// G4ThreeMat::operator-=( const G4ThreeMat& m2 ) -// operator+( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -// operator-( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -// operator*( G4double x, const G4ThreeMat& m ) -// operator*( const G4ThreeMat& m, const G4ThreeVec& v ) -// operator*( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -// G4ThreeMat::Determinant() +// G4ThreeMat.cc // -// End ------------------------------------------------------------------ +// ---------------------------------------------------------------------- #include "G4ThreeMat.hh" G4ThreeMat::G4ThreeMat() { // default (null) constructor - for ( int i = 0; i < 3 ; i++ ) + for ( G4int i = 0; i < 3 ; i++ ) { row[i] = G4Vector3D( 0., 0., 0. ); column[i] = G4Vector3D( 0., 0., 0. ); - for ( int j = 0; j < 3 ; j++ ) + for ( G4int j = 0; j < 3 ; j++ ) element[i][j] = 0.; } } @@ -51,31 +34,42 @@ G4ThreeMat::G4ThreeMat() G4ThreeMat::G4ThreeMat( G4double a[3][3] ) { // constructor to make matrix from array - for ( int i = 0; i < 3 ; i++ ) + for ( G4int i = 0; i < 3 ; i++ ) { row[i] = G4Vector3D( a[i][0], a[i][1], a[i][2] ); column[i] = G4Vector3D( a[0][i], a[1][i], a[2][i] ); - for ( int j = 0; j < 3 ; j++ ) + for ( G4int j = 0; j < 3 ; j++ ) element[i][j] = a[i][j]; } } +G4ThreeMat::~G4ThreeMat() +{ +} + + G4ThreeMat::G4ThreeMat( const G4ThreeMat& m ) { // copy constructor - for ( int i = 0; i < 3 ; i++ ) + for ( G4int i = 0; i < 3 ; i++ ) { row[i] = m.row[i]; column[i] = m.column[i]; - for ( int j = 0; j < 3 ; j++ ) + for ( G4int j = 0; j < 3 ; j++ ) element[i][j] = m.element[i][j]; } } +const char* G4ThreeMat::NameOf() const +{ + return "G4ThreeMat"; +} + + G4std::ostream& operator<<( G4std::ostream& os, const G4ThreeMat& m ) { // overwrite output operator << to Print out G4ThreeMat objects @@ -98,7 +92,7 @@ void G4ThreeMat::PrintOn( G4std::ostream& os ) const << element[2][1] << "\t" << element[2][2] << " ]\n"; /* - for ( int i = 0; i < 3; i++ ) { + for ( G4int i = 0; i < 3; i++ ) { os << "row [" << i << "] " << row[i] << "\n" << "column[" << i << "] " << column[i] << "\n"; } @@ -106,11 +100,11 @@ void G4ThreeMat::PrintOn( G4std::ostream& os ) const } -int G4ThreeMat::operator==( const G4ThreeMat& m ) +G4int G4ThreeMat::operator==( const G4ThreeMat& m ) const { - for ( int i = 0; i < 3 ; i++ ) + for ( G4int i = 0; i < 3 ; i++ ) { - for ( int j = 0; j < 3 ; j++ ) + for ( G4int j = 0; j < 3 ; j++ ) { if ( element[i][j] != m.element[i][j] ) return 0; @@ -121,136 +115,22 @@ int G4ThreeMat::operator==( const G4ThreeMat& m ) } -void G4ThreeMat::operator=( const G4ThreeMat& m ) +G4ThreeMat& G4ThreeMat::operator=( const G4ThreeMat& m ) { - // assignment operator - for ( int i = 0; i < 3 ; i++ ) + if (&m == this) return *this; + for ( G4int i = 0; i < 3 ; i++ ) { row[i] = m.row[i]; column[i] = m.column[i]; - for ( int j = 0; j < 3 ; j++ ) + for ( G4int j = 0; j < 3 ; j++ ) element[i][j] = m.element[i][j]; } -} - - -G4ThreeMat G4ThreeMat::operator-() -{ - // unary - operator, change Sign of all elements - G4double a[3][3]; - - for ( int i = 0; i < 3 ; i++ ) - { - for ( int j = 0; j < 3 ; j++ ) - a[i][j] = -element[i][j]; - } - - return G4ThreeMat( a ); -} - - -G4ThreeMat G4ThreeMat::operator+=( const G4ThreeMat& m2 ) -{ - // overload += operator - for ( int i = 0; i < 3 ; i++ ) - { - this->row[i] += m2.row[i]; - this->column[i] += m2.column[i]; - - for ( int j = 0; j < 3 ; j++ ) - this->element[i][j] += m2.element[i][j]; - } - return *this; } -G4ThreeMat G4ThreeMat::operator-=( const G4ThreeMat& m2 ) -{ - // overload -= operator - for ( int i = 0; i < 3 ; i++ ) - { - this->row[i] -= m2.row[i]; - this->column[i] -= m2.column[i]; - - for ( int j = 0; j < 3 ; j++ ) - this->element[i][j] -= m2.element[i][j]; - } - - return *this; -} - - -G4ThreeMat operator+( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -{ - // overload binary + operator - G4double a[3][3]; - - for ( int i = 0; i < 3 ; i++ ) - { - for ( int j = 0; j < 3 ; j++ ) - a[i][j] = m1.element[i][j] + m2.element[i][j]; - - } - - return G4ThreeMat( a ); -} - - -G4ThreeMat operator-( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -{ - // overload binary - operator - G4double a[3][3]; - - for ( int i = 0; i < 3 ; i++ ) - { - for ( int j = 0; j < 3 ; j++ ) - a[i][j] = m1.element[i][j] - m2.element[i][j]; - } - - return G4ThreeMat( a ); -} - - -G4ThreeMat operator*( G4double x, const G4ThreeMat& m ) -{ - // overload binary * operator for constant Times matrix - G4double a[3][3]; - for ( int i = 0; i < 3 ; i++ ){ - for ( int j = 0; j < 3 ; j++ ) { - a[i][j] = x * m.element[i][j]; - } - } - return G4ThreeMat( a ); -} - - -G4Vector3D operator*( const G4ThreeMat& m, const G4Vector3D& v ) -{ - // overload binary * operator for matrix Times vector - G4double a[3]; - for ( int i = 0; i < 3 ; i++ ){ - a[i] = m.row[i] * v; - } - return G4Vector3D( a[0], a[1], a[2] ); -} - - -G4ThreeMat operator*( const G4ThreeMat& m1, const G4ThreeMat& m2 ) -{ - // overload binary * operator for matrix Times matrix - G4double a[3][3]; - for ( int i = 0; i < 3 ; i++ ){ - for ( int j = 0; j < 3 ; j++ ) { - a[i][j] = m1.row[i] * m2.column[j]; - } - } - return G4ThreeMat( a ); -} - - -G4double G4ThreeMat::Determinant() +G4double G4ThreeMat::Determinant() const { // Determinant of a three by three matrix return element[0][0] * ( element[1][1] * element[2][2] diff --git a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc index 1166d4d3ac..56012c1bb6 100644 --- a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc @@ -5,31 +5,42 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ToroidalSurface.cc,v 1.2 1999/12/15 14:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ToroidalSurface.cc,v 1.5 2000/11/20 17:54:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// G4ToroidalSurface.cc +// +// ---------------------------------------------------------------------- + #include "G4ToroidalSurface.hh" - - -G4ToroidalSurface::G4ToroidalSurface(): EQN_EPS(1e-9){} +G4ToroidalSurface::G4ToroidalSurface() + : EQN_EPS(1e-9) +{ +} G4ToroidalSurface::G4ToroidalSurface(const G4Vector3D& Location, const G4Vector3D& Ax, const G4Vector3D& Dir, - const G4double MinRad, - const G4double MaxRad): EQN_EPS(1e-9) + G4double MinRad, + G4double MaxRad) + : EQN_EPS(1e-9) { Placement.Init(Dir, Ax, Location); MinRadius = MinRad; MaxRadius = MaxRad; - TransMatrix= new Matrix(4,4); + TransMatrix= new G4PointMatrix(4,4); } -G4ToroidalSurface::~G4ToroidalSurface(){} +G4ToroidalSurface::~G4ToroidalSurface() +{ +} void G4ToroidalSurface::CalcBBox() @@ -49,6 +60,12 @@ void G4ToroidalSurface::CalcBBox() } +G4Vector3D G4ToroidalSurface::SurfaceNormal(const G4Point3D& Pt) const +{ + return G4Vector3D(0,0,0); +} + + G4double G4ToroidalSurface::ClosestDistanceToPoint(const G4Point3D &Pt) { // L. Broglia @@ -61,7 +78,7 @@ G4double G4ToroidalSurface::ClosestDistanceToPoint(const G4Point3D &Pt) } -int G4ToroidalSurface::Intersect(const G4Ray& Ray) +G4int G4ToroidalSurface::Intersect(const G4Ray& Ray) { // ---- inttor - Intersect a ray with a torus. ------------------------ // from GraphicsGems II by @@ -94,7 +111,7 @@ int G4ToroidalSurface::Intersect(const G4Ray& Ray) // Variables. Should be optimized later... G4Point3D Base = Ray.GetStart(); // Base of the intersection ray G4Vector3D DCos = Ray.GetDir(); // Direction cosines of the ray - int nhits=0; // Number of intersections + G4int nhits=0; // Number of intersections G4double rhits[4]; // Intersection distances G4double hits[4]; // Ordered intersection distances G4double rho, a0, b0; // Related constants @@ -144,7 +161,7 @@ int G4ToroidalSurface::Intersect(const G4Ray& Ray) // Convert Hit distances to intersection points /* G4Point3D** IntersectionPoints = new G4Point3D*[nhits]; - for(int a=0;aGetBoxMin(); G4Point3D BoxMax = bbox->GetBoxMax(); G4Point3D Hit; - int c1 = 0; - int c2; + G4int c1 = 0; + G4int c2; G4double tempVec[4]; - for(int a=0;a=kCarTolerance*0.5) @@ -208,7 +225,7 @@ int G4ToroidalSurface::Intersect(const G4Ray& Ray) } // If two Inside bbox, find closest - int Closest=0; + // G4int Closest=0; // if(Counter>1) // if(rhits[InsideBox[0]] > rhits[InsideBox[1]]) @@ -217,8 +234,8 @@ int G4ToroidalSurface::Intersect(const G4Ray& Ray) // Project polygon and do point in polygon // Projection also for curves etc. // Should probably be implemented in the curve class. - G4Plane Plane1 = Ray.GetPlane(1); - G4Plane Plane2 = Ray.GetPlane(2); + // G4Plane Plane1 = Ray.GetPlane(1); + // G4Plane Plane2 = Ray.GetPlane(2); // Point in polygon return 1; @@ -227,7 +244,7 @@ int G4ToroidalSurface::Intersect(const G4Ray& Ray) } -int G4ToroidalSurface::SolveQuartic(G4double c[], G4double s[] ) +G4int G4ToroidalSurface::SolveQuartic(G4double c[], G4double s[] ) { // From Graphics Gems I by Jochen Schwartz @@ -235,7 +252,7 @@ int G4ToroidalSurface::SolveQuartic(G4double c[], G4double s[] ) G4double z, u, v, sub; G4double A, B, C, D; G4double sq_A, p, q, r; - int i, num; + G4int i, num; // Normal form: x^4 + Ax^3 + Bx^2 + Cx + D = 0 @@ -320,10 +337,10 @@ int G4ToroidalSurface::SolveQuartic(G4double c[], G4double s[] ) } -int G4ToroidalSurface::SolveCubic(G4double c[], G4double s[] ) +G4int G4ToroidalSurface::SolveCubic(G4double c[], G4double s[] ) { // From Graphics Gems I bu Jochen Schwartz - int i, num; + G4int i, num; G4double sub; G4double A, B, C; G4double sq_A, p, q; @@ -353,7 +370,7 @@ int G4ToroidalSurface::SolveCubic(G4double c[], G4double s[] ) } else // one single and one G4double solution { - G4double u = cbrt(-q); + G4double u = pow(-q,1./3.); s[ 0 ] = 2 * u; s[ 1 ] = - u; num = 2; @@ -372,8 +389,8 @@ int G4ToroidalSurface::SolveCubic(G4double c[], G4double s[] ) else // one real solution { G4double sqrt_D = sqrt(D); - G4double u = cbrt(sqrt_D - q); - G4double v = - cbrt(sqrt_D + q); + G4double u = pow(sqrt_D - q,1./3.); + G4double v = - pow(sqrt_D + q,1./3.); s[ 0 ] = u + v; num = 1; @@ -389,7 +406,7 @@ int G4ToroidalSurface::SolveCubic(G4double c[], G4double s[] ) } -int G4ToroidalSurface::SolveQuadric(G4double c[], G4double s[] ) +G4int G4ToroidalSurface::SolveQuadric(G4double c[], G4double s[] ) { // From Graphics Gems I by Jochen Schwartz G4double p, q, D; @@ -420,26 +437,3 @@ int G4ToroidalSurface::SolveQuadric(G4double c[], G4double s[] ) return 0; } - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/geometry/solids/Boolean/History b/source/geometry/solids/Boolean/History index 8baa971c4c..bab243aff5 100644 --- a/source/geometry/solids/Boolean/History +++ b/source/geometry/solids/Boolean/History @@ -1,5 +1,5 @@ -$Id: History,v 1.12 2000/06/26 16:16:06 gcosmo Exp $ +$Id: History,v 1.16 2000/11/22 16:10:43 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,21 +20,52 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - June 26 2000 Vladimir Grichine geom-solid-bool-V01-01-03 + Nov 22 2000 Vladimir Grichine geom-solid-bool-V02-00-03 + + - Added new set methods for matrix/vectors to G4DisplacedSolid: + SetTransform(G4AffineTransform&), + SetDirectTransform(G4AffineTransform&), + SetFrameRotation(const G4RotationMatrix&), + SetFrameTranslation(const G4ThreeVector&), + SetObjectRotation(const G4RotationMatrix&), + SetObjectTranslation(const G4ThreeVector&). + + Nov 20 2000 Gabriele Cosmo geom-solid-bool-V02-00-02 + + - Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + + Nov 2 2000 Gabriele Cosmo geom-solid-bool-V02-00-01 + + - QA code revision and cleanup (+fixes from CodeWizard filtering): + o Added (private) declarations of copy constructor and assignment + operator where needed. + o Changed virtual functions to non-inline wherever's the case. + + Sep 13 2000 Vladimir Grichine geom-solid-bool-V02-00-00 + + - G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), where + it is allowed for a point to be inside the solid. A message is thrown + to cerr instead of a G4Exception. + + Jun 26 2000 Vladimir Grichine geom-solid-bool-V01-01-03 - Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...). validNorm flag was uncorrectly set to true. Fixes report #102. - June 6 2000 John Apostolakis geom-solid-bool-V01-01-02 + Jun 6 2000 John Apostolakis geom-solid-bool-V01-01-02 - Protecting the use of pointers validNorm and n, if calcNorm is false - June 6 2000 John Allison geom-solid-bool-V01-01-01 + Jun 6 2000 John Allison geom-solid-bool-V01-01-01 - Re-enabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid and G4SubtractionSolid. Coworks with greps-V01-01-04. - May 26 2000 John Allison geom-solid-bool-V01-01-00 + May 26 2000 John Allison geom-solid-bool-V01-01-00 - Disabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid and G4SubtractionSolid. It now temporarly returns a NULL pointer. @@ -43,48 +74,48 @@ committal in the CVS repository ! Files G4UnionSolid.cc, G4SubtractionSolid.cc and G4IntersectionSolid.cc are included in the branch-tag "boolean_nopoly_branch". - Apr 27 2000 Gabriele Cosmo + Apr 27 2000 Gabriele Cosmo - Reorganised comments for the Software Reference Manual. - Added CVS headers and standard G4 header where missing. - Apr 11 2000 John Allison + Apr 11 2000 John Allison - CreatePolyhedron implemented for BooleanSolids. - G4DisplacedSolid: reversed implementation of GetFrameRotation and GetObjectRotation, removing inappropriate invertion. - G4DisplacedSolid::GetConstituentMovedSolid() made const. - Jan 19 2000 Gabriele Cosmo geom-solid-bool-V01-00-00 + Jan 19 2000 Gabriele Cosmo geom-solid-bool-V01-00-00 - Syncronized file versions with HEAD (essentially CVS headers changes) - Fixed cases of G4std::min which were not migrated on the HEAD in files: G4UnionSolid.cc and G4IntersectionSolid.cc - Nov 24 1999 geom-solid-bool-V00-01-05 + Nov 24 1999 geom-solid-bool-V00-01-05 - Small fix in src/G4DisplacedSolid.cc to the return type (const G4AffineTransform --> G4AffineTransform) to conform with the specification of the class. - Nov 19 1999 geom-solid-bool-V00-01-04 + Nov 19 1999 geom-solid-bool-V00-01-04 - Fixes from Vladimir, and additional tests - Nov 10 1999 geom-solid-bool-V00-01-03b + Nov 10 1999 geom-solid-bool-V00-01-03b - Renamed GetConstituentSolid to GetConstituentMovedSolid in G4DisplacedSolid to avoid clashing with method that gets the contituents of a G4BooleanSolid. - Nov 10 1999 geom-solid-bool-V00-01-03a + Nov 10 1999 geom-solid-bool-V00-01-03a - Tag with additional methods for Persistency - Nov 10 1999 geom-solid-bool-V00-01-03-cand + Nov 10 1999 geom-solid-bool-V00-01-03-cand New method: Get Object Rotation/Translation methods in Displaced Solid - Nov 9 1999 geom-solid-bool-V00-01-02-cand + Nov 9 1999 geom-solid-bool-V00-01-02-cand - Tag with additional methods for Visualisation @@ -97,10 +128,10 @@ committal in the CVS repository ! - Dec 1 1998 John Apostolakis geom-boolean-4-ja + Dec 1 1998 John Apostolakis geom-boolean-4-ja Code portability changes. - Nov 27 1998 John Apostolakis & Vladimir Grichine geom-boolean-3-vg + Nov 27 1998 J.Apostolakis & V.Grichine geom-boolean-3-vg Fixes agreed in code review were implemented. diff --git a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh index 05e7144aaa..c42c753afd 100644 --- a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh +++ b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BooleanSolid.hh,v 1.3 2000/04/27 09:59:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BooleanSolid.hh,v 1.4 2000/11/02 12:25:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4BooleanSolid @@ -64,6 +64,12 @@ class G4BooleanSolid : public G4VSolid G4VSolid* fPtrSolidA ; G4VSolid* fPtrSolidB ; + private: + + G4BooleanSolid(const G4BooleanSolid&); + G4BooleanSolid& operator=(const G4BooleanSolid&); + // Private copy constructor and assignment operator. + private: G4bool createdDisplacedSolid; diff --git a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh index ca9b61837a..a37bafed0a 100644 --- a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh +++ b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4DisplacedSolid.hh,v 1.7 2000/04/27 09:59:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4DisplacedSolid.hh,v 1.10 2000/11/22 16:09:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4DisplacedSolid @@ -20,6 +20,7 @@ // History: // // 28.10.98 V.Grichine, creation according J. Apostolakis's recommendations +// 22.11.00 V.Grichine, new set methods for matrix/vectors #ifndef G4DisplacedSolid_HH #define G4DisplacedSolid_HH @@ -91,17 +92,27 @@ class G4DisplacedSolid : public G4VSolid // return a self pointer else return 0. G4VSolid* GetConstituentMovedSolid() const; + G4AffineTransform GetTransform() const; + void SetTransform(G4AffineTransform& ); + G4AffineTransform GetDirectTransform() const; - // Access methods. + void SetDirectTransform(G4AffineTransform&); + // Access/Set methods. G4RotationMatrix GetFrameRotation() const; + void SetFrameRotation(const G4RotationMatrix&); + G4ThreeVector GetFrameTranslation() const; - // Get the rotation/translation, as applied to the frame of reference. + void SetFrameTranslation(const G4ThreeVector&); + // Get/Set the rotation/translation, as applied to the frame of reference. G4RotationMatrix GetObjectRotation() const; + void SetObjectRotation(const G4RotationMatrix&); + G4ThreeVector GetObjectTranslation() const; - // Get the rotation/translation, as applied to the object. + void SetObjectTranslation(const G4ThreeVector&); + // Get/Set the rotation/translation, as applied to the object. public: // without description @@ -115,12 +126,16 @@ class G4DisplacedSolid : public G4VSolid G4VSolid* fPtrSolid ; G4AffineTransform* fPtrTransform ; G4AffineTransform* fDirectTransform ; - + + private: + + G4DisplacedSolid(const G4DisplacedSolid&); + G4DisplacedSolid& operator=(const G4DisplacedSolid&); + // Private copy constructor and assignment operator. } ; -inline G4GeometryType G4DisplacedSolid::GetEntityType() const -{ - return G4String("G4DisplacedSolid"); -} - #endif + + + + diff --git a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh index eb19dfbc1f..9dde6b1421 100644 --- a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4IntersectionSolid.hh,v 1.3 2000/04/27 09:59:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4IntersectionSolid.hh,v 1.4 2000/11/02 12:25:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4IntersectionSolid @@ -90,10 +90,5 @@ class G4IntersectionSolid : public G4BooleanSolid } ; -inline G4GeometryType G4IntersectionSolid::GetEntityType() const -{ - return G4String("G4IntersectionSolid"); -} - #endif diff --git a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh index e281c3be7b..d1215c2eb8 100644 --- a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SubtractionSolid.hh,v 1.3 2000/04/27 09:59:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SubtractionSolid.hh,v 1.4 2000/11/02 12:25:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4SubtractionSolid @@ -90,10 +90,5 @@ class G4SubtractionSolid : public G4BooleanSolid }; -inline G4GeometryType G4SubtractionSolid::GetEntityType() const -{ - return G4String("G4SubtractionSolid"); -} - #endif diff --git a/source/geometry/solids/Boolean/include/G4UnionSolid.hh b/source/geometry/solids/Boolean/include/G4UnionSolid.hh index 0108739067..f1311d83ec 100644 --- a/source/geometry/solids/Boolean/include/G4UnionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4UnionSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UnionSolid.hh,v 1.4 2000/04/27 09:59:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UnionSolid.hh,v 1.5 2000/11/02 12:25:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4UnionSolid @@ -88,10 +88,5 @@ class G4UnionSolid : public G4BooleanSolid }; -inline G4GeometryType G4UnionSolid::GetEntityType() const -{ - return G4String("G4UnionSolid"); -} - #endif diff --git a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc index 46964953c2..421e80bb03 100644 --- a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc +++ b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BooleanSolid.cc,v 1.3 2000/04/27 09:59:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BooleanSolid.cc,v 1.4 2000/11/20 17:56:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation for the abstract base class for solids created by boolean // operations between other solids @@ -84,7 +84,7 @@ G4BooleanSolid::~G4BooleanSolid() // If the solid is not a "Boolean", return 0 const G4VSolid* G4BooleanSolid::GetConstituentSolid(G4int no) const { - const G4VSolid* subSolid; + const G4VSolid* subSolid=0; if( no == 0 ) subSolid = fPtrSolidA; else if( no == 1 ) @@ -97,7 +97,7 @@ const G4VSolid* G4BooleanSolid::GetConstituentSolid(G4int no) const G4VSolid* G4BooleanSolid::GetConstituentSolid(G4int no) { - G4VSolid* subSolid; + G4VSolid* subSolid=0; if( no == 0 ) subSolid = fPtrSolidA; else if( no == 1 ) diff --git a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc index 5663b0112a..0fe0014aa9 100644 --- a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc +++ b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4DisplacedSolid.cc,v 1.11 2000/04/27 09:59:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4DisplacedSolid.cc,v 1.13 2000/11/22 15:19:20 grichine Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation for G4DisplacedSolid class for boolean // operations between other solids @@ -15,6 +15,7 @@ // // 28.10.98 V.Grichine, creation according J. Apostolakis's recommendations // 14.11.99 V.Grichine, modifications in CalculateExtent(...) method +// 22.11.00 V.Grichine, new set methods for matrix/vectors #include "G4DisplacedSolid.hh" @@ -90,6 +91,11 @@ G4DisplacedSolid::~G4DisplacedSolid() } } +G4GeometryType G4DisplacedSolid::GetEntityType() const +{ + return G4String("G4DisplacedSolid"); +} + const G4DisplacedSolid* G4DisplacedSolid::GetDisplacedSolidPtr() const { return this; } @@ -97,42 +103,86 @@ const G4DisplacedSolid* G4DisplacedSolid::GetDisplacedSolidPtr() const { return this; } G4VSolid* G4DisplacedSolid::GetConstituentMovedSolid() const -{ return fPtrSolid; } +{ + return fPtrSolid; +} + +///////////////////////////////////////////////////////////////////////////// G4AffineTransform G4DisplacedSolid::GetTransform() const { - G4AffineTransform aTransform= *fPtrTransform; + G4AffineTransform aTransform = *fPtrTransform; return aTransform; } +void G4DisplacedSolid::SetTransform(G4AffineTransform& transform) +{ + fPtrTransform = &transform ; +} + +////////////////////////////////////////////////////////////////////////////// + G4AffineTransform G4DisplacedSolid::GetDirectTransform() const { G4AffineTransform aTransform= *fDirectTransform; return aTransform; } +void G4DisplacedSolid::SetDirectTransform(G4AffineTransform& transform) +{ + fDirectTransform = &transform ; +} + +///////////////////////////////////////////////////////////////////////////// + G4RotationMatrix G4DisplacedSolid::GetFrameRotation() const { G4RotationMatrix InvRotation= fDirectTransform->NetRotation(); return InvRotation; } +void G4DisplacedSolid::SetFrameRotation(const G4RotationMatrix& matrix) +{ + fDirectTransform->SetNetRotation(matrix); +} + +///////////////////////////////////////////////////////////////////////////// + G4ThreeVector G4DisplacedSolid::GetFrameTranslation() const { return fPtrTransform->NetTranslation(); } +void G4DisplacedSolid::SetFrameTranslation(const G4ThreeVector& vector) +{ + fPtrTransform->SetNetTranslation(vector); +} + /////////////////////////////////////////////////////////////// + G4RotationMatrix G4DisplacedSolid::GetObjectRotation() const { G4RotationMatrix Rotation= fPtrTransform->NetRotation(); return Rotation; } +void G4DisplacedSolid::SetObjectRotation(const G4RotationMatrix& matrix) +{ + fPtrTransform->SetNetRotation(matrix); +} + +/////////////////////////////////////////////////////////////////////// + G4ThreeVector G4DisplacedSolid::GetObjectTranslation() const { return fDirectTransform->NetTranslation(); } + +void G4DisplacedSolid::SetObjectTranslation(const G4ThreeVector& vector) +{ + fDirectTransform->SetNetTranslation(vector); +} + /////////////////////////////////////////////////////////////// // // diff --git a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc index fd12623c40..364af245eb 100644 --- a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4IntersectionSolid.cc,v 1.8 2000/06/24 14:27:41 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4IntersectionSolid.cc,v 1.9 2000/11/02 12:25:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -412,6 +412,15 @@ G4IntersectionSolid::ComputeDimensions( G4VPVParameterisation* p, // // +G4GeometryType G4IntersectionSolid::GetEntityType() const +{ + return G4String("G4IntersectionSolid"); +} + +///////////////////////////////////////////////// +// +// + void G4IntersectionSolid::DescribeYourselfTo ( G4VGraphicsScene& scene ) const { diff --git a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc index fc456d7577..ac16582e27 100644 --- a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SubtractionSolid.cc,v 1.8 2000/06/26 16:16:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SubtractionSolid.cc,v 1.11 2000/11/20 17:56:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -17,6 +17,8 @@ // J.Apostolakis recommendations (while loops) // 02.08.99 V.Grichine, bugs fixed in DistanceToOut(p,v,...) // while -> do-while & surfaceA limitations +// 13.09.00 V.Grichine, bug fixed in SurfaceNormal(p), p can be inside +// // #include "G4SubtractionSolid.hh" @@ -145,16 +147,24 @@ G4SubtractionSolid::SurfaceNormal( const G4ThreeVector& p ) const if( fPtrSolidA->Inside(p) == kSurface && fPtrSolidB->Inside(p) != kInside ) { - normal= fPtrSolidA->SurfaceNormal(p) ; + normal = fPtrSolidA->SurfaceNormal(p) ; } else if( fPtrSolidA->Inside(p) == kInside && fPtrSolidB->Inside(p) != kOutside ) { - normal= -fPtrSolidB->SurfaceNormal(p) ; + normal = -fPtrSolidB->SurfaceNormal(p) ; } else { - G4Exception("Invalid call in G4SubtractionSolid::SurfaceNormal(p), point p is inside rather than on surface") ; + if ( fPtrSolidA->DistanceToOut(p) <= fPtrSolidB->DistanceToIn(p) ) + { + normal = fPtrSolidA->SurfaceNormal(p) ; + } + else + { + normal = -fPtrSolidB->SurfaceNormal(p) ; + } + G4cerr<<"G4SubtractionSolid::SurfaceNormal(p), point p is inside"<DistanceToOut(p), - fPtrSolidB->DistanceToIn(p) ) ; + fPtrSolidB->DistanceToIn(p) ) ; } return dist; } @@ -332,6 +342,15 @@ G4SubtractionSolid::DistanceToOut( const G4ThreeVector& p ) const // // +G4GeometryType G4SubtractionSolid::GetEntityType() const +{ + return G4String("G4SubtractionSolid"); +} + +////////////////////////////////////////////////////////////// +// +// + void G4SubtractionSolid::ComputeDimensions( G4VPVParameterisation* p, const G4int n, diff --git a/source/geometry/solids/Boolean/src/G4UnionSolid.cc b/source/geometry/solids/Boolean/src/G4UnionSolid.cc index 0496c227ce..db82e7fe8b 100644 --- a/source/geometry/solids/Boolean/src/G4UnionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4UnionSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4UnionSolid.cc,v 1.9 2000/06/24 14:27:42 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4UnionSolid.cc,v 1.11 2000/11/20 17:56:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -173,7 +173,6 @@ G4double G4UnionSolid::DistanceToIn( const G4ThreeVector& p, const G4ThreeVector& v ) const { - G4double dist ; if( Inside(p) == kInside ) { G4Exception("Invalid call in G4IntersectionSolid::DistanceToIn(p,v), point p is inside") ; @@ -230,7 +229,7 @@ G4UnionSolid::DistanceToOut( const G4ThreeVector& p, else { EInside positionA = fPtrSolidA->Inside(p) ; - EInside positionB = fPtrSolidB->Inside(p) ; + // EInside positionB = fPtrSolidB->Inside(p) ; if( positionA != kOutside ) { @@ -286,7 +285,7 @@ G4UnionSolid::DistanceToOut( const G4ThreeVector& p, G4double G4UnionSolid::DistanceToOut( const G4ThreeVector& p ) const { - G4double distout; + G4double distout = kInfinity; if( Inside(p) == kOutside ) { G4Exception("Invalid call in G4IntersectionSolid::DistanceToOut(p), point p is outside") ; @@ -304,7 +303,7 @@ G4UnionSolid::DistanceToOut( const G4ThreeVector& p ) const (positionA == kSurface && positionB == kInside ) ) { distout= G4std::max(fPtrSolidA->DistanceToOut(p), - fPtrSolidB->DistanceToOut(p) ) ; + fPtrSolidB->DistanceToOut(p) ) ; } else { @@ -325,6 +324,15 @@ G4UnionSolid::DistanceToOut( const G4ThreeVector& p ) const // // +G4GeometryType G4UnionSolid::GetEntityType() const +{ + return G4String("G4UnionSolid"); +} + +////////////////////////////////////////////////////////////// +// +// + void G4UnionSolid::ComputeDimensions( G4VPVParameterisation* p, const G4int n, diff --git a/source/geometry/solids/CSG/History b/source/geometry/solids/CSG/History index 7072fbf3cc..ef28ea232d 100644 --- a/source/geometry/solids/CSG/History +++ b/source/geometry/solids/CSG/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2000/06/22 15:24:25 gcosmo Exp $ +$Id: History,v 1.34 2000/12/01 11:49:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,90 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Dec 01, 00 G. Cosmo geom-solids-csg-V02-00-13 +- Increased basic number of iterations from 8 to 12 for Newton algorithm + in G4Torus.cc to assure root retrivial. + +Nov 28, 00 V. Grichine geom-solids-csg-V02-00-12 +- Bug fixed in G4Tubs::Inside(p) for analysis of phi positioning when + on +-fDz surface. + +Nov 20, 00 G. Cosmo geom-solids-csg-V02-00-11 +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. +- NB: based on tag geom-solids-csg-V02-00-09. + +Nov 16, 00 V. Grichine geom-solids-csg-V02-00-10 +- G4Box.cc: introduced fixes to algorithm for computation of rotated vertices + in CalculateExtent(). (D.Williams) + +Nov 10, 00 G. Cosmo geom-solids-csg-V02-00-09 +- G4Torus.cc: removed debug print-out which was still included by mistake + in constructor. + +Nov 02, 00 G. Cosmo geom-solids-csg-V02-00-08 +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Removed virtual keyword from GetEntityType() concrete function. + o General cosmetics. + +Oct 31, 00 V. Grichine geom-solids-csg-V02-00-07 +- G4Tubs::DistanceToOut(p,v,...): + o Initialised sr and sphi to kInfinity and re-introduced additional + condition on check for Rmin intersection (t2 >= 0). + +Oct 26, 00 G. Cosmo geom-solids-csg-V02-00-06 +- G4Cons::DistanceToOut(p,v): leave out warning if point is outside. + +Oct 23, 00 G. Cosmo geom-solids-csg-V02-00-05 +- G4Tubs::DistanceToOut(p,v,...): + o Still correction to thickness of conical surfaces. (V.Grichine) + o Commented-out additional condition on check for Rmin intersection + (t2 >= 0), recently introduced (roi2). + Requires further investigation !! +- G4Torus: + o Introduced more stable numerical method (Newton-based) for computing + roots of equations in DistanceToIn() and DistanceToOut(). (E.Medernach) + +Oct 18, 00 V. Grichine geom-solids-csg-V02-00-04 +- G4Cons.cc, G4Tubs.cc: + added check against negative distance returned by DistanceToIn/DistanceToOut. +- G4Cons.cc: + added correction for thickness of conical surfaces, remarkable for big + opening angles, in DistanceToIn/DistanceToOut functions. + +Oct 05, 00 V. Grichine geom-solids-csg-V02-00-03 +- G4Cons.cc: + o fix in DistanceToIn(p,v): corrected condition on conical surface to + consider a real projection of the conical surface thickness on XY + plane (0.5*kCarTolerance*secRMin instead of 0.5*kCarTolerance), when + dealing with cons with large opening angle. + o Updated unit test testG4Cons2.cc. + +Aug 16, 00 V. Grichine geom-solids-csg-V02-00-02 +- G4Cons.cc: + o fix in constructor to check if one of the Rmin is equal to 0, + if so, it will be set to 1e3*kRadTolerance. + o Deactivated call to G4Exception in DistanceToOut(p) if p is outside, + replaced by simple warning. +- G4Tubes.cc, G4Box.cc: + o Deactivated call to G4Exception in DistanceToOut(p) if p is outside, + replaced by simple warning. + +Aug 08, 00 V. Grichine geom-solids-csg-V02-00-01 +- G4Cons.cc, G4Tubs.cc: + o fixes to DistanceToOut(p,v,...) to make roots of quadratic equations + more stable. + o added check if point is outside in G4Tubes::DistanceToOut(p), + some code formatting. + +Jul 27, 00 V. Grichine geom-solids-csg-V02-00-00 +- G4Cons.cc: + o added more diagnostics in DistanceToOut(p) + o cosmetics changes +- Updated unit test for G4Cons. Jun 22, 00 V. Grichine geom-solids-csg-V01-01-04 - G4Box.cc: diff --git a/source/geometry/solids/CSG/include/G4Box.hh b/source/geometry/solids/CSG/include/G4Box.hh index bf1af40a72..d2ee2dbee4 100644 --- a/source/geometry/solids/CSG/include/G4Box.hh +++ b/source/geometry/solids/CSG/include/G4Box.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Box.hh,v 1.4 2000/04/07 12:55:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Box.hh,v 1.5 2000/11/02 17:06:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -23,8 +23,8 @@ // // As inherited from G4CSGSolid + // -// G4Box(const G4String& pName, G4double pX, -// G4double pY, G4double pZ) +// G4Box(const G4String& pName, +// G4double pX, G4double pY, G4double pZ) // // - Construct a box with name, and half lengths pX,pY,pZ // @@ -63,10 +63,9 @@ class G4Box : public G4CSGSolid { -public: + public: - G4Box(const G4String& pName, G4double pX, - G4double pY, G4double pZ); + G4Box(const G4String& pName, G4double pX, G4double pY, G4double pZ); virtual ~G4Box(); @@ -78,69 +77,51 @@ public: const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform, G4double& pmin, G4double& pmax) const; -// Access functions + // Access functions - G4double GetXHalfLength() const - { - return fDx; - } + G4double GetXHalfLength() const { return fDx; } - G4double GetYHalfLength() const - { - return fDy; - } + G4double GetYHalfLength() const { return fDy; } - G4double GetZHalfLength() const - { - return fDz; - } + G4double GetZHalfLength() const { return fDz; } - void SetXHalfLength(G4double dx) - { - fDx=dx; - } + void SetXHalfLength(G4double dx) { fDx=dx; } - void SetYHalfLength(G4double dy) - { - fDy=dy; - } + void SetYHalfLength(G4double dy) { fDy=dy; } - void SetZHalfLength(G4double dz) - { - fDz=dz; - } + void SetZHalfLength(G4double dz) { fDz=dz; } EInside Inside(const G4ThreeVector& p) const; G4ThreeVector SurfaceNormal( const G4ThreeVector& p) const; - G4double DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const; + G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v) const; G4double DistanceToIn(const G4ThreeVector& p) const; - G4double DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, + G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v, const G4bool calcNorm=false, G4bool *validNorm=0,G4ThreeVector *n=0) const; G4double DistanceToOut(const G4ThreeVector& p) const; - virtual G4GeometryType GetEntityType() const { return G4String("G4Box"); } + G4GeometryType GetEntityType() const { return G4String("G4Box"); } - void DescribeYourselfTo (G4VGraphicsScene& scene) const; - G4VisExtent GetExtent () const; + void DescribeYourselfTo (G4VGraphicsScene& scene) const; + G4VisExtent GetExtent () const; G4Polyhedron* CreatePolyhedron () const; G4NURBS* CreateNURBS () const; -protected: + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; -// Codes for faces (kPX=plus x face,kMY= minus y face etc) + // Codes for faces (kPX=plus x face,kMY= minus y face etc) enum ESide {kUndefined,kPX,kMX,kPY,kMY,kPZ,kMZ}; -private: + private: G4double fDx,fDy,fDz; }; diff --git a/source/geometry/solids/CSG/include/G4CSGSolid.hh b/source/geometry/solids/CSG/include/G4CSGSolid.hh index e96025178e..004d54929c 100644 --- a/source/geometry/solids/CSG/include/G4CSGSolid.hh +++ b/source/geometry/solids/CSG/include/G4CSGSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CSGSolid.hh,v 1.3 2000/04/07 12:55:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CSGSolid.hh,v 1.4 2000/11/02 17:06:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -34,7 +34,8 @@ class G4CSGSolid : public G4VSolid { -public: + public: + G4CSGSolid(const G4String& pName); virtual ~G4CSGSolid(); diff --git a/source/geometry/solids/CSG/include/G4Cons.hh b/source/geometry/solids/CSG/include/G4Cons.hh index ff7c934573..a9af6ba2d7 100644 --- a/source/geometry/solids/CSG/include/G4Cons.hh +++ b/source/geometry/solids/CSG/include/G4Cons.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Cons.hh,v 1.4 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Cons.hh,v 1.5 2000/11/02 17:06:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -51,7 +51,7 @@ class G4Cons : public G4CSGSolid { -public: + public: G4Cons(const G4String& pName, G4double pRmin1, G4double pRmax1, G4double pRmin2, G4double pRmax2, @@ -60,7 +60,7 @@ public: virtual ~G4Cons() ; -// Access functions + // Access functions G4double GetInnerRadiusMinusZ() const { return fRmin1 ; } G4double GetOuterRadiusMinusZ() const { return fRmax1 ; } G4double GetInnerRadiusPlusZ() const { return fRmin2 ; } @@ -108,7 +108,7 @@ public: G4double DistanceToOut(const G4ThreeVector& p) const ; - virtual G4GeometryType GetEntityType() const { return G4String("G4Cons"); } + G4GeometryType GetEntityType() const { return G4String("G4Cons"); } void DescribeYourselfTo(G4VGraphicsScene& scene) const; @@ -127,7 +127,7 @@ public: G4double GetSPhi() const { return GetStartPhiAngle(); } // fSPhi G4double GetDPhi() const { return GetDeltaPhiAngle(); } // fDPhi -protected: + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; @@ -140,7 +140,7 @@ protected: enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; -private: + private: G4double fRmin1,fRmin2, fRmax1,fRmax2, diff --git a/source/geometry/solids/CSG/include/G4Para.hh b/source/geometry/solids/CSG/include/G4Para.hh index ad0c316ee0..287d82fa6f 100644 --- a/source/geometry/solids/CSG/include/G4Para.hh +++ b/source/geometry/solids/CSG/include/G4Para.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Para.hh,v 1.5 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Para.hh,v 1.6 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -55,79 +55,51 @@ #include "G4CSGSolid.hh" -class G4Para : public G4CSGSolid { -public: - G4Para(const G4String& pName, +class G4Para : public G4CSGSolid +{ + public: + + G4Para(const G4String& pName, G4double pDx, G4double pDy, G4double pDz, G4double pAlpha, G4double pTheta, G4double pPhi); - G4Para( const G4String& pName, - const G4ThreeVector pt[8]) ; - - virtual ~G4Para() ; - - // Access functions + G4Para( const G4String& pName, + const G4ThreeVector pt[8]) ; - G4double GetZHalfLength() const - { - return fDz ; - } + virtual ~G4Para() ; + // Access functions + + G4double GetZHalfLength() const { return fDz ; } G4ThreeVector GetSymAxis() const { - G4double cosTheta = 1.0/sqrt(1+fTthetaCphi*fTthetaCphi+fTthetaSphi*fTthetaSphi) ; + G4double cosTheta = 1.0/sqrt(1+fTthetaCphi*fTthetaCphi + + fTthetaSphi*fTthetaSphi) ; - return G4ThreeVector(fTthetaCphi*cosTheta,fTthetaSphi*cosTheta,cosTheta) ; - } - - G4double GetYHalfLength() const - { - return fDy ; + return G4ThreeVector(fTthetaCphi*cosTheta, + fTthetaSphi*cosTheta, + cosTheta) ; } + G4double GetYHalfLength() const { return fDy ; } + G4double GetXHalfLength() const { return fDx ; } + G4double GetTanAlpha() const { return fTalpha ; } + // Set functions - G4double GetXHalfLength() const - { - return fDx ; - } - - - G4double GetTanAlpha() const - { - return fTalpha ; - } - - // Set functions - - void SetXHalfLength(G4double val) - { - fDx= val; - } - void SetYHalfLength(G4double val) - { - fDy= val; - } - void SetZHalfLength(G4double val) - { - fDz= val; - } - void SetAlpha(double alpha) - { - fTalpha= tan(alpha); - } - void SetTanAlpha(double val) - { - fTalpha= val; - } + void SetXHalfLength(G4double val) { fDx= val; } + void SetYHalfLength(G4double val) { fDy= val; } + void SetZHalfLength(G4double val) { fDz= val; } + void SetAlpha(G4double alpha) { fTalpha= tan(alpha); } + void SetTanAlpha(G4double val) { fTalpha= val; } void SetThetaAndPhi(double pTheta, double pPhi) { fTthetaCphi=tan(pTheta)*cos(pPhi); fTthetaSphi=tan(pTheta)*sin(pPhi); } void SetAllParameters(G4double pDx, G4double pDy, G4double pDz, - G4double pAlpha, G4double pTheta, G4double pPhi); + G4double pAlpha, G4double pTheta, G4double pPhi); - // Methods + // Methods void ComputeDimensions(G4VPVParameterisation* p, const G4int n, @@ -153,33 +125,23 @@ public: // Naming method (pseudo-RTTI : run-time type identification - virtual G4GeometryType GetEntityType() const { return G4String("G4Para"); } + G4GeometryType GetEntityType() const { return G4String("G4Para"); } - // Visualisation functions + // Visualisation functions - void DescribeYourselfTo (G4VGraphicsScene& scene) const; - + void DescribeYourselfTo (G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron () const; - G4NURBS* CreateNURBS () const; -protected: + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; -private: + private: + G4double fDx,fDy,fDz; G4double fTalpha,fTthetaCphi,fTthetaSphi; }; #endif - - - - - - - - - diff --git a/source/geometry/solids/CSG/include/G4Sphere.hh b/source/geometry/solids/CSG/include/G4Sphere.hh index 9bca7b52bb..d3e8fff510 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.hh +++ b/source/geometry/solids/CSG/include/G4Sphere.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Sphere.hh,v 1.4 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Sphere.hh,v 1.5 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -53,8 +53,9 @@ #include "G4CSGSolid.hh" -class G4Sphere : public G4CSGSolid { -public: +class G4Sphere : public G4CSGSolid +{ + public: G4Sphere(const G4String& pName, G4double pRmin, G4double pRmax, G4double pSPhi, G4double pDPhi, @@ -62,7 +63,7 @@ public: virtual ~G4Sphere() ; - // Access functions + // Access functions G4double GetInsideRadius () const { return fRmin; } G4double GetOuterRadius () const { return fRmax; } @@ -104,19 +105,18 @@ public: G4double DistanceToOut(const G4ThreeVector& p) const; - // Naming method (pseudo-RTTI : run-time type identification) + G4GeometryType GetEntityType() const { return G4String("G4Sphere"); } + // Naming method (pseudo-RTTI : run-time type identification) - virtual G4GeometryType GetEntityType() const { return G4String("G4Sphere"); } - // Visualisation functions + // Visualisation functions - void DescribeYourselfTo(G4VGraphicsScene& scene) const; - + void DescribeYourselfTo(G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron() const; - G4NURBS* CreateNURBS() const; - // Old access functions + // Old access functions + G4double GetRmin() const { return GetInsideRadius (); } G4double GetRmax() const { return GetOuterRadius (); } G4double GetSPhi() const { return GetStartPhiAngle (); } @@ -124,26 +124,25 @@ public: G4double GetSTheta() const { return GetStartThetaAngle(); } G4double GetDTheta() const { return GetDeltaThetaAngle(); } -protected: + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform, G4int& noPolygonVertices) const; - // Used by distanceToOut + // Used by distanceToOut enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta}; - // used by normal + // used by normal enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta}; -private: + private: G4double fRmin,fRmax, fSPhi,fDPhi, fSTheta,fDTheta; - }; #endif diff --git a/source/geometry/solids/CSG/include/G4Torus.hh b/source/geometry/solids/CSG/include/G4Torus.hh index 06ec819ce2..4bd5c25aae 100644 --- a/source/geometry/solids/CSG/include/G4Torus.hh +++ b/source/geometry/solids/CSG/include/G4Torus.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Torus.hh,v 1.5 2000/05/26 13:20:40 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Torus.hh,v 1.11 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -71,6 +71,7 @@ // 21.04.98 J.Apostolakis Added SetAllParameters function // 26.05.00 V.Grichine, new SolveBiQuadratic/Cubic developed by O.Cremonesi were // added +// 31.08.00 E.Medernach Added SolveNumeric Functions // -------------------------------------------------------------------- #ifndef G4Torus_HH @@ -78,79 +79,166 @@ #include "G4CSGSolid.hh" -class G4Torus : public G4CSGSolid { +class G4Torus : public G4CSGSolid +{ + public: -G4Torus(const G4String &pName, - G4double pRmin, - G4double pRmax, - G4double pRtor, - G4double pSPhi, - G4double pDPhi); - virtual ~G4Torus(); + G4Torus(const G4String &pName, + G4double pRmin, + G4double pRmax, + G4double pRtor, + G4double pSPhi, + G4double pDPhi); + + virtual ~G4Torus(); - void SetAllParameters(G4double pRmin, G4double pRmax, G4double pRtor, - G4double pSPhi, G4double pDPhi); + void SetAllParameters(G4double pRmin, G4double pRmax, G4double pRtor, + G4double pSPhi, G4double pDPhi); - void ComputeDimensions(G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep); + void ComputeDimensions(G4VPVParameterisation* p, + const G4int n, + const G4VPhysicalVolume* pRep); - G4int TorusRoots(G4double Ri, - const G4ThreeVector& p, - const G4ThreeVector& v) const ; + G4int TorusRoots(G4double Ri, + const G4ThreeVector& p, + const G4ThreeVector& v) const ; - G4bool CalculateExtent(const EAxis pAxis, - const G4VoxelLimits& pVoxelLimit, - const G4AffineTransform& pTransform, - G4double& pmin, G4double& pmax) const; + G4bool CalculateExtent(const EAxis pAxis, + const G4VoxelLimits& pVoxelLimit, + const G4AffineTransform& pTransform, + G4double& pmin, G4double& pmax) const; - G4double GetRmin() const { return fRmin ; } - G4double GetRmax() const { return fRmax ; } - G4double GetRtor () const { return fRtor ; } - G4double GetSPhi() const { return fSPhi ; } - G4double GetDPhi() const { return fDPhi ; } + G4double GetRmin() const { return fRmin ; } + G4double GetRmax() const { return fRmax ; } + G4double GetRtor() const { return fRtor ; } + G4double GetSPhi() const { return fSPhi ; } + G4double GetDPhi() const { return fDPhi ; } - EInside Inside(const G4ThreeVector& p) const; + EInside Inside(const G4ThreeVector& p) const; - G4ThreeVector SurfaceNormal( const G4ThreeVector& p) const; + G4ThreeVector SurfaceNormal( const G4ThreeVector& p) const; - G4double DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const; - G4double DistanceToIn(const G4ThreeVector& p) const; - G4double DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, - const G4bool calcNorm=G4bool(false), - G4bool *validNorm=0,G4ThreeVector *n=0) const; - G4double DistanceToOut(const G4ThreeVector& p) const; + G4double DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const; + G4double DistanceToIn(const G4ThreeVector& p) const; + G4double DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, + const G4bool calcNorm=G4bool(false), + G4bool *validNorm=0,G4ThreeVector *n=0) const; + G4double DistanceToOut(const G4ThreeVector& p) const; + G4GeometryType GetEntityType() const { return G4String("G4Torus"); } // Naming method (pseudo-RTTI : run-time type identification) - virtual G4GeometryType GetEntityType() const { return G4String("G4Torus"); } - // Visualisation functions - void DescribeYourselfTo (G4VGraphicsScene& scene) const; - G4Polyhedron* CreatePolyhedron () const; - G4NURBS* CreateNURBS () const; + // Visualisation functions + + void DescribeYourselfTo (G4VGraphicsScene& scene) const; + G4Polyhedron* CreatePolyhedron () const; + G4NURBS* CreateNURBS () const; protected: - G4int SolveBiQuadratic(G4double c[], G4double s[] ) const ; - G4int SolveCubic(G4double c[], G4double s[] ) const ; + G4int SolveBiQuadratic(G4double c[], G4double s[] ) const ; + G4int SolveCubic(G4double c[], G4double s[] ) const ; - G4int SolveBiQuadraticNew(G4double c[], G4double s[] ) const ; - G4int SolveCubicNew(G4double c[], G4double s[], G4double& cd ) const ; + G4int SolveBiQuadraticNew(G4double c[], G4double s[] ) const ; + G4int SolveCubicNew(G4double c[], G4double s[], G4double& cd ) const ; - G4int SolveQuadratic(double c[], double s[] ) const ; - - G4ThreeVectorList* - CreateRotatedVertices(const G4AffineTransform& pTransform, - G4int& noPolygonVertices) const; + G4int SolveQuadratic(G4double c[], G4double s[] ) const ; - G4double fRmin,fRmax,fRtor,fSPhi,fDPhi; + G4double SolveNumeric(const G4ThreeVector& p, + const G4ThreeVector& v, + G4bool IsDistanceToIn) const; + + G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform, + G4int& noPolygonVertices) const; + + G4double fRmin,fRmax,fRtor,fSPhi,fDPhi; // Used by distanceToOut enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi}; // used by normal enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi}; +private: + + G4double TorusEquation (G4double x, G4double y, G4double z, + G4double R0, G4double R1) const + { + /* R0 : Radius of all little circles + R1 : Radius of little circles + */ + /* + An interesting property is that the sign + tell if the point is inside or outside + or if > EPSILON on the surface + */ + G4double temp; + + temp = ((x*x + y*y + z*z) + R0*R0 - R1*R1) ; + temp = temp*temp ; + temp = temp - 4*R0*R0*(x*x + y*y) ; + + /* + > 0 Outside + < 0 Inside + */ + return temp ; + } + + G4double TorusDerivativeX (G4double x, G4double y, G4double z, + G4double R0, G4double R1) const + { + return 4*x*(x*x + y*y + z*z + R0*R0 - R1*R1) - 8*R0*R0*x ; + } + + G4double TorusDerivativeY (G4double x, G4double y, G4double z, + G4double R0, G4double R1) const + { + return 4*y*(x*x + y*y + z*z + R0*R0 - R1*R1) - 8*R0*R0*y ; + } + + G4double TorusDerivativeZ (G4double x, G4double y, G4double z, + G4double R0, G4double R1) const + { + return 4*z*(x*x + y*y + z*z + R0*R0 - R1*R1) ; + } + + G4double TorusGradient(G4double dx, G4double dy, G4double dz, + G4double x, G4double y, G4double z, + G4double Rmax, G4double Rmin) const + { + /* This tell the normal at a surface point */ + G4double result; + result = 0; + result += dx*TorusDerivativeX(x,y,z,Rmax,Rmin); + result += dy*TorusDerivativeY(x,y,z,Rmax,Rmin); + result += dz*TorusDerivativeZ(x,y,z,Rmax,Rmin); + + return result; + } + + void BVMIntersection (G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double Rmax, G4double Rmin, + G4double *NewL, G4int *valid) const; + + void SortIntervals (G4double *SortL, G4double *NewL, + G4int *valid, G4int *NbIntersection) const; + + G4double DistanceToTorus (G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double R0,G4double R1) const; + + G4int SafeNewton(G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double Rmax, G4double Rmin, + G4double *Lmin,G4double *Lmax) const; + + G4double Newton (G4double guess, + G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double Rmax, G4double Rmin, + G4double Lmin,G4double Lmax) const; }; #endif diff --git a/source/geometry/solids/CSG/include/G4Trap.hh b/source/geometry/solids/CSG/include/G4Trap.hh index 383ed3a56b..a3ca23bc3b 100644 --- a/source/geometry/solids/CSG/include/G4Trap.hh +++ b/source/geometry/solids/CSG/include/G4Trap.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Trap.hh,v 1.4 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Trap.hh,v 1.5 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -159,11 +159,12 @@ struct TrapSidePlane // => Ax+By+Cz+D=0 }; -class G4Trap : public G4CSGSolid { +class G4Trap : public G4CSGSolid +{ -public: + public: -// The most general constructor for G4Trap + // The most general constructor for G4Trap G4Trap( const G4String& pName, G4double pDz, @@ -176,94 +177,57 @@ public: G4Trap( const G4String& pName, const G4ThreeVector pt[8]) ; -// Constructor for Right Angular Wedge from STEP + // Constructor for Right Angular Wedge from STEP (assumes pLTX<=pX) G4Trap( const G4String& pName, G4double pZ, G4double pY, G4double pX, G4double pLTX); -// Constructor for G4Trd + // Constructor for G4Trd G4Trap( const G4String& pName, G4double pDx1, G4double pDx2, G4double pDy1, G4double pDy2, G4double pDz); -// Constructor for G4Para + // Constructor for G4Para G4Trap(const G4String& pName, G4double pDx, G4double pDy, G4double pDz, G4double pAlpha, G4double pTheta, G4double pPhi); - virtual ~G4Trap() ; + virtual ~G4Trap() ; // Constructor for "nominal" G4Trap whose parameters are to be set - // by a G4VPramaterisation later. + // by a G4VParamaterisation later. G4Trap(const G4String& pName); - // Access functions + // Access functions - G4double GetZHalfLength() const - { - return fDz ; - } - + G4double GetZHalfLength() const { return fDz ; } G4ThreeVector GetSymAxis() const { - G4double cosTheta = 1.0/sqrt(1+fTthetaCphi*fTthetaCphi+fTthetaSphi*fTthetaSphi) ; + G4double cosTheta = 1.0/sqrt(1+fTthetaCphi*fTthetaCphi + + fTthetaSphi*fTthetaSphi) ; - return G4ThreeVector(fTthetaCphi*cosTheta,fTthetaSphi*cosTheta,cosTheta) ; + return G4ThreeVector(fTthetaCphi*cosTheta, + fTthetaSphi*cosTheta, + cosTheta) ; } + G4double GetYHalfLength1() const { return fDy1 ; } + G4double GetXHalfLength1() const { return fDx1 ; } + G4double GetXHalfLength2() const { return fDx2 ; } + G4double GetTanAlpha1() const { return fTalpha1 ; } + G4double GetYHalfLength2() const { return fDy2 ; } + G4double GetXHalfLength3() const { return fDx3 ; } + G4double GetXHalfLength4() const { return fDx4 ; } + G4double GetTanAlpha2() const { return fTalpha2 ; } + TrapSidePlane GetSidePlane(G4int n ) const { return fPlanes[n] ; } - G4double GetYHalfLength1() const - { - return fDy1 ; - } - + // Set Methods - G4double GetXHalfLength1() const - { - return fDx1 ; - } - - G4double GetXHalfLength2() const - { - return fDx2 ; - } - - G4double GetTanAlpha1() const - { - return fTalpha1 ; - } - - G4double GetYHalfLength2() const - { - return fDy2 ; - } - - G4double GetXHalfLength3() const - { - return fDx3 ; - } - - G4double GetXHalfLength4() const - { - return fDx4 ; - } - - G4double GetTanAlpha2() const - { - return fTalpha2 ; - } - - TrapSidePlane GetSidePlane(G4int n ) const - { - return fPlanes[n] ; - } - - // Set Methods void SetAllParameters ( G4double pDz, G4double pTheta, G4double pPhi, @@ -276,7 +240,7 @@ public: G4double pDx4, G4double pAlp2); - // Methods + // Methods void ComputeDimensions(G4VPVParameterisation* p, const G4int n, @@ -301,19 +265,16 @@ public: G4double DistanceToOut(const G4ThreeVector& p) const; - // Naming method (pseudo-RTTI : run-time type identification + G4GeometryType GetEntityType() const { return G4String("G4Trap"); } + // Naming method (pseudo-RTTI : run-time type identification - virtual G4GeometryType GetEntityType() const { return G4String("G4Trap"); } + // Visualisation functions - // Visualisation functions - - void DescribeYourselfTo (G4VGraphicsScene& scene) const; - + void DescribeYourselfTo (G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron () const; - G4NURBS* CreateNURBS () const; -protected: + protected: G4bool MakePlanes(); G4bool MakePlane( const G4ThreeVector& p1, @@ -325,7 +286,7 @@ protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; -private: + private: G4double fDz,fTthetaCphi,fTthetaSphi; G4double fDy1,fDx1,fDx2,fTalpha1; diff --git a/source/geometry/solids/CSG/include/G4Trd.hh b/source/geometry/solids/CSG/include/G4Trd.hh index 1a45b16586..ab223085ee 100644 --- a/source/geometry/solids/CSG/include/G4Trd.hh +++ b/source/geometry/solids/CSG/include/G4Trd.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Trd.hh,v 1.5 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Trd.hh,v 1.6 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -87,52 +87,23 @@ class G4Trd : public G4CSGSolid virtual ~G4Trd(); -// Access functions - G4double GetXHalfLength1() const - { - return fDx1; - } + // Access functions - G4double GetXHalfLength2() const - { - return fDx2; - } - - G4double GetYHalfLength1() const - { - return fDy1; - } + G4double GetXHalfLength1() const { return fDx1; } + G4double GetXHalfLength2() const { return fDx2; } + G4double GetYHalfLength1() const { return fDy1; } + G4double GetYHalfLength2() const { return fDy2; } + G4double GetZHalfLength() const { return fDz; } - G4double GetYHalfLength2() const - { - return fDy2; - } - - G4double GetZHalfLength() const - { - return fDz; - } - - void SetXHalfLength1(G4double val) - { - fDx1= val; - } - void SetXHalfLength2(G4double val) - { - fDx2= val; - } - void SetYHalfLength1(G4double val) - { - fDy1= val; - } - void SetYHalfLength2(G4double val) - { - fDy2= val; - } - void SetZHalfLength(G4double val) - { - fDz= val; - } + // Set functions + + void SetXHalfLength1(G4double val) { fDx1= val; } + void SetXHalfLength2(G4double val) { fDx2= val; } + void SetYHalfLength1(G4double val) { fDy1= val; } + void SetYHalfLength2(G4double val) { fDy2= val; } + void SetZHalfLength(G4double val) { fDz= val; } + + // Methods void ComputeDimensions(G4VPVParameterisation* p, const G4int n, @@ -161,42 +132,34 @@ class G4Trd : public G4CSGSolid G4double DistanceToOut(const G4ThreeVector& p) const; - // Naming method (pseudo-RTTI : run-time type identification + void CheckAndSetAllParameters (G4double pdx1, G4double pdx2, + G4double pdy1, G4double pdy2, + G4double pdz); - virtual G4GeometryType GetEntityType() const { return G4String("G4Trd"); } + void SetAllParameters (G4double pdx1, G4double pdx2, + G4double pdy1, G4double pdy2, + G4double pdz); - // Visualisation functions + G4GeometryType GetEntityType() const { return G4String("G4Trd"); } + // Naming method (pseudo-RTTI : run-time type identification - void DescribeYourselfTo (G4VGraphicsScene& scene) const; + // Visualisation functions + + void DescribeYourselfTo (G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron () const; G4NURBS* CreateNURBS () const; - void CheckAndSetAllParameters (G4double pdx1, G4double pdx2, - G4double pdy1, G4double pdy2, - G4double pdz); - - void SetAllParameters (G4double pdx1, G4double pdx2, - G4double pdy1, G4double pdy2, - G4double pdz); - -protected: + protected: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; G4double fDx1,fDx2,fDy1,fDy2,fDz; -// Codes for faces (kPX=plus x face,kMY= minus y face etc) + // Codes for faces (kPX=plus x face,kMY= minus y face etc) - enum ESide {kUndefined, kPX,kMX,kPY,kMY,kPZ,kMZ}; + enum ESide {kUndefined, kPX,kMX,kPY,kMY,kPZ,kMZ}; }; #endif - - - - - - - diff --git a/source/geometry/solids/CSG/include/G4Tubs.hh b/source/geometry/solids/CSG/include/G4Tubs.hh index 5a7d50772e..c8c4223305 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.hh +++ b/source/geometry/solids/CSG/include/G4Tubs.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Tubs.hh,v 1.4 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Tubs.hh,v 1.5 2000/11/02 17:06:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -75,8 +75,10 @@ #include "G4CSGSolid.hh" -class G4Tubs : public G4CSGSolid { -public: +class G4Tubs : public G4CSGSolid +{ + public: + G4Tubs(const G4String &pName, G4double pRMin, G4double pRMax, @@ -95,14 +97,14 @@ public: const G4AffineTransform& pTransform, G4double& pmin, G4double& pmax) const; - G4double GetInnerRadius () const { return fRMin; } - G4double GetOuterRadius () const { return fRMax; } + G4double GetInnerRadius () const { return fRMin; } + G4double GetOuterRadius () const { return fRMax; } G4double GetZHalfLength () const { return fDz ; } G4double GetStartPhiAngle () const { return fSPhi; } G4double GetDeltaPhiAngle () const { return fDPhi; } - void SetInnerRadius (G4double newRMin) { fRMin= newRMin; } - void SetOuterRadius (G4double newRMax) { fRMax= newRMax; } + void SetInnerRadius (G4double newRMin) { fRMin= newRMin; } + void SetOuterRadius (G4double newRMax) { fRMax= newRMax; } void SetZHalfLength (G4double newDz) { fDz= newDz ; } void SetStartPhiAngle (G4double newSPhi) { fSPhi= newSPhi; } void SetDeltaPhiAngle (G4double newDPhi) { fDPhi= newDPhi; } @@ -118,31 +120,34 @@ public: G4bool *validNorm=0,G4ThreeVector *n=0) const; G4double DistanceToOut(const G4ThreeVector& p) const; - // Naming method (pseudo-RTTI : run-time type identification) - virtual G4GeometryType GetEntityType() const { return G4String("G4Tubs"); } + G4GeometryType GetEntityType() const { return G4String("G4Tubs"); } + // Naming method (pseudo-RTTI : run-time type identification) + + // Visualisation functions - // Visualisation functions void DescribeYourselfTo (G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron () const; G4NURBS* CreateNURBS () const; - // Older names for access functions - G4double GetRMin() const { return GetInnerRadius(); } // fRMin + // Older names for access functions + + G4double GetRMin() const { return GetInnerRadius(); } // fRMin G4double GetRMax() const { return GetOuterRadius(); } // fRMax G4double GetDz () const { return GetZHalfLength() ; } // fDz G4double GetSPhi() const { return GetStartPhiAngle(); } // fSPhi G4double GetDPhi() const { return GetDeltaPhiAngle(); } // fDPhi -protected: + protected: + G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; G4double fRMin,fRMax,fDz,fSPhi,fDPhi; // Used by distanceToOut - enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; + enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; // used by normal - enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; + enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; }; diff --git a/source/geometry/solids/CSG/src/G4Box.cc b/source/geometry/solids/CSG/src/G4Box.cc index c64eb9bce8..3f0110efa3 100644 --- a/source/geometry/solids/CSG/src/G4Box.cc +++ b/source/geometry/solids/CSG/src/G4Box.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Box.cc,v 1.6 2000/06/09 14:37:30 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Box.cc,v 1.10 2000/11/20 18:05:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // @@ -167,6 +167,8 @@ G4bool G4Box::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } pMin -= kCarTolerance ; pMax += kCarTolerance ; @@ -634,11 +636,18 @@ G4double G4Box::DistanceToOut(const G4ThreeVector& p) const if( Inside(p) == kOutside ) { - 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; - G4Exception("Invalid call in G4Box::DistanceToOut(p), point p is outside") ; + G4cout.precision(16) ; + G4cout << G4endl ; + G4cout << "Box parameters:" << G4endl << G4endl ; + G4cout << "fDx = " << fDx/mm << " mm" << G4endl ; + G4cout << "fDy = " << fDy/mm << " mm" << G4endl ; + G4cout << "fDz = " << fDz/mm << " mm" << G4endl << G4endl ; + 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 ; + // G4Exception("Invalid call in G4Box::DistanceToOut(p), point p is outside") ; + G4cout<<"G4Box::DistanceToOut(p),point p is outside ?!" << G4endl ; } safx1 = fDx - p.x() ; safx2 = fDx + p.x() ; diff --git a/source/geometry/solids/CSG/src/G4CSGSolid.cc b/source/geometry/solids/CSG/src/G4CSGSolid.cc index 8e63e7920e..4e1a122ff2 100644 --- a/source/geometry/solids/CSG/src/G4CSGSolid.cc +++ b/source/geometry/solids/CSG/src/G4CSGSolid.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4CSGSolid.cc,v 1.2 1999/12/15 14:50:06 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4CSGSolid.hh" diff --git a/source/geometry/solids/CSG/src/G4Cons.cc b/source/geometry/solids/CSG/src/G4Cons.cc index da1d13fd9e..29cf4fe989 100644 --- a/source/geometry/solids/CSG/src/G4Cons.cc +++ b/source/geometry/solids/CSG/src/G4Cons.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Cons.cc,v 1.9 2000/04/11 16:04:27 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Cons.cc,v 1.16 2000/11/20 17:57:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4Cons // @@ -14,6 +14,9 @@ // // History: // +// 05.10.00 V. Grichine bugs fixed in Distance ToIn(p,v) +// 17.08.00 V.Grichine, if one and only one Rmin=0, it'll be 1e3*kRadTolerance +// 08.08.00 V.Grichine, more stable roots of 2-equation in DistanceToOut(p,v,...) // 06.03.00 V.Grichine, modifications in DistanceToOut(p,v,...) // 18.11.99 V.Grichine side = kNull initialisation in DistanceToOut(p,v,...) // 28.04.99 V. Grichine bugs fixed in Distance ToOut(p,v,...) and @@ -68,57 +71,45 @@ G4Cons::G4Cons( const G4String& pName, { // Check z-len - if (pDz>0) - { - fDz=pDz; - } - else - { - G4Exception("Error in G4Cons::G4Cons - invalid z half-length"); - } + if ( pDz > 0 ) fDz = pDz ; + else + { + G4Exception("Error in G4Cons::G4Cons - invalid z half-length"); + } // Check radii - if ( pRmin1 < pRmax1 && pRmin2 < pRmax2 && pRmin1 >= 0 && pRmin2 >= 0 ) - { - fRmin1=pRmin1; fRmax1=pRmax1; - fRmin2=pRmin2; fRmax2=pRmax2; - } - else - { - G4Exception("Error in G4Cons::G4Cons - invalid radii"); - } + if ( pRmin1 < pRmax1 && pRmin2 < pRmax2 && pRmin1 >= 0 && pRmin2 >= 0 ) + { + + fRmin1 = pRmin1 ; + fRmax1 = pRmax1 ; + fRmin2 = pRmin2 ; + fRmax2 = pRmax2 ; + if( (pRmin1 == 0.0 && pRmin2 > 0.0) ) fRmin1 = 1e3*kRadTolerance ; + if( (pRmin2 == 0.0 && pRmin1 > 0.0) ) fRmin2 = 1e3*kRadTolerance ; + } + else G4Exception("Error in G4Cons::G4Cons - invalid radii") ; // Check angles - if ( pDPhi >= 2.0*M_PI ) - { + if ( pDPhi >= 2.0*M_PI ) + { fDPhi=2*M_PI; fSPhi=0; - } - else - { - if ( pDPhi > 0 ) - { - fDPhi = pDPhi ; - } - else - { - G4Exception("Error in G4Cons::G4Cons - invalid pDPhi"); - } + } + else + { + if ( pDPhi > 0 ) fDPhi = pDPhi ; + else G4Exception("Error in G4Cons::G4Cons - invalid pDPhi") ; // Ensure pSPhi in 0-2PI or -2PI-0 range if shape crosses 0 - if (pSPhi < 0) - { - fSPhi = 2.0*M_PI - fmod(fabs(pSPhi),2.0*M_PI) ; - } - else - { - fSPhi=fmod(pSPhi,2.0*M_PI); - } - if (fSPhi+fDPhi>2.0*M_PI) fSPhi-=2.0*M_PI; - } + if ( pSPhi < 0 ) fSPhi = 2.0*M_PI - fmod(fabs(pSPhi),2.0*M_PI) ; + else fSPhi = fmod(pSPhi,2.0*M_PI) ; + + if (fSPhi + fDPhi > 2.0*M_PI) fSPhi -= 2.0*M_PI ; + } } ///////////////////////////////////////////////////////////////////// @@ -127,155 +118,158 @@ G4Cons::G4Cons( const G4String& pName, EInside G4Cons::Inside(const G4ThreeVector& p) const { - G4double r2,rl,rh,pPhi,tolRMin,tolRMax; - EInside in=kOutside; - if (fabs(p.z())<=fDz-kCarTolerance/2) - { - r2=p.x()*p.x()+p.y()*p.y(); - rl=0.5*(fRmin2*(p.z()+fDz)+fRmin1*(fDz-p.z()))/fDz; + G4double r2, rl, rh, pPhi, tolRMin, tolRMax ; + EInside in = kOutside ; + + if (fabs(p.z()) <= fDz - kCarTolerance*0.5 ) + { + r2 = p.x()*p.x() + p.y()*p.y() ; + rl = 0.5*(fRmin2*(p.z() + fDz) + fRmin1*(fDz - p.z()))/fDz ; + // inner radius at z of point - rh=0.5*(fRmax2*(p.z()+fDz)+fRmax1*(fDz-p.z()))/fDz; + + rh = 0.5*(fRmax2*(p.z()+fDz)+fRmax1*(fDz-p.z()))/fDz; // outer radius at z of point - if (rl) - { - tolRMin=rl+kRadTolerance/2; - } - else - { - tolRMin=0; - } - tolRMax=rh-kRadTolerance/2; + + if (rl) tolRMin = rl + kRadTolerance*0.5 ; + else tolRMin = 0.0 ; + + tolRMax = rh - kRadTolerance*0.5 ; - if (r2>=tolRMin*tolRMin && r2<=tolRMax*tolRMax) - { - if (fDPhi==2*M_PI||r2==0) - { - in=kInside; - } - else - { + if ( r2 >= tolRMin*tolRMin && r2 <= tolRMax*tolRMax ) + { + if ( fDPhi == 2*M_PI || r2 == 0 ) in = kInside ; + else + { // Try inner tolerant phi boundaries (=>inside) // if not inside, try outer tolerant phi boundaries - pPhi=atan2(p.y(),p.x()); - if (pPhi<0) pPhi+=2*M_PI; // 0<=pPhi<2pi - if (fSPhi>=0) - { - if (pPhi>=fSPhi+kAngTolerance/2 && - pPhi<=fSPhi+fDPhi-kAngTolerance/2) - { - in=kInside; - } - else if (pPhi>=fSPhi-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+kAngTolerance/2) - { - in=kSurface; - } - } - else - { - if (pPhi=fSPhi+2*M_PI+kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+2*M_PI-kAngTolerance/2) - { - in=kInside; - } - else if (pPhi>=fSPhi+2*M_PI-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+2*M_PI+kAngTolerance/2) - { - in=kSurface; - } - } - - - } - } - else - { -// Try generous boundaries - tolRMin=rl-kRadTolerance/2; - tolRMax=rh+kRadTolerance/2; - if (tolRMin<0) tolRMin=0; - if (r2>=tolRMin*tolRMin && r2 <= tolRMax*tolRMax) - { - if (fDPhi==2*M_PI||r2==0) - { -// Continuous in phi or on z-axis - in=kSurface; - } - else - { -// Try outer tolerant phi boundaries only - pPhi=atan2(p.y(),p.x()); - if (pPhi<0) pPhi+=2*M_PI; // 0<=pPhi<2pi - if (fSPhi>=0) - { - if (pPhi>=fSPhi-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+kAngTolerance/2) - { - in=kSurface; - } - } - else - { - if (pPhi=fSPhi+2*M_PI-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+2*M_PI+kAngTolerance/2) - { - in=kSurface; - } - } - - } - } - } - } - else if (fabs(p.z())<=fDz+kCarTolerance/2) + pPhi = atan2(p.y(),p.x()) ; + + if (pPhi < 0 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi + if (fSPhi >= 0) { -// Check within tolerant r limits - r2=p.x()*p.x()+p.y()*p.y(); - rl=0.5*(fRmin2*(p.z()+fDz)+fRmin1*(fDz-p.z()))/fDz; -// inner radius at z of point - rh=0.5*(fRmax2*(p.z()+fDz)+fRmax1*(fDz-p.z()))/fDz; -// outer radius at z of point - tolRMin=rl-kRadTolerance/2; - if (tolRMin<0) tolRMin=0; - tolRMax=rh+kRadTolerance/2; - if (r2>=tolRMin*tolRMin && r2 <= tolRMax*tolRMax) - { - if (fDPhi==2*M_PI||r2==0) - { -// Continuous in phi or on z-axis - in=kSurface; - } - else - { -// Try outer tolerant phi boundaries - pPhi=atan2(p.y(),p.x()); - if (pPhi<0) pPhi+=2*M_PI; // 0<=pPhi<2pi - if (fSPhi>=0) - { - if (pPhi>=fSPhi-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+kAngTolerance/2) - { - in=kSurface; - } - } - else - { - if (pPhi=fSPhi+2*M_PI-kAngTolerance/2 && - pPhi<=fSPhi+fDPhi+2*M_PI+kAngTolerance/2) - { - in=kSurface; - } - } - - } - } + 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 ) + { + in = kSurface ; + } } - return in; + else + { + 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 ) + { + in = kSurface ; + } + } + } + } + else // Try generous boundaries + { + tolRMin = rl - kRadTolerance*0.5 ; + tolRMax = rh + kRadTolerance*0.5 ; + + if ( tolRMin < 0 ) tolRMin = 0 ; + + if (r2 >= tolRMin*tolRMin && r2 <= tolRMax*tolRMax) + { + if (fDPhi == 2*M_PI || r2 == 0) // Continuous in phi or on z-axis + { + in = kSurface ; + } + else // Try outer tolerant phi boundaries only + { + pPhi = atan2(p.y(),p.x()) ; + + if (pPhi < 0) pPhi += 2*M_PI ; // 0<=pPhi<2pi + + if ( fSPhi >= 0 ) + { + if ( pPhi >= fSPhi - kAngTolerance*0.5 && + pPhi <= fSPhi + fDPhi + kAngTolerance*0.5 ) + { + in = kSurface ; + } + } + else + { + 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 = kSurface ; + } + } + } + } + } + } + else if (fabs(p.z()) <= fDz + kCarTolerance*0.5 ) + { +// Check within tolerant r limits + + r2 = p.x()*p.x() + p.y()*p.y() ; + rl = 0.5*(fRmin2*(p.z() + fDz) + fRmin1*(fDz - p.z()))/fDz ; + +// inner radius at z of point + + rh = 0.5*(fRmax2*(p.z() + fDz) + fRmax1*(fDz - p.z()))/fDz; + +// outer radius at z of point + + tolRMin = rl - kRadTolerance*0.5 ; + + if (tolRMin < 0 ) tolRMin = 0 ; + + tolRMax = rh + kRadTolerance*0.5 ; + + if (r2 >= tolRMin*tolRMin && r2 <= tolRMax*tolRMax) + { + if ( fDPhi == 2*M_PI || r2 == 0 ) // Continuous in phi or on z-axis + { + in = kSurface ; + } + else // Try outer tolerant phi boundaries + { + pPhi = atan2(p.y(),p.x()) ; + + if ( pPhi < 0 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi + if ( fSPhi >= 0 ) + { + if ( pPhi >= fSPhi - kAngTolerance*0.5 && + pPhi <= fSPhi + fDPhi + kAngTolerance*0.5 ) + { + in = kSurface ; + } + } + else + { + 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 = kSurface ; + } + } + } + } + } + return in ; } ///////////////////////////////////////////////////////////////////////// @@ -283,11 +277,11 @@ EInside G4Cons::Inside(const G4ThreeVector& p) const // Dispatch to parameterisation for replication mechanism dimension // computation & modification. -void G4Cons::ComputeDimensions(G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep) +void G4Cons::ComputeDimensions( G4VPVParameterisation* p, + const G4int n, + const G4VPhysicalVolume* pRep ) { - p->ComputeDimensions(*this,n,pRep); + p->ComputeDimensions(*this,n,pRep) ; } @@ -295,215 +289,212 @@ void G4Cons::ComputeDimensions(G4VPVParameterisation* p, // // Calculate extent under transform and specified limit -G4bool G4Cons::CalculateExtent(const EAxis pAxis, - const G4VoxelLimits& pVoxelLimit, - const G4AffineTransform& pTransform, - G4double& pMin, - G4double& pMax) const +G4bool G4Cons::CalculateExtent( const EAxis pAxis, + const G4VoxelLimits& pVoxelLimit, + const G4AffineTransform& pTransform, + G4double& pMin, + G4double& pMax ) const { - if (!pTransform.IsRotated() && fDPhi==2.0*M_PI && fRmin1==0 && fRmin2==0) - { + if ( !pTransform.IsRotated() && + fDPhi == 2.0*M_PI && fRmin1 == 0 && fRmin2 == 0 ) + { // Special case handling for unrotated solid cones // Compute z/x/y mins and maxs for bounding box respecting limits, // with early returns if outside limits. Then switch() on pAxis, // and compute exact x and y limit for x/y case - G4double xoffset,xMin,xMax; - G4double yoffset,yMin,yMax; - G4double zoffset,zMin,zMax; + G4double xoffset, xMin, xMax ; + G4double yoffset, yMin, yMax ; + G4double zoffset, zMin, zMax ; - G4double diff1,diff2,maxDiff,newMin,newMax; - G4double xoff1,xoff2,yoff1,yoff2; + G4double diff1, diff2, maxDiff, newMin, newMax, RMax ; + G4double xoff1, xoff2, yoff1, yoff2 ; - zoffset=pTransform.NetTranslation().z(); - zMin=zoffset-fDz; - zMax=zoffset+fDz; - if (pVoxelLimit.IsZLimited()) - { - if (zMin > pVoxelLimit.GetMaxZExtent()+kCarTolerance - || zMax < pVoxelLimit.GetMinZExtent()-kCarTolerance) - { - return false; - } - else - { - if (zMinpVoxelLimit.GetMaxZExtent()) - { - zMax=pVoxelLimit.GetMaxZExtent(); - } - } - } + zoffset = pTransform.NetTranslation().z(); + zMin = zoffset - fDz ; + zMax = zoffset + fDz ; - xoffset=pTransform.NetTranslation().x() ; - G4double RMax = (fRmax2 >= fRmax1) ? zMax : zMin ; - xMax = xoffset + (fRmax1 + fRmax2)*0.5 + (RMax - zoffset)*(fRmax2 - fRmax1)/(2*fDz) ; - xMin = 2*xoffset-xMax ; - if (pVoxelLimit.IsXLimited()) - { - if (xMin > pVoxelLimit.GetMaxXExtent()+kCarTolerance - || xMax < pVoxelLimit.GetMinXExtent()-kCarTolerance) - { - return false; - } - else - { - if (xMinpVoxelLimit.GetMaxXExtent()) - { - xMax=pVoxelLimit.GetMaxXExtent(); - } - } - } + if (pVoxelLimit.IsZLimited()) + { + if( zMin > pVoxelLimit.GetMaxZExtent() + kCarTolerance || + zMax < pVoxelLimit.GetMinZExtent() - kCarTolerance ) + { + return false ; + } + else + { + if ( zMin < pVoxelLimit.GetMinZExtent() ) + { + zMin = pVoxelLimit.GetMinZExtent() ; + } + if ( zMax > pVoxelLimit.GetMaxZExtent() ) + { + zMax = pVoxelLimit.GetMaxZExtent() ; + } + } + } + xoffset = pTransform.NetTranslation().x() ; + RMax = (fRmax2 >= fRmax1) ? zMax : zMin ; + xMax = xoffset + (fRmax1 + fRmax2)*0.5 + + (RMax - zoffset)*(fRmax2 - fRmax1)/(2*fDz) ; + xMin = 2*xoffset-xMax ; - yoffset=pTransform.NetTranslation().y(); - yMax = yoffset + (fRmax1 + fRmax2)*0.5 + (RMax - zoffset)*(fRmax2 - fRmax1)/(2*fDz) ; - yMin = 2*yoffset-yMax ; - RMax = yMax - yoffset ; // is equal to max radius due to Zmax/Zmin cuttings - if (pVoxelLimit.IsYLimited()) - { - if (yMin > pVoxelLimit.GetMaxYExtent()+kCarTolerance - || yMax < pVoxelLimit.GetMinYExtent()-kCarTolerance) - { - return false; - } - else - { - if (yMinpVoxelLimit.GetMaxYExtent()) - { - yMax=pVoxelLimit.GetMaxYExtent(); - } - } - } + if (pVoxelLimit.IsXLimited()) + { + if ( xMin > pVoxelLimit.GetMaxXExtent() + kCarTolerance || + xMax < pVoxelLimit.GetMinXExtent() - kCarTolerance ) + { + return false ; + } + else + { + if ( xMin < pVoxelLimit.GetMinXExtent() ) + { + xMin = pVoxelLimit.GetMinXExtent() ; + } + if ( xMax > pVoxelLimit.GetMaxXExtent() ) + { + xMax=pVoxelLimit.GetMaxXExtent() ; + } + } + } + yoffset = pTransform.NetTranslation().y() ; + yMax = yoffset + (fRmax1 + fRmax2)*0.5 + + (RMax - zoffset)*(fRmax2 - fRmax1)/(2*fDz) ; + yMin = 2*yoffset-yMax ; + RMax = yMax - yoffset ; // = max radius due to Zmax/Zmin cuttings + if (pVoxelLimit.IsYLimited()) + { + if ( yMin > pVoxelLimit.GetMaxYExtent() + kCarTolerance || + yMax < pVoxelLimit.GetMinYExtent() - kCarTolerance ) + { + return false ; + } + else + { + if ( yMin < pVoxelLimit.GetMinYExtent() ) + { + yMin = pVoxelLimit.GetMinYExtent() ; + } + if ( yMax > pVoxelLimit.GetMaxYExtent() ) + { + yMax = pVoxelLimit.GetMaxYExtent() ; + } + } + } + switch (pAxis) // Known to cut cones + { + case kXAxis: + yoff1 = yoffset - yMin ; + yoff2 = yMax - yoffset ; -// Known to cut cones - - switch (pAxis) - { - case kXAxis: - yoff1=yoffset-yMin; - yoff2=yMax-yoffset; - if (yoff1 >= 0 && yoff2 >= 0) - { -// Y limits cross max/min x => no change - pMin=xMin; - pMax=xMax; - } - else - { + if (yoff1 >= 0 && yoff2 >= 0) // Y limits cross max/min x => no change + { + pMin = xMin ; + pMax = xMax ; + } + else + { // Y limits don't cross max/min x => compute max delta x, hence new mins/maxs - diff1=sqrt(RMax*RMax-yoff1*yoff1); - diff2=sqrt(RMax*RMax-yoff2*yoff2); - maxDiff=(diff1>diff2) ? diff1:diff2; - newMin=xoffset-maxDiff; - newMax=xoffset+maxDiff; - pMin=(newMinxMax) ? xMax : newMax ; - } - - break; - case kYAxis: - xoff1=xoffset-xMin; - xoff2=xMax-xoffset; - if (xoff1>=0&&xoff2>=0) - { -// X limits cross max/min y => no change - pMin=yMin; - pMax=yMax; - } - else - { -// X limits don't cross max/min y => compute max delta y, hence new mins/maxs - diff1=sqrt(RMax*RMax-xoff1*xoff1); - diff2=sqrt(RMax*RMax-xoff2*xoff2); - maxDiff=(diff1>diff2) ? diff1:diff2; - newMin=yoffset-maxDiff; - newMax=yoffset+maxDiff; - pMin=(newMinyMax) ? yMax : newMax; - } - break; - case kZAxis: - pMin=zMin; - pMax=zMax; - break; - } + diff1 = sqrt(RMax*RMax - yoff1*yoff1) ; + diff2 = sqrt(RMax*RMax - yoff2*yoff2) ; + maxDiff = (diff1>diff2) ? diff1:diff2 ; + newMin = xoffset - maxDiff ; + newMax = xoffset + maxDiff ; + pMin = ( newMin < xMin ) ? xMin : newMin ; + pMax = ( newMax > xMax) ? xMax : newMax ; + } + break ; - pMin-=kCarTolerance; - pMax+=kCarTolerance; + case kYAxis: + xoff1 = xoffset - xMin ; + xoff2 = xMax - xoffset ; - return true; - - } - else + if (xoff1 >= 0 && xoff2 >= 0 ) // X limits cross max/min y => no change { - G4int i,noEntries,noBetweenSections4; - G4bool existsAfterClip=false; + pMin = yMin ; + pMax = yMax ; + } + else + { +// X limits don't cross max/min y => compute max delta y, hence new mins/maxs -// Calculate rotated vertex coordinates - G4ThreeVectorList *vertices; + diff1 = sqrt(RMax*RMax - xoff1*xoff1) ; + diff2 = sqrt(RMax*RMax-xoff2*xoff2) ; + maxDiff = (diff1 > diff2) ? diff1:diff2 ; + newMin = yoffset - maxDiff ; + newMax = yoffset + maxDiff ; + pMin = (newMin < yMin) ? yMin : newMin ; + pMax = (newMax > yMax) ? yMax : newMax ; + } + break ; - vertices=CreateRotatedVertices(pTransform); + case kZAxis: + pMin = zMin ; + pMax = zMax ; + break ; + + default: + break ; + } + pMin -= kCarTolerance ; + pMax += kCarTolerance ; - pMin=+kInfinity; - pMax=-kInfinity; + return true ; + } + else // Calculate rotated vertex coordinates + { + G4int i, noEntries, noBetweenSections4 ; + G4bool existsAfterClip = false ; + G4ThreeVectorList* vertices = CreateRotatedVertices(pTransform) ; - noEntries=vertices->entries(); - noBetweenSections4=noEntries-4; + pMin = +kInfinity ; + pMax = -kInfinity ; + + noEntries = vertices->entries() ; + noBetweenSections4 = noEntries-4 ; - for (i=0;i0) - { norm=G4ThreeVector(0,0,1); } - else - { norm=G4ThreeVector(0,0,-1); } - break; - case kNSPhi: - norm=G4ThreeVector(sin(fSPhi),-cos(fSPhi),0); - break; - case kNEPhi: - norm=G4ThreeVector(-sin(fSPhi+fDPhi),cos(fSPhi+fDPhi),0); - break; - default: - G4Exception("Logic error in G4Cons::SurfaceNormal"); - break; - - } // end case - return norm; + if (distSPhi < distEPhi) + { + if (distSPhi < distMin) side = kNSPhi ; + } + else + { + if (distEPhi < distMin) side = kNEPhi ; + } + } + switch (side) + { + case kNRMin: // Inner radius + rho *= secRMin ; + norm = G4ThreeVector(-p.x()/rho,-p.y()/rho,tanRMin/secRMin) ; + break ; + case kNRMax: // Outer radius + rho *= secRMax ; + norm = G4ThreeVector(p.x()/rho,p.y()/rho,-tanRMax/secRMax) ; + break ; + case kNZ: // +/- dz + if (p.z() > 0) norm = G4ThreeVector(0,0,1) ; + else norm = G4ThreeVector(0,0,-1) ; + break ; + case kNSPhi: + norm = G4ThreeVector(sin(fSPhi),-cos(fSPhi),0) ; + break ; + case kNEPhi: + norm=G4ThreeVector(-sin(fSPhi+fDPhi),cos(fSPhi+fDPhi),0) ; + break ; + default: + G4Exception("Logic error in G4Cons::SurfaceNormal") ; + break ; + } + return norm ; } //////////////////////////////////////////////////////////////////////// @@ -639,7 +610,7 @@ G4ThreeVector G4Cons::SurfaceNormal( const G4ThreeVector& p) const // - Compute the intersection with the z planes // - if at valid r, phi, return // -// -> If point is outside cone, compute intersection with rmax1/2 +// -> If point is outside cone, compute intersection with rmax1*0.5 // - if at valid phi,z return // - if inside outer cone, handle case when on tolerant outer cone // boundary and heading inwards(->0 to in) @@ -656,149 +627,128 @@ G4ThreeVector G4Cons::SurfaceNormal( const G4ThreeVector& p) const // - `if valid' implies tolerant checking of intersection points // - z, phi intersection from Tubs -G4double G4Cons::DistanceToIn(const G4ThreeVector& p, - const G4ThreeVector& v) const +G4double G4Cons::DistanceToIn( const G4ThreeVector& p, + const G4ThreeVector& v ) const { - G4double snxt=kInfinity; // snxt = default return value + G4double snxt = kInfinity ; // snxt = default return value - G4bool seg; // true if segmented in phi - G4double hDPhi,hDPhiOT,hDPhiIT,cosHDPhiOT,cosHDPhiIT; + G4bool seg ; // true if segmented in phi + G4double hDPhi,hDPhiOT,hDPhiIT,cosHDPhiOT=0.,cosHDPhiIT=0. ; // half dphi + outer tolerance - G4double cPhi,sinCPhi,cosCPhi; // central phi + G4double cPhi,sinCPhi=0.,cosCPhi=0. ; // central phi - G4double tanRMax,secRMax,rMaxAv,rMaxOAv; // Data for cones - G4double tanRMin,secRMin,rMinAv,rMinIAv,rMinOAv; - G4double rout,rin; + G4double tanRMax,secRMax,rMaxAv,rMaxOAv ; // Data for cones + G4double tanRMin,secRMin,rMinAv,rMinIAv,rMinOAv ; + G4double rout,rin ; - G4double tolORMin,tolORMin2; // `generous' radii squared - G4double tolORMax2; - G4double tolODz,tolIDz; + G4double tolORMin,tolORMin2 ; // `generous' radii squared + G4double tolORMax2 ; + G4double tolODz,tolIDz ; - G4double Dist,s,xi,yi,zi,ri,rho2,cosPsi; // Intersection point variables + G4double Dist,s,xi,yi,zi,ri=0.,rho2,cosPsi ; // Intersection point variables - G4double t1,t2,t3,b,c,d; // Quadratic solver variables - G4double nt1,nt2,nt3; - G4double Comp; - G4double cosSPhi,sinSPhi; // Trig for phi start intersect - G4double ePhi,cosEPhi,sinEPhi; // for phi end intersect + G4double t1,t2,t3,b,c,d ; // Quadratic solver variables + G4double nt1,nt2,nt3 ; + G4double Comp ; + G4double cosSPhi,sinSPhi ; // Trig for phi start intersect + G4double ePhi,cosEPhi,sinEPhi ; // for phi end intersect // // Set phi divided flag and precalcs // - if (fDPhi<2.0*M_PI) - { - seg=true; - hDPhi=0.5*fDPhi; // half delta phi - cPhi=fSPhi+hDPhi;; - hDPhiOT=hDPhi+0.5*kAngTolerance; // outers tol' half delta phi - hDPhiIT=hDPhi-0.5*kAngTolerance; - sinCPhi=sin(cPhi); - cosCPhi=cos(cPhi); - cosHDPhiOT=cos(hDPhiOT); - cosHDPhiIT=cos(hDPhiIT); - } - else - { - seg=false; - } + if (fDPhi < 2.0*M_PI) + { + seg = true ; + hDPhi = 0.5*fDPhi ; // half delta phi + cPhi = fSPhi + hDPhi ; ; + hDPhiOT = hDPhi + 0.5*kAngTolerance ; // outers tol' half delta phi + hDPhiIT = hDPhi - 0.5*kAngTolerance ; + sinCPhi = sin(cPhi) ; + cosCPhi = cos(cPhi) ; + cosHDPhiOT = cos(hDPhiOT) ; + cosHDPhiIT = cos(hDPhiIT) ; + } + else seg = false ; -// // Cone Precalcs -// - tanRMin=(fRmin2-fRmin1)*0.5/fDz; - secRMin=sqrt(1.0+tanRMin*tanRMin); - rMinAv=(fRmin1+fRmin2)*0.5; - if (rMinAv>kRadTolerance/2) - { - rMinOAv=rMinAv-kRadTolerance/2; - rMinIAv=rMinAv+kRadTolerance/2; - } - else - { - rMinOAv=0; - rMinIAv=0; - } - - tanRMax=(fRmax2-fRmax1)*0.5/fDz; - secRMax=sqrt(1.0+tanRMax*tanRMax); - rMaxAv=(fRmax1+fRmax2)*0.5; + tanRMin = (fRmin2 - fRmin1)*0.5/fDz ; + secRMin = sqrt(1.0 + tanRMin*tanRMin) ; + rMinAv = (fRmin1 + fRmin2)*0.5 ; - rMaxOAv=rMaxAv+kRadTolerance/2; + if (rMinAv > kRadTolerance*0.5) + { + rMinOAv = rMinAv - kRadTolerance*0.5 ; + rMinIAv = rMinAv + kRadTolerance*0.5 ; + } + else + { + rMinOAv = 0.0 ; + rMinIAv = 0.0 ; + } + tanRMax = (fRmax2 - fRmax1)*0.5/fDz ; + secRMax = sqrt(1.0 + tanRMax*tanRMax) ; + rMaxAv = (fRmax1 + fRmax2)*0.5 ; + rMaxOAv = rMaxAv + kRadTolerance*0.5 ; -// // Intersection with Z surfaces -// - tolIDz=fDz-kCarTolerance/2; - tolODz=fDz+kCarTolerance/2; - if (fabs(p.z())>=tolIDz) + + tolIDz = fDz - kCarTolerance*0.5 ; + tolODz = fDz + kCarTolerance*0.5 ; + + if (fabs(p.z()) >= tolIDz) + { + if ( p.z()*v.z() < 0 ) // at +Z going in -Z or visa versa { - if (p.z()*v.z()<0) // at +Z going in -Z or visa versa - { - s=(fabs(p.z())-fDz)/fabs(v.z()); // Z intersect distance + s = (fabs(p.z()) - fDz)/fabs(v.z()) ; // Z intersect distance - if(s<0.0) s = 0.0 ; // negative dist -> zero + if( s < 0.0 ) s = 0.0 ; // negative dist -> zero - xi=p.x()+s*v.x(); // Intersection coords - yi=p.y()+s*v.y(); - rho2=xi*xi+yi*yi; + xi = p.x() + s*v.x() ; // Intersection coords + yi = p.y() + s*v.y() ; + rho2 = xi*xi + yi*yi ; - // Check validity of intersection - // - // Calculate (outer) tolerant radi^2 at intersecion +// Check validity of intersection +// Calculate (outer) tolerant radi^2 at intersecion - if (v.z()>0) - { - tolORMin=fRmin1-kRadTolerance; - tolORMax2=(fRmax1+kRadTolerance)*(fRmax1+kRadTolerance); - } - else - { - tolORMin=fRmin2-kRadTolerance; - tolORMax2=(fRmax2+kRadTolerance)*(fRmax2+kRadTolerance); - } - if ( tolORMin > 0 ) - { - tolORMin2=tolORMin*tolORMin; - } - else - { - tolORMin2=0; - } - if (tolORMin2 <= rho2 && rho2 <= tolORMax2) - { - if (seg&&rho2) - { + if (v.z() > 0) + { + tolORMin = fRmin1 - 0.5*kRadTolerance*secRMin ; + tolORMax2 = (fRmax1 + 0.5*kRadTolerance*secRMax)*(fRmax1 + 0.5*kRadTolerance*secRMax) ; + } + else + { + tolORMin = fRmin2 - 0.5*kRadTolerance*secRMin ; + tolORMax2 = (fRmax2 + 0.5*kRadTolerance*secRMax)*(fRmax2 + 0.5*kRadTolerance*secRMax) ; + } + if ( tolORMin > 0 ) tolORMin2 = tolORMin*tolORMin ; + else tolORMin2 = 0.0 ; + + if (tolORMin2 <= rho2 && rho2 <= tolORMax2) + { + if ( seg && rho2 ) + { // Psi = angle made with central (average) phi of shape - cosPsi=(xi*cosCPhi+yi*sinCPhi)/sqrt(rho2); + cosPsi = (xi*cosCPhi + yi*sinCPhi)/sqrt(rho2) ; - if (cosPsi >= cosHDPhiOT) - { - return s ; - } - } - else - { - return s ; - } - } - } - else // On/outside extent, and heading away -> cannot intersect - { - return snxt ; - } + if (cosPsi >= cosHDPhiOT) return s ; + } + else return s ; + } } - // - // -> Can not intersect z surfaces + else // On/outside extent, and heading away -> cannot intersect + { + return snxt ; + } + } + +// ----> Can not intersect z surfaces - -// // Intersection with outer cone (possible return) and // inner cone (must also check phi) // - // Intersection point (xi,yi,zi) on line x=p.x+t*v.x etc. // // Intersects with x^2+y^2=(a*z+b)^2 @@ -806,463 +756,418 @@ G4double G4Cons::DistanceToIn(const G4ThreeVector& p, // where a=tanRMax or tanRMin // b=rMaxAv or rMinAv // -// (vx^2+vy^2-(a*vz)^2)t^2+2t(pxvx+pyvy-a*vz(a*pz+b))+px^2+py^2-(a*pz+b)^2=0; +// (vx^2+vy^2-(a*vz)^2)t^2+2t(pxvx+pyvy-a*vz(a*pz+b))+px^2+py^2-(a*pz+b)^2=0 ; // t1 t2 t3 // // \--------u-------/ \-----------v----------/ \---------w--------/ // - t1=1.0-v.z()*v.z(); - t2=p.x()*v.x()+p.y()*v.y(); - t3=p.x()*p.x()+p.y()*p.y(); - rin=tanRMin*p.z()+rMinAv; - rout=tanRMax*p.z()+rMaxAv; + t1 = 1.0 - v.z()*v.z() ; + t2 = p.x()*v.x() + p.y()*v.y() ; + t3 = p.x()*p.x() + p.y()*p.y() ; + rin = tanRMin*p.z() + rMinAv ; + rout = tanRMax*p.z() + rMaxAv ; // Outer Cone Intersection -// // Must be outside/on outer cone for valid intersection - nt1=t1-(tanRMax*v.z())*(tanRMax*v.z()); - nt2=t2-tanRMax*v.z()*rout; - nt3=t3-rout*rout; + nt1 = t1 - (tanRMax*v.z())*(tanRMax*v.z()) ; + nt2 = t2 - tanRMax*v.z()*rout ; + nt3 = t3 - rout*rout ; - - if (fabs(nt1) > kRadTolerance) // Equation quadratic => 2 roots + if (fabs(nt1) > kRadTolerance) // Equation quadratic => 2 roots + { + if ( nt3 > rout*kRadTolerance*secRMax || rout < 0 ) { - if (nt3>kRadTolerance/2||rout<0) - { -// If outside real cone (should be rho-rout>kRadTolerance/2 NOT rho^2 etc) -// saves a sqrt() at expense of accuracy +// If outside real cone (should be rho-rout>kRadTolerance*0.5 NOT rho^2 etc) +// saves a sqrt() at expense of accuracy - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b-c ; - if (d>=0) - { + if (d >= 0) + { - if (rout < 0 && nt3 <= 0 ) - { + if (rout < 0 && nt3 <= 0 ) + { // Inside `shadow cone' with -ve radius -> 2nd root could be on real cone - s = -b + sqrt(d) ; - } - else - { - if ( b <= 0 && c >= 0 ) // both >=0, try smaller - { - s = -b - sqrt(d); - } - else - { - if ( c <= 0 ) // second >=0 - { + s = -b + sqrt(d) ; + } + else + { + if ( b <= 0 && c >= 0 ) // both >=0, try smaller root + { + s = -b - sqrt(d) ; + } + else + { + if ( c <= 0 ) // second >=0 + { s = -b + sqrt(d) ; - } - else // both negative, travel away - { + } + else // both negative, travel away + { return kInfinity ; - } - } - } - if (s>0) // If 'forwards'. Check z intersection - { - zi=p.z()+s*v.z(); + } + } + } + if ( s > 0 ) // If 'forwards'. Check z intersection + { + zi = p.z() + s*v.z() ; - if (fabs(zi)<=tolODz) - { + if (fabs(zi) <= tolODz) + { // Z ok. Check phi intersection if reqd - if ( ! seg ) - { - return s; - } - else - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - ri=rMaxAv+zi*tanRMax; - cosPsi=(xi*cosCPhi + yi*sinCPhi)/ri; + if ( ! seg ) return s ; + else + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + ri = rMaxAv + zi*tanRMax ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; - if (cosPsi>=cosHDPhiOT) - { - return s; - } - } - } - } // end if (s>0) - } - } - else - { + if ( cosPsi >= cosHDPhiOT ) return s ; + } + } + } // end if (s>0) + } + } + else + { // Inside outer cone // check not inside, and heading through G4Cons (-> 0 to in) - if ( t3 > (rin+kRadTolerance/2)*(rin+kRadTolerance/2) - && nt2 < 0 - && fabs(p.z()) <= tolIDz ) - { + if ( t3 > (rin + kRadTolerance*0.5*secRMin)* + (rin + kRadTolerance*0.5*secRMin) && + nt2 < 0 && + fabs(p.z()) <= tolIDz ) + { // Inside cones, delta r -ve, inside z extent - if (seg) - { - cosPsi=(p.x()*cosCPhi+p.y()*sinCPhi)/sqrt(t3); + if (seg) + { + cosPsi = (p.x()*cosCPhi + p.y()*sinCPhi)/sqrt(t3) ; - if (cosPsi>=cosHDPhiIT) - { - return 0; - } - } - else - { - return 0; - } - } - } + if (cosPsi >= cosHDPhiIT) return 0.0 ; + } + else return 0.0 ; + } } - else // Single root case + } + else // Single root case + { + if ( fabs(nt2) > kRadTolerance ) { - if ( fabs(nt2) > kRadTolerance ) - { - s = -0.5*nt3/nt2 ; + s = -0.5*nt3/nt2 ; - if ( s < 0 ) // travel away - { - return kInfinity ; - } - else // s >= 0, If 'forwards'. Check z intersection - { - zi=p.z()+s*v.z(); + if ( s < 0 ) return kInfinity ; // travel away + else // s >= 0, If 'forwards'. Check z intersection + { + zi = p.z() + s*v.z() ; - if (fabs(zi)<=tolODz && nt2 < 0) - { + if (fabs(zi) <= tolODz && nt2 < 0) + { // Z ok. Check phi intersection if reqd - if ( ! seg ) - { - return s; - } - else - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - ri=rMaxAv+zi*tanRMax; - cosPsi=(xi*cosCPhi + yi*sinCPhi)/ri; + if ( ! seg ) return s ; + else + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + ri = rMaxAv + zi*tanRMax ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; - if (cosPsi>=cosHDPhiOT) - { - return s; - } - } - } - } - } - else // travel || cone surface from its origin - { - s = kInfinity ; - } + if (cosPsi >= cosHDPhiOT) return s ; + } + } + } } - + else // travel || cone surface from its origin + { + s = kInfinity ; + } + } // Inner Cone Intersection -// // o Space is divided into 3 areas: // 1) Radius greater than real inner cone & imaginary cone & outside // tolerance // 2) Radius less than inner or imaginary cone & outside tolarance // 3) Within tolerance of real or imaginary cones // - Extra checks needed for 3's intersections => lots of duplicated code - if (rMinAv) - { - nt1=t1-(tanRMin*v.z())*(tanRMin*v.z()); - nt2=t2-tanRMin*v.z()*rin; - nt3=t3-rin*rin; - if (nt1) - { - if (nt3>kRadTolerance/2) - { + + if (rMinAv) + { + nt1 = t1 - (tanRMin*v.z())*(tanRMin*v.z()) ; + nt2 = t2 - tanRMin*v.z()*rin ; + nt3 = t3 - rin*rin ; + + if ( nt1 ) + { + if ( nt3 > rin*kRadTolerance*secRMin ) + { // At radius greater than real & imaginary cones // -> 2nd root, with zi check - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if (d>0) - { - s=-b+sqrt(d); - if (s>0) - { - zi=p.z()+s*v.z(); - if (fabs(zi)<=tolODz) - { - if (seg) - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - ri=rMinAv+zi*tanRMin; - cosPsi=(xi*cosCPhi+ - yi*sinCPhi)/ri; - if (cosPsi>=cosHDPhiOT) - { snxt=s; } - } - else - { - return s; - } - } - } - } - - } - else if (nt3<-kRadTolerance/2) - { + + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b-c ; + if (d > 0) + { + s = -b + sqrt(d) ; + + if ( s > 0 ) + { + zi = p.z() + s*v.z() ; + + if ( fabs(zi) <= tolODz ) + { + if ( seg ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + ri = rMinAv + zi*tanRMin ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; + + if (cosPsi >= cosHDPhiOT) snxt = s ; + } + else return s ; + } + } + } + } + else if ( nt3 < -rin*kRadTolerance*secRMin ) + { // Within radius of inner cone (real or imaginary) // -> Try 2nd root, with checking intersection is with real cone // -> If check fails, try 1st root, also checking intersection is on real cone - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if (d>0) - { - s=-b+sqrt(d); - zi=p.z()+s*v.z(); - ri=rMinAv+zi*tanRMin; - if (ri>=0) - { - if (s>0&&fabs(zi)<=tolODz) - { - if (seg) - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+ - yi*sinCPhi)/ri; - if (cosPsi>=cosHDPhiOT) - { snxt=s; } - } - else - { - return s; - } - } - } - else - { - s=-b-sqrt(d); - zi=p.z()+s*v.z(); - ri=rMinAv+zi*tanRMin; - if (s>0&&ri>=0&&fabs(zi)<=tolODz) - { - if (seg) - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+ - yi*sinCPhi)/ri; - if (cosPsi>=cosHDPhiOT) - { snxt=s; } - } - else - { - return s; - } - } - } - } - } - else - { -// Within kRadTol/2 of inner cone (real OR imaginary) -// -> Check not travelling through (=>0 to in) -// -> if not: + + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b - c ; + + if ( d > 0 ) + { + s = -b + sqrt(d) ; + zi = p.z() + s*v.z() ; + ri = rMinAv + zi*tanRMin ; + + if ( ri >= 0 ) + { + if ( s > 0 && fabs(zi) <= tolODz ) + { + if ( seg ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; + + if (cosPsi >= cosHDPhiOT) snxt = s ; + } + else return s ; + } + } + else + { + s = -b - sqrt(d) ; + zi = p.z() + s*v.z() ; + ri = rMinAv + zi*tanRMin ; + + if ( s > 0 && ri >= 0 && fabs(zi) <= tolODz ) + { + if ( seg ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; + + if (cosPsi >= cosHDPhiOT) snxt = s ; + } + else return s ; + } + } + } + } + else + { +// Within kRadTol*0.5 of inner cone (real OR imaginary) +// ----> Check not travelling through (=>0 to in) +// ----> if not: // -2nd root with validity check -// + - if (fabs(p.z())<=tolODz) - { - if (nt2>0) - { + + if ( fabs(p.z()) <= tolODz ) + { + if ( nt2 > 0 ) + { // Inside inner real cone, heading outwards, inside z range - if (seg) - { - cosPsi=(p.x()*cosCPhi+p.y()*sinCPhi)/sqrt(t3); - if (cosPsi>=cosHDPhiIT) - { - return 0; - } - } - else - { - return 0; - } - } - else - { + + if ( seg ) + { + cosPsi = (p.x()*cosCPhi + p.y()*sinCPhi)/sqrt(t3) ; + + if (cosPsi >= cosHDPhiIT) return 0.0 ; + } + else return 0.0 ; + } + else + { // Within z extent, but not travelling through // -> 2nd root or kInfinity if 1st root on imaginary cone - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if (d>0) - { - s=-b-sqrt(d); - zi=p.z()+s*v.z(); - ri=rMinAv+zi*tanRMin; - if (ri>0) - { -// 2nd root - s=-b+sqrt(d); - zi=p.z()+s*v.z(); - if (s>0&&fabs(zi)<=tolODz) - { - if (seg) - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+ - yi*sinCPhi)/ri; - if (cosPsi>=cosHDPhiOT) - { snxt=s; } - } - else - { - return s; - } - } - } - else - { - return kInfinity; - } - } - } - } - else - { -// 2nd root - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if (d>0) - { - s=-b+sqrt(d); - zi=p.z()+s*v.z(); - if (s>0&&fabs(zi)<=tolODz) - { - if (seg) - { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+ - yi*sinCPhi)/ri; - if (cosPsi>=cosHDPhiOT) - { snxt=s; } - } - else - { - return s; - } - } - } - } - } + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b - c ; + + if ( d > 0 ) + { + s = -b - sqrt(d) ; + zi = p.z() + s*v.z() ; + ri = rMinAv + zi*tanRMin ; + + if ( ri > 0 ) // 2nd root + { + s = -b + sqrt(d) ; + zi = p.z() + s*v.z() ; + + if ( s > 0 && fabs(zi) <= tolODz ) + { + if ( seg ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; + + if ( cosPsi >= cosHDPhiOT ) snxt = s ; + } + else return s ; } + } + else return kInfinity ; + } + } } + else // 2nd root + { + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b - c ; + if ( d > 0 ) + { + s = -b + sqrt(d) ; + zi = p.z() + s*v.z() ; + + if ( s > 0 && fabs(zi) <= tolODz ) + { + if ( seg ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; + + if (cosPsi >= cosHDPhiOT) snxt = s ; + } + else return s ; + } + } + } + } + } + } -// // Phi segment intersection // -// o Tolerant of points inside phi planes by up to kCarTolerance/2 +// o Tolerant of points inside phi planes by up to kCarTolerance*0.5 // // o NOTE: Large duplication of code between sphi & ephi checks // -> only diffs: sphi -> ephi, Comp -> -Comp and half-plane // intersection check <=0 -> >=0 // -> Should use some form of loop Construct -// - if (seg) - { + + if ( seg ) + { // First phi surface (`S'tarting phi) - sinSPhi=sin(fSPhi); - cosSPhi=cos(fSPhi); - Comp=v.x()*sinSPhi-v.y()*cosSPhi; - // Compnent in outwards normal dirn - if (Comp<0) - { - Dist=(p.y()*cosSPhi-p.x()*sinSPhi); - if (Dist=tolORMin2&&rho2<=tolORMax2) - { + if (Dist < kCarTolerance*0.5) + { + s = Dist/Comp ; + + if ( s < snxt ) + { + if ( s < 0 ) s = 0.0 ; + + zi = p.z() + s*v.z() ; + + if ( fabs(zi) <= tolODz ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + rho2 = xi*xi + yi*yi ; + tolORMin2 = (rMinOAv + zi*tanRMin)*(rMinOAv + zi*tanRMin) ; + tolORMax2 = (rMaxOAv + zi*tanRMax)*(rMaxOAv + zi*tanRMax) ; + + if ( rho2 >= tolORMin2 && rho2 <= tolORMax2 ) + { // z and r intersections good - check intersecting with correct half-plane - if ((yi*cosCPhi-xi*sinCPhi)<=0) - snxt=s; - } - } - } - } - - } - -// Second phi surface (`E'nding phi) - ePhi=fSPhi+fDPhi; - sinEPhi=sin(ePhi); - cosEPhi=cos(ePhi); - Comp=-(v.x()*sinEPhi-v.y()*cosEPhi); - // Compnent in outwards normal dirn - if (Comp<0) - { - Dist=-(p.y()*cosEPhi-p.x()*sinEPhi); - if (Dist=tolORMin2&&rho2<=tolORMax2) - { -// z and r intersections good - check intersecting with correct half-plane - if ((yi*cosCPhi-xi*sinCPhi)>=0) - snxt=s; - } - } - } - } - } + if ((yi*cosCPhi - xi*sinCPhi) <= 0 ) snxt = s ; + } + } } - + } + } +// Second phi surface (`E'nding phi) - - return snxt; + ePhi = fSPhi + fDPhi ; + sinEPhi = sin(ePhi) ; + cosEPhi = cos(ePhi) ; + Comp = -(v.x()*sinEPhi - v.y()*cosEPhi) ; + + if ( Comp < 0 ) // Component in outwards normal dirn + { + Dist = -(p.y()*cosEPhi - p.x()*sinEPhi) ; + if (Dist < kCarTolerance*0.5) + { + s = Dist/Comp ; + + if ( s < snxt ) + { + if ( s < 0 ) s = 0.0 ; + + zi = p.z() + s*v.z() ; + + if (fabs(zi) <= tolODz) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + rho2 = xi*xi + yi*yi ; + tolORMin2 = (rMinOAv + zi*tanRMin)*(rMinOAv + zi*tanRMin) ; + tolORMax2 = (rMaxOAv + zi*tanRMax)*(rMaxOAv + zi*tanRMax) ; + + if ( rho2 >= tolORMin2 && rho2 <= tolORMax2 ) + { +// z and r intersections good - check intersecting with correct half-plane + + if ( (yi*cosCPhi - xi*sinCPhi) >= 0.0 ) snxt = s ; + } + } + } + } + } + } + if (snxt < kCarTolerance*0.5) snxt = 0.; + return snxt ; } ////////////////////////////////////////////////////////////////////////////// @@ -1274,63 +1179,66 @@ G4double G4Cons::DistanceToIn(const G4ThreeVector& p, G4double G4Cons::DistanceToIn(const G4ThreeVector& p) const { - G4double safe,rho,safeR1,safeR2,safeZ; - G4double tanRMin,secRMin,pRMin; - G4double tanRMax,secRMax,pRMax; - G4double phiC,cosPhiC,sinPhiC,safePhi,ePhi; - G4double cosPsi; - rho=sqrt(p.x()*p.x()+p.y()*p.y()); - safeZ=fabs(p.z())-fDz; + G4double safe, rho, safeR1, safeR2, safeZ ; + G4double tanRMin, secRMin, pRMin ; + G4double tanRMax, secRMax, pRMax ; + G4double phiC, cosPhiC, sinPhiC, safePhi, ePhi ; + G4double cosPsi ; - if (fRmin1||fRmin2) - { - tanRMin=(fRmin2-fRmin1)*0.5/fDz; - secRMin=sqrt(1.0+tanRMin*tanRMin); - pRMin=tanRMin*p.z()+(fRmin1+fRmin2)*0.5; - safeR1=(pRMin-rho)/secRMin; + rho = sqrt(p.x()*p.x() + p.y()*p.y()) ; + safeZ = fabs(p.z()) - fDz ; - tanRMax=(fRmax2-fRmax1)*0.5/fDz; - secRMax=sqrt(1.0+tanRMax*tanRMax); - pRMax=tanRMax*p.z()+(fRmax1+fRmax2)*0.5; - safeR2=(rho-pRMax)/secRMax; + if ( fRmin1 || fRmin2 ) + { + tanRMin = (fRmin2 - fRmin1)*0.5/fDz ; + secRMin = sqrt(1.0 + tanRMin*tanRMin) ; + pRMin = tanRMin*p.z() + (fRmin1 + fRmin2)*0.5 ; + safeR1 = (pRMin - rho)/secRMin ; - if (safeR1>safeR2) safe=safeR1; - else safe=safeR2; - } - else - { - tanRMax=(fRmax2-fRmax1)*0.5/fDz; - secRMax=sqrt(1.0+tanRMax*tanRMax); - pRMax=tanRMax*p.z()+(fRmax1+fRmax2)*0.5; - safe=(rho-pRMax)/secRMax; - } - - if (safeZ>safe) safe=safeZ; + tanRMax = (fRmax2 - fRmax1)*0.5/fDz ; + secRMax = sqrt(1.0 + tanRMax*tanRMax) ; + pRMax = tanRMax*p.z() + (fRmax1 + fRmax2)*0.5 ; + safeR2 = (rho - pRMax)/secRMax ; + + if ( safeR1 > safeR2) safe = safeR1 ; + else safe = safeR2 ; + } + else + { + tanRMax = (fRmax2 - fRmax1)*0.5/fDz ; + secRMax = sqrt(1.0 + tanRMax*tanRMax) ; + pRMax = tanRMax*p.z() + (fRmax1 + fRmax2)*0.5 ; + safe = (rho - pRMax)/secRMax ; + } + if ( safeZ > safe ) safe = safeZ ; + + if ( fDPhi < 2.0*M_PI && rho ) + { + phiC = fSPhi + fDPhi*0.5 ; + cosPhiC = cos(phiC) ; + sinPhiC = sin(phiC) ; - if (fDPhi<2.0*M_PI&&rho) - { - phiC=fSPhi+fDPhi*0.5; - cosPhiC=cos(phiC); - sinPhiC=sin(phiC); // Psi=angle from central phi to point - cosPsi=(p.x()*cosPhiC+p.y()*sinPhiC)/rho; - if (cosPsisafe) safe=safePhi; - } - } - if (safe<0) safe=0; - return safe; + + cosPsi = (p.x()*cosPhiC + p.y()*sinPhiC)/rho ; + + if ( cosPsi < cos(fDPhi*0.5) ) // Point lies outside phi range + { + if ( (p.y()*cosPhiC - p.x()*sinPhiC) <= 0.0 ) + { + safePhi = fabs(p.x()*sin(fSPhi) - p.y()*cos(fSPhi)) ; + } + else + { + ePhi = fSPhi + fDPhi ; + safePhi = fabs(p.x()*sin(ePhi) - p.y()*cos(ePhi)) ; + } + if ( safePhi > safe ) safe = safePhi ; + } + } + if ( safe < 0.0 ) safe = 0.0 ; + + return safe ; } /////////////////////////////////////////////////////////////// @@ -1344,70 +1252,74 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, G4bool *validNorm, G4ThreeVector *n) const { - ESide side = kNull,sider,sidephi; + ESide side = kNull, sider = kNull, sidephi = kNull; - G4double snxt,sr,sphi,pdist; + G4double snxt,sr,sphi,pdist ; - G4double tanRMax,secRMax,rMaxAv; // Data for outer cone - G4double tanRMin,secRMin,rMinAv; // Data for inner cone + G4double tanRMax, secRMax, rMaxAv ; // Data for outer cone + G4double tanRMin, secRMin, rMinAv ; // Data for inner cone + + G4double t1, t2, t3, rout, rin, nt1, nt2, nt3 ; + G4double b, c, d, sr2, sr3 ; + +// Vars for intersection within tolerance + + ESide sidetol ; + G4double slentol = kInfinity ; - G4double t1,t2,t3,rout,rin,nt1,nt2,nt3; - G4double b,c,d,sr2,sr3; - // Vars for intersection within tolerance - ESide sidetol; - G4double slentol= kInfinity; // Vars for phi intersection: - G4double sinSPhi,cosSPhi,ePhi,sinEPhi,cosEPhi; - G4double cPhi,sinCPhi,cosCPhi; - G4double pDistS,compS,pDistE,compE,sphi2,xi,yi,risec,vphi; - G4double zi,ri; -// + + G4double sinSPhi, cosSPhi, ePhi, sinEPhi, cosEPhi ; + G4double cPhi, sinCPhi, cosCPhi ; + G4double pDistS, compS, pDistE, compE, sphi2, xi, yi, risec, vphi ; + G4double zi, ri, deltaRoi2 ; + // Z plane intersection -// - if (v.z()>0) - { - pdist=fDz-p.z(); - if (pdist > kCarTolerance*0.5) - { - snxt=pdist/v.z(); - side=kPZ; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(0,0,1); - *validNorm=true; - } - return snxt=0; - } - } - else if (v.z()<0) - { - pdist=fDz+p.z(); + if ( v.z() > 0.0 ) + { + pdist = fDz - p.z() ; - if (pdist > kCarTolerance*0.5) - { - snxt=-pdist/v.z(); - side=kMZ; - } - else - { - if (calcNorm) - { - *n=G4ThreeVector(0,0,-1); - *validNorm=true; - } - return snxt=0; - } + if (pdist > kCarTolerance*0.5) + { + snxt = pdist/v.z() ; + side = kPZ ; } else { - snxt=kInfinity; // Travel perpendicular to z axis - side=kNull; + if (calcNorm) + { + *n = G4ThreeVector(0,0,1) ; + *validNorm = true ; + } + return snxt = 0.0 ; } -// + } + else if ( v.z() < 0.0 ) + { + pdist = fDz + p.z() ; + + if ( pdist > kCarTolerance*0.5) + { + snxt = -pdist/v.z() ; + side = kMZ ; + } + else + { + if ( calcNorm ) + { + *n = G4ThreeVector(0,0,-1) ; + *validNorm = true ; + } + return snxt = 0.0 ; + } + } + else // Travel perpendicular to z axis + { + snxt = kInfinity ; + side = kNull ; + } + // Radial Intersections // // Intersection with outer cone (possible return) and @@ -1420,719 +1332,590 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, // where a=tanRMax or tanRMin // b=rMaxAv or rMinAv // -// (vx^2+vy^2-(a*vz)^2)t^2+2t(pxvx+pyvy-a*vz(a*pz+b))+px^2+py^2-(a*pz+b)^2=0; +// (vx^2+vy^2-(a*vz)^2)t^2+2t(pxvx+pyvy-a*vz(a*pz+b))+px^2+py^2-(a*pz+b)^2=0 ; // t1 t2 t3 // // \--------u-------/ \-----------v----------/ \---------w--------/ -// - tanRMax=(fRmax2-fRmax1)*0.5/fDz; - secRMax=sqrt(1.0+tanRMax*tanRMax); - rMaxAv=(fRmax1+fRmax2)*0.5; + + tanRMax = (fRmax2 - fRmax1)*0.5/fDz ; + secRMax = sqrt(1.0 + tanRMax*tanRMax) ; + rMaxAv = (fRmax1 + fRmax2)*0.5 ; - t1=1.0-v.z()*v.z(); // since v normalised - t2=p.x()*v.x()+p.y()*v.y(); - t3=p.x()*p.x()+p.y()*p.y(); - rout=tanRMax*p.z()+rMaxAv; + t1 = 1.0 - v.z()*v.z() ; // since v normalised + t2 = p.x()*v.x() + p.y()*v.y() ; + t3 = p.x()*p.x() + p.y()*p.y() ; + rout = tanRMax*p.z() + rMaxAv ; - nt1=t1-(tanRMax*v.z())*(tanRMax*v.z()); - nt2=t2-tanRMax*v.z()*rout; - nt3=t3-rout*rout; - if (nt1) - { -// + nt1 = t1 - (tanRMax*v.z())*(tanRMax*v.z()) ; + nt2 = t2 - tanRMax*v.z()*rout ; + nt3 = t3 - rout*rout ; + + if (v.z() > 0.0) + { + deltaRoi2 = snxt*snxt*t1 + 2*snxt*t2 + t3 - fRmax2*(fRmax2 + kRadTolerance*secRMax); + } + else if ( v.z() < 0.0 ) + { + deltaRoi2 = snxt*snxt*t1 + 2*snxt*t2 + t3 - fRmax1*(fRmax1 + kRadTolerance*secRMax); + } + else deltaRoi2 = 1.0 ; + + if ( nt1 && deltaRoi2 > 0.0 ) + { // Equation quadratic => 2 roots : second root must be leaving -// - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if ( d >= 0 ) - { + b = nt2/nt1 ; + c = nt3/nt1 ; + d = b*b - c ; + + if ( d >= 0 ) + { // Check if on outer cone & heading outwards -// NOTE: Should use rho-rout>-kRadtolerance/2 +// NOTE: Should use rho-rout>-kRadtolerance*0.5 - if (nt3 > -kRadTolerance*0.5 && nt2 >= 0 ) - { - if (calcNorm) - { - risec=sqrt(t3)*secRMax; - *validNorm=true; - *n=G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax); - } - return snxt=0; - } - else - { -// // -*-* ORIG ROOT CODE -// sr=-b+sqrt(d); -// sider=kRMax; -// // -*-* ORIG ROOT CODE - -// Patch 4.4.95 - root above cross-over point - - sider=kRMax ; - sr=-b - sqrt(d); // was +srqrt(d), vmg 28.04.99 - zi=p.z()+sr*v.z(); - ri=tanRMax*zi+rMaxAv; + if (nt3 > -kRadTolerance*0.5 && nt2 >= 0 ) + { + if (calcNorm) + { + risec = sqrt(t3)*secRMax ; + *validNorm = true ; + *n = G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax) ; + } + return snxt=0 ; + } + else + { + sider = kRMax ; + sr = -b - sqrt(d) ; // was +srqrt(d), vmg 28.04.99 + zi = p.z() + sr*v.z() ; + ri = tanRMax*zi + rMaxAv ; - if ( (ri >= 0) - && (-kRadTolerance/2 <= sr) - && ( sr <= kRadTolerance/2) ) - { + if ( (ri >= 0) && (-kRadTolerance*0.5 <= sr) && + ( sr <= kRadTolerance*0.5) ) + { // An intersection within the tolerance // we will Store it in case it is good - // - slentol = sr; - sidetol= kRMax; - } - if ( (ri < 0) || (sr < kRadTolerance/2) ) - { + slentol = sr ; + sidetol = kRMax ; + } + if ( (ri < 0) || (sr < kRadTolerance*0.5) ) + { // Safety: if both roots -ve ensure that sr cannot `win' distance to out - sr2=-b+sqrt(d); - zi=p.z()+sr2*v.z(); - ri=tanRMax*zi+rMaxAv; + sr2 = -b + sqrt(d) ; + zi = p.z() + sr2*v.z() ; + ri = tanRMax*zi + rMaxAv ; - if (ri>=0&&sr2>kRadTolerance/2) - { - sr=sr2; - } - else - { - sr = kInfinity ; + if (ri >= 0 && sr2 > kRadTolerance*0.5) sr = sr2 ; + else + { + sr = kInfinity ; - if( (-kRadTolerance/2 <= sr2) - && ( sr2 <= kRadTolerance/2) ) - { + if( (-kRadTolerance*0.5 <= sr2) + && ( sr2 <= kRadTolerance*0.5) ) + { // An intersection within the tolerance. Storing it in case it is good. - slentol = sr2; - sidetol= kRMax; - } - } - } + slentol = sr2 ; + sidetol = kRMax ; + } } - } - else - { -// No intersection with outer cone & not parallel -> already outside, no -// intersection - - if (calcNorm) - { - risec=sqrt(t3)*secRMax; - *validNorm=true; - *n=G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax); - } - return snxt=0; - } - } - else if (nt2) - { -// -// Linear case (only one intersection) => point outside outer cone -// - if (calcNorm) - { - risec=sqrt(t3)*secRMax; - *validNorm=true; - *n=G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax); - } - return snxt=0; + } + } } else { +// No intersection with outer cone & not parallel -> already outside, no +// intersection + + if ( calcNorm ) + { + risec = sqrt(t3)*secRMax ; + *validNorm = true ; + *n = G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax) ; + } + return snxt = 0.0 ; + } + } + else if ( nt2 && deltaRoi2 > 0.0 ) + { +// Linear case (only one intersection) => point outside outer cone + + if ( calcNorm ) + { + risec = sqrt(t3)*secRMax ; + *validNorm = true ; + *n = G4ThreeVector(p.x()/risec,p.y()/risec,-tanRMax/secRMax) ; + } + return snxt = 0.0 ; + } + else + { // No intersection -> parallel to outer cone => Z or inner cone intersection - sr=kInfinity; - } + sr = kInfinity ; + } // Check possible intersection within tolerance - if ( slentol <= kCarTolerance/2 ) - { -// + if ( slentol <= kCarTolerance*0.5 ) + { // An intersection within the tolerance was found. // We must accept it only if the momentum points outwards. // -// G4ThreeVector ptTol; // The point of the intersection -// ptTol= p + slentol*v; -// ri=tanRMax*zi+rMaxAv; +// G4ThreeVector ptTol ; // The point of the intersection +// ptTol= p + slentol*v ; +// ri=tanRMax*zi+rMaxAv ; // // Calculate a normal vector, as below - xi=p.x()+slentol*v.x(); - yi=p.y()+slentol*v.y(); - risec=sqrt(xi*xi+yi*yi)*secRMax; - G4ThreeVector Normal=G4ThreeVector(xi/risec,yi/risec,-tanRMax/secRMax); + xi = p.x() + slentol*v.x() ; + yi = p.y() + slentol*v.y() ; + risec = sqrt(xi*xi + yi*yi)*secRMax ; + G4ThreeVector Normal = G4ThreeVector(xi/risec,yi/risec,-tanRMax/secRMax) ; - if ( Normal.dot(v) > 0 ) - { - // We will leave the Cone immediatelly - - if ( calcNorm ) - { - *n= Normal.unit(); - *validNorm=true; - } - return snxt = 0.0; - } - else - { - // On the surface, but not heading out - // so we ignore this intersection (as it is within tolerance). - slentol = kInfinity; - } + if ( Normal.dot(v) > 0 ) // We will leave the Cone immediatelly + { + if ( calcNorm ) + { + *n = Normal.unit() ; + *validNorm = true ; + } + return snxt = 0.0 ; } + else // On the surface, but not heading out so we ignore this intersection + { // (as it is within tolerance). + slentol = kInfinity ; + } + } - -// // Inner Cone intersection -// - if (fRmin1||fRmin2) - { - tanRMin=(fRmin2-fRmin1)*0.5/fDz; - nt1=t1-(tanRMin*v.z())*(tanRMin*v.z()); - if (nt1) - { - secRMin=sqrt(1.0+tanRMin*tanRMin); - rMinAv=(fRmin1+fRmin2)*0.5; + + if ( fRmin1 || fRmin2 ) + { + tanRMin = (fRmin2 - fRmin1)*0.5/fDz ; + nt1 = t1 - (tanRMin*v.z())*(tanRMin*v.z()) ; + + if ( nt1 ) + { + secRMin = sqrt(1.0 + tanRMin*tanRMin) ; + rMinAv = (fRmin1 + fRmin2)*0.5 ; + rin = tanRMin*p.z() + rMinAv ; + nt2 = t2 - tanRMin*v.z()*rin ; + nt3 = t3 - rin*rin ; - rin=tanRMin*p.z()+rMinAv; - nt2=t2-tanRMin*v.z()*rin; - nt3=t3-rin*rin; - -// // Equation quadratic => 2 roots : first root must be leaving -// - b=nt2/nt1; - c=nt3/nt1; - d=b*b-c; - if (d>=0) - { -// NOTE: should be rho-rin= 0.0 ) + { +// NOTE: should be rho-rin0&&sr2fDz+kCarTolerance/2) -// { -// sr2=-b+sqrt(d); -// zi=p.z()+sr2*v.z(); -// if (fabs(zi)=0) -// { -// sr=sr2; -// sider=kRMin; -// } -// } -// } -// else -// { -// if (sr2=0) -// { -// sr=sr2; -// sider=kRMin; -// } -// } + if( (ri >= 0.0) && (-kRadTolerance*0.5 <= sr2) && + ( sr2 <= kRadTolerance*0.5) ) + { +// An intersection within the tolerance storing it in case it is good. -// Patch 4.4.95 - root above cross-over point - - sr2=-b-sqrt(d); - zi=p.z()+sr2*v.z(); - ri=tanRMin*zi+rMinAv; - if( (ri>=0) - && (-kRadTolerance/2 <= sr2) - && ( sr2 <= kRadTolerance/2) ) - { - // An intersection within the tolerance - // storing it in case it is good. - slentol = sr2; - sidetol= kRMax; - } - - if( (ri<0) - || (sr2kCarTolerance*0.5) - { - if(sr3=0) - { - sr=sr3; - sider=kRMin; - } - } - } - else if (sr3> -kCarTolerance*0.5) - { - // Intersection in tolerance - // Store to check if it's good - slentol = sr3; - sidetol= kRMin; - } - } - else if (sr2kCarTolerance*0.5) - { - sr=sr2; - sider=kRMin; - } - else if (sr2> -kCarTolerance*0.5) - { - // Intersection in tolerance - // Store to check if it's good - slentol = sr2; - sidetol= kRMin; - } - -// Patch 4.4.95 - -// // Patch 3.4.95 -// sr2=-b-sqrt(d); -// zi=p.z()+sr2*v.z(); -// if (fabs(zi)>fDz+kCarTolerance/2||sr2<0) -// { -// sr2=-b+sqrt(d); -// zi=p.z()+sr2*v.z(); -// if (fabs(zi)>fDz+kCarTolerance/2||sr2<0) -// { -// sr2=kInfinity; -// } -// } + if ( sr3 > kCarTolerance*0.5 ) + { + if( sr3 < sr ) + { + zi = p.z() + sr3*v.z() ; + ri = tanRMin*zi + rMinAv ; -// if (sr2= 0.0 ) + { + sr=sr3 ; + sider=kRMin ; + } + } + } + else if ( sr3 > -kCarTolerance*0.5 ) + { +// Intersection in tolerance. Store to check if it's good - G4ThreeVector Normal; + slentol = sr3 ; + sidetol = kRMin ; + } + } + else if ( sr2 < sr && sr2 > kCarTolerance*0.5 ) + { + sr = sr2 ; + sider = kRMin ; + } + else if (sr2 > -kCarTolerance*0.5) + { +// Intersection in tolerance. Store to check if it's good + + slentol = sr2 ; + sidetol = kRMin ; + } + if( slentol <= kCarTolerance*0.5 ) + { +// An intersection within the tolerance was found. +// We must accept it only if the momentum points outwards. + + G4ThreeVector Normal ; - // Calculate a normal vector, as below - xi=p.x()+slentol*v.x(); - yi=p.y()+slentol*v.y(); - risec=sqrt(xi*xi+yi*yi)*secRMin; - Normal=G4ThreeVector(xi/risec,yi/risec,-tanRMin/secRMin); +// Calculate a normal vector, as below + + xi = p.x() + slentol*v.x() ; + yi = p.y() + slentol*v.y() ; + risec = sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(xi/risec,yi/risec,-tanRMin/secRMin) ; - if( Normal.dot(v) > 0 ) - { - // We will leave the Cone immediatelly - if(calcNorm) - { - *n= Normal.unit(); - *validNorm=true; - } - return snxt = 0.0; - } - else - { - // On the surface, but not - // heading out so we ignore this - // intersection (as it is within - // tolerance). - slentol = kInfinity; - } - - } - } - } - } -// -// Linear case => point outside inner cone -> outer cone intersect -// + if( Normal.dot(v) > 0 ) + { +// We will leave the Cone immediatelly + if( calcNorm ) + { + *n = Normal.unit() ; + *validNorm = true ; + } + return snxt = 0.0 ; + } + else + { +// On the surface, but not heading out so we ignore this +// intersection (as it is within tolerance). + + slentol = kInfinity ; + } + } } + } + } + } +// Linear case => point outside inner cone ---> outer cone intersect // // Phi Intersection -// - - if (fDPhi < 2.0*M_PI) - { - sinSPhi=sin(fSPhi); - cosSPhi=cos(fSPhi); + + if ( fDPhi < 2.0*M_PI ) + { + sinSPhi = sin(fSPhi) ; + cosSPhi = cos(fSPhi) ; + ePhi = fSPhi + fDPhi ; + sinEPhi = sin(ePhi) ; + cosEPhi = cos(ePhi) ; + cPhi = fSPhi + fDPhi*0.5 ; + sinCPhi = sin(cPhi) ; + cosCPhi = cos(cPhi) ; - ePhi=fSPhi+fDPhi; - - sinEPhi=sin(ePhi); - cosEPhi=cos(ePhi); - cPhi=fSPhi+fDPhi*0.5; - sinCPhi=sin(cPhi); - cosCPhi=cos(cPhi); - -// Check if on z axis (rho not needed later) - - if (p.x()||p.y()) - { + if ( p.x() || p.y() ) // Check if on z axis (rho not needed later) + { // pDist -ve when inside - pDistS=p.x()*sinSPhi-p.y()*cosSPhi; - pDistE=-p.x()*sinEPhi+p.y()*cosEPhi; + pDistS = p.x()*sinSPhi - p.y()*cosSPhi ; + pDistE = -p.x()*sinEPhi + p.y()*cosEPhi ; // Comp -ve when in direction of outwards normal - compS=-sinSPhi*v.x()+cosSPhi*v.y(); - compE=sinEPhi*v.x()-cosEPhi*v.y(); + compS = -sinSPhi*v.x() + cosSPhi*v.y() ; + compE = sinEPhi*v.x() - cosEPhi*v.y() ; - sidephi=kNull; + sidephi = kNull ; - if (pDistS <= 0 && pDistE <= 0) - { + if (pDistS <= 0 && pDistE <= 0) + { // Inside both phi *full* planes - if (compS < 0) - { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + + if (compS < 0) + { + sphi = pDistS/compS ; + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; // Check intersecting with correct half-plane (if not -> no intersect) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi=kInfinity; - } - else - { - sidephi=kSPhi; - if (pDistS>-kCarTolerance/2) - sphi=0; - // Leave by sphi immediately - } - } - else sphi=kInfinity; - - if (compE < 0) - { - sphi2=pDistE/compE; + if ( (yi*cosCPhi - xi*sinCPhi) >= 0.0 ) sphi = kInfinity ; + else + { + sidephi = kSPhi ; + + if ( pDistS > -kCarTolerance*0.5 ) // Leave by sphi immediately + { + sphi = 0.0 ; + } + } + } + else sphi = kInfinity ; + + if ( compE < 0.0 ) + { // Only check further if < starting phi intersection - if (sphi2 < sphi) - { - xi=p.x()+sphi2*v.x(); - yi=p.y()+sphi2*v.y(); -// Check intersecting with correct half-plane - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { -// Leaving via ending phi - sidephi=kEPhi; + sphi2 = pDistE/compE ; - if (pDistE<=-kCarTolerance/2) - { - sphi=sphi2; - } - else - { - sphi=0; - } - } - } - } - - } - else if (pDistS >= 0 && pDistE >= 0) - { + if ( sphi2 < sphi ) + { + xi = p.x() + sphi2*v.x() ; + yi = p.y() + sphi2*v.y() ; + +// Check intersecting with correct half-plane + + if ( (yi*cosCPhi - xi*sinCPhi) >= 0.0 ) // Leaving via ending phi + { + sidephi = kEPhi ; + + if ( pDistE <= -kCarTolerance*0.5 ) sphi = sphi2 ; + else sphi = 0.0 ; + } + } + } + } + else if ( pDistS >= 0 && pDistE >= 0 ) + { // Outside both *full* phi planes - if (pDistS <= pDistE) - { - sidephi = kSPhi ; - } - else - { - sidephi = kEPhi ; - } - if (fDPhi>M_PI) - { - if (compS < 0 && compE < 0) - { - sphi=0; - } - else - { - sphi=kInfinity; - } - } - else - { + + if ( pDistS <= pDistE ) sidephi = kSPhi ; + else sidephi = kEPhi ; + + if ( fDPhi > M_PI ) + { + if (compS < 0 && compE < 0) sphi = 0.0 ; + else sphi = kInfinity ; + } + else + { // if towards both >=0 then once inside (after error) will remain inside - if (compS>=0 && compE>=0) - { - sphi=kInfinity; - } - else - { - sphi=0; - } - } - - } - else if (pDistS>0&&pDistE<0) - { + if ( compS >= 0.0 && compE >= 0.0 ) sphi = kInfinity ; + else sphi = 0.0 ; + } + } + else if ( pDistS > 0.0 && pDistE < 0.0 ) + { // Outside full starting plane, inside full ending plane - if (fDPhi>M_PI) - { - if (compE<0) - { - sphi=pDistE/compE; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + + if ( fDPhi > M_PI ) + { + if ( compE < 0.0 ) + { + sphi = pDistE/compE ; + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; + // Check intersection in correct half-plane (if not -> not leaving phi extent) - if ((yi*cosCPhi-xi*sinCPhi)<=0) - { - sphi=kInfinity; - } - else - { -// Leaving via Ending phi - sidephi = kEPhi ; - if (pDistE>-kCarTolerance/2) - sphi=0; - } - } - else - { - sphi=kInfinity; - } - } - else - { - if (compS>=0) - { - if (compE<0) - { - - sphi=pDistE/compE; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + + if ( (yi*cosCPhi - xi*sinCPhi) <= 0.0 ) + { + sphi = kInfinity ; + } + else // Leaving via Ending phi + { + sidephi = kEPhi ; + + if ( pDistE > -kCarTolerance*0.5 ) sphi = 0.0 ; + } + } + else sphi = kInfinity ; + } + else // fDPhi <= pi + { + if (compS >= 0.0 ) + { + if ( compE < 0.0 ) + { + sphi = pDistE/compE ; + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; + // Check intersection in correct half-plane (if not -> remain in extent) - if ((yi*cosCPhi-xi*sinCPhi)<=0) - { - sphi=kInfinity; - } - else - { -// otherwise leaving via Ending phi - sidephi=kEPhi; - } - } - else sphi=kInfinity; - } - else - { -// leaving immediately by starting phi - sidephi=kSPhi; - sphi=0; - } - } - } - else - { + + if ( (yi*cosCPhi - xi*sinCPhi) <= 0.0 ) + { + sphi = kInfinity ; + } + else // otherwise leaving via Ending phi + { + sidephi = kEPhi ; + } + } + else sphi = kInfinity ; + } + else // leaving immediately by starting phi + { + sidephi = kSPhi ; + sphi = 0.0 ; + } + } + } + else + { // Must be pDistS<0&&pDistE>0 // Inside full starting plane, outside full ending plane - if (fDPhi>M_PI) - { - if (compS<0) - { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + + if (fDPhi > M_PI) + { + if ( compS < 0.0 ) + { + sphi = pDistS/compS ; + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; + // Check intersection in correct half-plane (if not -> not leaving phi extent) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi=kInfinity; - } - else - { -// Leaving via Starting phi - sidephi = kSPhi ; - if (pDistS>-kCarTolerance/2) - sphi=0; - } - } - else - { - sphi=kInfinity; - } - } - else - { - if (compE>=0) - { - if (compS<0) - { + + if ( (yi*cosCPhi - xi*sinCPhi) >= 0.0 ) sphi = kInfinity ; + else // Leaving via Starting phi + { + sidephi = kSPhi ; + + if ( pDistS > -kCarTolerance*0.5 ) sphi = 0.0 ; + } + } + else sphi = kInfinity ; + } + else // fDPhi <= pi + { + if ( compE >= 0.0 ) + { + if ( compS < 0.0 ) + { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + sphi = pDistS/compS ; + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; + // Check intersection in correct half-plane (if not -> remain in extent) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi=kInfinity; - } - else - { -// otherwise leaving via Starting phi - sidephi=kSPhi; - } - } - else - { - sphi=kInfinity; - } - } - else - { -// leaving immediately by ending - sidephi=kEPhi; - sphi=0; - } - } - } - - } - else - { + + if ( (yi*cosCPhi - xi*sinCPhi) >= 0.0 ) sphi = kInfinity ; + else // otherwise leaving via Starting phi + { + sidephi = kSPhi ; + } + } + else sphi = kInfinity ; + } + else // CompE < 0, leaving immediately by ending + { + sidephi = kEPhi ; + sphi = 0.0 ; + } + } + } + } + else + { // On z axis + travel not || to z axis -> if phi of vector direction // within phi of shape, Step limited by rmax, else Step =0 - vphi=atan2(v.y(),v.x()); - if (fSPhikMaxMeshSections) - { - noCrossSections=kMaxMeshSections; - } - - meshAngle=fDPhi/(noCrossSections-1); + noCrossSections = G4int(fDPhi/kMeshAngleDefault) + 1 ; - // G4double RMax = (fRmax2 >= fRmax1) ? fRmax2 : fRmax1 ; - meshRMax1=fRmax1/cos(meshAngle*0.5); - meshRMax2=fRmax2/cos(meshAngle*0.5); + if (noCrossSections < kMinMeshSections) + { + noCrossSections = kMinMeshSections ; + } + else if (noCrossSections > kMaxMeshSections) + { + noCrossSections = kMaxMeshSections ; + } + meshAngle = fDPhi/(noCrossSections - 1) ; + +// G4double RMax = (fRmax2 >= fRmax1) ? fRmax2 : fRmax1 ; + + meshRMax1 = fRmax1/cos(meshAngle*0.5) ; + meshRMax2 = fRmax2/cos(meshAngle*0.5) ; // If complete in phi, set start angle such that mesh will be at RMax // on the x axis. Will give better extent calculations when not rotated. - if (fDPhi==M_PI*2.0&&fSPhi==0) - { - sAngle=-meshAngle*0.5; - } - else - { - sAngle=fSPhi; - } - - vertices=new G4ThreeVectorList(noCrossSections*4); - if (vertices) - { - for (crossSection=0;crossSectioninsert(pTransform.TransformPoint(vertex0)); - vertices->insert(pTransform.TransformPoint(vertex1)); - vertices->insert(pTransform.TransformPoint(vertex2)); - vertices->insert(pTransform.TransformPoint(vertex3)); - } - } - else - { - G4Exception("G4Cons::CreateRotatedVertices Out of memory - Cannot alloc vertices"); - } - return vertices; + rMaxX1 = meshRMax1*cosCrossAngle ; + rMaxY1 = meshRMax1*sinCrossAngle ; + rMaxX2 = meshRMax2*cosCrossAngle ; + rMaxY2 = meshRMax2*sinCrossAngle ; + +// G4double RMin = (fRmin2 <= fRmin1) ? fRmin2 : fRmin1 ; + + rMinX1 = fRmin1*cosCrossAngle ; + rMinY1 = fRmin1*sinCrossAngle ; + rMinX2 = fRmin2*cosCrossAngle ; + rMinY2 = fRmin2*sinCrossAngle ; + + vertex0 = G4ThreeVector(rMinX1,rMinY1,-fDz) ; + vertex1 = G4ThreeVector(rMaxX1,rMaxY1,-fDz) ; + vertex2 = G4ThreeVector(rMaxX2,rMaxY2,+fDz) ; + vertex3 = G4ThreeVector(rMinX2,rMinY2,+fDz) ; + + vertices->insert(pTransform.TransformPoint(vertex0)) ; + vertices->insert(pTransform.TransformPoint(vertex1)) ; + vertices->insert(pTransform.TransformPoint(vertex2)) ; + vertices->insert(pTransform.TransformPoint(vertex3)) ; + } + } + else + { +G4Exception("G4Cons::CreateRotatedVertices Out of memory - Cant alloc vertices"); + } + return vertices ; } ////////////////////////////////////////////////////////////////////////// diff --git a/source/geometry/solids/CSG/src/G4Para.cc b/source/geometry/solids/CSG/src/G4Para.cc index def1d5a2c3..bee2dc9b8d 100644 --- a/source/geometry/solids/CSG/src/G4Para.cc +++ b/source/geometry/solids/CSG/src/G4Para.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Para.cc,v 1.5 2000/04/11 16:04:28 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Para.cc,v 1.6 2000/11/20 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4Para // @@ -285,6 +285,8 @@ G4bool G4Para::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } pMin-=kCarTolerance; diff --git a/source/geometry/solids/CSG/src/G4Sphere.cc b/source/geometry/solids/CSG/src/G4Sphere.cc index 1453ded1ab..95f8a0d813 100644 --- a/source/geometry/solids/CSG/src/G4Sphere.cc +++ b/source/geometry/solids/CSG/src/G4Sphere.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Sphere.cc,v 1.7 2000/04/11 16:04:28 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Sphere.cc,v 1.8 2000/11/20 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4Sphere // @@ -281,6 +281,8 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } pMin-=kCarTolerance; @@ -699,7 +701,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, G4double rho2, rad2, pDotV2d, pDotV3d, pTheta ; G4double tolIRMin2, tolORMin2, tolORMax2, tolIRMax2 ; - G4double tolSTheta, tolETheta ; + G4double tolSTheta=0., tolETheta=0. ; // Intersection point @@ -712,8 +714,8 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // Phi flag and precalcs G4bool segPhi ; - G4double hDPhi, hDPhiOT, hDPhiIT, cPhi, sinCPhi, cosCPhi ; - G4double cosHDPhiOT, cosHDPhiIT ; + G4double hDPhi, hDPhiOT, hDPhiIT, cPhi, sinCPhi=0., cosCPhi=0. ; + G4double cosHDPhiOT=0., cosHDPhiIT=0. ; G4double Dist, cosPsi ; G4bool segTheta ; // Theta flag and precals @@ -1775,7 +1777,7 @@ G4double G4Sphere::DistanceToOut(const G4ThreeVector& p, { G4double snxt = kInfinity; // snxt is default return value G4double sphi= kInfinity,stheta= kInfinity; - ESide side=kNull,sidephi,sidetheta; + ESide side=kNull,sidephi=kNull,sidetheta=kNull; G4double t1,t2; G4double b,c,d; @@ -1788,7 +1790,7 @@ G4double G4Sphere::DistanceToOut(const G4ThreeVector& p, G4double rho2,rad2,pDotV2d,pDotV3d,pTheta; - G4double tolSTheta,tolETheta; + G4double tolSTheta=0.,tolETheta=0.; G4double xi,yi,zi; // Intersection point // G4double Comp; // Phi intersection @@ -1798,8 +1800,8 @@ G4double G4Sphere::DistanceToOut(const G4ThreeVector& p, G4double cosHDPhiOT,cosHDPhiIT; G4bool segTheta; // Theta flag and precals - G4double tanSTheta,tanETheta, rhoSecTheta; - G4double tanSTheta2,tanETheta2; + G4double tanSTheta=0.,tanETheta, rhoSecTheta; + G4double tanSTheta2=0.,tanETheta2=0.; G4double dist2STheta,dist2ETheta; G4double d2,s; diff --git a/source/geometry/solids/CSG/src/G4Torus.cc b/source/geometry/solids/CSG/src/G4Torus.cc index 6d3110d67d..a9fbe35d16 100644 --- a/source/geometry/solids/CSG/src/G4Torus.cc +++ b/source/geometry/solids/CSG/src/G4Torus.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Torus.cc,v 1.9 2000/06/22 09:24:00 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Torus.cc,v 1.20 2000/12/01 11:49:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Torus @@ -18,6 +18,8 @@ // 19.11.99 V.Grichine side = kNull in Distance ToOut(p,v,...) // 06.03.00 V.Grichine, modifications in Distance ToOut(p,v,...) // 26.05.00 V.Grichine, new fuctions developed by O.Cremonesi were added +// 31.08.00 E.Medernach, numerical computation of roots with bounding volume technique +// 03.10.00 E.Medernach, SafeNewton added // @@ -37,6 +39,7 @@ #include "G4NURBScylinder.hh" #include "G4NURBStubesector.hh" +// #define DEBUGTORUS 1 /////////////////////////////////////////////////////////////// // @@ -51,7 +54,7 @@ G4Torus::G4Torus(const G4String &pName, G4double pDPhi) : G4CSGSolid(pName) { - SetAllParameters(pRmin, pRmax, pRtor, pSPhi, pDPhi); + SetAllParameters(pRmin, pRmax, pRtor, pSPhi, pDPhi); } void @@ -200,6 +203,7 @@ G4int G4Torus::TorusRoots( G4double Ri, else G4cout<<"All real new roots are negative"<=cosHDPhiIT) return snxt = 0 ; + if (cosPsi>=cosHDPhiIT) { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn (cosPsi>=cosHDPhiIT) "<< __LINE__ << G4endl << G4endl; +#endif + return snxt = 0 ; + } + + } + else { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn (seg) "<< __LINE__ << G4endl << G4endl; +#endif + return snxt = 0 ; } - else return snxt = 0 ; } else // intersection with Rmax torus { @@ -1206,8 +1227,17 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p, c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmax2) + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmax2)*(Rtor2-Rmax2) ; - num = SolveBiQuadratic(c,s) ; - + // num = SolveBiQuadratic(c,s) ; + + /* Numerical root research */ + s[0] = SolveNumeric(p, v, true); + num = 1; // There is only one root: the correct one + +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn (" << __LINE__ << ") SolveNumeric : " + << s[0] << G4endl; +#endif + if(num) { for(i=0;i=kRadTolerance/2 roots P?! @@ -1258,9 +1288,19 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p, inum = p.x()*cosCPhi + p.y()*sinCPhi; cosPsi = inum/rho ; - if (cosPsi>=cosHDPhiIT) return snxt = 0 ; + if (cosPsi>=cosHDPhiIT) { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn (cosPsi>=cosHDPhiIT) "<< __LINE__ << G4endl << G4endl; +#endif + return snxt = 0 ; + } + } + else { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn (seg) "<< __LINE__ << G4endl << G4endl; +#endif + return snxt = 0 ; } - else return snxt = 0 ; } else // intersection with Rmin torus { @@ -1273,8 +1313,12 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p, c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmin2) + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmin2)*(Rtor2-Rmin2) ; - num = SolveBiQuadratic(c,s) ; - + // num = SolveBiQuadratic(c,s) ; + + /* Numerical root research */ + // s[0] = s[0]; // We already take care of Rmin in SolveNumeric ! + num = 1; + if(num) { for(i=0;i=kRadTolerance/2 roots P?! @@ -1392,6 +1436,12 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p, } } if(snxt < 0.5*kCarTolerance) snxt = 0.0 ; + +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToIn Final Value is " << snxt << G4endl << G4endl; +#endif + + return snxt ; } @@ -1408,6 +1458,10 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p) const G4double phiC, cosPhiC, sinPhiC, safePhi, ePhi, cosPsi ; G4double rho2, rho, pt2, pt ; +#if DEBUGTORUS + G4cout << G4endl ; +#endif + rho2 = p.x()*p.x() + p.y()*p.y() ; rho = sqrt(rho2) ; pt2 = fabs(rho2 + p.z()*p.z() + fRtor*fRtor - 2*fRtor*rho) ; @@ -1449,25 +1503,38 @@ G4double G4Torus::DistanceToIn(const G4ThreeVector& p) const // Calculate distance to surface of shape from `inside', allowing for tolerance // - Only Calc rmax intersection if no valid rmin intersection +/* + Problem: if the ray exit the torus from the surface, the only solution is epsilon (~ 0). + Then this solution is eliminated by the loop (>= kRadTolerance) we have nothing. + This results in 'invalid enum' + solution: apply DistanceToIn instead DistanceToOut ? + */ + G4double G4Torus::DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v, const G4bool calcNorm, G4bool *validNorm, G4ThreeVector *n ) const { - ESide side = kNull, sidephi ; + ESide side = kNull, sidephi = kNull ; G4double snxt = kInfinity, sphi, c[5], s[4] ; G4double sinSPhi, cosSPhi, ePhi, sinEPhi, cosEPhi;// Vars for phi intersection G4double cPhi, sinCPhi, cosCPhi ; + G4double pDistS, compS, pDistE, compE, sphi2, xi, yi, zi, vphi ; -// Radial Intersections Defenitions & General Precals + + // Radial Intersections Defenitions & General Precals -// Define roots Si (generally real >=0) for intersection with -// torus (Ri = fRmax or fRmin) of ray p +S*v . General equation is : -// c[4]*S^4 + c[3]*S^3 +c[2]*S^2 + c[1]*S + c[0] = 0 . + // Define roots Si (generally real >=0) for intersection with + // torus (Ri = fRmax or fRmin) of ray p +S*v . General equation is : + // c[4]*S^4 + c[3]*S^3 +c[2]*S^2 + c[1]*S + c[0] = 0 . +#if DEBUGTORUS + G4cout << G4endl ; +#endif + G4int i,j,num ; G4double Rtor2 = fRtor*fRtor, Rmax2 = fRmax*fRmax, Rmin2 = fRmin*fRmin ; G4double rho2 = p.x()*p.x()+p.y()*p.y(); @@ -1482,415 +1549,459 @@ G4double G4Torus::DistanceToOut(const G4ThreeVector& p, G4double vDotNmax = pDotV - fRtor*(v.x()*p.x() + v.y()*p.y())/rho ; G4double pDotxyNmax = (1 - fRtor/rho) ; +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut " << p << ", " << v << G4endl ; +#endif + if( pt2 > tolRMax*tolRMax && vDotNmax >= 0 ) - { -// On tolerant boundary & heading outwards (or perpendicular to) outer -// radial surface -> leaving immediately with *n for really convex part only - - if (calcNorm && pDotxyNmax >= -kRadTolerance) { - *n = G4ThreeVector( p.x()*(1 - fRtor/rho)/pt, - p.y()*(1 - fRtor/rho)/pt, - p.z()/pt ) ; - *validNorm = true ; - } - return snxt = 0 ; // Leaving by Rmax immediately - } - else // intersection with Rmax torus - { - c[4] = 1.0 ; - c[3] = 4*pDotV ; - c[2] = 2*(pRad2 + 2*pDotV*pDotV - Rtor2 - Rmax2 + 2*Rtor2*v.z()*v.z()) ; + // On tolerant boundary & heading outwards (or perpendicular to) outer + // radial surface -> leaving immediately with *n for really convex part only - c[1] = 4*(pDotV*(pRad2-Rtor2-Rmax2) + 2*Rtor2*p.z()*v.z()) ; - - c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmax2) - + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmax2)*(Rtor2-Rmax2) ; - - num = SolveBiQuadratic(c,s) ; - - if(num) - { - for(i=0;i=kRadTolerance/2 roots - { - if( s[i] < kRadTolerance*0.5 ) - { - for(j=i+1;j= -kRadTolerance) + { + *n = G4ThreeVector( p.x()*(1 - fRtor/rho)/pt, + p.y()*(1 - fRtor/rho)/pt, + p.z()/pt ) ; + *validNorm = true ; } - } +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Leaving by Rmax immediately" << G4endl ; +#endif + return snxt = 0 ; // Leaving by Rmax immediately + } + else // intersection with Rmax torus + { + c[4] = 1.0 ; + c[3] = 4*pDotV ; + c[2] = 2*(pRad2 + 2*pDotV*pDotV - Rtor2 - Rmax2 + 2*Rtor2*v.z()*v.z()) ; + + c[1] = 4*(pDotV*(pRad2-Rtor2-Rmax2) + 2*Rtor2*p.z()*v.z()) ; + + c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmax2) + + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmax2)*(Rtor2-Rmax2) ; + + //num = SolveBiQuadratic(c,s) ; + /* Numerical root research */ + s[0] = SolveNumeric( p, v, false); + num = 1; // There is only one root. + +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut (" << __LINE__ << ") SolveNumeric : " << s[0] << G4endl ; +#endif + if(num) - { - snxt = s[0] ; - side = kRMax ; - } - } - if (fRmin) // Possible Rmin intersection - { - G4double tolRMin = fRmin + kRadTolerance*0.5 ; - -// Leaving via Rmin -// NOTE: SHould use rho-rmin>kRadTolerance*0.5 - avoid sqrt for efficiency - - if (pt2 < tolRMin*tolRMin && vDotNmax < 0 ) - { - if (calcNorm) *validNorm = false ; // Concave surface of the torus - return snxt = 0 ; // Leaving by Rmin immediately - } - else // intersection with Rmin torus - { - c[4] = 1.0 ; - c[3] = 4*pDotV ; - c[2] = 2*(pRad2 + 2*pDotV*pDotV - Rtor2 - Rmin2 + 2*Rtor2*v.z()*v.z()) ; - - c[1] = 4*(pDotV*(pRad2-Rtor2-Rmin2) + 2*Rtor2*p.z()*v.z()) ; - - c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmin2) - + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmin2)*(Rtor2-Rmin2) ; - - num = SolveBiQuadratic(c,s) ; - - if(num) - { - for(i=0;i=kRadTolerance/2 roots - { - if(s[i] < kRadTolerance*0.5) - { - for(j=i+1;j=kRadTolerance/2 roots + { + if( s[i] < kRadTolerance*0.5 ) + { + for(j=i+1;jkRadTolerance*0.5 - avoid sqrt for efficiency + if (pt2 < tolRMin*tolRMin && vDotNmax < 0 ) + { + if (calcNorm) *validNorm = false ; // Concave surface of the torus +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Leaving by Rmin immediately" << G4endl ; +#endif + return snxt = 0 ; // Leaving by Rmin immediately + } + else // intersection with Rmin torus + { + c[4] = 1.0 ; + c[3] = 4*pDotV ; + c[2] = 2*(pRad2 + 2*pDotV*pDotV - Rtor2 - Rmin2 + 2*Rtor2*v.z()*v.z()) ; + + c[1] = 4*(pDotV*(pRad2-Rtor2-Rmin2) + 2*Rtor2*p.z()*v.z()) ; + + c[0] = pRad2*pRad2 - 2*pRad2*(Rtor2+Rmin2) + + 4*Rtor2*p.z()*p.z() + (Rtor2-Rmin2)*(Rtor2-Rmin2) ; + + // num = SolveBiQuadratic(c,s) ; + // s[0] = s[0]; // We already take care of Rmin in SolveNumeric + num = 1; + + if(num) + { + for(i=0;i=kRadTolerance/2 roots + { + if(s[i] < kRadTolerance*0.5) + { + for(j=i+1;j no intersect) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - sphi=kInfinity; - else - { - sidephi=kSPhi; - if (pDistS>-kCarTolerance*0.5) - sphi=0; - // Leave by sphi immediately - } - } - else sphi=kInfinity; + // Comp -ve when in direction of outwards normal - if (compE<0) - { - sphi2=pDistE/compE; -// Only check further if < starting phi intersection - if (sphi2=0) - { -// Leaving via ending phi - sidephi=kEPhi; - if (pDistE<=-kCarTolerance*0.5) - { - sphi=sphi2; - } - else - { - sphi=0; - } - } - } - } + compS = -sinSPhi*v.x() + cosSPhi*v.y() ; + compE = sinEPhi*v.x() - cosEPhi*v.y() ; + sidephi = kNull ; - } - else if (pDistS>=0&&pDistE>=0) - { -// Outside both *full* phi planes - if (pDistS <= pDistE) - { - sidephi = kSPhi ; - } - else - { - sidephi = kEPhi ; - } - if (fDPhi>M_PI) - { - if (compS<0&&compE<0) sphi=0; - else sphi=kInfinity; - } - else - { -// if towards both >=0 then once inside (after error) will remain inside - if (compS>=0&&compE>=0) - { - sphi=kInfinity; - } - else - { - sphi=0; - } - } + if (pDistS <= 0 && pDistE <= 0 ) + { + // Inside both phi *full* planes + if (compS<0) + { + sphi=pDistS/compS; + xi=p.x()+sphi*v.x(); + yi=p.y()+sphi*v.y(); + // Check intersecting with correct half-plane (if not -> no intersect) + if ((yi*cosCPhi-xi*sinCPhi)>=0) + sphi=kInfinity; + else + { + sidephi=kSPhi; + if (pDistS>-kCarTolerance*0.5) + sphi=0; + // Leave by sphi immediately + } + } + else sphi=kInfinity; - } - else if (pDistS>0&&pDistE<0) - { -// Outside full starting plane, inside full ending plane - if (fDPhi>M_PI) - { - if (compE<0) - { - sphi=pDistE/compE; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); -// Check intersection in correct half-plane (if not -> not leaving phi extent) - if ((yi*cosCPhi-xi*sinCPhi)<=0) - { - sphi=kInfinity; - } - else - { -// Leaving via Ending phi - sidephi = kEPhi ; - if (pDistE>-kCarTolerance*0.5) - sphi=0; - } - } - else - { - sphi=kInfinity; - } - } - else - { - if (compS>=0) - { - if (compE<0) - { - - sphi=pDistE/compE; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); -// Check intersection in correct half-plane (if not -> remain in extent) - if ((yi*cosCPhi-xi*sinCPhi)<=0) - { - sphi=kInfinity; - } - else - { -// otherwise leaving via Ending phi - sidephi=kEPhi; - } - } - else sphi=kInfinity; - } - else - { -// leaving immediately by starting phi - sidephi=kSPhi; - sphi=0; - } - } - } - else - { -// Must be pDistS<0&&pDistE>0 -// Inside full starting plane, outside full ending plane - if (fDPhi>M_PI) - { - if (compS<0) - { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); -// Check intersection in correct half-plane (if not -> not leaving phi extent) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi=kInfinity; - } - else - { -// Leaving via Starting phi - sidephi = kSPhi ; - if (pDistS>-kCarTolerance*0.5) - sphi=0; - } - } - else - { - sphi=kInfinity; - } - } - else - { - if (compE>=0) - { - if (compS<0) - { - - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); -// Check intersection in correct half-plane (if not -> remain in extent) - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi=kInfinity; - } - else - { -// otherwise leaving via Starting phi - sidephi=kSPhi; - } - } - else - { - sphi=kInfinity; - } - } - else - { -// leaving immediately by ending - sidephi=kEPhi; - sphi=0; - } - } - } - - } - else + if (compE<0) + { + sphi2=pDistE/compE; + // Only check further if < starting phi intersection + if (sphi2=0) { -// On z axis + travel not || to z axis -> if phi of vector direction -// within phi of shape, Step limited by rmax, else Step =0 - vphi=atan2(v.y(),v.x()); - if (fSPhi=0&&pDistE>=0) + { + // Outside both *full* phi planes + if (pDistS <= pDistE) + { + sidephi = kSPhi ; + } + else + { + sidephi = kEPhi ; + } + if (fDPhi>M_PI) + { + if (compS<0&&compE<0) sphi=0; + else sphi=kInfinity; + } + else + { + // if towards both >=0 then once inside (after error) will remain inside + if (compS>=0&&compE>=0) + { + sphi=kInfinity; + } + else + { + sphi=0; + } + } + + } + else if (pDistS>0&&pDistE<0) + { + // Outside full starting plane, inside full ending plane + if (fDPhi>M_PI) + { + if (compE<0) + { + sphi=pDistE/compE; + xi=p.x()+sphi*v.x(); + yi=p.y()+sphi*v.y(); + // Check intersection in correct half-plane (if not -> not leaving phi extent) + if ((yi*cosCPhi-xi*sinCPhi)<=0) { - snxt=sphi; - side=sidephi; + sphi=kInfinity; + } + else + { + // Leaving via Ending phi + sidephi = kEPhi ; + if (pDistE>-kCarTolerance*0.5) + sphi=0; + } + } + else + { + sphi=kInfinity; + } + } + else + { + if (compS>=0) + { + if (compE<0) + { + + sphi=pDistE/compE; + xi=p.x()+sphi*v.x(); + yi=p.y()+sphi*v.y(); + // Check intersection in correct half-plane (if not -> remain in extent) + if ((yi*cosCPhi-xi*sinCPhi)<=0) + { + sphi=kInfinity; + } + else + { + // otherwise leaving via Ending phi + sidephi=kEPhi; + } + } + else sphi=kInfinity; + } + else + { + // leaving immediately by starting phi + sidephi=kSPhi; + sphi=0; + } + } + } + else + { + // Must be pDistS<0&&pDistE>0 + // Inside full starting plane, outside full ending plane + if (fDPhi>M_PI) + { + if (compS<0) + { + sphi=pDistS/compS; + xi=p.x()+sphi*v.x(); + yi=p.y()+sphi*v.y(); + // Check intersection in correct half-plane (if not -> not leaving phi extent) + if ((yi*cosCPhi-xi*sinCPhi)>=0) + { + sphi=kInfinity; + } + else + { + // Leaving via Starting phi + sidephi = kSPhi ; + if (pDistS>-kCarTolerance*0.5) + sphi=0; + } + } + else + { + sphi=kInfinity; + } + } + else + { + if (compE>=0) + { + if (compS<0) + { + + sphi=pDistS/compS; + xi=p.x()+sphi*v.x(); + yi=p.y()+sphi*v.y(); + // Check intersection in correct half-plane (if not -> remain in extent) + if ((yi*cosCPhi-xi*sinCPhi)>=0) + { + sphi=kInfinity; + } + else + { + // otherwise leaving via Starting phi + sidephi=kSPhi; + } + } + else + { + sphi=kInfinity; + } + } + else + { + // leaving immediately by ending + sidephi=kEPhi; + sphi=0; + } + } + } + + } + else + { + // On z axis + travel not || to z axis -> if phi of vector direction + // within phi of shape, Step limited by rmax, else Step =0 + vphi=atan2(v.y(),v.x()); + if (fSPhi= -kRadTolerance) // really convex part of Rmax - { - *n = G4ThreeVector( xi*(1-fRtor/rhoi)/it, - yi*(1-fRtor/rhoi)/it, - zi/it ) ; - *validNorm = true ; - } - else *validNorm = false ; // concave-convex part of Rmax - break ; - - case kRMin: - *validNorm = false ; // Rmin is concave or concave-convex - break; - - case kSPhi: - if (fDPhi <= M_PI ) + switch(side) { - *n=G4ThreeVector(sin(fSPhi),-cos(fSPhi),0); - *validNorm=true; - } - else *validNorm = false ; - break ; + case kRMax: // n is unit vector +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Side is RMax" << G4endl ; +#endif + xi = p.x() + snxt*v.x() ; + yi =p.y() + snxt*v.y() ; + zi = p.z() + snxt*v.z() ; + rhoi2 = xi*xi + yi*yi ; + rhoi = sqrt(rhoi2) ; + it2 = fabs(rhoi2 + zi*zi + fRtor*fRtor - 2*fRtor*rhoi) ; + it = sqrt(it2) ; + iDotxyNmax = (1-fRtor/rhoi) ; - case kEPhi: - if (fDPhi <= M_PI) - { - *n=G4ThreeVector(-sin(fSPhi+fDPhi),cos(fSPhi+fDPhi),0); - *validNorm=true; - } - else *validNorm = false ; - break; + if(iDotxyNmax >= -kRadTolerance) // really convex part of Rmax + { + *n = G4ThreeVector( xi*(1-fRtor/rhoi)/it, + yi*(1-fRtor/rhoi)/it, + zi/it ) ; + *validNorm = true ; + } + else *validNorm = false ; // concave-convex part of Rmax + break ; - default: + case kRMin: +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Side is RMin" << G4endl ; +#endif + *validNorm = false ; // Rmin is concave or concave-convex + break; - G4cout.precision(16); - G4cout << G4endl; - G4cout << "Torus parameters:" << G4endl << G4endl; - G4cout << "fRmin = " << fRmin/mm << " mm" << G4endl; - G4cout << "fRmax = " << fRmax/mm << " mm" << G4endl; - G4cout << "fRtor = " << fRtor/mm << " mm" << G4endl; - G4cout << "fSPhi = " << fSPhi/degree << " degree" << G4endl; - G4cout << "fDPhi = " << fDPhi/degree << " degree" << G4endl; - 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 << "Direction:" << G4endl << G4endl; - G4cout << "v.x() = " << v.x() << G4endl; - G4cout << "v.y() = " << v.y() << G4endl; - G4cout << "v.z() = " << v.z() << G4endl << G4endl; - G4cout << "Proposed distance :" << G4endl << G4endl; - G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; + case kSPhi: +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Side is SPhi" << G4endl ; +#endif + if (fDPhi <= M_PI ) + { + *n=G4ThreeVector(sin(fSPhi),-cos(fSPhi),0); + *validNorm=true; + } + else *validNorm = false ; + break ; + + case kEPhi: +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Side is EPhi" << G4endl ; +#endif + if (fDPhi <= M_PI) + { + *n=G4ThreeVector(-sin(fSPhi+fDPhi),cos(fSPhi+fDPhi),0); + *validNorm=true; + } + else *validNorm = false ; + break; + + default: + + /* It seems we go here from time to time .. + G4cout << "Side is " << side << G4endl ; + G4cout << "Valid ESide are :" << kNull << " " << kRMin << " " << kRMax + << " " << kSPhi << " " << kEPhi << G4endl; + */ + G4cout.precision(16); + G4cout << G4endl; + G4cout << "Torus parameters:" << G4endl << G4endl; + G4cout << "fRmin = " << fRmin/mm << " mm" << G4endl; + G4cout << "fRmax = " << fRmax/mm << " mm" << G4endl; + G4cout << "fRtor = " << fRtor/mm << " mm" << G4endl; + G4cout << "fSPhi = " << fSPhi/degree << " degree" << G4endl; + G4cout << "fDPhi = " << fDPhi/degree << " degree" << G4endl; + 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 << "Direction:" << G4endl << G4endl; + G4cout << "v.x() = " << v.x() << G4endl; + G4cout << "v.y() = " << v.y() << G4endl; + G4cout << "v.z() = " << v.z() << G4endl << G4endl; + G4cout << "Proposed distance :" << G4endl << G4endl; + G4cout << "snxt = " << snxt/mm << " mm" << G4endl << G4endl; - G4Exception("Invalid enum in G4Torus::DistanceToOut"); - break; + G4Exception("Invalid enum in G4Torus::DistanceToOut"); + break; + } } - } + +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToOut Final Value is " << snxt << G4endl << G4endl; +#endif + return snxt; } @@ -1908,6 +2019,10 @@ G4double G4Torus::DistanceToOut(const G4ThreeVector& p) const pt2 = fabs(rho2 + p.z()*p.z() + fRtor*fRtor - 2*fRtor*rho) ; pt = sqrt(pt2) ; +#if DEBUGTORUS + G4cout << G4endl ; +#endif + if (fRmin) { safeR1 = pt - fRmin ; @@ -2067,8 +2182,1057 @@ G4NURBS* G4Torus::CreateNURBS () const return pNURBS; } + +// +// E.Medernach // -// -///////////////////////////////////////////////////////////////////////////// + +/** Important : the precision could be tuned by TORUSPRECISION **/ + +#define EPSILON 1e-12 +#define INFINITY 1e+12 +#define TORUSPRECISION 1.0 // or whatever you want for precision + // (it is TorusEquation related) +#define NBPOINT 6 +#define ITERATION 12 // 20 But 8 is really enough for Newton with a good guess +#define NOINTERSECTION kInfinity +/* + Torus implementation with Newton Method and Bounding volume + */ + +/* + For speed issue, we lose time *only* when intersecting the BVM + and SafeNewton when it is called. + */ + +G4double G4Torus::SolveNumeric(const G4ThreeVector& p, + const G4ThreeVector& v, + G4bool IsDistanceToIn) const +{ + /* This methods is a front-end to the numerical computation of roots */ + /* In fact this computation take care only of a perfect Torus */ + /* So here we add Phi section/Tolerance/Rinterior */ + + /*** SolveNumeric ***/ + + /** Conditions **/ + /** - if original point inside check for interior torus before **/ + /** - on surface it depends on the direction **/ + /** - the intersection point must be between fSPhi and fSPhi+fDPhi **/ + /** - If on the surface it depends on DistanceToOut or DistanceToIn : + a ray from the surface to In called with DistanceToIn return 0.0 + and with DistanceToOut return the second intersection point **/ + + G4double lambda = 0; + G4double Value = TorusEquation(p.x(),p.y(),p.z(),GetRtor(),GetRmax()); + EInside inside ; + + /*** Check from only the exterior torus TORUSPRECISION ? ***/ + /** Note that we could be on the surface from the interior torus **/ + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric " << p << ", " << v << G4endl ; + G4cout << "G4Torus::SolveNumeric Value = " << Value << G4endl; +#endif + + if (Value < -TORUSPRECISION) { + inside = kInside ; + } else { + if (Value > TORUSPRECISION) { + inside = kOutside; + } else { + inside = kSurface; + } + } + + + switch (inside) { + case kInside: +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point is Inside Rmax Torus " + << " Rtor = " << GetRtor() + << " Rmax = " << GetRmax() << G4endl ; +#endif + if (fabs(GetRmin()) > EPSILON) { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Testing interior torus .." << G4endl ; +#endif + lambda = DistanceToTorus(p.x(),p.y(),p.z(),v.x(),v.y(),v.z(), + GetRtor(),GetRmin()); //Interior torus + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric lambda to interior torus =" + << lambda << G4endl ; + G4cout << "G4Torus::SolveNumeric Tolerance is " + << kCarTolerance << G4endl ; +#endif + /** Now check if on surface from interior torus **/ + + /* PROBLEM: This may be a problem of precision + if we are near kCarTolerance ... */ + if (fabs(lambda) < kCarTolerance) { + G4double Lx,Ly,Lz; + G4double scal; +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric In fact on the Surface of Rmin torus" + << G4endl ; +#endif + + /* Compute Surface point */ + Lx = p.x() + lambda*v.x(); + Ly = p.y() + lambda*v.y(); + Lz = p.z() + lambda*v.z(); + /* Scalar product */ + scal = v.x()*TorusDerivativeX(Lx,Ly,Lz,GetRtor(),GetRmin()); + scal += v.y()*TorusDerivativeY(Lx,Ly,Lz,GetRtor(),GetRmin()); + scal += v.z()*TorusDerivativeZ(Lx,Ly,Lz,GetRtor(),GetRmin()); + /* if entering and if it is DistToIn it is 0.0, */ + /* but in fact it is the opposite because it is the interior torus */ + /* beware that this could be DistanceToOut */ + if ((IsDistanceToIn == true) && (scal > 0.0)) { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Entering Surface from Rmin Torus Gradient: " + << scal << G4endl ; +#endif + /* DistanceToIn return 0.0 */ + lambda = 0.0; + } else { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Exiting Surface (Recalculating) or DistanceToOut from surface" + << G4endl ; + G4cout << "G4Torus::SolveNumeric Recursive call lambda..." + << lambda << G4endl << G4endl; +#endif + /* else it is not necessary infinity !! + (we could reach the opposite side..) */ + /* To reach the opposite side we remark that from Surface + the sphere of radius min((Rmax - Rmin)/2, Rmin) does not + hit 2 surface of the torus so it is safe to do that way */ + + if ((GetRmax() - GetRmin())/2.0 < GetRmin()) { + lambda = SolveNumeric(p+((GetRmax() - GetRmin())/2.0)*v,v,IsDistanceToIn) + (GetRmax() - GetRmin())/2.0; + } else { + lambda = SolveNumeric(p+GetRmin()*v,v,IsDistanceToIn) + GetRmin(); + } + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric --> Recursive call: lambda = " + << lambda << G4endl; +#endif + } + } else { + /* PROBLEM : could be better done ? */ + + G4double lambdaToRmax = DistanceToTorus(p.x(),p.y(),p.z(), + v.x(),v.y(),v.z(), + GetRtor(),GetRmax()); + if (lambda >= lambdaToRmax) { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point does not hit the Rmin torus from here" << G4endl; +#endif + lambda = lambdaToRmax; + } else { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric We hit the Rmin torus with " + << lambda << G4endl; + G4cout << "G4Torus::SolveNumeric Note that this could be small and not in Tolerance resulting in wrong result " + << G4endl ; +#endif + } + } + } else { + /* It is a whole torus */ + + lambda = DistanceToTorus(p.x(),p.y(),p.z(), + v.x(),v.y(),v.z(), + GetRtor(),GetRmax()); + } + break; + case kSurface: + { + G4double Lx,Ly,Lz; + G4double scal; + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point is on the Rmax Surface" + << G4endl ; +#endif + /* It is possible with Phi that this is not the correct point */ + lambda = DistanceToTorus(p.x(),p.y(),p.z(), + v.x(),v.y(),v.z(), + GetRtor(),GetRmax()); + /* Compute Surface point */ + Lx = p.x() + lambda*v.x(); + Ly = p.y() + lambda*v.y(); + Lz = p.z() + lambda*v.z(); + /* Scalar product */ + scal = v.x()*TorusDerivativeX(Lx,Ly,Lz,GetRtor(),GetRmax()); + scal += v.y()*TorusDerivativeY(Lx,Ly,Lz,GetRtor(),GetRmax()); + scal += v.z()*TorusDerivativeZ(Lx,Ly,Lz,GetRtor(),GetRmax()); + + /* if entering it is < 0.0 */ + if ((IsDistanceToIn) && (scal < 0.0)) { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point is Entering Surface " + << scal << G4endl ; +#endif + lambda = 0.0; + } else { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point is Exiting Surface or DistanceToOut " + << scal << G4endl ; + G4cout << "Recursive call ..." << G4endl << G4endl ; +#endif + /* To reach the opposite side we remark that from Surface the sphere of radius (Rmax - Rmin)/2 + does not hit 2 surface of the torus so it is safe to do that way */ + //lambda = SolveNumeric(p+(lambda + kCarTolerance)*v,v,IsDistanceToIn); + lambda = SolveNumeric(p+((GetRmax() - GetRmin())/2.0)*v, + v, IsDistanceToIn) + + (GetRmax() - GetRmin())/2.0; +#if DEBUGTORUS + G4cout << "Recursive call ...END" << G4endl ; +#endif + } + } + break; + case kOutside: +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Point is Outside the Rmax torus" + << G4endl ; +#endif + + lambda = DistanceToTorus(p.x(),p.y(),p.z(), + v.x(),v.y(),v.z(), + GetRtor(),GetRmax()); + break; + } + + if (lambda == kInfinity) return lambda; + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Intersection found. Now checking Phi angles" + << G4endl ; +#endif + + /** Ok we have a lambda that is correct without Phi **/ + /** Now check Phi .. **/ + + /* Eliminate the case of point (0,0,0) */ + if ((p.x()*p.x() + p.y()*p.y() + p.z()*p.z()) > EPSILON) + { + G4double theta ; + + theta = atan2(p.y() + lambda*v.y(),p.x() + lambda*v.x()); +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric theta = " << theta << G4endl; +#endif + + if (theta < 0) theta += 2*M_PI; + + + /*** We have to verify if this root is inside the region between fSPhi and fSPhi + fDPhi ***/ +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric theta = " << theta + << " Phi = " << fSPhi + << " Phi + dPhi = " << fSPhi + fDPhi << G4endl ; +#endif + + if ((theta >= fSPhi - kAngTolerance*0.5) && + (theta <= (fSPhi + fDPhi + kAngTolerance*0.5))) { + /*** If this is the case we return this solution ***/ +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Correct Phi section" << G4endl ; +#endif + return lambda; + } else { + /*** Else we compute the intersection with the 2 half-plane [fSPhi] + and [fSPhi + fDPhi] ***/ + + G4double IntersectPlanar ; + + + IntersectPlanar = - (p.y() - p.x()*tan(fSPhi))/(v.y() - v.x()*tan(fSPhi)); +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric IntersectPlanar = " + << IntersectPlanar << G4endl ; +#endif + + /** If this is below lambda we check for the other plane **/ + if (IntersectPlanar < lambda) { + IntersectPlanar = - (p.y() - p.x()*tan(fSPhi + fDPhi)) + / (v.y() - v.x()*tan(fSPhi + fDPhi)) ; +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric IntersectPlanar (2) = " + << IntersectPlanar << G4endl ; +#endif + } + + /* If we does not hit the two plan then we does not hit the torus .. */ + if (IntersectPlanar < lambda) { +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric No intersection with planar Phi .." + << G4endl ; +#endif + return kInfinity; + } + +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Incorrect Phi section" << G4endl ; + G4cout << "G4Torus::SolveNumeric point : " << p << " direction : " + << v << G4endl ; + G4cout << "G4Torus::SolveNumeric IntersectPlanar = " + << IntersectPlanar << G4endl ; +#endif + + if ((TorusEquation(p.x() + IntersectPlanar*v.x(), + p.y() + IntersectPlanar*v.y(), + p.z() + IntersectPlanar*v.z(), + GetRtor(),GetRmax()) < 0) + && (TorusEquation(p.x() + IntersectPlanar*v.x(), + p.y() + IntersectPlanar*v.y(), + p.z() + IntersectPlanar*v.z(), + GetRtor(),GetRmin()) > 0)) { + /*** if this point is inside torus Rmax and outside torus Rmin + then it is on the cut planar faces ***/ +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Hit planar section" << G4endl ; +#endif + return IntersectPlanar; + } else { + /*** else we continue from this new point (SolveNumeric) ***/ +#if DEBUGTORUS + G4cout << "G4Torus::SolveNumeric Recursive Phi call with " + << IntersectPlanar << " .." << G4endl << G4endl; +#endif + + return IntersectPlanar + SolveNumeric(p+IntersectPlanar*v, + v,IsDistanceToIn); + } + } + } + + return lambda; +} + +void G4Torus::BVMIntersection(G4double x,G4double y,G4double z, + G4double dx,G4double dy,G4double dz, + G4double Rmax, G4double Rmin, + G4double *NewL,G4int *valid) const +{ + + if (dz != 0) { + G4double DistToZ ; + /* z = + Rmin */ + NewL[0] = (Rmin - z)/dz ; + /* z = - Rmin */ + NewL[1] = (-Rmin - z)/dz ; + /* Test validity here (*** To be optimized ***) */ + if (NewL[0] < 0.0) valid[0] = 0; + if (NewL[1] < 0.0) valid[1] = 0; + DistToZ = (x+NewL[0]*dx)*(x+NewL[0]*dx) + (y+NewL[0]*dy)*(y+NewL[0]*dy); + if (DistToZ - (Rmax + Rmin)*(Rmax + Rmin) > 0) + valid[0] = 0; + if (DistToZ - (Rmax - Rmin)*(Rmax - Rmin) < 0) + valid[0] = 0; + DistToZ = (x+NewL[1]*dx)*(x+NewL[1]*dx) + (y+NewL[1]*dy)*(y+NewL[1]*dy); + if (DistToZ - (Rmax + Rmin)*(Rmax + Rmin) > 0) + valid[1] = 0; + if (DistToZ - (Rmax - Rmin)*(Rmax - Rmin) < 0) + valid[1] = 0; + } else { + /* if dz == 0 we could know the exact solution */ + /* Well, this is true but we have not expected precision issue from sqrt .. */ + NewL[0] = -1.0; + NewL[1] = -1.0; + valid[0] = 0; + valid[1] = 0; + } + + /* x² + y² = (Rmax + Rmin)² */ + if ((dx != 0) || (dy != 0)) { + G4double a,b,c,d; + + a = dx*dx + dy*dy ; + b = 2*(x*dx + y*dy) ; + c = x*x + y*y - (Rmax + Rmin)*(Rmax + Rmin) ; + d = b*b - 4*a*c ; + + if (d < 0) { + valid[2] = 0; + valid[3] = 0; + NewL[2] = -1.0; + NewL[3] = -1.0; + } else { + d = sqrt(d) ; + NewL[2] = (d - b)/(2*a); + NewL[3] = (-d - b)/(2*a); + if (NewL[2] < 0.0) valid[2] = 0; + if (fabs(z + NewL[2]*dz) - Rmin > EPSILON) valid[2] = 0; + if (NewL[3] < 0.0) valid[3] = 0; + if (fabs(z + NewL[3]*dz) - Rmin > EPSILON) valid[3] = 0; + } + } else { + /* only dz != 0 so we could know the exact solution */ + /* this depends only for the distance to Z axis */ + /* BUT big precision problem near the border.. */ + /* I like so much Newton to increase precision you know.. */ + + NewL[2] = -1.0; + NewL[3] = -1.0; + valid[2] = 0; + valid[3] = 0; + + /*** Try This to see precision issue with sqrt(~ 0) + G4double DistToZ ; + G4double result; + G4double guess; + + DistToZ = sqrt(x*x + y*y) ; + + if ((DistToZ < (Rmax - Rmin)) || (DistToZ > (Rmax + Rmin))) { + return -1.0 ; + } + + result = sqrt((Rmin + Rmax - DistToZ)*(Rmin - Rmax + DistToZ)); + + if (dz < 0) { + if (z > result) { + return (result - z)/dz; + } else { + if (z > -result) { + return (-result - z)/dz; + } else + return -1.0; + } + } else { + if (z < -result) { + return (z + result)/dz; + } else { + if (z < result) { + return (z - result)/dz; + } else + return -1.0; + } + } + */ + } + + + /* x² + y² = (Rmax - Rmin)² */ + if ((dx != 0) || (dy != 0)) { + G4double a,b,c,d; + + a = dx*dx + dy*dy ; + b = 2*(x*dx + y*dy) ; + c = x*x + y*y - (Rmax - Rmin)*(Rmax - Rmin) ; + d = b*b - 4*a*c ; + + if (d < 0) { + valid[4] = 0; + valid[5] = 0; + NewL[4] = -1.0; + NewL[5] = -1.0; + } else { + d = sqrt(d) ; + NewL[4] = (d - b)/(2*a); + NewL[5] = (-d - b)/(2*a); + if (NewL[4] < 0.0) valid[4] = 0; + if (fabs(z + NewL[4]*dz) - Rmin > EPSILON) valid[4] = 0; + if (NewL[5] < 0.0) valid[5] = 0; + if (fabs(z + NewL[5]*dz) - Rmin > EPSILON) valid[5] = 0; + } + } else { + /* only dz != 0 so we could know the exact solution */ + /* OK but same as above .. */ + valid[4] = 0; + valid[5] = 0; + NewL[4] = -1.0; + NewL[5] = -1.0; + } +} + +void G4Torus::SortIntervals (G4double *SortL, G4double *NewL, + G4int *valid, G4int *NbIntersection) const +{ + G4int i,j; + G4double swap; + + (*NbIntersection) = 0; + SortL[0] = -INFINITY; + + for (i=0;i<6;i++) { + if (valid[i] != 0) { + SortL[(*NbIntersection)] = NewL[i] ; + for (j=(*NbIntersection);j>0;j--) { + if (SortL[j] < SortL[j-1]) { + swap = SortL[j-1] ; + SortL[j-1] = SortL[j]; + SortL[j] = swap; + } + } + + (*NbIntersection) ++; + } + } + /* Delete double values */ + /* When the ray hits a corner we have a double value */ + for (i=0;i<(*NbIntersection)-1;i++) { + if (SortL[i+1] - SortL[i] < EPSILON) { + if (((*NbIntersection) & (1)) == 1) { + /* If the NbIntersection is odd then we keep one value */ + for (j=i+1;j<(*NbIntersection);j++) { + SortL[j-1] = SortL[j] ; + } + (*NbIntersection) --; + } else { + /* If it is even we delete the 2 values */ + for (j=i+2;j<(*NbIntersection);j++) { + SortL[j-2] = SortL[j] ; + } + (*NbIntersection) -= 2; + } + } + } +} + + + +/** Now the interesting part .. **/ + + +G4double G4Torus::DistanceToTorus (G4double x,G4double y,G4double z, + G4double dx,G4double dy,G4double dz, + G4double Rmax,G4double Rmin) const +{ + G4double Lmin,Lmax; + G4double guess; + G4double SortL[4]; + + G4int NbIntersection = 0; + + G4double NewL[NBPOINT]; + G4int valid[] = {1,1,1,1,1,1} ; + G4int j; + + j = 0; + + + /*** Compute Intervals from Bounding Volume ***/ + + BVMIntersection(x,y,z,dx,dy,dz,Rmax,Rmin,NewL,valid); + + /* + We could compute intervals value + Sort all valid NewL to SortL. + There must be 4 values at max and + odd one if point is inside + */ + + SortIntervals(SortL,NewL,valid,&NbIntersection); + + { + /*** Length check ***/ + G4double LengthMin = 0.82842712*Rmin; + + switch(NbIntersection) { + case 1: + if (SortL[0] < EPSILON) { + if (fabs(TorusEquation(x,y,z,Rmax,Rmin)) < TORUSPRECISION) { + return 0.0; + } else { + return NOINTERSECTION; + } + } + break; + case 2: + if ((SortL[1] - SortL[0]) < LengthMin) NbIntersection = 0; + break; + case 3: + if (SortL[0] < EPSILON) { + if (fabs(TorusEquation(x,y,z,Rmax,Rmin)) < TORUSPRECISION) { + return 0.0; + } else { + NbIntersection --; + SortL[0] = SortL[1] ; + SortL[1] = SortL[2] ; + if ((SortL[1] - SortL[0]) < LengthMin) NbIntersection = 0; + } + } else { + if ((SortL[2] - SortL[1]) < LengthMin) NbIntersection -= 2; + } + break; + case 4: + if ((SortL[1] - SortL[0]) < LengthMin) { + NbIntersection -= 2; + SortL[0] = SortL[2]; + SortL[1] = SortL[3]; + if ((SortL[1] - SortL[0]) < LengthMin) NbIntersection -= 2; + } + break; + } + } + +#if DEBUGTORUS + { + G4int i; + G4cout.precision(16); + G4cout << "G4Torus::DistanceToTorus INTERVALS" << G4endl ; + for (i=0;i= (Lmin - EPSILON)) && (guess <= (Lmax + EPSILON))) { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToTorus Newton gives a point into interval (Ok)" + << G4endl ; +#endif + return guess; + } else { +#if DEBUGTORUS + G4cout << "G4Torus::DistanceToTorus Newton does not give a point into interval (Ko)" + << G4endl ; +#endif + if (NbIntersection == 4) { + /* Well if that does not converge with the first interval try with the other one */ + Lmin = SortL[2] ; + Lmax = SortL[3] ; + + guess = Lmin; + guess = Newton(guess,x,y,z,dx,dy,dz,Rmax,Rmin,Lmin,Lmax); + if ((guess >= (Lmin - EPSILON)) && (guess <= (Lmax + EPSILON))) { + return guess; + } else { + return NOINTERSECTION; + } + } else { + /* Certainly this is due to the BVM part that is not in Torus */ + + return NOINTERSECTION ; + } + } + } +} + + +G4int G4Torus::SafeNewton(G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double Rmax, G4double Rmin, + G4double *Lmin,G4double *Lmax) const +{ + /** SafeNewton is a clipping interval Newton method **/ + /** This method is at least 3 times slower than Newton but is sure to work **/ + /** So it could be better to use it when Newton is not enough **/ + + G4double P[5][2],D[2] ; + G4double Lx,Ly,Lz ; + G4double NewMin,NewMax; + + G4int IntervalIsVoid = 1; + G4int NewtonIsSafe = 0; + + /*** Calculating Control Points ***/ + + /* + 0 p0 = F((*Lmin)) + 1/4 p1 = F((*Lmin)) + ((*Lmax) - (*Lmin))/4 * F'((*Lmin)) + 2/4 p2 = 1/6 * (16*F(((*Lmax) + (*Lmin))/2) - (p0 + 4*p1 + 4*p3 + p4)) + 3/4 p3 = F((*Lmax)) - ((*Lmax) - (*Lmin))/4 * F'((*Lmax)) + 1 p4 = F((*Lmax)) + */ + + + Lx = x + (*Lmin)*dx; + Ly = y + (*Lmin)*dy; + Lz = z + (*Lmin)*dz; + + D[0] = dx*TorusDerivativeX(Lx,Ly,Lz,Rmax,Rmin); + D[0] += dy*TorusDerivativeY(Lx,Ly,Lz,Rmax,Rmin); + D[0] += dz*TorusDerivativeZ(Lx,Ly,Lz,Rmax,Rmin); + + P[0][0] = (*Lmin); + P[0][1] = TorusEquation(Lx,Ly,Lz,Rmax,Rmin); + + if (fabs(P[0][1]) < TORUSPRECISION) { + NewtonIsSafe = 1; + return NewtonIsSafe; + } + + if (((*Lmax) - (*Lmin)) < EPSILON) { + return 1; + } + + P[1][0] = (*Lmin) + ((*Lmax) - (*Lmin))/4; + P[1][1] = P[0][1] + (((*Lmax) - (*Lmin))/4.0) * D[0]; + + Lx = x + (*Lmax)*dx; + Ly = y + (*Lmax)*dy; + Lz = z + (*Lmax)*dz; + + D[1] = dx*TorusDerivativeX(Lx,Ly,Lz,Rmax,Rmin); + D[1] += dy*TorusDerivativeY(Lx,Ly,Lz,Rmax,Rmin); + D[1] += dz*TorusDerivativeZ(Lx,Ly,Lz,Rmax,Rmin); + + P[4][0] = (*Lmax); + P[4][1] = TorusEquation(Lx,Ly,Lz,Rmax,Rmin); + P[3][0] = (*Lmax) - ((*Lmax) - (*Lmin))/4; + P[3][1] = P[4][1] - ((*Lmax) - (*Lmin))/4 * D[1]; + + Lx = x + ((*Lmax)+(*Lmin))/2*dx; + Ly = y + ((*Lmax)+(*Lmin))/2*dy; + Lz = z + ((*Lmax)+(*Lmin))/2*dz; + + P[2][0] = ((*Lmax) + (*Lmin))/2; + P[2][1] = (16*TorusEquation(Lx,Ly,Lz,Rmax,Rmin) + - (P[0][1] + 4*P[1][1] + 4*P[3][1] + P[4][1]))/6 ; + +#if DEBUGTORUS + G4cout << "G4Torus::SafeNewton Lmin = " << (*Lmin) << G4endl ; + G4cout << "G4Torus::SafeNewton Lmax = " << (*Lmax) << G4endl ; + G4cout << "G4Torus::SafeNewton P[0] = " << P[0][1] << G4endl ; + G4cout << "G4Torus::SafeNewton P[1] = " << P[1][1] << G4endl ; + G4cout << "G4Torus::SafeNewton P[2] = " << P[2][1] << G4endl ; + G4cout << "G4Torus::SafeNewton P[3] = " << P[3][1] << G4endl ; + G4cout << "G4Torus::SafeNewton P[4] = " << P[4][1] << G4endl ; +#endif + + /** Ok now we have all control points, we could compute the convex area **/ + /** Problems: + - if there is one point with a ~ 0 coordinate and all the other the + same sign we miss the value + - if there are more than a root in the interval then the interval + length does not decrease to 0. A solution may be to split intervals + in the middle but how to know when we must split ? + **/ + + /*** For each points make 2 sets. A set of positive points and a set + of negative points ***/ + /*** Note: could be better done with scalar product .. ***/ + /** + We have to compute convex area of the control point before + applying intersection with y=0 + **/ + + /* there is an intersection only if each have different signs */ + /* PROBLEM : If a control point have a 0.00 value the sign check is wrong + try to solve that with TORUSPRECISION .. + */ + { + G4double Intersection ; + G4int i,j; + + NewMin = (*Lmax) ; + NewMax = (*Lmin) ; + + for (i=0;i<5;i++) + for (j=i+1;j<5;j++) + { + /* there is an intersection only if each have different signs */ + if (((P[j][1] > -TORUSPRECISION) && (P[i][1] < TORUSPRECISION)) || + ((P[j][1] < TORUSPRECISION) && (P[i][1] > -TORUSPRECISION))) { + IntervalIsVoid = 0; + Intersection = P[j][0] - P[j][1]*((P[i][0] - P[j][0]) + /(P[i][1] - P[j][1])); + if (Intersection < NewMin) { + NewMin = Intersection; + } + if (Intersection > NewMax) { + NewMax = Intersection; + } + } + } + if (IntervalIsVoid != 1) { + + (*Lmax) = NewMax; + (*Lmin) = NewMin; + } + } + + if (IntervalIsVoid == 1) { + return -1; + } + + + return NewtonIsSafe; +} + + +G4double G4Torus::Newton (G4double guess, + G4double x, G4double y, G4double z, + G4double dx, G4double dy, G4double dz, + G4double Rmax, G4double Rmin, + G4double Lmin,G4double Lmax) const +{ + /* So now we have a good guess and an interval where + if there are an intersection the root must be */ + + G4double Lx = 0; + G4double Ly = 0; + G4double Lz = 0; + G4double Value = 0; + G4double Gradient = 0; + G4double Lambda ; + + G4int i=0; + + /* Reduce interval before applying Newton Method */ +#if DEBUGTORUS + G4cout << "G4Torus::Newton Lmin = " << Lmin + << " Lmax = " << Lmax << G4endl ; +#endif + + { + G4int NewtonIsSafe ; + G4int k; + /* + Here we stop to compute after ITERATION loop + */ + for (k=0; + ((k TORUSPRECISION) { + + Lx = x + Lambda*dx; + Ly = y + Lambda*dy; + Lz = z + Lambda*dz; + Value = TorusEquation(Lx,Ly,Lz,Rmax,Rmin); + + Gradient = dx*TorusDerivativeX(Lx,Ly,Lz,Rmax,Rmin); + Gradient += dy*TorusDerivativeY(Lx,Ly,Lz,Rmax,Rmin); + Gradient += dz*TorusDerivativeZ(Lx,Ly,Lz,Rmax,Rmin); + + /** + if (Gradient > -EPSILON) { // then the current point is repulsive + and may not converge + Seems to be solved by SafeNewton + **/ + Lambda = Lambda - Value/Gradient ; + + +#if DEBUGTORUS + G4cout << "G4Torus::Newton Iteration " << i << G4endl ; + G4cout << "G4Torus::Newton Lambda = " << Lambda + << " Value = " << Value << " Grad = " << Gradient << G4endl; + G4cout << "G4Torus::Newton Lmin = " << Lmin + << " Lmax = " << Lmax << G4endl ; +#endif + + i ++; + + if (i > ITERATION) + return NOINTERSECTION; //no convergency ?? + + } + +#if DEBUGTORUS + G4cout << "G4Torus::Newton Exiting with Lambda = " << Lambda << G4endl ; + G4cout << "G4Torus::Newton Exiting with Value = " << Value << G4endl ; + if (Gradient > 0.0) { + G4cout << "G4Torus::Newton Gradient: Exiting surface" << G4endl ; + } else { + G4cout << "G4Torus::Newton Gradient: Entering surface" << G4endl ; + } +#endif + + + return Lambda ; +} diff --git a/source/geometry/solids/CSG/src/G4Trap.cc b/source/geometry/solids/CSG/src/G4Trap.cc index 034d7bcc20..2da34b5eed 100644 --- a/source/geometry/solids/CSG/src/G4Trap.cc +++ b/source/geometry/solids/CSG/src/G4Trap.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Trap.cc,v 1.7 2000/04/11 16:04:30 johna Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Trap.cc,v 1.8 2000/11/20 17:58:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4Trap // @@ -707,6 +707,8 @@ G4bool G4Trap::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } pMin-=kCarTolerance; @@ -816,6 +818,8 @@ G4bool G4Trap::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } @@ -889,7 +893,7 @@ EInside G4Trap::Inside(const G4ThreeVector& p) const G4ThreeVector G4Trap::SurfaceNormal( const G4ThreeVector& p) const { G4double safe=kInfinity,Dist,safez; - G4int i,imin; + G4int i,imin=0; for (i=0;i<4;i++) { Dist=fabs(fPlanes[i].a*p.x()+fPlanes[i].b*p.y()+fPlanes[i].c*p.z()+fPlanes[i].d); @@ -1338,6 +1342,8 @@ G4double G4Trap::DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, case kPZ: *n=G4ThreeVector(0,0,1); break; + default: + break; } } return snxt; diff --git a/source/geometry/solids/CSG/src/G4Trd.cc b/source/geometry/solids/CSG/src/G4Trd.cc index 2e9bc1ab3b..fc99c3c78f 100644 --- a/source/geometry/solids/CSG/src/G4Trd.cc +++ b/source/geometry/solids/CSG/src/G4Trd.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Trd.cc,v 1.6 2000/05/05 10:05:56 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Trd.cc,v 1.7 2000/11/20 17:58:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Implementation for G4Trd class @@ -229,6 +229,8 @@ G4bool G4Trd::CalculateExtent(const EAxis pAxis, pMin=zMin; pMax=zMax; break; + default: + break; } // Add 2*Tolerance to avoid precision troubles ? pMin-=kCarTolerance; @@ -446,7 +448,7 @@ G4double G4Trd::DistanceToIn(const G4ThreeVector& p, G4double snxt = kInfinity ; // snxt = default return value G4double smin,smax; G4double s1,s2,tanxz,tanyz,ds1,ds2; - G4double ss1,ss2,sn1,sn2,Dist; + G4double ss1,ss2,sn1=0.,sn2=0.,Dist; if ( v.z() ) // Calculate valid z intersect range { @@ -723,10 +725,10 @@ G4double G4Trd::DistanceToOut(const G4ThreeVector& p, G4bool *validNorm, G4ThreeVector *n) const { - ESide side = kUndefined, snside; + ESide side = kUndefined, snside = kUndefined; G4double snxt,pdist; - G4double central,ss1,ss2,ds1,ds2,sn,sn2; - G4double tanxz,cosxz,tanyz,cosyz; + G4double central,ss1,ss2,ds1,ds2,sn=0.,sn2=0.; + G4double tanxz=0.,cosxz=0.,tanyz=0.,cosyz=0.; if (calcNorm) *validNorm=true; // All normals are valid diff --git a/source/geometry/solids/CSG/src/G4Tubs.cc b/source/geometry/solids/CSG/src/G4Tubs.cc index 98c65c576d..10e99e9dd0 100644 --- a/source/geometry/solids/CSG/src/G4Tubs.cc +++ b/source/geometry/solids/CSG/src/G4Tubs.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Tubs.cc,v 1.15 2000/05/17 16:13:01 grichine Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Tubs.cc,v 1.23 2000/11/28 15:05:52 grichine Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Tubs @@ -24,7 +24,10 @@ // 19.11.99 V. Grichine, side = kNull in Distance ToOut(p,v,...) // 31.03.00 V.Grichine, bug fixed in Inside(p) // 17.05.00 V.Grichine, bugs (#76,#91) fixed in Distance ToOut(p,v,...) - +// 02.08.00 V.Grichine, poin is outside check in Distance ToOut(p) +// 08.08.00 V.Grichine, more stable roots of 2-equation in Distance ToOut(p,v,...) +// 31.10.00 V.Grichine, assign sr, sphi in Distance ToOut(p,v,...) +// 28.11.00 V.Grichine, bug fixed in Inside(p) #include "G4Tubs.hh" @@ -206,7 +209,7 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, } if ( zMax > pVoxelLimit.GetMaxZExtent() ) { - zMax=pVoxelLimit.GetMaxZExtent(); + zMax = pVoxelLimit.GetMaxZExtent(); } } } @@ -226,13 +229,13 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, { // Y limits don't cross max/min x => compute max delta x, hence new mins/maxs - diff1=sqrt(fRMax*fRMax-yoff1*yoff1); - diff2=sqrt(fRMax*fRMax-yoff2*yoff2); - maxDiff=(diff1>diff2) ? diff1:diff2; - newMin=xoffset-maxDiff; - newMax=xoffset+maxDiff; - pMin=(newMinxMax) ? xMax : newMax; + diff1 = sqrt(fRMax*fRMax - yoff1*yoff1); + diff2 = sqrt(fRMax*fRMax - yoff2*yoff2); + maxDiff = (diff1 > diff2) ? diff1:diff2; + newMin = xoffset - maxDiff; + newMax = xoffset + maxDiff; + pMin = (newMin < xMin) ? xMin : newMin; + pMax = (newMax > xMax) ? xMax : newMax; } break; } @@ -266,6 +269,8 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, pMax = zMax ; break ; } + default: + break; } pMin -= kCarTolerance ; pMax += kCarTolerance ; @@ -433,15 +438,15 @@ EInside G4Tubs::Inside(const G4ThreeVector& p) const } else { - // if ( pPhi < fSPhi + 2*M_PI ) pPhi += 2*M_PI ; + 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 = kSurface ; + if ( pPhi >= fSPhi+2*M_PI-kAngTolerance*0.5 && + pPhi <= fSPhi+fDPhi+2*M_PI+kAngTolerance*0.5) in = kSurface ; } } } } - return in; + return in ; } /////////////////////////////////////////////////////////////////////////// @@ -501,9 +506,9 @@ G4ThreeVector G4Tubs::SurfaceNormal( const G4ThreeVector& p) const } else { - distSPhi=fabs(phi-fSPhi)*rho; + distSPhi = fabs(phi - fSPhi)*rho ; } - distEPhi=fabs(phi-fSPhi-fDPhi)*rho; + distEPhi = fabs(phi - fSPhi - fDPhi)*rho ; if (distSPhi < distEPhi) // Find new minimum { @@ -516,7 +521,7 @@ G4ThreeVector G4Tubs::SurfaceNormal( const G4ThreeVector& p) const { if ( distEPhi < distMin ) { - side=kNEPhi; + side = kNEPhi ; } } } @@ -524,7 +529,7 @@ G4ThreeVector G4Tubs::SurfaceNormal( const G4ThreeVector& p) const { case kNRMin : // Inner radius { - norm = G4ThreeVector(-p.x()/rho,-p.y()/rho,0); + norm = G4ThreeVector(-p.x()/rho,-p.y()/rho,0) ; break ; } case kNRMax : // Outer radius @@ -590,10 +595,10 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, G4bool seg ; // true if segmented - G4double hDPhi, hDPhiOT, hDPhiIT, cosHDPhiOT, cosHDPhiIT ; + G4double hDPhi, hDPhiOT, hDPhiIT, cosHDPhiOT=0., cosHDPhiIT=0. ; // half dphi + outer tolerance - G4double cPhi, sinCPhi, cosCPhi ; // central phi + G4double cPhi, sinCPhi=0., cosCPhi=0. ; // central phi G4double tolORMin2, tolIRMax2 ; // `generous' radii squared @@ -613,49 +618,49 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, if ( fDPhi < 2.0*M_PI ) { - seg=true; - hDPhi=0.5*fDPhi; // half delta phi - cPhi=fSPhi+hDPhi;; - hDPhiOT=hDPhi+0.5*kAngTolerance; // outers tol' half delta phi - hDPhiIT=hDPhi-0.5*kAngTolerance; - sinCPhi=sin(cPhi); - cosCPhi=cos(cPhi); - cosHDPhiOT=cos(hDPhiOT); - cosHDPhiIT=cos(hDPhiIT); + seg = true ; + hDPhi = 0.5*fDPhi ; // half delta phi + cPhi = fSPhi + hDPhi ; + hDPhiOT = hDPhi + 0.5*kAngTolerance ; // outers tol' half delta phi + hDPhiIT = hDPhi - 0.5*kAngTolerance ; + sinCPhi = sin(cPhi) ; + cosCPhi = cos(cPhi) ; + cosHDPhiOT = cos(hDPhiOT) ; + cosHDPhiIT = cos(hDPhiIT) ; } - else seg = false ; + else seg = false ; // Calculate tolerant rmin and rmax if (fRMin > kRadTolerance) { - tolORMin2=(fRMin-0.5*kRadTolerance)*(fRMin-0.5*kRadTolerance); - tolIRMin2=(fRMin+0.5*kRadTolerance)*(fRMin+0.5*kRadTolerance); + tolORMin2 = (fRMin - 0.5*kRadTolerance)*(fRMin - 0.5*kRadTolerance) ; + tolIRMin2 = (fRMin + 0.5*kRadTolerance)*(fRMin + 0.5*kRadTolerance) ; } else { - tolORMin2=0; - tolIRMin2=0; + tolORMin2 = 0.0 ; + tolIRMin2 = 0.0 ; } - tolORMax2=(fRMax+0.5*kRadTolerance)*(fRMax+0.5*kRadTolerance); - tolIRMax2=(fRMax-0.5*kRadTolerance)*(fRMax-0.5*kRadTolerance); + tolORMax2 = (fRMax + 0.5*kRadTolerance)*(fRMax + 0.5*kRadTolerance) ; + tolIRMax2 = (fRMax - 0.5*kRadTolerance)*(fRMax - 0.5*kRadTolerance) ; // Intersection with Z surfaces - tolIDz=fDz-kCarTolerance*0.5; - tolODz=fDz+kCarTolerance*0.5; + tolIDz = fDz - kCarTolerance*0.5 ; + tolODz = fDz + kCarTolerance*0.5 ; if (fabs(p.z()) >= tolIDz) { if ( p.z()*v.z() < 0 ) // at +Z going in -Z or visa versa { - s=(fabs(p.z())-fDz)/fabs(v.z()) ; // Z intersect distance + s = (fabs(p.z()) - fDz)/fabs(v.z()) ; // Z intersect distance if(s < 0.0) s = 0.0 ; - xi=p.x()+s*v.x(); // Intersection coords - yi=p.y()+s*v.y(); - rho2=xi*xi+yi*yi; + xi = p.x() + s*v.x() ; // Intersection coords + yi = p.y() + s*v.y() ; + rho2 = xi*xi + yi*yi ; // Check validity of intersection @@ -665,9 +670,9 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, { // Psi = angle made with central (average) phi of shape - inum = xi*cosCPhi+yi*sinCPhi; - iden = sqrt(rho2); - cosPsi = inum/iden; + inum = xi*cosCPhi + yi*sinCPhi ; + iden = sqrt(rho2) ; + cosPsi = inum/iden ; if (cosPsi >= cosHDPhiIT) return s ; } @@ -676,6 +681,7 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, } else { + if ( snxt cannot intersect } @@ -692,9 +698,9 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, // Hence (v.x^2+v.y^2)t^2+ 2t(p.x*v.x+p.y*v.y)+p.x^2+p.y^2-R^2=0 // t1 t2 t3 - t1=1.0-v.z()*v.z(); - t2=p.x()*v.x()+p.y()*v.y(); - t3=p.x()*p.x()+p.y()*p.y(); + t1 = 1.0 - v.z()*v.z() ; + t2 = p.x()*v.x() + p.y()*v.y() ; + t3 = p.x()*p.x() + p.y()*p.y() ; if ( t1 > 0 ) // Check not || to z axis { @@ -707,16 +713,16 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, // c=(t3-fRMax*fRMax)/t1; c /= t1 ; - d=b*b-c; + d = b*b - c ; if (d >= 0) // If real root { - s = -b-sqrt(d) ; + s = -b - sqrt(d) ; if (s >= 0) // If 'forwards' { // Check z intersection - zi=p.z()+s*v.z(); + zi = p.z() + s*v.z() ; if (fabs(zi)<=tolODz) { @@ -725,9 +731,9 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, if (!seg) return s ; else { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+yi*sinCPhi)/fRMax; + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/fRMax ; if (cosPsi >= cosHDPhiIT) return s ; } @@ -735,49 +741,24 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, } // end if (s>=0) } // end if (d>=0) } // end if (r>=fRMax) - -/* ************************************************************************* - // This code is shown here just to make explicit the logic contained - // in the condition if (t3>tolIRMin2 && t2<0 && fabs(p.z())<=tolIDz), - // which is placed below. - -// else if (t3>=tolIRMax2 && t2<0 && fabs(p.z())<=tolIDz) -// { // Point on Rmax surface -// if (!seg) -// { -// return s = 0 ; // No Phi cut and move inside -// } -// else -// { -// cosPsi=(p.x()*cosCPhi+ -// p.y()*sinCPhi)/fRMax; -// if (cosPsi>=cosHDPhiOT) -// { -// return s = 0 ; // On real Rmax surface and move inside -// } -// } -// } - -************************************************************************* */ - else { // Inside outer radius : // check not inside, and heading through tubs (-> 0 to in) - if (t3>tolIRMin2 && t2<0 && fabs(p.z())<=tolIDz) + if (t3 > tolIRMin2 && t2 < 0 && fabs(p.z()) <= tolIDz) { // Inside both radii, delta r -ve, inside z extent if (seg) { - inum = p.x()*cosCPhi+p.y()*sinCPhi; - iden = sqrt(t3); - cosPsi = inum/iden; + inum = p.x()*cosCPhi + p.y()*sinCPhi ; + iden = sqrt(t3) ; + cosPsi = inum/iden ; - if (cosPsi >= cosHDPhiIT) return 0 ; + if (cosPsi >= cosHDPhiIT) return 0.0 ; } - else return 0 ; + else return 0.0 ; } } if ( fRMin ) // Try inner cylinder intersection @@ -785,7 +766,7 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, c = (t3 - fRMin*fRMin)/t1 ; d = b*b - c ; - if ( d >= 0 ) // If real root + if ( d >= 0.0 ) // If real root { // Always want 2nd root - we are outside and know rmax Hit was bad // - If on surface of rmin also need farthest root @@ -796,23 +777,24 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, { // Check z intersection if(s < 0.0) s = 0.0 ; - zi=p.z()+s*v.z(); - if (fabs(zi)<=tolODz) + zi = p.z() + s*v.z() ; + + if (fabs(zi) <= tolODz) { // Z ok. Check phi - if (!seg) return s ; + if ( !seg ) return s ; else { - xi=p.x()+s*v.x(); - yi=p.y()+s*v.y(); - cosPsi=(xi*cosCPhi+yi*sinCPhi)/fRMin; + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/fRMin ; if (cosPsi >= cosHDPhiIT) { // Good inner radius isect - but earlier phi isect still possible - snxt=s; + snxt = s ; } } } // end if fabs(zi) @@ -834,13 +816,13 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, { // First phi surface (`S'tarting phi) - sinSPhi=sin(fSPhi); - cosSPhi=cos(fSPhi); - Comp=v.x()*sinSPhi-v.y()*cosSPhi; + sinSPhi = sin(fSPhi) ; + cosSPhi = cos(fSPhi) ; + Comp = v.x()*sinSPhi - v.y()*cosSPhi ; if ( Comp < 0 ) // Component in outwards normal dirn { - Dist=(p.y()*cosSPhi-p.x()*sinSPhi); + Dist = (p.y()*cosSPhi - p.x()*sinSPhi) ; if ( Dist < kCarTolerance*0.5 ) { @@ -848,14 +830,15 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, if (s < snxt) { - if ( s < 0 ) s = 0 ; - zi=p.z()+s*v.z(); + if ( s < 0 ) s = 0.0 ; + + zi = p.z() + s*v.z() ; if ( fabs(zi) <= tolODz ) { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - rho2= xi*xi + yi*yi ; + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + rho2 = xi*xi + yi*yi ; if ( ( rho2 >= tolIRMin2 && rho2 <= tolIRMax2 ) @@ -895,7 +878,7 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, { if ( s < 0 ) s = 0 ; - zi=p.z()+s*v.z(); + zi = p.z() + s*v.z() ; if ( fabs(zi) <= tolODz ) { @@ -922,7 +905,8 @@ G4double G4Tubs::DistanceToIn(const G4ThreeVector& p, } } // Comp < 0 } // seg != 0 - return snxt; + if ( snxt kCarTolerance*0.5 ) { - snxt=-pdist/v.z(); - side=kMZ; + snxt = -pdist/v.z() ; + side = kMZ ; } else { if (calcNorm) { - *n=G4ThreeVector(0,0,-1); - *validNorm=true; + *n = G4ThreeVector(0,0,-1) ; + *validNorm = true ; } - return snxt=0; + return snxt = 0.0 ; } } else { - snxt=kInfinity; // Travel perpendicular to z axis - side=kNull; + snxt = kInfinity ; // Travel perpendicular to z axis + side = kNull; } // Radial Intersections @@ -1072,15 +1056,19 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // // t1 t2 t3 - t1 = 1.0 - v.z()*v.z() ; // since v normalised - t2 = p.x()*v.x() + p.y()*v.y() ; - t3 = p.x()*p.x() + p.y()*p.y() ; + t1 = 1.0 - v.z()*v.z() ; // since v normalised + t2 = p.x()*v.x() + p.y()*v.y() ; + t3 = p.x()*p.x() + p.y()*p.y() ; - if ( t1 > 0 ) // Check not parallel + if ( snxt > 10*(fDz+fRMax) ) roi2 = 2*fRMax*fRMax; + else roi2 = snxt*snxt*t1 + 2*snxt*t2 + t3 ; // radius^2 on +-fDz + + if ( t1 > 0 ) // Check not parallel { // Calculate sr, r exit distance - if (t2>=0) + if ( (t2 >= 0.0) + && (roi2 > fRMax*(fRMax + kRadTolerance)) ) { // Delta r not negative => leaving via rmax @@ -1100,7 +1088,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // On tolerant boundary & heading outwards (or perpendicular to) outer // radial surface -> leaving immediately - if (calcNorm) + if ( calcNorm ) { // if ( p.x() || p.y() ) // { @@ -1110,22 +1098,23 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // { // *n=v; // } - *n=G4ThreeVector(p.x()/fRMax,p.y()/fRMax,0); - *validNorm=true; + *n = G4ThreeVector(p.x()/fRMax,p.y()/fRMax,0) ; + *validNorm = true ; } - return snxt=0; // Leaving by rmax immediately + return snxt = 0 ; // Leaving by rmax immediately } } - else // i.e. t2 < 0 + else if ( t2 < 0. ) // i.e. t2 < 0; Possible rmin intersection { -// Possible rmin intersection + roMin2 = t3 - t2*t2/t1 ; // min ro2 of the plane of movement - if ( fRMin ) + if ( fRMin + && (roMin2 < fRMin*(fRMin - kRadTolerance)) ) { - deltaR=t3-fRMin*fRMin; - b=t2/t1; - c=deltaR/t1; - d2=b*b-c; + deltaR = t3 - fRMin*fRMin ; + b = t2/t1 ; + c = deltaR/t1 ; + d2 = b*b - c ; if ( d2 >= 0 ) // Leaving via rmin { @@ -1133,30 +1122,31 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if (deltaR > kRadTolerance*fRMin) { - sr = -b-sqrt(d2) ; - sider = kRMin ; + sr = -b-sqrt(d2) ; + sider = kRMin ; } else { if ( calcNorm ) *validNorm = false ; // Concave side - return snxt=0; + return snxt = 0.0 ; } } else // No rmin intersect -> must be rmax intersect { - deltaR=t3-fRMax*fRMax; - c=deltaR/t1; - sr=-b+sqrt(b*b-c); - sider=kRMax; + deltaR = t3 - fRMax*fRMax ; + c = deltaR/t1 ; + sr = -b + sqrt(b*b - c) ; + sider = kRMax ; } } - else // No rmin intersect -> must be rmax intersect + else if ( roi2 > fRMax*(fRMax + kRadTolerance) ) + // No rmin intersect -> must be rmax intersect { - deltaR=t3-fRMax*fRMax; - b=t2/t1; - c=deltaR/t1; - sr=-b+sqrt(b*b-c); - sider=kRMax; + deltaR = t3 - fRMax*fRMax ; + b = t2/t1 ; + c = deltaR/t1; + sr = -b + sqrt(b*b - c) ; + sider = kRMax ; } } @@ -1165,14 +1155,14 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if ( fDPhi < 2.0*M_PI ) { - sinSPhi=sin(fSPhi); - cosSPhi=cos(fSPhi); - ePhi=fSPhi+fDPhi; - sinEPhi=sin(ePhi); - cosEPhi=cos(ePhi); - cPhi=fSPhi+fDPhi*0.5; - sinCPhi=sin(cPhi); - cosCPhi=cos(cPhi); + sinSPhi = sin(fSPhi) ; + cosSPhi = cos(fSPhi) ; + ePhi = fSPhi + fDPhi ; + sinEPhi = sin(ePhi) ; + cosEPhi = cos(ePhi) ; + cPhi = fSPhi + fDPhi*0.5 ; + sinCPhi = sin(cPhi) ; + cosCPhi = cos(cPhi) ; if ( p.x() || p.y() ) // Check if on z axis (rho not needed later) @@ -1184,8 +1174,8 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // Comp -ve when in direction of outwards normal - compS = -sinSPhi*v.x()+cosSPhi*v.y(); - compE = sinEPhi*v.x()-cosEPhi*v.y(); + compS = -sinSPhi*v.x() + cosSPhi*v.y() ; + compE = sinEPhi*v.x() - cosEPhi*v.y() ; sidephi = kNull; // if ( pDistS <= 0 && pDistE <= 0 ) @@ -1199,11 +1189,12 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if ( compS < 0 ) { - sphi=pDistS/compS; + sphi = pDistS/compS ; + if (sphi >= -0.5*kCarTolerance) { - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + xi = p.x() + sphi*v.x() ; + yi = p.y() + sphi*v.y() ; // Check intersecting with correct half-plane (if not -> no intersect) @@ -1217,7 +1208,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if ( pDistS > -kCarTolerance*0.5 ) { - sphi = 0 ; // Leave by sphi immediately + sphi = 0.0 ; // Leave by sphi immediately } } } @@ -1227,35 +1218,29 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if ( compE < 0 ) { - sphi2=pDistE/compE; + sphi2 = pDistE/compE ; // Only check further if < starting phi intersection - if (sphi2 > -0.5*kCarTolerance && sphi2 < sphi ) - { - xi=p.x()+sphi2*v.x(); - yi=p.y()+sphi2*v.y(); + if (sphi2 > -0.5*kCarTolerance && sphi2 < sphi ) + { + xi = p.x() + sphi2*v.x() ; + yi = p.y() + sphi2*v.y() ; // Check intersecting with correct half-plane - if ((yi*cosCPhi-xi*sinCPhi) >= 0) - { + if ( (yi*cosCPhi-xi*sinCPhi) >= 0) + { // Leaving via ending phi - sidephi=kEPhi; + sidephi = kEPhi ; - if (pDistE<=-kCarTolerance*0.5) - { - sphi=sphi2; - } - else - { - sphi=0; - } - } - } - } - } - else sphi = kInfinity ; + if ( pDistE <= -kCarTolerance*0.5 ) sphi = sphi2 ; + else sphi = 0.0 ; + } + } + } + } + else sphi = kInfinity ; /* ******************************************* @@ -1346,18 +1331,18 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, } else // otherwise leaving via Ending phi { - sidephi=kEPhi; + sidephi=kEPhi ; } } else { - sphi=kInfinity; + sphi=kInfinity ; } } else // leaving immediately by starting phi { - sidephi=kSPhi; - sphi=0; + sidephi=kSPhi ; + sphi=0 ; } } } @@ -1370,28 +1355,28 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, { if (compS<0) { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + sphi=pDistS/compS ; + xi=p.x()+sphi*v.x() ; + yi=p.y()+sphi*v.y() ; // Check intersection in correct half-plane (if not -> not leaving phi extent) if ((yi*cosCPhi-xi*sinCPhi)>=0) { - sphi=kInfinity; + sphi=kInfinity ; } else // Leaving via Starting phi { - sidephi = kSPhi ; + sidephi = kSPhi ; if ( pDistS >- kCarTolerance*0.5 ) { - sphi=0; + sphi=0 ; } } } else { - sphi=kInfinity; + sphi=kInfinity ; } } else @@ -1400,30 +1385,30 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, { if (compS<0) { - sphi=pDistS/compS; - xi=p.x()+sphi*v.x(); - yi=p.y()+sphi*v.y(); + sphi=pDistS/compS ; + xi=p.x()+sphi*v.x() ; + yi=p.y()+sphi*v.y() ; // Check intersection in correct half-plane (if not -> remain in extent) if ((yi*cosCPhi-xi*sinCPhi)>=0) { - sphi=kInfinity; + sphi=kInfinity ; } else // otherwise leaving via Starting phi { - sidephi=kSPhi; + sidephi=kSPhi ; } } else { - sphi=kInfinity; + sphi=kInfinity ; } } else // leaving immediately by ending { - sidephi=kEPhi; - sphi=0; + sidephi=kEPhi ; + sphi=0 ; } } } @@ -1436,106 +1421,98 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // On z axis + travel not || to z axis -> if phi of vector direction // within phi of shape, Step limited by rmax, else Step =0 - vphi=atan2(v.y(),v.x()); + vphi = atan2(v.y(),v.x()) ; - if (fSPhikMaxMeshSections) { - noCrossSections=kMaxMeshSections; + noCrossSections=kMaxMeshSections ; } meshAngle = fDPhi/(noCrossSections - 1) ; meshRMax = fRMax/cos(meshAngle*0.5) ; @@ -1627,37 +1621,38 @@ G4Tubs::CreateRotatedVertices(const G4AffineTransform& pTransform) const if (fDPhi == M_PI*2.0 && fSPhi == 0 ) sAngle = -meshAngle*0.5 ; else sAngle = fSPhi ; - vertices=new G4ThreeVectorList(noCrossSections*4); + vertices = new G4ThreeVectorList(noCrossSections*4); if ( vertices ) { for (crossSection=0;crossSectioninsert(pTransform.TransformPoint(vertex0)); - vertices->insert(pTransform.TransformPoint(vertex1)); - vertices->insert(pTransform.TransformPoint(vertex2)); - vertices->insert(pTransform.TransformPoint(vertex3)); + vertex0 = G4ThreeVector(rMinX,rMinY,-fDz) ; + vertex1 = G4ThreeVector(rMaxX,rMaxY,-fDz) ; + vertex2 = G4ThreeVector(rMaxX,rMaxY,+fDz) ; + vertex3 = G4ThreeVector(rMinX,rMinY,+fDz) ; + + vertices->insert(pTransform.TransformPoint(vertex0)) ; + vertices->insert(pTransform.TransformPoint(vertex1)) ; + vertices->insert(pTransform.TransformPoint(vertex2)) ; + vertices->insert(pTransform.TransformPoint(vertex3)) ; } } else { -G4Exception("G4Tubs::CreateRotatedVertices Out of memory - Cannot alloc vertices"); +G4Exception("G4Tubs::CreateRotatedVertices Out of memory - Can't alloc vertices"); } - return vertices; + return vertices ; } /////////////////////////////////////////////////////////////////////////// @@ -1667,42 +1662,42 @@ G4Exception("G4Tubs::CreateRotatedVertices Out of memory - Cannot alloc vertices void G4Tubs::DescribeYourselfTo (G4VGraphicsScene& scene) const { - scene.AddThis (*this); + scene.AddThis (*this) ; } G4Polyhedron* G4Tubs::CreatePolyhedron () const { - return new G4PolyhedronTubs (fRMin, fRMax, fDz, fSPhi, fDPhi); + return new G4PolyhedronTubs (fRMin, fRMax, fDz, fSPhi, fDPhi) ; } G4NURBS* G4Tubs::CreateNURBS () const { - G4NURBS* pNURBS; + G4NURBS* pNURBS ; if (fRMin != 0) { if (fDPhi >= 2.0 * M_PI) { - pNURBS = new G4NURBStube (fRMin, fRMax, fDz); + pNURBS = new G4NURBStube (fRMin, fRMax, fDz) ; } else { - pNURBS = new G4NURBStubesector (fRMin, fRMax, fDz, fSPhi, fSPhi + fDPhi); + pNURBS = new G4NURBStubesector (fRMin, fRMax, fDz, fSPhi, fSPhi + fDPhi) ; } } else { if (fDPhi >= 2.0 * M_PI) { - pNURBS = new G4NURBScylinder (fRMax, fDz); + pNURBS = new G4NURBScylinder (fRMax, fDz) ; } else { - const G4double epsilon = 1.e-4; // Cylinder sector not yet available! + const G4double epsilon = 1.e-4 ; // Cylinder sector not yet available! pNURBS = new G4NURBStubesector (epsilon, fRMax, fDz, - fSPhi, fSPhi + fDPhi); + fSPhi, fSPhi + fDPhi) ; } } - return pNURBS; + return pNURBS ; } // diff --git a/source/geometry/solids/History b/source/geometry/solids/History index a02b0ca3a8..9607454b3b 100644 --- a/source/geometry/solids/History +++ b/source/geometry/solids/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2000/04/27 10:36:08 gcosmo Exp $ +$Id: History,v 1.8 2000/11/13 08:21:57 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 13th, 2000 G. Cosmo - geomsolids-V02-00-01 + +- Collects tags breps-V02-00-02, geom-solids-csg-V02-00-09, stepinterface-V02-00-01 + and geom-solids-specific-V02-00-03 on top of the previous tag. + +Nov 09th, 2000 G. Cosmo - geomsolids-V02-00-00 + +- General QA code review. See History file within each subdomain. + Includes tags: geom-solids-csg-V02-00-08, stepinterface-V02-00-00, + breps-V02-00-01, geom-solids-specific-V02-00-02, + geom-solid-bool-V02-00-01. +- Included recent developments in unit tests SBT and Fred. (E.Medernach) + Apr 27th, 2000 G. Cosmo - Updated comments for the Software Reference Manual in "Boolean", added diff --git a/source/geometry/solids/STEP/History b/source/geometry/solids/STEP/History index c278dee012..577fc5787b 100644 --- a/source/geometry/solids/STEP/History +++ b/source/geometry/solids/STEP/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2000/06/14 16:13:30 gcosmo Exp $ +$Id: History,v 1.4 2000/11/20 18:14:53 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -19,6 +19,14 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 20, 2000 Gabriele Cosmo (STEP-V02-00-00) +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o dirobj.h: protected from missing definition of MAXNAMLEN, S_IFMT and + S_IFDIR originally defined in /usr/include/sys/stat.h. + o fixed order of initialisation of member data in constructors. + June 14, 2000 Gabriele Cosmo (STEP-V01-01-00) - Fixes for porting on Win/NT VC++: o dirobj[.h.cc]: deactivated Reset() and Home() functions. diff --git a/source/geometry/solids/STEP/include/STEPattribute.h b/source/geometry/solids/STEP/include/STEPattribute.h index f2d3703da8..7f7b4fa975 100644 --- a/source/geometry/solids/STEP/include/STEPattribute.h +++ b/source/geometry/solids/STEP/include/STEPattribute.h @@ -12,7 +12,7 @@ * and is not subject to copyright. */ -/* $Id: STEPattribute.h,v 1.4 2000/01/21 13:42:31 gcosmo Exp $ */ +/* $Id: STEPattribute.h,v 1.5 2000/11/20 18:14:54 gcosmo Exp $ */ #include @@ -123,17 +123,17 @@ class STEPattribute { // friend class SCLP23(Application_instance); // protected: public: + ErrorDescriptor _error; + + const AttrDescriptor * aDesc; + unsigned int _derive : 1; int Derive (unsigned int n =1) { return _derive =n; } STEPattribute *_redefAttr; void RedefiningAttr(STEPattribute *a) { _redefAttr = a; } - public: - - const AttrDescriptor * aDesc; - // You know which of these to use based on the return value of // NonRefType() - see below. BASE_TYPE is defined in baseType.h // This variable points to an appropriate member variable in the entity diff --git a/source/geometry/solids/STEP/include/classes.h b/source/geometry/solids/STEP/include/classes.h index 21aa298780..af1dcf0e63 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // /* ** Fed-x parser output module for generating C++ class definitions diff --git a/source/geometry/solids/STEP/include/complexSupport.h b/source/geometry/solids/STEP/include/complexSupport.h index df2eafd458..55fda46137 100644 --- a/source/geometry/solids/STEP/include/complexSupport.h +++ b/source/geometry/solids/STEP/include/complexSupport.h @@ -129,7 +129,8 @@ class EntList { friend G4std::ostream & operator<< ( G4std::ostream &, MultList & ); public: - EntList( JoinType j ) : join(j), prev(0), next(0), viable(UNKNOWN), + // Changed order of member initialisations to match correct order - GC + EntList( JoinType j ) : join(j), next(0), prev(0), viable(UNKNOWN), level(0) {} virtual ~EntList() {} MatchType viableVal() { return viable; } @@ -173,7 +174,8 @@ class SimpleList : public EntList { friend G4std::ostream & operator<< ( G4std::ostream &, SimpleList & ); public: - SimpleList( const char *n ) : I_marked(NOMARK), EntList(SIMPLE) + // Changed order of member initialisations to match correct order - GC + SimpleList( const char *n ) : EntList(SIMPLE), I_marked(NOMARK) { strcpy( name, n ); } ~SimpleList() {} @@ -292,7 +294,8 @@ class ComplexList { public: // Changed 'and' to 'andl'. 'and' is reserved word in the standard - GC - ComplexList( AndList *andl = NULL ) : head(andl), list(0), next(0), + // Changed order of member initialisations to match correct order - GC + ComplexList( AndList *andl = NULL ) : list(0), head(andl), next(0), abstract(0), dependent(0), multSupers(0) {} ~ComplexList(); diff --git a/source/geometry/solids/STEP/include/dirobj.h b/source/geometry/solids/STEP/include/dirobj.h index 75b4b64b4d..68feb84b2b 100644 --- a/source/geometry/solids/STEP/include/dirobj.h +++ b/source/geometry/solids/STEP/include/dirobj.h @@ -13,7 +13,7 @@ * and is not subject to copyright. */ -/* $Id: dirobj.h,v 1.4 2000/06/08 17:18:10 gcosmo Exp $ */ +/* $Id: dirobj.h,v 1.6 2000/11/21 07:54:49 gcosmo Exp $ */ #ifdef __O3DB__ #include diff --git a/source/geometry/solids/STEP/src/ExpDict.cc b/source/geometry/solids/STEP/src/ExpDict.cc index 2093f464d4..1f02c82b36 100644 --- a/source/geometry/solids/STEP/src/ExpDict.cc +++ b/source/geometry/solids/STEP/src/ExpDict.cc @@ -10,7 +10,7 @@ * and is not subject to copyright. */ -/* $Id: ExpDict.cc,v 1.5 2000/06/08 17:18:11 gcosmo Exp $ */ +/* $Id: ExpDict.cc,v 1.6 2000/11/20 18:14:56 gcosmo Exp $ */ #include #include #include @@ -834,7 +834,7 @@ AttrDescriptor::ExpandedTypeName(SCLstring & s) const const char * AttrDescriptor::GenerateExpress (SCLstring &buf) const { - char tmp[BUFSIZ]; +// char tmp[BUFSIZ]; SCLstring sstr; buf = AttrExprDefStr(sstr); buf.Append(";\n"); @@ -955,7 +955,7 @@ EnumTypeDescriptor::GenerateExpress (SCLstring &buf) const const char *desc = Description(); const char *ptr = &(desc[16]); int count; - Where_rule_ptr wr; +// Where_rule_ptr wr; int i; int all_comments = 1; @@ -1058,10 +1058,10 @@ EntityDescriptor::~EntityDescriptor () const char * EntityDescriptor::GenerateExpress (SCLstring &buf) const { - char tmp[BUFSIZ]; +// char tmp[BUFSIZ]; SCLstring sstr; int count; - Where_rule_ptr wr; +// Where_rule_ptr wr; int i; int all_comments = 1; @@ -1681,7 +1681,7 @@ TypeDescriptor::GenerateExpress (SCLstring &buf) const const char *desc = Description(); const char *ptr = desc; int count; - Where_rule_ptr wr; +// Where_rule_ptr wr; int i; int all_comments = 1; @@ -2093,7 +2093,7 @@ SelectTypeDescriptor::CanBe (const TypeDescriptor * other) const const TypeDescriptor * SelectTypeDescriptor::CanBe (const char * other) const { - const TypeDescriptor * found =0; +// const TypeDescriptor * found =0; TypeDescItr elements (GetElements()) ; const TypeDescriptor * td =0; diff --git a/source/geometry/solids/STEP/src/Registry_inline.cc b/source/geometry/solids/STEP/src/Registry_inline.cc index deaf71d6b0..60bfea425c 100644 --- a/source/geometry/solids/STEP/src/Registry_inline.cc +++ b/source/geometry/solids/STEP/src/Registry_inline.cc @@ -13,7 +13,7 @@ extern int pr_obj_errors; * and is not subject to copyright. */ -/* $Id: Registry_inline.cc,v 1.3 2000/01/21 13:42:55 gcosmo Exp $ */ +/* $Id: Registry_inline.cc,v 1.4 2000/11/20 18:14:56 gcosmo Exp $ */ #include #include @@ -33,7 +33,8 @@ static int uniqueNames( const char *, const SchRename * ); //#else Registry::Registry (CF_init initFunct) //#endif -: entity_cnt(0), all_ents_cnt(0), col(0) +// Changed order of member initialisations to match correct order - GC +: col(0), entity_cnt(0), all_ents_cnt(0) { //#ifdef __OSTORE__ // need to make this thing persistent in a database - DAS diff --git a/source/geometry/solids/STEP/src/STEPaggregate.cc b/source/geometry/solids/STEP/src/STEPaggregate.cc index f666276405..905522cfb4 100644 --- a/source/geometry/solids/STEP/src/STEPaggregate.cc +++ b/source/geometry/solids/STEP/src/STEPaggregate.cc @@ -10,7 +10,7 @@ * and is not subject to copyright. */ -/* $Id: STEPaggregate.cc,v 1.4 2000/01/21 13:42:56 gcosmo Exp $ */ +/* $Id: STEPaggregate.cc,v 1.5 2000/11/20 18:14:57 gcosmo Exp $ */ #include @@ -25,7 +25,7 @@ const int Real_Num_Precision = REAL_NUM_PRECISION; // from STEPattribute.h #define STRING_DELIM '\'' -static char rcsid[] = "$Id: STEPaggregate.cc,v 1.4 2000/01/21 13:42:56 gcosmo Exp $"; +// static char rcsid[] = "$Id: STEPaggregate.cc,v 1.5 2000/11/20 18:14:57 gcosmo Exp $"; /****************************************************************** ** Functions for manipulating aggregate attributes @@ -1980,7 +1980,7 @@ RealNode::asStr(SCLstring &s) const char * RealNode::STEPwrite(SCLstring &s, const char *) { - char tmp[BUFSIZ]; +// char tmp[BUFSIZ]; if(value != S_REAL_NULL) { // sprintf(tmp, "%.15g", value); diff --git a/source/geometry/solids/STEP/src/STEPcomplex.cc b/source/geometry/solids/STEP/src/STEPcomplex.cc index 10c0172a1e..43eca2b369 100644 --- a/source/geometry/solids/STEP/src/STEPcomplex.cc +++ b/source/geometry/solids/STEP/src/STEPcomplex.cc @@ -29,7 +29,7 @@ STEPcomplex::STEPcomplex(Registry *registry, const SCLstring **names, : SCLP23(Application_instance)(fileid, 1), sc(0), _registry(registry), visited(0) { char *nms[BUFSIZ]; - SCLstring *name; +// SCLstring *name; int j, k; head = this; @@ -168,7 +168,7 @@ STEPcomplex::~STEPcomplex() void STEPcomplex::AssignDerives() { - const char *nm; +// const char *nm; STEPattribute * a = 0; STEPcomplex *scomp1 = head; STEPcomplex *scomp2; @@ -492,7 +492,7 @@ STEPcomplex::BuildAttrs(const char *s ) ////////////////////////////////////////////// // find out how many attrs there are ////////////////////////////////////////////// - int attrCount = attrList->EntryCount(); +// int attrCount = attrList->EntryCount(); STEPattribute * a = 0; @@ -573,6 +573,8 @@ STEPcomplex::BuildAttrs(const char *s ) #endif break; } + default: // Added default field - GC + break; } a -> set_null (); @@ -673,7 +675,7 @@ STEPcomplex::WriteExtMapEntities(G4std::ostream& out, const char *currSch) const char * STEPcomplex::WriteExtMapEntities(SCLstring &buf, const char *currSch) { - char instanceInfo[BUFSIZ]; +// char instanceInfo[BUFSIZ]; SCLstring tmp; // sprintf(instanceInfo, "%s(", (char *)StrToUpper( EntityName(), tmp ) ); diff --git a/source/geometry/solids/STEP/src/STEPfile.cc b/source/geometry/solids/STEP/src/STEPfile.cc index a0be2692bc..fc81c70c0b 100644 --- a/source/geometry/solids/STEP/src/STEPfile.cc +++ b/source/geometry/solids/STEP/src/STEPfile.cc @@ -14,7 +14,7 @@ int pr_obj_errors = 0; * and is not subject to copyright. */ -/* $Id: STEPfile.cc,v 1.4 2000/01/21 13:42:57 gcosmo Exp $ */ +/* $Id: STEPfile.cc,v 1.5 2000/11/20 18:14:58 gcosmo Exp $ */ /******************************************************************** TODO LIST: @@ -272,7 +272,7 @@ STEPfile::HeaderConvertToNew(InstMgr& oldinst) InstMgr* imtmp = new InstMgr; SCLP23(Application_instance)* oldse; - int count = 0; +// int count = 0; // FILE_NAME <== (N279)FILE_IDENTIFICATION p21DIS_File_name * fn = 0; @@ -498,7 +498,7 @@ STEPfile::HeaderMergeInstances(InstMgr* im) { SCLP23(Application_instance)* se = 0; SCLP23(Application_instance)* from = 0; - SCLP23(Application_instance)* to = 0; +// SCLP23(Application_instance)* to = 0; int idnum; @@ -1545,7 +1545,7 @@ STEPfile::FindHeaderSection (G4std::istream& in) { char buf[BUFSIZ]; char *b = buf; - int rval =0; +// int rval =0; *b = '\0'; @@ -1597,7 +1597,7 @@ STEPfile::CreateInstance(G4std::istream& in, G4std::ostream &out) int fileid = -1; SCLP23(Application_instance_ptr) * scopelist =0; - int n =0; +// int n =0; SCLP23(Application_instance)* obj; ErrorDescriptor result; @@ -2125,7 +2125,7 @@ STEPfile::ReadInstance(G4std::istream& in, G4std::ostream& out, SCLstring &cmtSt char c; int fileid; - int n =0; +// int n =0; SCLP23(Application_instance)* obj = ENTITY_NULL; int idIncrNum = FileIdIncr(); @@ -2333,7 +2333,7 @@ BUG: doesn't check to see if the backup command works. void STEPfile::MakeBackupFile() { - static int i =1; +// static int i =1; char backup_call [2*BUFSIZ]; char backup_file [BUFSIZ]; @@ -2931,6 +2931,9 @@ STEPfile::AppendFile (G4std::istream* in, int useTechCor) // valid_insts = ReadWorkingData2 (*in2); valid_insts = ReadData2 (*in2, useTechCor); break; + + default: // Added default field - GC + break; } //check for "ENDSEC;" diff --git a/source/geometry/solids/STEP/src/STEPfile_inline.cc b/source/geometry/solids/STEP/src/STEPfile_inline.cc index 9d92167b0f..bcb0e7525c 100644 --- a/source/geometry/solids/STEP/src/STEPfile_inline.cc +++ b/source/geometry/solids/STEP/src/STEPfile_inline.cc @@ -11,7 +11,7 @@ * and is not subject to copyright. */ -/* $Id: STEPfile_inline.cc,v 1.6 2000/02/14 13:44:04 gcosmo Exp $ */ +/* $Id: STEPfile_inline.cc,v 1.7 2000/11/20 18:14:58 gcosmo Exp $ */ #include #include @@ -34,19 +34,19 @@ extern void HeaderSchemaInit (Registry & reg); STEPfile::STEPfile(Registry& r, InstMgr& i, const char *filename) +// Changed order of member initialisations to match correct order - GC #ifdef __O3DB__ -: _reg(&r), _instances(&i), +: _instances(&i), _reg(&r), #else -: _reg(r), _instances(i), +: _instances(i), _reg(r), #endif #ifdef __OSTORE__ db (0), #endif - _headerId(0), _maxErrorCount(5000), + _fileIdIncr (0), _headerId(0), _fileName (0), _entsNotCreated(0), _entsInvalid(0), _entsIncomplete(0), _entsWarning(0), - _errorCount (0), _warningCount (0), - _fileIdIncr (0) + _errorCount (0), _warningCount (0), _maxErrorCount(5000) { SetFileType(VERSION_CURRENT); diff --git a/source/geometry/solids/STEP/src/SdaiAll.cc b/source/geometry/solids/STEP/src/SdaiAll.cc index 0673b294ee..e108e3af96 100644 --- a/source/geometry/solids/STEP/src/SdaiAll.cc +++ b/source/geometry/solids/STEP/src/SdaiAll.cc @@ -3,7 +3,7 @@ // This file was generated by fedex_plus. You probably don't want to edit // it since your modifications will be lost if fedex_plus is used to // regenerate it. -/* $Id: SdaiAll.cc,v 1.2 2000/06/08 17:18:11 gcosmo Exp $ */ +/* $Id: SdaiAll.cc,v 1.3 2000/11/20 18:14:59 gcosmo Exp $ */ #include #ifdef WIN32 @@ -13,9 +13,9 @@ void InitSchemasAndEnts (Registry & reg) { - Interface_spec_ptr is; - Used_item_ptr ui; - Referenced_item_ptr ri; +// Interface_spec_ptr is; +// Used_item_ptr ui; +// Referenced_item_ptr ri; Uniqueness_rule_ptr ur; Where_rule_ptr wr; Global_rule_ptr gr; diff --git a/source/geometry/solids/STEP/src/collect.cc b/source/geometry/solids/STEP/src/collect.cc index aecea0e613..a9fd1b491b 100644 --- a/source/geometry/solids/STEP/src/collect.cc +++ b/source/geometry/solids/STEP/src/collect.cc @@ -98,7 +98,7 @@ int ComplexCollect::supports( EntNode *ents ) const // Changed 'and' to 'andl'. 'and' is reserved word in the standard - GC EntNode *node = ents, *nextnode; - AndList *andl; + AndList *andl=0; ComplexList *clist = clists, *cl = NULL, *current; int retval; EntList *elist, *next; diff --git a/source/geometry/solids/STEP/src/complexlist.cc b/source/geometry/solids/STEP/src/complexlist.cc index edd5ec448f..eeeb944f0e 100644 --- a/source/geometry/solids/STEP/src/complexlist.cc +++ b/source/geometry/solids/STEP/src/complexlist.cc @@ -93,7 +93,7 @@ void ComplexList::addChildren( EntList *ent ) EntList *child; char *nm; EntNode *prev = list, *prev2 = NULL, *newnode; - int comp; + int comp=0; if ( ent->multiple() ) { child = ((MultList *)ent)->childList; diff --git a/source/geometry/solids/STEP/src/compstructs.cc b/source/geometry/solids/STEP/src/compstructs.cc index b56901f4df..7429461a2f 100644 --- a/source/geometry/solids/STEP/src/compstructs.cc +++ b/source/geometry/solids/STEP/src/compstructs.cc @@ -21,9 +21,9 @@ ComplexCollect *gencomplex() EntList *node, *child, *next1, *next2, *next3, *next4, *next5, *next6, *next7, *next8, *next9, *next10, *next11, *next12, *next13, *next14, *next15, - *next16, *next17, *next18, *next19, *next20, - *next21, *next22, *next23, *next24, *next25, - *next26, *next27, *next28, *next29, *next30; + *next16, *next17, *next18; //, *next19, *next20, +// *next21, *next22, *next23, *next24, *next25, +// *next26, *next27, *next28, *next29, *next30; cc = new ComplexCollect; diff --git a/source/geometry/solids/STEP/src/dirobj.cc b/source/geometry/solids/STEP/src/dirobj.cc index 661705894b..b26d6f2b74 100644 --- a/source/geometry/solids/STEP/src/dirobj.cc +++ b/source/geometry/solids/STEP/src/dirobj.cc @@ -10,7 +10,7 @@ * and is not subject to copyright. */ -/* $Id: dirobj.cc,v 1.4 2000/06/08 17:18:12 gcosmo Exp $ */ +/* $Id: dirobj.cc,v 1.6 2000/11/21 07:54:50 gcosmo Exp $ */ /* * DirObj implementation @@ -42,6 +42,18 @@ #include +#ifndef MAXNAMLEN +# define MAXNAMLEN 255 +#endif + +#ifndef S_IFMT +# define S_IFMT __S_IFMT +#endif + +#ifndef S_IFDIR +# define S_IFDIR __S_IFDIR +#endif + // to help ObjectCenter #ifndef HAVE_MEMMOVE extern "C" @@ -112,7 +124,7 @@ const char* DirObj::RealPath (const char* path) { boolean DirObj::LoadDirectory (const char* name) { char buf[MAXPATHLEN+2]; - const char* path = buf; +// const char* path = buf; strcpy(buf, ValidDirectories(RealPath(name))); return Reset(buf); diff --git a/source/geometry/solids/STEP/src/entnode.cc b/source/geometry/solids/STEP/src/entnode.cc index 1d41079a44..122aae707b 100644 --- a/source/geometry/solids/STEP/src/entnode.cc +++ b/source/geometry/solids/STEP/src/entnode.cc @@ -22,7 +22,7 @@ EntNode::EntNode( const char **names ) * element. This ensures that `this' points to the start of the list. */ { - int j = 1, comp; + int j = 1, comp = 0; EntNode *prev, *prev2 = NULL, // prev2 - the one before prev *newnode, *firstnode; const char *nm; diff --git a/source/geometry/solids/STEP/src/gennodearray.cc b/source/geometry/solids/STEP/src/gennodearray.cc index faec7c8cd2..d70d57f8bb 100644 --- a/source/geometry/solids/STEP/src/gennodearray.cc +++ b/source/geometry/solids/STEP/src/gennodearray.cc @@ -10,7 +10,7 @@ * and is not subject to copyright. */ -/* $Id: gennodearray.cc,v 1.3 2000/01/21 13:43:11 gcosmo Exp $ */ +/* $Id: gennodearray.cc,v 1.4 2000/11/20 18:15:02 gcosmo Exp $ */ //#include "/proj/pdevel/autoc/arch.sunCC.iv/scl_cf.h" // This is an scl configuration file generated by the configure script @@ -99,7 +99,7 @@ GenNodeArray::Check (int index) GenericNode** newbuf; if (index >= _bufsize) { - int oldBufSize = _bufsize; +// int oldBufSize = _bufsize; _bufsize = (index+1) * 2; /* #ifdef __OSTORE__ diff --git a/source/geometry/solids/STEP/src/mgrnodearray.cc b/source/geometry/solids/STEP/src/mgrnodearray.cc index 6726f599f1..abb38e3efb 100644 --- a/source/geometry/solids/STEP/src/mgrnodearray.cc +++ b/source/geometry/solids/STEP/src/mgrnodearray.cc @@ -10,7 +10,7 @@ * and is not subject to copyright. */ -/* $Id: mgrnodearray.cc,v 1.3 2000/01/21 13:43:12 gcosmo Exp $ */ +/* $Id: mgrnodearray.cc,v 1.4 2000/11/20 18:15:02 gcosmo Exp $ */ /* * MgrNodeArray - dynamic array object of MgrNodes. @@ -230,7 +230,7 @@ int MgrNodeArraySorted::MgrNodeIndex(int fileId) { G4cout << "MgrNodeArraySorted::MgrNodeIndex()\n"; int low = 0; int high = _count - 1; - int mid; + int mid = 0; int found = 0; int curFileId; diff --git a/source/geometry/solids/STEP/src/multlist.cc b/source/geometry/solids/STEP/src/multlist.cc index 36a46e45c0..8cb204f3a0 100644 --- a/source/geometry/solids/STEP/src/multlist.cc +++ b/source/geometry/solids/STEP/src/multlist.cc @@ -118,7 +118,7 @@ EntList *MultList::copyList( EntList *ent ) * to the end of our list. */ { - EntList *newlist, *child; + EntList *newlist=0, *child; switch ( ent->join ) { case SIMPLE: diff --git a/source/geometry/solids/STEP/src/orlist.cc b/source/geometry/solids/STEP/src/orlist.cc index fe6dd9b6b9..11b9b7d155 100644 --- a/source/geometry/solids/STEP/src/orlist.cc +++ b/source/geometry/solids/STEP/src/orlist.cc @@ -50,7 +50,7 @@ void OrList::unmarkAll( EntNode *ents ) */ { EntList *child; - int j; +// int j; if ( (child = getChild( choice )) != NULL ) { // choice = the last selected path which we'll now undo. diff --git a/source/geometry/solids/STEP/src/print.cc b/source/geometry/solids/STEP/src/print.cc index 7ed174b641..6103ec3b3c 100644 --- a/source/geometry/solids/STEP/src/print.cc +++ b/source/geometry/solids/STEP/src/print.cc @@ -53,7 +53,7 @@ G4std::ostream & operator << ( G4std::ostream &os, MultList &mlist ) */ { char jointype[7]; - int k, lastSimple; + int k, lastSimple=0; // lastSimple - is the last child simple? If so, we need to print another // line at the end. If not, the children of last child did already. EntList *child = mlist.childList; diff --git a/source/geometry/solids/STEP/src/read_func.cc b/source/geometry/solids/STEP/src/read_func.cc index 7c858bd915..19f5be6dd2 100644 --- a/source/geometry/solids/STEP/src/read_func.cc +++ b/source/geometry/solids/STEP/src/read_func.cc @@ -1180,7 +1180,7 @@ ReadTokenSeparator(G4std::istream& in, SCLstring *comments) { char c; SCLstring s; // used if need to read a comment - const char *cstr = 0; +// const char *cstr = 0; if (in.eof()) { diff --git a/source/geometry/solids/STEP/src/sdaiApplication_instance.cc b/source/geometry/solids/STEP/src/sdaiApplication_instance.cc index 3f373e35c9..b801d71719 100644 --- a/source/geometry/solids/STEP/src/sdaiApplication_instance.cc +++ b/source/geometry/solids/STEP/src/sdaiApplication_instance.cc @@ -10,9 +10,9 @@ * and is not subject to copyright. */ -/* $Id: sdaiApplication_instance.cc,v 1.1 2000/01/21 13:43:15 gcosmo Exp $ */ +/* $Id: sdaiApplication_instance.cc,v 1.2 2000/11/20 18:15:04 gcosmo Exp $ */ -//static char rcsid[] ="$Id: sdaiApplication_instance.cc,v 1.1 2000/01/21 13:43:15 gcosmo Exp $"; +//static char rcsid[] ="$Id: sdaiApplication_instance.cc,v 1.2 2000/11/20 18:15:04 gcosmo Exp $"; #include //#include @@ -901,7 +901,7 @@ ReadEntityRef(G4std::istream &in, ErrorDescriptor *err, char *tokenList, case '#': { int id = -1; - int n = 0; +// int n = 0; in >> id; if (in.fail ()) // there's been an error in input { diff --git a/source/geometry/solids/STEPinterface/History b/source/geometry/solids/STEPinterface/History index cc07dfe648..b48f65b8c7 100644 --- a/source/geometry/solids/STEPinterface/History +++ b/source/geometry/solids/STEPinterface/History @@ -1,4 +1,4 @@ -$Id: History,v 1.5 2000/02/25 16:36:16 gcosmo Exp $ +$Id: History,v 1.8 2000/11/20 18:17:25 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20th November 2000 Gabriele Cosmo (stepinterface-V02-00-02) +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +10th November 2000 Gabriele Cosmo (stepinterface-V02-00-01) +- Added GetInstanceManager() method to G4GeometryCreator. + +09th November 2000 Gabriele Cosmo (stepinterface-V02-00-00) +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Changed return value to "const char*" to method Name() and made + post-const in all creator classes. + o Made virtual methods not inlined in G4GeometryCreator. + o Moved public data members to protected/private in G4GeometryCreator + and G4AssemblyCreator. + o G4AssemblyCreator: defined private copy-constructor and operator=. + o Fix in G4Axis2Placement3dCreator::CreateSTEPGeometry(void*) where + G4Point3D was casted to G4Vector3D by mistake (!). + 25th February 2000 Gabriele Cosmo (stepinterface-V01-00-01) - Improved overall diagnostics. - Fixed internal memory-leaks. diff --git a/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh index 9ce01053d6..3a109ac687 100644 --- a/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4AdvancedBrepShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4AdvancedBrepShapeRepresentationCreator.hh,v 1.3 2000/11/09 16:35:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AdvancedBrepShapeRepresentationCreator @@ -39,7 +39,7 @@ class G4AdvancedBrepShapeRepresentationCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Advanced_Brep_Shape_Representation"; } + const char* Name() const { return "Advanced_Brep_Shape_Representation"; } static G4AdvancedBrepShapeRepresentationCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh index 83a93f4527..1ed78b8231 100644 --- a/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4AdvancedFaceCreator.hh,v 1.2 2000/01/21 13:45:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4AdvancedFaceCreator.hh,v 1.3 2000/11/09 16:35:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AdvancedFaceCreator @@ -39,7 +39,7 @@ class G4AdvancedFaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Advanced_Face"; } + const char* Name() const { return "Advanced_Face"; } static G4AdvancedFaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh b/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh index 5bad6f1792..d4cc2d92db 100644 --- a/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh @@ -5,15 +5,17 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4AssemblyCreator.hh,v 1.2 2000/01/21 13:45:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4AssemblyCreator.hh,v 1.3 2000/11/09 16:35:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AssemblyCreator // // Class description: // -// +// Main class for detector geometry assembly read from a STEP file. +// Currently the default STEP reader is assumed to be the NIST reader +// from the SCL NIST public domain library. // Authors: J.Sulkimo, P.Urban. // Revisions by: L.Broglia, G.Cosmo. @@ -30,12 +32,12 @@ class G4StepFileReader; class G4AssemblyCreator: public G4GeometryCreator { - public: + public: // with description // Constructors G4AssemblyCreator(); - G4AssemblyCreator(G4String, G4String ="NIST"); + G4AssemblyCreator(const G4String&, const G4String& reader="NIST"); // Destructor @@ -46,15 +48,18 @@ class G4AssemblyCreator: public G4GeometryCreator void ReadStepFile(); void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Assembly"; } + const char* Name() const { return "Assembly"; } static G4AssemblyCreator GetInstance() { return ci; } - - // Members - - int index; // add by L. Broglia, memory for get STEP entity - + private: - + + G4AssemblyCreator(const G4AssemblyCreator&); + G4AssemblyCreator& operator=(const G4AssemblyCreator&); + // Private copy constructor and assignment operator. + + private: + + G4int index; // memory for get STEP entity - L.Broglia G4StepFileReader* StepReader; G4String STEPfileName; static G4AssemblyCreator ci; diff --git a/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh index c82e603f83..f3108cb1bf 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis1PlacementCreator.hh,v 1.2 2000/01/21 13:45:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis1PlacementCreator.hh,v 1.3 2000/11/09 16:35:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis1PlacementCreator @@ -39,7 +39,7 @@ class G4Axis1PlacementCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Axis1_Placement"; } + const char* Name() const { return "Axis1_Placement"; } static G4Axis1PlacementCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh index a44ef1cce1..3eb9a2c99e 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis2Placement2dCreator.hh,v 1.2 2000/01/21 13:45:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis2Placement2dCreator.hh,v 1.3 2000/11/09 16:35:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement2dCreator @@ -38,7 +38,7 @@ class G4Axis2Placement2dCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Axis2_Placement_2d"; } + const char* Name() const { return "Axis2_Placement_2d"; } static G4Axis2Placement2dCreator GetInstance() { return csc; } //Members diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh index 7828906ba9..a36b522d48 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis2Placement3dCreator.hh,v 1.2 2000/01/21 13:45:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis2Placement3dCreator.hh,v 1.3 2000/11/09 16:35:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3dCreator @@ -39,7 +39,7 @@ class G4Axis2Placement3dCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Axis2_Placement_3d"; } + const char* Name() const { return "Axis2_Placement_3d"; } static G4Axis2Placement3dCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh index c873851bb5..962834398c 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis2PlacementCreator.hh,v 1.2 2000/01/21 13:45:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis2PlacementCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementCreator @@ -39,7 +39,7 @@ class G4Axis2PlacementCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Axis2_Placement"; } + const char* Name() const { return "Axis2_Placement"; } static G4Axis2PlacementCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh index 4102382dd6..87e8987158 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis2PlacementsCreator.hh,v 1.2 2000/01/21 13:45:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis2PlacementsCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementsCreator @@ -39,7 +39,7 @@ class G4Axis2PlacementsCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Axis2_Placements"; } + const char* Name() const { return "Axis2_Placements"; } static G4Axis2PlacementsCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh index 25df292e0f..f9ecd487a9 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurveWithKnotsCreator.hh,v 1.2 2000/01/21 13:45:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurveWithKnotsCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnotsCreator @@ -39,7 +39,7 @@ class G4BSplineCurveWithKnotsCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "B_Spline_Curve_With_Knots"; } + const char* Name() const { return "B_Spline_Curve_With_Knots"; } static G4BSplineCurveWithKnotsCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh index 7b0e6a574c..cb5ac35e1b 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurfaceCreator.hh,v 1.2 2000/01/21 13:45:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurfaceCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceCreator @@ -39,7 +39,7 @@ class G4BSplineSurfaceCreator: public G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "B_Spline_Surface"; } + const char* Name() const { return "B_Spline_Surface"; } static G4BSplineSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh index 581c23952a..ec26c14828 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurfaceWithKnotsCreator.hh,v 1.2 2000/01/21 13:45:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurfaceWithKnotsCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceWithKnotsCreator @@ -39,7 +39,7 @@ class G4BSplineSurfaceWithKnotsCreator: public G4BSplineSurfaceCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "B_Spline_Surface_With_Knots"; } + const char* Name() const { return "B_Spline_Surface_With_Knots"; } static G4BSplineSurfaceWithKnotsCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh index 2cf239dbc3..7d5f57531b 100644 --- a/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BoundedSurfaceCreator.hh,v 1.2 2000/01/21 13:45:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BoundedSurfaceCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BoundedSurfaceCreator @@ -39,7 +39,7 @@ class G4BoundedSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Bounded_Surface"; } + const char* Name() const { return "Bounded_Surface"; } static G4BoundedSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh b/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh index 0a5c7d8e52..e1ab47ed14 100644 --- a/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CartesianPointCreator.hh,v 1.2 2000/01/21 13:45:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CartesianPointCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CartesianPointCreator @@ -39,7 +39,7 @@ class G4CartesianPointCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Cartesian_Point"; } + const char* Name() const { return "Cartesian_Point"; } static G4CartesianPointCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh b/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh index c246242094..6d84404d2b 100644 --- a/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CircleCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CircleCreator.hh,v 1.3 2000/11/09 16:35:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CircleCreator @@ -39,7 +39,7 @@ class G4CircleCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Circle"; } + const char* Name() const { return "Circle"; } static G4CircleCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh b/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh index 4e49b0744b..14ea088006 100644 --- a/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClosedShellCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClosedShellCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ClosedShellCreator @@ -39,7 +39,7 @@ class G4ClosedShellCreator: public G4ConnectedFaceSetCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Closed_Shell"; } + const char* Name() const { return "Closed_Shell"; } static G4ClosedShellCreator GetInstance() { return csc; } //Members diff --git a/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh index 2a64d10c1c..0467eeca53 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConicCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConicCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConicCreator @@ -39,7 +39,7 @@ class G4ConicCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Conic"; } + const char* Name() const { return "Conic"; } static G4ConicCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh index dc5fabee49..6748f9bda3 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConicalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConicalSurfaceCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurfaceCreator @@ -39,7 +39,7 @@ class G4ConicalSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Conical_Surface"; } + const char* Name() const { return "Conical_Surface"; } static G4ConicalSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh index 83b8adce6c..4ad0e18707 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConnectedFaceSetCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConnectedFaceSetCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConnectedFaceSetCreator @@ -39,7 +39,7 @@ class G4ConnectedFaceSetCreator: public G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Connected_Face_Set"; } + const char* Name() const { return "Connected_Face_Set"; } static G4ConnectedFaceSetCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh index 6fa3ee0825..6a6ded21bf 100644 --- a/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ContextDependentShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ContextDependentShapeRepresentationCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ContextDependentShapeRepresentationCreator @@ -39,7 +39,7 @@ class G4ContextDependentShapeRepresentationCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Context_Dependent_Shape_Representation"; } + const char* Name() const { return "Context_Dependent_Shape_Representation"; } static G4ContextDependentShapeRepresentationCreator GetInstance() { return csc; } diff --git a/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh index cc5f884a90..b37f5936cd 100644 --- a/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CurveCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CurveCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CurveCreator @@ -39,7 +39,7 @@ class G4CurveCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Curve"; } + const char* Name() const { return "Curve"; } static G4CurveCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh index a6c0aa8b6a..1091648495 100644 --- a/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4CylindricalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4CylindricalSurfaceCreator.hh,v 1.3 2000/11/09 16:35:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurfaceCreator @@ -39,7 +39,7 @@ class G4CylindricalSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Cylindrical_Surface"; } + const char* Name() const { return "Cylindrical_Surface"; } static G4CylindricalSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh b/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh index 1b4a7f3922..4272a1f545 100644 --- a/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4DirectionCreator.hh,v 1.2 2000/01/21 13:45:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4DirectionCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4DirectionCreator @@ -39,7 +39,7 @@ class G4DirectionCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Direction"; } + const char* Name() const { return "Direction"; } static G4DirectionCreator GetInstance() { return csc; } //Members diff --git a/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh index feb388c98b..fa0c6ae23e 100644 --- a/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EdgeCurveCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EdgeCurveCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EdgeCurveCreator @@ -39,7 +39,7 @@ class G4EdgeCurveCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Edge_Curve"; } + const char* Name() const { return "Edge_Curve"; } static G4EdgeCurveCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh b/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh index 967e45abfd..307c673e54 100644 --- a/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EdgeLoopCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EdgeLoopCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EdgeLoopCreator @@ -39,7 +39,7 @@ class G4EdgeLoopCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Edge_Loop"; } + const char* Name() const { return "Edge_Loop"; } static G4EdgeLoopCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh b/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh index f9f8d89b4b..d64b89964b 100644 --- a/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EllipseCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EllipseCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EllipseCreator @@ -39,7 +39,7 @@ class G4EllipseCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Ellipse"; } + const char* Name() const { return "Ellipse"; } static G4EllipseCreator GetInstance() { return csc; } //Members diff --git a/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh index 7963bff8c6..48b3c2a168 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FaceBoundCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FaceBoundCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceBoundCreator @@ -39,7 +39,7 @@ class G4FaceBoundCreator: public G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Face_Bound"; } + const char* Name() const { return "Face_Bound"; } static G4FaceBoundCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh index 591ff93b41..364ed5e727 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FaceOuterBoundCreator.hh,v 1.2 2000/01/21 13:45:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FaceOuterBoundCreator.hh,v 1.3 2000/11/09 16:35:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceOuterBoundCreator @@ -38,7 +38,7 @@ class G4FaceOuterBoundCreator: public G4FaceBoundCreator // Member functions void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Face_Outer_Bound"; } + const char* Name() const { return "Face_Outer_Bound"; } static G4FaceOuterBoundCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh index bf3c75fae0..e3b49fc422 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FaceSurfaceCreator.hh,v 1.2 2000/01/21 13:45:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FaceSurfaceCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceSurfaceCreator @@ -39,7 +39,7 @@ class G4FaceSurfaceCreator: public G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Face_Surface"; } + const char* Name() const { return "Face_Surface"; } static G4FaceSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh b/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh index 7b37a46ca0..416aba8b7c 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometricRepresentationContextCreator.hh,v 1.2 2000/01/21 13:45:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometricRepresentationContextCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4GeometricRepresentationContextCreator @@ -39,7 +39,7 @@ class G4GeometricRepresentationContextCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Geometric_Representation_Context"; } + const char* Name() const { return "Geometric_Representation_Context"; } static G4GeometricRepresentationContextCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh b/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh index b023c7c810..b6275eb14b 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometryCreator.hh,v 1.3 2000/01/21 13:45:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometryCreator.hh,v 1.5 2000/11/10 17:44:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCreator @@ -41,23 +41,25 @@ class G4GeometryCreator // Constructor & destructor - G4GeometryCreator() {;} - virtual ~G4GeometryCreator() {;} + G4GeometryCreator(); + virtual ~G4GeometryCreator(); // Member functions + virtual G4bool operator==(const G4GeometryCreator&); + virtual void CreateG4Geometry(STEPentity&)=0; virtual void CreateSTEPGeometry(void* =0)=0; - virtual void* GetCreatedObject() { return createdObject; } + virtual void* GetCreatedObject(); - virtual G4String Name()=0; - virtual G4bool operator==(const G4GeometryCreator&) { return 0; } - virtual STEPattribute* GetNamedAttribute(G4String&,STEPentity&); - virtual STEPentity* GetNamedEntity(G4String&,STEPentity&); + virtual const char* Name() const=0; + virtual STEPattribute* GetNamedAttribute(const G4String&, STEPentity&); + virtual STEPentity* GetNamedEntity(const G4String&, STEPentity&); + InstMgr* GetInstanceManager() const; G4int GetNextId() { objectId+=10; return objectId; } - // Members + protected: static G4int objectId; static InstMgr instanceManager; diff --git a/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh b/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh index cc11ee2fa9..1e2f89da81 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometryTable.hh,v 1.3 2000/01/21 13:45:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometryTable.hh,v 1.4 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryTable @@ -45,7 +45,7 @@ class G4GeometryTable static void* CreateObject(STEPentity&); static void* CreateSTEPObject(void*, G4String&); static void PrintObjectNames(); - static G4GeometryTable& GetInstance() { return gt; } + static const G4GeometryTable& GetInstance() { return gt; } public: diff --git a/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh b/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh index 19f1226429..709fbfceba 100644 --- a/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HyperbolaCreator.hh,v 1.2 2000/01/21 13:45:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4HyperbolaCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4HyperbolaCreator @@ -39,7 +39,7 @@ class G4HyperbolaCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Hyperbola"; } + const char* Name() const { return "Hyperbola"; } static G4HyperbolaCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh index 9d6f98f65b..17353c1ebd 100644 --- a/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ItemDefinedTransformationCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ItemDefinedTransformationCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ItemDefinedTransformationCreator @@ -39,7 +39,7 @@ class G4ItemDefinedTransformationCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Item_Defined_Transformation"; } + const char* Name() const { return "Item_Defined_Transformation"; } static G4ItemDefinedTransformationCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4LineCreator.hh b/source/geometry/solids/STEPinterface/include/G4LineCreator.hh index 16f7c24bc9..cdd9032150 100644 --- a/source/geometry/solids/STEPinterface/include/G4LineCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4LineCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LineCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LineCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4LineCreator @@ -39,7 +39,7 @@ class G4LineCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Line"; } + const char* Name() const { return "Line"; } static G4LineCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh b/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh index 0453752275..61af47677c 100644 --- a/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ManifoldSolidBrepCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ManifoldSolidBrepCreator.hh,v 1.3 2000/11/09 16:35:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ManifoldSolidBrepCreator @@ -39,7 +39,7 @@ class G4ManifoldSolidBrepCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Manifold_Solid_Brep"; } + const char* Name() const { return "Manifold_Solid_Brep"; } static G4ManifoldSolidBrepCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh b/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh index b5f3dfc4fd..6de4f8a4f3 100644 --- a/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh +++ b/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NISTStepReader.hh,v 1.3 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NISTStepReader.hh,v 1.4 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4NISTStepReader @@ -68,14 +68,14 @@ extern STEPentity *GetEntity (STEPnode *node, InstMgr *im); // This needs to be defined for the STEPfile reader extern void SchemaInit (Registry &); -class G4NISTStepReader: public G4StepFileReader +class G4NISTStepReader : public G4StepFileReader { public: - void ReadSTEPFile(G4String); + void ReadSTEPFile(const char*); void SaveSTEPFile(); void UpdateSTEPFile(); - InstMgr GetInstanceManager() { return InstanceList; } + InstMgr GetInstanceManager() const { return InstanceList; } private: diff --git a/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh b/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh index 5704aee071..3862aa65a4 100644 --- a/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4OpenShellCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4OpenShellCreator.hh,v 1.3 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4OpenShellCreator @@ -39,7 +39,7 @@ class G4OpenShellCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Open_Shell"; } + const char* Name() const { return "Open_Shell"; } static G4OpenShellCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh b/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh index 0c948db2d0..73e1016e79 100644 --- a/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4OrientedEdgeCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4OrientedEdgeCreator.hh,v 1.3 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4OrientedEdgeCreator @@ -39,7 +39,7 @@ class G4OrientedEdgeCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Oriented_Edge"; } + const char* Name() const { return "Oriented_Edge"; } static G4OrientedEdgeCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh b/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh index b18bfc24f8..11e58f44a7 100644 --- a/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParabolaCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParabolaCreator.hh,v 1.3 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ParabolaCreator @@ -39,7 +39,7 @@ class G4ParabolaCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Parabola"; } + const char* Name() const { return "Parabola"; } static G4ParabolaCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh b/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh index 92ce8b657a..041f310a7a 100644 --- a/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PlaneCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PlaneCreator.hh,v 1.3 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4PlaneCreator @@ -39,7 +39,7 @@ class G4PlaneCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Plane"; } + const char* Name() const { return "Plane"; } static G4PlaneCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4PointCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointCreator.hh index c20004e910..d51efd9566 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointCreator.hh,v 1.3 2000/11/09 16:35:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4PointCreator @@ -39,7 +39,7 @@ class G4PointCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Point"; } + const char* Name() const { return "Point"; } static G4PointCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh index 29b14842fa..98996c8201 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointOnCurveCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointOnCurveCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4PointOnCurveCreator @@ -39,7 +39,7 @@ class G4PointOnCurveCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Point_On_Curve"; } + const char* Name() const { return "Point_On_Curve"; } static G4PointOnCurveCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh index 0618434758..871ad0535e 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointOnSurfaceCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointOnSurfaceCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4PointOnSurfaceCreator @@ -39,7 +39,7 @@ class G4PointOnSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Point_On_Surface"; } + const char* Name() const { return "Point_On_Surface"; } static G4PointOnSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh index 1be6dd7891..7afde9d19c 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PointReplicaCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PointReplicaCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4PointReplicaCreator @@ -39,7 +39,7 @@ class G4PointReplicaCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Point_Replica"; } + const char* Name() const { return "Point_Replica"; } static G4PointReplicaCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh b/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh index 1792ca61b2..256530f5f6 100644 --- a/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ProductDefinitionShapeCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ProductDefinitionShapeCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ProductDefinitionShapeCreator @@ -40,7 +40,7 @@ class G4ProductDefinitionShapeCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Product_Definition_Shape"; } + const char* Name() const { return "Product_Definition_Shape"; } static G4ProductDefinitionShapeCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh index 2f5c1a3440..7e879ee133 100644 --- a/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RationalBSplineSurfaceCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RationalBSplineSurfaceCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4RationalBSplineSurfaceCreator @@ -40,7 +40,7 @@ class G4RationalBSplineSurfaceCreator: public G4BSplineSurfaceCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Rational_B_Spline_Surface"; } + const char* Name() const { return "Rational_B_Spline_Surface"; } static G4RationalBSplineSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh index ee9f2b3297..1a20a5e351 100644 --- a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RepresentationRelationshipCreator.hh,v 1.3 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RepresentationRelationshipCreator.hh,v 1.4 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4RepresentationRelationshipCreator @@ -39,7 +39,7 @@ class G4RepresentationRelationshipCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Representation_Relationship"; } + const char* Name() const { return "Representation_Relationship"; } static G4RepresentationRelationshipCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh index 33be2c3e3e..2ad9bad47d 100644 --- a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RepresentationRelationshipWithTransformationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RepresentationRelationshipWithTransformationCreator.hh,v 1.3 2000/11/09 16:35:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4RepresentationRelationshipWithTransformationCreator @@ -40,7 +40,7 @@ class G4RepresentationRelationshipWithTransformationCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() + const char* Name() const { return "Representation_Relationship_With_Transformation"; } static G4RepresentationRelationshipWithTransformationCreator GetInstance() { return csc; } diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh index d9b11cce47..56f3d47ed7 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ShapeDefinitionRepresentationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ShapeDefinitionRepresentationCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ShapeDefinitionRepresentationCreator @@ -39,7 +39,7 @@ class G4ShapeDefinitionRepresentationCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Shape_Definition_Representation"; } + const char* Name() const { return "Shape_Definition_Representation"; } static G4ShapeDefinitionRepresentationCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh index eeb125d34e..fe3851dc0c 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ShapeRepresentationCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ShapeRepresentationCreator @@ -39,7 +39,7 @@ class G4ShapeRepresentationCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Shape_Representation"; } + const char* Name() const { return "Shape_Representation"; } static G4ShapeRepresentationCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh index a3261276a7..731c39a874 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ShapeRepresentationRelationshipCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ShapeRepresentationRelationshipCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ShapeRepresentationRelationshipCreator @@ -39,7 +39,7 @@ class G4ShapeRepresentationRelationshipCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Shape_Representation_Relationship"; } + const char* Name() const { return "Shape_Representation_Relationship"; } static G4ShapeRepresentationRelationshipCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh index 41b049bfea..f71d92ee6a 100644 --- a/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SphericalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SphericalSurfaceCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4SphericalSurfaceCreator @@ -39,7 +39,7 @@ class G4SphericalSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void*); - G4String Name() { return "Spherical_Surface"; } + const char* Name() const { return "Spherical_Surface"; } static G4SphericalSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh b/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh index 05955f9095..6f281df38a 100644 --- a/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh +++ b/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4StepFileReader.hh,v 1.3 2000/01/21 13:45:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4StepFileReader.hh,v 1.4 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4StepFileReader @@ -30,10 +30,13 @@ class G4StepFileReader { public: - virtual void ReadSTEPFile(G4String)=0; + G4StepFileReader(){;} + virtual ~G4StepFileReader(){;} + + virtual void ReadSTEPFile(const char*)=0; virtual void SaveSTEPFile()=0; virtual void UpdateSTEPFile()=0; - virtual InstMgr GetInstanceManager()=0; + virtual InstMgr GetInstanceManager() const=0; }; #endif diff --git a/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh index 3b0ecdb501..bd075058df 100644 --- a/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ToroidalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ToroidalSurfaceCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ToroidalSurfaceCreator @@ -39,7 +39,7 @@ class G4ToroidalSurfaceCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Toroidal_Surface"; } + const char* Name() const { return "Toroidal_Surface"; } static G4ToroidalSurfaceCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh b/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh index 01e250bd97..eb3ec872b5 100644 --- a/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VectorCreator.hh,v 1.2 2000/01/21 13:45:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VectorCreator.hh,v 1.3 2000/11/09 16:35:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4VectorCreator @@ -39,7 +39,7 @@ class G4VectorCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Vector"; } + const char* Name() const { return "Vector"; } static G4VectorCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh b/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh index 37356c61a4..2bebb5ca44 100644 --- a/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VertexPointCreator.hh,v 1.2 2000/01/21 13:45:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VertexPointCreator.hh,v 1.3 2000/11/09 16:35:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4VertexPointCreator @@ -39,7 +39,7 @@ class G4VertexPointCreator: private G4GeometryCreator void CreateG4Geometry(STEPentity&); void CreateSTEPGeometry(void* G4obj); - G4String Name() { return "Vertex_Point"; } + const char* Name() const { return "Vertex_Point"; } static G4VertexPointCreator GetInstance() { return csc; } // Members diff --git a/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc index da88123917..d4d554efe4 100644 --- a/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4AdvancedBrepShapeRepresentationCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4AdvancedBrepShapeRepresentationCreator.cc,v 1.4 2000/11/20 18:17:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AdvancedBrepShapeRepresentationCreator @@ -56,7 +56,7 @@ void G4AdvancedBrepShapeRepresentationCreator::CreateG4Geometry(STEPentity& sEnt G4PlacedSolid* placedSld; G4BREPSolid* sld; STEPentity* ent; - G4Axis2Placement3D* place; + G4Axis2Placement3D* place = 0; // default place G4Axis2Placement3D* place0 = new (G4Axis2Placement3D)( G4Vector3D(1, 0, 0), diff --git a/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc index a26f71146a..75e29e10a5 100644 --- a/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4AdvancedFaceCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AdvancedFaceCreator diff --git a/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc b/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc index dce116d7e5..1e016265ed 100644 --- a/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4AssemblyCreator.cc,v 1.5 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4AssemblyCreator.cc,v 1.7 2000/11/20 18:17:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4AssemblyCreator @@ -35,16 +35,34 @@ G4AssemblyCreator::G4AssemblyCreator() G4GeometryTable::RegisterObject(this); } -G4AssemblyCreator::G4AssemblyCreator(G4String fileName, G4String readerName) +G4AssemblyCreator::G4AssemblyCreator(const G4AssemblyCreator& c) { - // Name of STEP file to read in, existance of file should be checked - //here also... + index = c.index; + StepReader = c.StepReader; + STEPfileName = c.STEPfileName; +} + +G4AssemblyCreator& G4AssemblyCreator::operator=(const G4AssemblyCreator& c) +{ + if (&c == this) return *this; + + index = c.index; + StepReader = c.StepReader; + STEPfileName = c.STEPfileName; + + return *this; +} + +G4AssemblyCreator::G4AssemblyCreator(const G4String& fileName, + const G4String& readerName) +{ + // Name of STEP file to read in, existance of file should be checked... + // STEPfileName = fileName; - // define type of STEP file reader to use - if(readerName == "NIST") - StepReader = new G4NISTStepReader(); - //else... + // define type of STEP file reader to use (use else...) + // + if (readerName == "NIST") StepReader = new G4NISTStepReader(); } @@ -68,8 +86,8 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& sEntity) // Advanced_Brep_Shape_Representation are created into // Context_Dependent_Shape_Representation and // Shape_Definition_Representation - G4int AdvancedBrepShapes = instanceManager.EntityKeywordCount - ("Advanced_Brep_Shape_Representation"); + // G4int AdvancedBrepShapes = instanceManager.EntityKeywordCount + // ("Advanced_Brep_Shape_Representation"); G4int ConDepShapes = instanceManager.EntityKeywordCount @@ -78,7 +96,7 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& sEntity) G4int ShapeDefReps = instanceManager.EntityKeywordCount ("Shape_Definition_Representation"); - G4int instanceCount = instanceManager.InstanceCount(); + // G4int instanceCount = instanceManager.InstanceCount(); STEPentity* ent=0; index = 0; @@ -144,7 +162,7 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& sEntity) } } - else + else if (ShapeDefReps>0) { const char* key = "Shape_Definition_Representation"; @@ -207,13 +225,13 @@ void G4AssemblyCreator::CreateSTEPGeometry(void* G4obj) Registry reg(&::HeaderSchemaInit); SdaiCONFIG_CONTROL_DESIGNInit (reg); - //G4Placement* plc = (G4Placement*)G4obj; - //G4String name("Axis2Placement3d"); + // G4Placement* plc = (G4Placement*)G4obj; + // G4String name("Axis2Placement3d"); // G4FCylindricalSurface *fCyl = (G4FCylindricalSurface *)G4obj; // G4String name("Cylindrical_Surface"); - G4ToroidalSurface *tor = (G4ToroidalSurface *)G4obj; + // G4ToroidalSurface *tor = (G4ToroidalSurface *)G4obj; G4String name("Toroidal_Surface"); - { - void *tmp =G4GeometryTable::CreateSTEPObject(G4obj, name); - } + + G4GeometryTable::CreateSTEPObject(G4obj, name); + } diff --git a/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc index 9d1fad6675..89706a0967 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Axis1PlacementCreator.cc,v 1.2 2000/01/21 13:45:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis1PlacementCreator diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc index 593782fcbb..e5dd195f0b 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Axis2Placement2dCreator.cc,v 1.2 2000/01/21 13:45:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement2dCreator diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc index cf87da822c..9365867d6b 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Axis2Placement3dCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Axis2Placement3dCreator.cc,v 1.4 2000/11/09 16:35:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3dCreator @@ -85,7 +85,7 @@ void G4Axis2Placement3dCreator::CreateSTEPGeometry(void* G4obj) G4Vector3D axis = plc->GetAxis(); G4Vector3D dir = plc->GetRefDirection(); - G4Vector3D pt = plc->GetLocation(); + G4Point3D pt = plc->GetLocation(); G4String pointName("Cartesian_Point"); G4String directionName("Direction"); diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc index 9bcd688df9..b30b9ce7d8 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Axis2PlacementCreator.cc,v 1.2 2000/01/21 13:45:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementCreator diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc index 67f0d6279a..a1ceae51c2 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Axis2PlacementsCreator.cc,v 1.3 2000/01/21 13:45:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementsCreator diff --git a/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc b/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc index 08c5cc6799..2370b2d4ce 100644 --- a/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineCurveWithKnotsCreator.cc,v 1.4 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineCurveWithKnotsCreator.cc,v 1.5 2000/11/20 18:17:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnotsCreator @@ -114,7 +114,7 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) G4Point3D* pt = (G4Point3D*) tmp; G4Point3D Pt(pt->x(), pt->y(), pt->z()); - if(controlPointsList.length() <= nbpoint+1) + if(G4int(controlPointsList.length()) <= nbpoint+1) controlPointsList.reshape(nbpoint+1); controlPointsList[nbpoint] = Pt; @@ -159,7 +159,7 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) if (weight <= 0) weight = 1; - if(weightsData.length() <= nbpoint+1) + if(G4int(weightsData.length()) <= nbpoint+1) weightsData.reshape(nbpoint+1); weightsData[nbpoint] = weight; @@ -204,7 +204,7 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) if (knot <= 0) knot = 1; - if(knots.length() <= nbpoint+1) + if(G4int(knots.length()) <= nbpoint+1) knots.reshape(nbpoint+1); knots[nbpoint] = knot; diff --git a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc index 375aef46b3..9aac36d5a5 100644 --- a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BSplineSurfaceCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BSplineSurfaceCreator.cc,v 1.4 2000/11/20 18:17:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceCreator @@ -33,7 +33,6 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent) { SdaiB_spline_surface* bSpline = new SdaiB_spline_surface(&Ent); G4int u,v; - STEPentity* ent=0; G4String attrName("u_degree"); STEPattribute *Attr = GetNamedAttribute(attrName, Ent); u = *Attr->ptr.i; @@ -55,8 +54,6 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent) cols = v+1; rows = u+1; - STEPentity* entity; - G4int Index; STEPentity *Entity; char tmp[16]; SCLstring s; @@ -65,7 +62,6 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent) G4int stringlength = strlen(Str); G4ControlPoints controlPoints(4,rows, cols); RealAggregate rationalAggr; - RealNode* rNode =0; for(G4int a=0;aptr.a; bSpline.v_knots_((RealAggregate*)knotAggr); - G4int vKnotCount = knotAggr->EntryCount(); + // G4int vKnotCount = knotAggr->EntryCount(); G4int totalVKnotCount = 0; multiNode = (IntNode*)multAggr->GetHead(); @@ -135,8 +135,7 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) // b_spline base parts - G4int u,v; - STEPentity* ent=0; + G4int u=0,v=0; attrName = "u_degree"; Attr = GetNamedAttribute(attrName, Ent); if(Attr) @@ -172,8 +171,6 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) cols = v+1; rows = u+1; - STEPentity* entity; - G4int Index; STEPentity *Entity; char tmp[16]; SCLstring s; @@ -182,7 +179,6 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) G4int stringlength = strlen(Str); controlPoints = new G4ControlPoints(4,rows, cols); RealAggregate rationalAggr; - RealNode* rNode =0; for(G4int a=0;acontrol_points_list_(); @@ -99,7 +96,6 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent) G4int stringlength = strlen(Str); G4ControlPoints controlPoints(4,rows, cols); RealAggregate rationalAggr; - RealNode* rNode =0; G4int a; for(a=0;aEntryCount(); knotAggr = bSplineWithKnots->v_knots_(); - G4int vKnotCount = knotAggr->EntryCount(); + // G4int vKnotCount = knotAggr->EntryCount(); G4int totalVKnotCount = 0; multiNode = (IntNode*)multAggr->GetHead(); diff --git a/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc b/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc index 7b5f1fe7ba..1865fc244e 100644 --- a/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4CartesianPointCreator.cc,v 1.2 2000/01/21 13:45:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CartesianPointCreator diff --git a/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc b/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc index 8e316c2792..f87027f3f0 100644 --- a/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4CircleCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CircleCreator diff --git a/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc b/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc index 1abf6c61e0..57af5cd6c8 100644 --- a/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClosedShellCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClosedShellCreator.cc,v 1.5 2000/11/20 18:17:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ClosedShellCreator @@ -43,7 +43,7 @@ void G4ClosedShellCreator::CreateG4Geometry(STEPentity& Ent) G4SurfaceVector SurfaceVec; - for(size_t a=0; anode; void *tmp = G4GeometryTable::CreateObject(*TmpEnt); @@ -59,7 +59,7 @@ void G4ClosedShellCreator::CreateG4Geometry(STEPentity& Ent) << "\tTotal of " << SurfNum << " G4Surface components created, out of " << FaceCount << " expected !" << G4endl << "\tBREP Solid not correctly instantiated." << G4endl; - for(size_t b=0;bNumberOfFaces(); + G4int surfaceCount = bSld->GetNumberOfFaces(); EntityAggregate eAggr; EntityNode* eNode=0; diff --git a/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc index 9249fc8219..220d26e8db 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ConicCreator.cc,v 1.2 2000/01/21 13:45:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ConicCreator.cc,v 1.3 2000/11/20 18:17:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConicCreator @@ -38,7 +38,7 @@ void G4ConicCreator::CreateG4Geometry(STEPentity& Ent) // Get the placement STEPentity* TmpEnt= *Attr->ptr.c; - void *tmp =G4GeometryTable::CreateObject(*TmpEnt); + G4GeometryTable::CreateObject(*TmpEnt); // place = (G4Placement*)place; } diff --git a/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc index c40f99f7ed..7b02e993ef 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ConicalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc index f93407fbf3..73f3c10d86 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ConnectedFaceSetCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ConnectedFaceSetCreator diff --git a/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc index 8e394343dd..fd0697d758 100644 --- a/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ContextDependentShapeRepresentationCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4ContextDependentShapeRepresentationCreator diff --git a/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc index 2f9916f601..bc85107aaf 100644 --- a/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4CurveCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CurveCreator diff --git a/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc index 819596ca9b..9af3a10140 100644 --- a/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4CylindricalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc b/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc index 50f7fe7e71..89800c8d0c 100644 --- a/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4DirectionCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4DirectionCreator diff --git a/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc index 6d2b0733e7..44aae5d6a6 100644 --- a/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EdgeCurveCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EdgeCurveCreator.cc,v 1.4 2000/11/20 18:17:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EdgeCurveCreator @@ -34,7 +34,6 @@ void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent) { G4Point3D *pt1,*pt2; G4Curve* crv=0; - G4bool sameSense; // Get start point G4String attrName("edge_start"); diff --git a/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc b/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc index 79459c41b9..2f9e9cbf35 100644 --- a/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EdgeLoopCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EdgeLoopCreator diff --git a/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc b/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc index 476aa6c10b..4e202265ca 100644 --- a/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4EllipseCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4EllipseCreator diff --git a/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc index 4b77673885..9b43c778d1 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FaceBoundCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FaceBoundCreator.cc,v 1.4 2000/11/20 18:17:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceBoundCreator @@ -32,7 +32,6 @@ G4FaceBoundCreator::~G4FaceBoundCreator() {} void G4FaceBoundCreator::CreateG4Geometry(STEPentity& Ent) { - G4int orientation; G4String attrName("bound"); STEPattribute *Attr = GetNamedAttribute(attrName, Ent); diff --git a/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc index d1463f606b..35c899c8d0 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4FaceOuterBoundCreator.cc,v 1.2 2000/01/21 13:46:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceOuterBoundCreator diff --git a/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc index 25dca18b7f..7dbfd5b33a 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4FaceSurfaceCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4FaceSurfaceCreator.cc,v 1.4 2000/11/20 18:17:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4FaceSurfaceCreator @@ -33,7 +33,6 @@ G4FaceSurfaceCreator::~G4FaceSurfaceCreator() {} void G4FaceSurfaceCreator::CreateG4Geometry(STEPentity& Ent) { G4Surface* srf=0; - G4bool sense; G4String attrName("face_geometry"); STEPattribute *Attr = GetNamedAttribute(attrName, Ent); diff --git a/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc b/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc index a898e26ac5..fa8dc6ae5e 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometricRepresentationContextCreator.cc,v 1.3 2000/01/21 13:46:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometricRepresentationContextCreator.cc,v 1.4 2000/11/20 18:17:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // Class G4GeometricRepresentationContextCreator @@ -41,8 +41,8 @@ void G4GeometricRepresentationContextCreator::CreateG4Geometry(STEPentity& Ent) G4String attrName("coordinate_space_dimension"); Attr = GetNamedAttribute(attrName, Ent); - // Get coordinate space dimension - SdaiReal Tmpdim = *Attr->ptr.r; // ptr.r --> REAL_TYPE + // Get coordinate space dimension (ptr.r --> REAL_TYPE) + // SdaiReal Tmpdim = *Attr->ptr.r; // void *tmp = G4GeometryTable::CreateObject(*TmpEnt); // place = (G4Axis2Placement3D*)tmp...; diff --git a/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc b/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc index de68b0eaab..2a92778fa2 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometryCreator.cc,v 1.3 2000/01/21 13:46:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometryCreator.cc,v 1.5 2000/11/10 17:44:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -28,8 +28,26 @@ InstMgr G4GeometryCreator::instanceManager; G4int G4GeometryCreator::objectId = 0; +G4GeometryCreator::G4GeometryCreator() {} +G4GeometryCreator::~G4GeometryCreator() {} + +G4bool G4GeometryCreator::operator==(const G4GeometryCreator&) +{ + return 0; +} + +void* G4GeometryCreator::GetCreatedObject() +{ + return createdObject; +} + +InstMgr* G4GeometryCreator::GetInstanceManager() const +{ + return &instanceManager; +} + STEPattribute* -G4GeometryCreator::GetNamedAttribute(G4String& attrName, STEPentity& Ent) +G4GeometryCreator::GetNamedAttribute(const G4String& attrName, STEPentity& Ent) { STEPattribute* attr; @@ -43,13 +61,14 @@ G4GeometryCreator::GetNamedAttribute(G4String& attrName, STEPentity& Ent) return attr; } - G4String err = "\nCannot find attribute " + attrName + " in entity " + Ent.EntityName(); + G4String err = "\nCannot find attribute " + G4String(attrName) + + " in entity " + Ent.EntityName(); G4Exception(err); return 0; // NULL } STEPentity* -G4GeometryCreator::GetNamedEntity(G4String& entName, STEPentity& Ent) +G4GeometryCreator::GetNamedEntity(const G4String& entName, STEPentity& Ent) { // Ent is a complex entity @@ -68,7 +87,8 @@ G4GeometryCreator::GetNamedEntity(G4String& entName, STEPentity& Ent) return subEnt; } } - G4String err = "\nCannot find entity " + entName + " in complex entity " + Ent.EntityName(); + G4String err = "\nCannot find entity " + G4String(entName) + + " in complex entity " + Ent.EntityName(); G4Exception(err); return 0; @@ -82,6 +102,6 @@ G4int[][] G4GeometryCreator::GetIds(GenericAggregate& aggr) GenericAggrNode* gNode = (GenericAggrNode*)aggr->GetHead(); SCLstring str; - G4String aggrStr = gNode->asStr(str); + const char* aggrStr = gNode->asStr(str); } */ diff --git a/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc b/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc index e45df4cccc..80e564d260 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GeometryTable.cc,v 1.6 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GeometryTable.cc,v 1.7 2000/11/20 18:17:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -38,7 +38,7 @@ G4bool G4GeometryTable::ExistsInTable(G4String& objectName) { G4bool existsInTable = false; - for(G4int a=0;aName(); @@ -58,7 +58,7 @@ void G4GeometryTable::RegisterObject(G4GeometryCreator* gc) G4GeometryCreator* G4GeometryTable::GetObject(G4String objectName) { - for(G4int a=0; aName(); diff --git a/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc b/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc index 604a461f0c..8b94b20ca0 100644 --- a/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4HyperbolaCreator.cc,v 1.2 2000/01/21 13:46:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc index b67cdf709c..9fdce16da4 100644 --- a/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ItemDefinedTransformationCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4LineCreator.cc b/source/geometry/solids/STEPinterface/src/G4LineCreator.cc index 660cbe7a10..a27e24311a 100644 --- a/source/geometry/solids/STEPinterface/src/G4LineCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4LineCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LineCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc b/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc index 7df966205c..9963275892 100644 --- a/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ManifoldSolidBrepCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc b/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc index 000a5b13d1..d257c835de 100644 --- a/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc +++ b/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NISTStepReader.cc,v 1.3 2000/01/21 13:46:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NISTStepReader.cc,v 1.4 2000/11/09 16:35:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -30,7 +30,7 @@ #include #endif -void G4NISTStepReader::ReadSTEPFile(G4String STEPfilename) +void G4NISTStepReader::ReadSTEPFile(const char* STEPfilename) { // Reads the Step file into the nist toolkit class library diff --git a/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc b/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc index f4b3776199..2dd084d97f 100644 --- a/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4OpenShellCreator.cc,v 1.2 2000/01/21 13:46:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc b/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc index 871fcc2907..e7cf7cd5a0 100644 --- a/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4OrientedEdgeCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc b/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc index 6a8c1e1c7e..7a807ffbbd 100644 --- a/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ParabolaCreator.cc,v 1.2 2000/01/21 13:46:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc b/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc index 5f2abe8bcd..37b8e875ff 100644 --- a/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PlaneCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4PointCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointCreator.cc index 860a2f0ae9..ceb56c73ce 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PointCreator.cc,v 1.2 2000/01/21 13:46:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc index f0468f55dd..f6a4cc509a 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PointOnCurveCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc index 9687a677ea..e83e2f92b4 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PointOnSurfaceCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc index 6258e578d3..66105d4e7a 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PointReplicaCreator.cc,v 1.2 2000/01/21 13:46:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc b/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc index ea9503a268..355ad9f0bb 100644 --- a/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ProductDefinitionShapeCreator.cc,v 1.3 2000/01/21 13:46:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc index 923f0e3552..c4693a0d3a 100644 --- a/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4RationalBSplineSurfaceCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc index e6777dce8a..a9d6077ea3 100644 --- a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4RepresentationRelationshipCreator.cc,v 1.4 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4RepresentationRelationshipCreator.cc,v 1.5 2000/11/20 18:17:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -38,7 +38,6 @@ void G4RepresentationRelationshipCreator::CreateG4Geometry(STEPentity& Ent) { STEPcomplex* complexEnt = (STEPcomplex*)&Ent; - void* tmp=0; STEPentity* subEnt=0; STEPentity* subEnt1=0; STEPentity* subEnt2=0; diff --git a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc index dc7e969c5a..2fc1034bad 100644 --- a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4RepresentationRelationshipWithTransformationCreator.cc,v 1.2 2000/01/21 13:46:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc index e784a96973..1e5b8416d6 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ShapeDefinitionRepresentationCreator.cc,v 1.4 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ShapeDefinitionRepresentationCreator.cc,v 1.5 2000/11/09 16:35:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -39,6 +39,12 @@ void G4ShapeDefinitionRepresentationCreator::CreateG4Geometry(STEPentity& Ent) G4String attrName("used_representation"); STEPattribute *Attr = GetNamedAttribute(attrName, Ent); STEPentity* TmpEnt = *Attr->ptr.c; + +#ifdef G4_STEPINTERFACE_DEBUG + G4cout << "G4ShapeDefinitionRepresentationCreator: " + << TmpEnt->EntityName() << G4endl; +#endif + void *tmp =G4GeometryTable::CreateObject(*TmpEnt); G4PlacedSolid* ps = (G4PlacedSolid*)tmp; if (!tmp) @@ -47,23 +53,21 @@ void G4ShapeDefinitionRepresentationCreator::CreateG4Geometry(STEPentity& Ent) << "\tEntity NOT created." << G4endl; createdObject = ps; - /* // Output messages - G4cout<<"Shape definition representation created with " - <<"the Advanced Brep shape :"<GetSolid())->GetBBox()->GetBoxMin().x()<< " " - << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMin().y()<< " " - << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMin().z()<< G4endl; - - G4cout<< " box max: " - << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().x()<< " " - << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().y()<< " " - << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().z()<< G4endl; + G4cout <<" - BBox of the solid :" << G4endl; + G4cout << " box min: " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMin().x() << " " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMin().y() << " " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMin().z() << G4endl; + G4cout << " box max: " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().x() << " " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().y() << " " + << ((G4BREPSolid*)ps->GetSolid())->GetBBox()->GetBoxMax().z() << G4endl; */ } diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc index 290cb632fd..41839786a9 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ShapeRepresentationCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc index bda8973e34..71b8225ac1 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ShapeRepresentationRelationshipCreator.cc,v 1.2 2000/01/21 13:46:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc index b0b45d5c08..27d5e76263 100644 --- a/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SphericalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc index 0971b4df23..f395cbf9fc 100644 --- a/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ToroidalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc b/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc index eedc3c5228..6440e688b9 100644 --- a/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VectorCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc b/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc index 5073c2baf7..220037ebdf 100644 --- a/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VertexPointCreator.cc,v 1.3 2000/02/25 16:36:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/History b/source/geometry/solids/specific/History index 731c202a47..b27265c588 100644 --- a/source/geometry/solids/specific/History +++ b/source/geometry/solids/specific/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2000/06/27 16:20:11 gcosmo Exp $ +$Id: History,v 1.15 2000/11/20 18:18:57 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,35 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20-Nov-2000, G. Cosmo (geom-solids-specific-V02-00-04) +--------------------- +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +13-Nov-2000, G.Cosmo (geom-solids-specific-V02-00-03) +-------------------- +- Added definition of empty constructor for G4ClippablePolygon which + went lost by mistake... + +02-Nov-2000, G.Cosmo (geom-solids-specific-V02-00-02) +-------------------- +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Avoid inline virtual methods. + o General cosmetics for Software Reference Manual. + +23-Oct-2000, D.Williams (geom-solids-specific-V02-00-01) +----------------------- +- G4IntersectingCone.cc: the check for a zero radical has been adjusted to be + less sensitive to round off error in LineHitsCone1(), LineHitsCone2(). + This fixes a problem discovered in BaBar. + +12-Sep-2000, G.Cosmo (geom-solids-specific-V02-00-00) +-------------------- +- Organised comments to headers for Software Reference Manual. + 27-Jun-2000, G.Cosmo (geom-solids-specific-V01-01-02) -------------------- - G4Polycone[.hh.cc]: better fix for bug-report #110. diff --git a/source/geometry/solids/specific/include/G4ClippablePolygon.hh b/source/geometry/solids/specific/include/G4ClippablePolygon.hh index 707e1aa334..7859720c45 100644 --- a/source/geometry/solids/specific/include/G4ClippablePolygon.hh +++ b/source/geometry/solids/specific/include/G4ClippablePolygon.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClippablePolygon.hh,v 1.2 2000/04/18 19:06:38 davidw Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClippablePolygon.hh,v 1.4 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -19,6 +19,8 @@ // Declaration of a utility class of a polygon that can be // clipped by a voxel. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4ClippablePolygon_hh @@ -37,45 +39,74 @@ class G4VoxelLimits; #include "g4rw/tvordvec.h" typedef G4RWTValOrderedVector G4ThreeVectorList; -class G4ClippablePolygon { - public: - G4ClippablePolygon() {;} - virtual ~G4ClippablePolygon() {;} +class G4ClippablePolygon +{ + public: // with description + + G4ClippablePolygon(); + virtual ~G4ClippablePolygon(); + // Constructor & virtual destructor. virtual void AddVertexInOrder( const G4ThreeVector vertex ); virtual void ClearAllVertices(); - virtual void SetNormal( const G4ThreeVector &newNormal ) { normal = newNormal; } - virtual const G4ThreeVector GetNormal() const { return normal; } + inline void SetNormal( const G4ThreeVector &newNormal ); + inline const G4ThreeVector GetNormal() const; virtual G4bool Clip( const G4VoxelLimits &voxelLimit ); - virtual G4bool PartialClip( const G4VoxelLimits &voxelLimit, const EAxis IgnoreMe ); - - virtual void ClipAlongOneAxis( const G4VoxelLimits &voxelLimit, const EAxis axis ); - + virtual G4bool PartialClip( const G4VoxelLimits &voxelLimit, + const EAxis IgnoreMe ); + // Clip, while ignoring the indicated axis. + + virtual void ClipAlongOneAxis( const G4VoxelLimits &voxelLimit, + const EAxis axis ); + // Clip along just one axis, as specified in voxelLimit. + virtual G4bool GetExtent( const EAxis axis, G4double &min, G4double &max ) const; + virtual const G4ThreeVector *GetMinPoint( const EAxis axis ) const; + // Returns pointer to minimum point along the specified axis. + // Take care! Do not use pointer after destroying parent polygon. + virtual const G4ThreeVector *GetMaxPoint( const EAxis axis ) const; - - virtual G4int GetNumVertices() const { return vertices.entries(); } - virtual G4bool Empty() const { return vertices.entries()==0; } + // Returns pointer to maximum point along the specified axis. + // Take care! Do not use pointer after destroying parent polygon. + + inline G4int GetNumVertices() const; + inline G4bool Empty() const; virtual G4bool InFrontOf( const G4ClippablePolygon &other, EAxis axis ) const; + // Decide if the polygon is in "front" of another when + // viewed along the specified axis. For our purposes here, + // it is sufficient to use the minimum extent of the + // polygon along the axis to determine this. + virtual G4bool BehindOf( const G4ClippablePolygon &other, EAxis axis ) const; + // Decide if this polygon is behind another. + // Remarks in method "InFrontOf" are valid here too. + virtual G4bool GetPlanerExtent( const G4ThreeVector &pointOnPlane, const G4ThreeVector &planeNormal, G4double &min, G4double &max ) const; - - protected: - G4ThreeVectorList vertices; - G4ThreeVector normal; - + // Get min/max distance in or out of a plane. + + protected: // with description + void ClipToSimpleLimits( G4ThreeVectorList& pPolygon, G4ThreeVectorList& outputPolygon, const G4VoxelLimits& pVoxelLimit ); + // pVoxelLimits must be only limited along one axis, and either + // the maximum along the axis must be +kInfinity, or the minimum + // -kInfinity + protected: + + G4ThreeVectorList vertices; + G4ThreeVector normal; }; +#include "G4ClippablePolygon.icc" + #endif diff --git a/source/geometry/solids/specific/include/G4ClippablePolygon.icc b/source/geometry/solids/specific/include/G4ClippablePolygon.icc new file mode 100644 index 0000000000..a2db82cb63 --- /dev/null +++ b/source/geometry/solids/specific/include/G4ClippablePolygon.icc @@ -0,0 +1,41 @@ +// 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: G4ClippablePolygon.icc,v 1.1 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4ClippablePolygon.icc +// +// Implementation of inline methods of G4ClippablePolygon +// -------------------------------------------------------------------- + +inline +void G4ClippablePolygon::SetNormal( const G4ThreeVector &newNormal ) +{ + normal = newNormal; +} + +inline +const G4ThreeVector G4ClippablePolygon::GetNormal() const +{ + return normal; +} + +inline +G4int G4ClippablePolygon::GetNumVertices() const +{ + return vertices.entries(); +} + +inline +G4bool G4ClippablePolygon::Empty() const +{ + return vertices.entries()==0; +} diff --git a/source/geometry/solids/specific/include/G4EllipticalTube.hh b/source/geometry/solids/specific/include/G4EllipticalTube.hh index 175551ea1b..4b0e1d3ba8 100644 --- a/source/geometry/solids/specific/include/G4EllipticalTube.hh +++ b/source/geometry/solids/specific/include/G4EllipticalTube.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EllipticalTube.hh,v 1.6 2000/04/19 19:08:58 davidw Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EllipticalTube.hh,v 1.8 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -16,10 +16,17 @@ // Class description: // // Declaration of a CSG volume representing a tube with elliptical -// cross section (geant3 solid 'ELTU') +// cross section (geant3 solid 'ELTU'): +// +// G4EllipticalTube( const G4String& name, +// G4double Dx, +// G4double Dy, +// G4double Dz ) // // The equation of the surface in x/y is 1.0 = (x/dx)**2 + (y/dy)**2 +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4EllipticalTube_hh @@ -27,14 +34,16 @@ #include "G4VSolid.hh" -class G4EllipticalTube : public G4VSolid { - public: +class G4EllipticalTube : public G4VSolid +{ + public: + G4EllipticalTube( const G4String &name, - const G4double theDx, const G4double theDy, const G4double theDz ); + G4double theDx, G4double theDy, G4double theDz ); virtual ~G4EllipticalTube(); // - // Standard CSG inherited methods + // Standard CSG methods // virtual G4bool CalculateExtent( const EAxis pAxis, const G4VoxelLimits& pVoxelLimit, @@ -52,12 +61,13 @@ class G4EllipticalTube : public G4VSolid { G4bool *validNorm=0,G4ThreeVector *n=0 ) const; virtual G4double DistanceToOut( const G4ThreeVector& p ) const; - virtual G4GeometryType GetEntityType() const { return G4String("G4EllipticalTube"); } + G4GeometryType GetEntityType() const { return G4String("G4EllipticalTube"); } + // + // Visualisation methods + // virtual G4Polyhedron* CreatePolyhedron() const; - virtual void DescribeYourselfTo( G4VGraphicsScene& scene ) const; - virtual G4VisExtent GetExtent() const; @@ -72,7 +82,8 @@ class G4EllipticalTube : public G4VSolid { void SetDy( const G4double newDy ) { dy = newDy; } void SetDz( const G4double newDz ) { dz = newDz; } - protected: + protected: + G4double dx, dy, dz; // diff --git a/source/geometry/solids/specific/include/G4EnclosingCylinder.hh b/source/geometry/solids/specific/include/G4EnclosingCylinder.hh index 2efad88e50..8ad08c4a3b 100644 --- a/source/geometry/solids/specific/include/G4EnclosingCylinder.hh +++ b/source/geometry/solids/specific/include/G4EnclosingCylinder.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EnclosingCylinder.hh,v 1.1 2000/04/07 10:55:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EnclosingCylinder.hh,v 1.3 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -20,6 +20,8 @@ // is clearly outside a polyhedra or polycone or deciding if // a trajectory is clearly going to miss those shapes. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4EnclosingCylinder_hh @@ -31,17 +33,25 @@ class G4ReduciblePolygon; -class G4EnclosingCylinder { - public: +class G4EnclosingCylinder +{ + public: // with description + G4EnclosingCylinder( const G4ReduciblePolygon *rz, - const G4bool phiIsOpen, - const G4double startPhi, const G4double totalPhi ); + G4bool phiIsOpen, + G4double startPhi, G4double totalPhi ); ~G4EnclosingCylinder(); G4bool MustBeOutside( const G4ThreeVector &p ) const; + // Decide very rapidly if the point is outside the cylinder. + // If one is not certain, return false. + G4bool ShouldMiss( const G4ThreeVector &p, const G4ThreeVector &v ) const; - - protected: + // Decide very rapidly if the trajectory is going to miss the cylinder. + // If one is not sure, return false. + + protected: + G4double radius; // radius of our cylinder G4double zLo, zHi; // z extent diff --git a/source/geometry/solids/specific/include/G4Hype.hh b/source/geometry/solids/specific/include/G4Hype.hh index 55bf7489be..ea7bbccbe4 100644 --- a/source/geometry/solids/specific/include/G4Hype.hh +++ b/source/geometry/solids/specific/include/G4Hype.hh @@ -5,9 +5,9 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Hype.hh,v 1.3 2000/04/19 17:56:27 davidw Exp $ +// $Id: G4Hype.hh,v 1.4 2000/11/02 16:54:48 gcosmo Exp $ // $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -37,7 +37,7 @@ // // As inherited from G4VSolid, // -// G4Hype(const G4String &pName +// G4Hype(const G4String& pName // const G4double innerRadius // const G4double outerRadius // const G4double innerStereo @@ -54,7 +54,7 @@ // CreateRotatedVertices(const G4AffineTransform& pTransform) const // // Create the List of transformed vertices in the format required -// for G4VSolid:: ClipCrossSection and ClipBetweenSections. +// for G4VSolid::ClipCrossSection and ClipBetweenSections. // Authors: // Ernesto Lamanna (Ernesto.Lamanna@roma1.infn.it) & @@ -75,15 +75,16 @@ class G4SolidExtentList; class G4ClippablePolygon; -class G4Hype : public G4VSolid { -public: +class G4Hype : public G4VSolid +{ + public: G4Hype(const G4String &pName, - const G4double newInnerRadius, - const G4double newOuterRadius, - const G4double newInnerStereo, - const G4double newOuterStereo, - const G4double newHalfLenZ); + G4double newInnerRadius, + G4double newOuterRadius, + G4double newInnerStereo, + G4double newOuterStereo, + G4double newHalfLenZ); virtual ~G4Hype(); @@ -96,47 +97,17 @@ public: const G4AffineTransform& pTransform, G4double& pmin, G4double& pmax) const; - G4double GetInnerRadius () const { return innerRadius; } - G4double GetOuterRadius () const { return outerRadius; } - G4double GetZHalfLength () const { return halfLenZ; } - G4double GetInnerStereo () const { return innerStereo; } - G4double GetOuterStereo () const { return outerStereo; } + inline G4double GetInnerRadius () const; + inline G4double GetOuterRadius () const; + inline G4double GetZHalfLength () const; + inline G4double GetInnerStereo () const; + inline G4double GetOuterStereo () const; - void SetInnerRadius (G4double newIRad) - { - innerRadius= newIRad; - innerRadius2= newIRad*newIRad; - endInnerRadius2=HypeInnerRadius2(halfLenZ); - endInnerRadius=sqrt(endInnerRadius2); - } - - void SetOuterRadius (G4double newORad) - { - outerRadius= newORad; - outerRadius2=newORad*newORad; - endOuterRadius2=HypeOuterRadius2(halfLenZ); - endOuterRadius=sqrt(endOuterRadius2); - } - - void SetZHalfLength (G4double newHLZ) { halfLenZ = newHLZ ; } - - void SetInnerStereo (G4double newISte) - { - innerStereo= fabs(newISte); - tanInnerStereo=tan(innerStereo); - tanInnerStereo2=tanInnerStereo*tanInnerStereo; - endInnerRadius2=HypeInnerRadius2(halfLenZ); - endInnerRadius=sqrt(endInnerRadius2); - } - - void SetOuterStereo (G4double newOSte) - { - outerStereo= fabs(newOSte); - tanOuterStereo=tan(outerStereo); - tanOuterStereo2=tanOuterStereo*tanOuterStereo; - endOuterRadius2=HypeOuterRadius2(halfLenZ); - endOuterRadius=sqrt(endOuterRadius2); - } + inline void SetInnerRadius (G4double newIRad); + inline void SetOuterRadius (G4double newORad); + inline void SetZHalfLength (G4double newHLZ); + inline void SetInnerStereo (G4double newISte); + inline void SetOuterStereo (G4double newOSte); EInside Inside(const G4ThreeVector& p) const; @@ -144,36 +115,36 @@ public: G4double DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const; G4double DistanceToIn(const G4ThreeVector& p) const; - G4double DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v, + G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v, const G4bool calcNorm=G4bool(false), - G4bool *validNorm=0,G4ThreeVector *n=0) const; + G4bool *validNorm=0, G4ThreeVector *n=0) const; G4double DistanceToOut(const G4ThreeVector& p) const; - virtual G4GeometryType GetEntityType() const { return G4String("G4Hype"); } + inline G4GeometryType GetEntityType() const; - void DescribeYourselfTo (G4VGraphicsScene& scene) const; - G4VisExtent GetExtent () const; - G4Polyhedron* CreatePolyhedron () const; - G4NURBS* CreateNURBS () const; + void DescribeYourselfTo (G4VGraphicsScene& scene) const; + G4VisExtent GetExtent () const; + G4Polyhedron* CreatePolyhedron () const; + G4NURBS* CreateNURBS () const; -protected: + protected: - // whether we have an inner surface or not - G4bool InnerSurfaceExists() const { return (innerRadius > DBL_MIN) || (innerStereo != 0); } + inline G4bool InnerSurfaceExists() const; + // whether we have an inner surface or not - // approximate isotropic distance to hyperbolic surface - static G4double ApproxDistOutside( const G4double pr, const G4double pz, - const G4double r0, const G4double tanPhi ); - static G4double ApproxDistInside( const G4double pr, const G4double pz, - const G4double r0, const G4double tan2Phi ); + static G4double ApproxDistOutside( G4double pr, G4double pz, + G4double r0, G4double tanPhi ); + static G4double ApproxDistInside( G4double pr, G4double pz, + G4double r0, G4double tan2Phi ); + // approximate isotropic distance to hyperbolic surface - // values of hype radius at a given Z - G4double HypeInnerRadius2(const G4double zVal) const { return (tanInnerStereo2*zVal*zVal+innerRadius2); } - G4double HypeOuterRadius2(const G4double zVal) const { return (tanOuterStereo2*zVal*zVal+outerRadius2); } + inline G4double HypeInnerRadius2(G4double zVal) const; + inline G4double HypeOuterRadius2(G4double zVal) const; + // values of hype radius at a given Z - // intersection with hyperbolic surface static G4int IntersectHype( const G4ThreeVector &p, const G4ThreeVector &v, - const G4double r2, const G4double tan2Phi, G4double s[2] ); + G4double r2, G4double tan2Phi, G4double s[2] ); + // intersection with hyperbolic surface static void AddPolyToExtent( const G4ThreeVector &v0, const G4ThreeVector &v1, @@ -182,15 +153,17 @@ protected: const G4VoxelLimits &voxelLimit, const EAxis axis, G4SolidExtentList &extentList ); - - - G4double innerRadius; // variable names are quite self explanative + + protected: + + G4double innerRadius; G4double outerRadius; G4double halfLenZ; G4double innerStereo; G4double outerStereo; // precalculated parameters, squared quantities + G4double tanInnerStereo; G4double tanOuterStereo; G4double tanInnerStereo2; // squared tan of Inner Stereo angle @@ -203,7 +176,10 @@ protected: G4double endOuterRadius; // endcap Outer Radius // Used by distanceToOut + enum ESide {outerFace,innerFace,leftCap, rightCap}; }; - + +#include "G4Hype.icc" + #endif diff --git a/source/geometry/solids/specific/include/G4Hype.icc b/source/geometry/solids/specific/include/G4Hype.icc new file mode 100644 index 0000000000..b87e61bd8d --- /dev/null +++ b/source/geometry/solids/specific/include/G4Hype.icc @@ -0,0 +1,115 @@ +// 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: G4Hype.icc,v 1.1 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 inline definitions file +// +// G4Hype.icc +// +// Implementation of inline methods of G4Hype +// -------------------------------------------------------------------- + +inline +G4double G4Hype::GetInnerRadius () const + { + return innerRadius; + } + +inline +G4double G4Hype::GetOuterRadius () const + { + return outerRadius; + } + +inline +G4double G4Hype::GetZHalfLength () const + { + return halfLenZ; + } + +inline +G4double G4Hype::GetInnerStereo () const + { + return innerStereo; + } + +inline +G4double G4Hype::GetOuterStereo () const + { + return outerStereo; + } + +inline +void G4Hype::SetInnerRadius (G4double newIRad) + { + innerRadius= newIRad; + innerRadius2= newIRad*newIRad; + endInnerRadius2=HypeInnerRadius2(halfLenZ); + endInnerRadius=sqrt(endInnerRadius2); + } + +inline +void G4Hype::SetOuterRadius (G4double newORad) + { + outerRadius= newORad; + outerRadius2=newORad*newORad; + endOuterRadius2=HypeOuterRadius2(halfLenZ); + endOuterRadius=sqrt(endOuterRadius2); + } + +inline +void G4Hype::SetZHalfLength (G4double newHLZ) + { + halfLenZ = newHLZ ; + } + +inline +void G4Hype::SetInnerStereo (G4double newISte) + { + innerStereo= fabs(newISte); + tanInnerStereo=tan(innerStereo); + tanInnerStereo2=tanInnerStereo*tanInnerStereo; + endInnerRadius2=HypeInnerRadius2(halfLenZ); + endInnerRadius=sqrt(endInnerRadius2); + } + +inline +void G4Hype::SetOuterStereo (G4double newOSte) + { + outerStereo= fabs(newOSte); + tanOuterStereo=tan(outerStereo); + tanOuterStereo2=tanOuterStereo*tanOuterStereo; + endOuterRadius2=HypeOuterRadius2(halfLenZ); + endOuterRadius=sqrt(endOuterRadius2); + } + +inline +G4GeometryType G4Hype::GetEntityType() const + { + return G4String("G4Hype"); + } + +inline +G4bool G4Hype::InnerSurfaceExists() const + { + return (innerRadius > DBL_MIN) || (innerStereo != 0); + } + +inline +G4double G4Hype::HypeInnerRadius2(G4double zVal) const + { + return (tanInnerStereo2*zVal*zVal+innerRadius2); + } + +inline +G4double G4Hype::HypeOuterRadius2(G4double zVal) const + { + return (tanOuterStereo2*zVal*zVal+outerRadius2); + } diff --git a/source/geometry/solids/specific/include/G4IntersectingCone.hh b/source/geometry/solids/specific/include/G4IntersectingCone.hh index 71bac4215a..0e2ab5a49d 100644 --- a/source/geometry/solids/specific/include/G4IntersectingCone.hh +++ b/source/geometry/solids/specific/include/G4IntersectingCone.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4IntersectingCone.hh,v 1.1 2000/04/07 10:56:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4IntersectingCone.hh,v 1.3 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -19,7 +19,9 @@ // // Utility class which calculates the intersection // of an arbitrary line with a fixed cone -// + +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4IntersectingCone_hh @@ -29,8 +31,10 @@ #include "geomdefs.hh" #include "G4ThreeVector.hh" -class G4IntersectingCone { - public: +class G4IntersectingCone +{ + public: + G4IntersectingCone( const G4double r[2], const G4double z[2] ); virtual ~G4IntersectingCone(); @@ -45,7 +49,8 @@ class G4IntersectingCone { inline G4double ZHi() const { return zHi; } - protected: + protected: + G4double zLo, zHi, // Z bounds of side rLo, rHi; // R bounds of side diff --git a/source/geometry/solids/specific/include/G4PolyPhiFace.hh b/source/geometry/solids/specific/include/G4PolyPhiFace.hh index ed7a0fce91..045a287563 100644 --- a/source/geometry/solids/specific/include/G4PolyPhiFace.hh +++ b/source/geometry/solids/specific/include/G4PolyPhiFace.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyPhiFace.hh,v 1.1 2000/04/07 10:56:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyPhiFace.hh,v 1.3 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -18,13 +18,20 @@ // Class description: // // Definition of a face that bounds a polycone or polyhedra when -// it has a phi opening. +// it has a phi opening: +// +// G4PolyPhiFace( const G4ReduciblePolygon *rz, +// G4double phi, +// G4double deltaPhi, +// G4double phiOther ) // // Specifically: a face that lies on a plane that passes through // the z axis. It has boundaries that are straight lines of arbitrary // length and direction, but with corners aways on the same side of // the z axis. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4PolyPhiFace_hh @@ -48,24 +55,36 @@ typedef struct { G4ThreeVector norm3D; // 3D edge normal vector } G4PolyPhiFaceEdge; -class G4PolyPhiFace : public G4VCSGface { +class G4PolyPhiFace : public G4VCSGface +{ - public: - G4PolyPhiFace( const G4ReduciblePolygon *rz, - const G4double phi, const G4double deltaPhi, const G4double phiOther ); - virtual ~G4PolyPhiFace(); + public: // with description + + G4PolyPhiFace( const G4ReduciblePolygon *rz, + G4double phi, G4double deltaPhi, G4double phiOther ); + // Constructor. + // Points r,z should be supplied in clockwise order in r,z. + // For example: + // [1]---------[2] ^ R + // | | | + // | | +--> z + // [0]---------[3] + + virtual ~G4PolyPhiFace(); + // Destructor. Removes edges and corners. G4PolyPhiFace( const G4PolyPhiFace &source ); - G4PolyPhiFace *operator=( const G4PolyPhiFace &source ); - + G4PolyPhiFace& operator=( const G4PolyPhiFace &source ); + // Copy constructor and assgnment operator. + G4bool Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &allBehind ); - G4double Distance( const G4ThreeVector &p, const G4bool outgoing ); + G4double Distance( const G4ThreeVector &p, G4bool outgoing ); - EInside Inside( const G4ThreeVector &p, const G4double tolerance, + EInside Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ); G4ThreeVector Normal( const G4ThreeVector &p, G4double *bestDistance ); @@ -77,34 +96,47 @@ class G4PolyPhiFace : public G4VCSGface { const G4AffineTransform &tranform, G4SolidExtentList &extentList ); - G4VCSGface *Clone() { return new G4PolyPhiFace(*this); } - - void Diagnose( G4VSolid *solid ); - - protected: - G4PolyPhiFaceEdge *edges; // The edges of the face - G4PolyPhiFaceVertex *corners; // And the corners - G4int numEdges; // Number of edges - G4ThreeVector normal; // Normal unit vector - G4ThreeVector radial; // Unit vector along radial direction - G4ThreeVector surface; // Point on surface - G4double rMin, rMax, // Extent in r - zMin, zMax; // Extent in z - G4bool allBehind; // True if the entire polycone/polyhedra is behind the place - // of this face - - G4bool InsideEdgesExact( const G4double r, const G4double z, - const G4double normSign, const G4ThreeVector &p, const G4ThreeVector &v ); - G4bool InsideEdges( const G4double r, const G4double z ); - G4bool InsideEdges( const G4double r, const G4double z, - G4double *distRZ2, G4PolyPhiFaceVertex **base3Dnorm=0, - G4ThreeVector **head3Dnorm=0 ); + inline G4VCSGface *Clone(); + // Allocates on the heap a clone of this face. - inline G4double ExactZOrder( const G4double z, - const G4double qx, const G4double qy, const G4double qz, + public: // without description + + void Diagnose( G4VSolid *solid ); + // Throw an exception if something is found inconsistent with + // the solid. For debugging purposes only + + + protected: + + G4PolyPhiFaceEdge *edges; // The edges of the face + G4PolyPhiFaceVertex *corners; // And the corners + G4int numEdges; // Number of edges + G4ThreeVector normal; // Normal unit vector + G4ThreeVector radial; // Unit vector along radial direction + G4ThreeVector surface; // Point on surface + G4double rMin, rMax, // Extent in r + zMin, zMax; // Extent in z + G4bool allBehind; // True if the polycone/polyhedra + // is behind the place of this face + + G4bool InsideEdgesExact( G4double r, G4double z, G4double normSign, + const G4ThreeVector &p, const G4ThreeVector &v ); + // Decide if the point in r,z is inside the edges of our face, + // **but** do so consistently with other faces. + + G4bool InsideEdges( G4double r, G4double z ); + G4bool InsideEdges( G4double r, G4double z, G4double *distRZ2, + G4PolyPhiFaceVertex **base3Dnorm=0, + G4ThreeVector **head3Dnorm=0 ); + // Decide if the point in r,z is inside the edges of our face. + + inline G4double ExactZOrder( G4double z, + G4double qx, G4double qy, G4double qz, const G4ThreeVector &v, - const G4double normSign, + G4double normSign, const G4PolyPhiFaceVertex *vert ) const; + // Decide precisely whether a trajectory passes to the left, right, + // or exactly passes through the z position of a vertex point in face. void CopyStuff( const G4PolyPhiFace &source ); }; diff --git a/source/geometry/solids/specific/include/G4PolyPhiFace.icc b/source/geometry/solids/specific/include/G4PolyPhiFace.icc index ea303c1d44..b23728df65 100644 --- a/source/geometry/solids/specific/include/G4PolyPhiFace.icc +++ b/source/geometry/solids/specific/include/G4PolyPhiFace.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyPhiFace.icc,v 1.1 2000/04/07 10:57:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyPhiFace.icc,v 1.2 2000/11/02 16:54:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -17,6 +17,12 @@ // Implementation of inline methods of G4PolyPhiFace // -------------------------------------------------------------------- +inline +G4VCSGface* G4PolyPhiFace::Clone() +{ + return new G4PolyPhiFace(*this); +} + // ExactZOrder // // Decide precisely whether a trajectory passes to the left, right, or exactly @@ -29,11 +35,13 @@ // In 99.9999% of the cases, a trivial calculation is used. In difficult // cases, a precise, compliant calculation is relied on. // -inline G4double G4PolyPhiFace::ExactZOrder( const G4double z, - const G4double qx, const G4double qy, const G4double qz, - const G4ThreeVector &v, - const G4double normSign, - const G4PolyPhiFaceVertex *vert ) const { +inline +G4double G4PolyPhiFace::ExactZOrder( G4double z, + G4double qx, G4double qy, G4double qz, + const G4ThreeVector &v, + G4double normSign, + const G4PolyPhiFaceVertex *vert ) const +{ G4double answer = vert->z - z; if (fabs(answer) < kCarTolerance) { G4ThreeVector qa( qx - vert->x + radial.x(), diff --git a/source/geometry/solids/specific/include/G4Polycone.hh b/source/geometry/solids/specific/include/G4Polycone.hh index 86776c2ab5..7a343d7a84 100644 --- a/source/geometry/solids/specific/include/G4Polycone.hh +++ b/source/geometry/solids/specific/include/G4Polycone.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Polycone.hh,v 1.3 2000/06/27 16:20:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Polycone.hh,v 1.5 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -18,8 +18,25 @@ // Class description: // // Class implementing a CSG type "PCON" Geant 3.21 volume, -// inherited from class G4VCSGSolid. +// inherited from class G4VCSGSolid: +// +// G4Polycone( const G4String& name, +// G4double phiStart, // initial phi starting angle +// G4double phiTotal, // total phi angle +// G4int numZPlanes, // number of z planes +// const G4double zPlane[], // position of z planes +// const G4double rInner[], // tangent distance to inner surface +// const G4double rOuter[]) // tangent distance to outer surface +// +// G4Polycone( const G4String& name, +// G4double phiStart, // initial phi starting angle +// G4double phiTotal, // total phi angle +// G4int numRZ, // number corners in r,z space +// const G4double r[], // r coordinate of these corners +// const G4double z[]) // z coordinate of these corners +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4Polycone_hh @@ -35,21 +52,22 @@ class G4VCSGface; class G4Polycone : public G4VCSGfaceted { - public: - G4Polycone( G4String name, - const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - const G4int numZPlanes, // number of z planes - const G4double zPlane[], // position of z planes - const G4double rInner[], // tangent distance to inner surface - const G4double rOuter[] ); // tangent distance to outer surface + public: - G4Polycone( G4String name, - const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - const G4int numRZ, // number corners in r,z space - const G4double r[], // r coordinate of these corners - const G4double z[] ); // z coordinate of these corners + G4Polycone( const G4String& name, + G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4int numZPlanes, // number of z planes + const G4double zPlane[], // position of z planes + const G4double rInner[], // tangent distance to inner surface + const G4double rOuter[] ); // tangent distance to outer surface + + G4Polycone( const G4String& name, + G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4int numRZ, // number corners in r,z space + const G4double r[], // r coordinate of these corners + const G4double z[] ); // z coordinate of these corners virtual ~G4Polycone(); @@ -70,7 +88,7 @@ class G4Polycone : public G4VCSGfaceted const G4int n, const G4VPhysicalVolume* pRep); - virtual G4GeometryType GetEntityType() const { return G4String("G4Polycone"); } + G4GeometryType GetEntityType() const { return G4String("G4Polycone"); } G4Polyhedron* CreatePolyhedron() const; G4NURBS* CreateNURBS() const; @@ -82,9 +100,10 @@ class G4Polycone : public G4VCSGfaceted inline G4double GetEndPhi() const { return endPhi; } inline G4bool IsOpen() const { return phiIsOpen; } inline G4int GetNumRZCorner() const { return numCorner;} - inline G4PolyconeSideRZ GetCorner( const G4int index ) const { return corners[index]; } + inline G4PolyconeSideRZ GetCorner(G4int index) const { return corners[index]; } - protected: + protected: + // // Here are our parameters // @@ -121,9 +140,9 @@ class G4Polycone : public G4VCSGfaceted // // Generic initializer, called by all constructors // - void Create( const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - G4ReduciblePolygon *rz ); // r/z coordinate of these corners + void Create( G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4ReduciblePolygon *rz); // r/z coordinate of these corners void CopyStuff( const G4Polycone &source ); }; diff --git a/source/geometry/solids/specific/include/G4PolyconeSide.hh b/source/geometry/solids/specific/include/G4PolyconeSide.hh index 2b3677fb34..daac1d71d3 100644 --- a/source/geometry/solids/specific/include/G4PolyconeSide.hh +++ b/source/geometry/solids/specific/include/G4PolyconeSide.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyconeSide.hh,v 1.1 2000/04/07 10:57:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyconeSide.hh,v 1.3 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -18,8 +18,20 @@ // Class description: // // Class implmenting a face that represents one conical side -// of a polycone. +// of a polycone: +// +// G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, +// const G4PolyconeSideRZ *tail, +// const G4PolyconeSideRZ *head, +// const G4PolyconeSideRZ *nextRZ, +// G4double phiStart, G4double deltaPhi, +// G4bool phiIsOpen, G4bool isAllBehind=false ) +// +// Values for r1,z1 and r2,z2 should be specified in clockwise +// order in (r,z). +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4PolyconeSide_hh @@ -33,27 +45,29 @@ typedef struct { G4double r, z; // start of vector } G4PolyconeSideRZ; -class G4PolyconeSide : public G4VCSGface { - public: +class G4PolyconeSide : public G4VCSGface +{ + public: + G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, const G4PolyconeSideRZ *tail, const G4PolyconeSideRZ *head, const G4PolyconeSideRZ *nextRZ, - const G4double phiStart, const G4double deltaPhi, - const G4bool phiIsOpen, const G4bool isAllBehind=false ); + G4double phiStart, G4double deltaPhi, + G4bool phiIsOpen, G4bool isAllBehind=false ); virtual ~G4PolyconeSide(); G4PolyconeSide( const G4PolyconeSide &source ); - G4PolyconeSide *operator=( const G4PolyconeSide &source ); + G4PolyconeSide& operator=( const G4PolyconeSide &source ); G4bool Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &isAllBehind ); - G4double Distance( const G4ThreeVector &p, const G4bool outgoing ); + G4double Distance( const G4ThreeVector &p, G4bool outgoing ); - EInside Inside( const G4ThreeVector &p, const G4double tolerance, + EInside Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ); G4ThreeVector Normal( const G4ThreeVector &p, G4double *bestDistance ); @@ -67,7 +81,8 @@ class G4PolyconeSide : public G4VCSGface { G4VCSGface *Clone() { return new G4PolyconeSide( *this ); } - protected: + protected: + G4double r[2], z[2]; // r, z parameters, in specified order G4double startPhi, // Start phi (0 to 2pi), if phiIsOpen deltaPhi; // Delta phi (0 to 2pi), if phiIsOpen @@ -89,18 +104,18 @@ class G4PolyconeSide : public G4VCSGface { G4ThreeVector *corners; // The coordinates of the corners (if phiIsOpen) - G4double DistanceAway( const G4ThreeVector &p, const G4bool opposite, + G4double DistanceAway( const G4ThreeVector &p, G4bool opposite, G4double &distOutside2, G4double *rzNorm=0 ); - G4bool PointOnCone( const G4ThreeVector &hit, const G4double normSign, + G4bool PointOnCone( const G4ThreeVector &hit, G4double normSign, const G4ThreeVector &p, const G4ThreeVector &v, G4ThreeVector &normal ); void CopyStuff( const G4PolyconeSide &source ); - static void FindLineIntersect( const G4double x1, const G4double y1, - const G4double tx1, const G4double ty1, - const G4double x2, const G4double y2, - const G4double tx2, const G4double ty2, + static void FindLineIntersect( G4double x1, G4double y1, + G4double tx1, G4double ty1, + G4double x2, G4double y2, + G4double tx2, G4double ty2, G4double &x, G4double &y ); }; diff --git a/source/geometry/solids/specific/include/G4Polyhedra.hh b/source/geometry/solids/specific/include/G4Polyhedra.hh index 41f314ecc1..59aa0bc23d 100644 --- a/source/geometry/solids/specific/include/G4Polyhedra.hh +++ b/source/geometry/solids/specific/include/G4Polyhedra.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Polyhedra.hh,v 1.2 2000/06/26 09:54:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Polyhedra.hh,v 1.4 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -18,8 +18,27 @@ // Class description: // // Class implementing a CSG type "PGON" Geant 3.21 volume, -// inherited from class G4CSGSolid. +// inherited from class G4CSGSolid: +// +// G4Polyhedra( const G4String& name, +// G4double phiStart, - initial phi starting angle +// G4double phiTotal, - total phi angle +// G4int numSide, - number sides +// G4int numZPlanes, - number of z planes +// const G4double zPlane[], - position of z planes +// const G4double rInner[], - tangent distance to inner surface +// const G4double rOuter[] ) - tangent distance to outer surface +// +// G4Polyhedra( const G4String& name, +// G4double phiStart, - initial phi starting angle +// G4double phiTotal, - total phi angle +// G4int numSide, - number sides +// G4int numRZ, - number corners in r,z space +// const G4double r[], - r coordinate of these corners +// const G4double z[] ) - z coordinate of these corners +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4Polyhedra_hh @@ -31,24 +50,26 @@ class G4EnclosingCylinder; class G4ReduciblePolygon; -class G4Polyhedra : public G4VCSGfaceted { - public: - G4Polyhedra( G4String name, - const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - const G4int numSide, // number sides - const G4int numZPlanes, // number of z planes - const G4double zPlane[], // position of z planes - const G4double rInner[], // tangent distance to inner surface - const G4double rOuter[] ); // tangent distance to outer surface +class G4Polyhedra : public G4VCSGfaceted +{ + public: - G4Polyhedra( G4String name, - const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - const G4int numSide, // number sides - const G4int numRZ, // number corners in r,z space - const G4double r[], // r coordinate of these corners - const G4double z[] ); // z coordinate of these corners + G4Polyhedra( const G4String& name, + G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4int numSide, // number sides + G4int numZPlanes, // number of z planes + const G4double zPlane[], // position of z planes + const G4double rInner[], // tangent distance to inner surface + const G4double rOuter[] ); // tangent distance to outer surface + + G4Polyhedra( const G4String& name, + G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4int numSide, // number sides + G4int numRZ, // number corners in r,z space + const G4double r[], // r coordinate of these corners + const G4double z[] ); // z coordinate of these corners virtual ~G4Polyhedra(); @@ -116,9 +137,9 @@ class G4Polyhedra : public G4VCSGfaceted { // // Generic initializer, call by all constructors // - void Create( const G4double phiStart, // initial phi starting angle - const G4double phiTotal, // total phi angle - const G4int numSide, // number sides + void Create( G4double phiStart, // initial phi starting angle + G4double phiTotal, // total phi angle + G4int numSide, // number sides G4ReduciblePolygon *rz ); // rz coordinates void CopyStuff( const G4Polyhedra &source ); diff --git a/source/geometry/solids/specific/include/G4PolyhedraSide.hh b/source/geometry/solids/specific/include/G4PolyhedraSide.hh index 021cc83dcd..9ed12fd644 100644 --- a/source/geometry/solids/specific/include/G4PolyhedraSide.hh +++ b/source/geometry/solids/specific/include/G4PolyhedraSide.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyhedraSide.hh,v 1.1 2000/04/07 10:58:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyhedraSide.hh,v 1.3 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -18,8 +18,21 @@ // Class description: // // Class implementing a face that represents one segmented side -// of a polyhedra. +// of a polyhedra: +// +// G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, +// const G4PolyhedraSideRZ *tail, +// const G4PolyhedraSideRZ *head, +// const G4PolyhedraSideRZ *nextRZ, +// G4int numSide, +// G4double phiStart, G4double phiTotal, +// G4bool phiIsOpen, G4bool isAllBehind=false ) +// +// Values for r1,z1 and r2,z2 should be specified in clockwise +// order in (r,z). +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4PolyhedraSide_hh @@ -33,28 +46,31 @@ typedef struct { G4double r, z; // start of vector } G4PolyhedraSideRZ; -class G4PolyhedraSide : public G4VCSGface { - public: +class G4PolyhedraSide : public G4VCSGface +{ + + public: + G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, const G4PolyhedraSideRZ *tail, const G4PolyhedraSideRZ *head, const G4PolyhedraSideRZ *nextRZ, - const G4int numSide, - const G4double phiStart, const G4double phiTotal, - const G4bool phiIsOpen, const G4bool isAllBehind=false ); + G4int numSide, + G4double phiStart, G4double phiTotal, + G4bool phiIsOpen, G4bool isAllBehind=false ); virtual ~G4PolyhedraSide(); G4PolyhedraSide( const G4PolyhedraSide &source ); - G4PolyhedraSide *operator=( const G4PolyhedraSide &source ); + G4PolyhedraSide& operator=( const G4PolyhedraSide &source ); G4bool Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &allBehind ); - G4double Distance( const G4ThreeVector &p, const G4bool outgoing ); + G4double Distance( const G4ThreeVector &p, G4bool outgoing ); - EInside Inside( const G4ThreeVector &p, const G4double tolerance, + EInside Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ); G4ThreeVector Normal( const G4ThreeVector &p, G4double *bestDistance ); @@ -68,7 +84,8 @@ class G4PolyhedraSide : public G4VCSGface { G4VCSGface *Clone() { return new G4PolyhedraSide( *this ); } - protected: + protected: + // // A couple internal data structures // @@ -109,16 +126,16 @@ class G4PolyhedraSide : public G4VCSGface { G4bool IntersectSidePlane( const G4ThreeVector &p, const G4ThreeVector &v, const G4PolyhedraSideVec vec, - const G4double normSign, - const G4double surfTolerance, + G4double normSign, + G4double surfTolerance, G4double &distance, G4double &distFromSurface ); G4int LineHitsSegments( const G4ThreeVector &p, const G4ThreeVector &v, G4int *i1, G4int *i2 ); - G4int ClosestPhiSegment( const G4double phi ); + G4int ClosestPhiSegment( G4double phi ); - G4int PhiSegment( const G4double phi ); + G4int PhiSegment( G4double phi ); G4double DistanceToOneSide( const G4ThreeVector &p, const G4PolyhedraSideVec &vec, diff --git a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh index 10b4eb87e8..47735b777e 100644 --- a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh +++ b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ReduciblePolygon.hh,v 1.1 2000/04/07 10:58:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ReduciblePolygon.hh,v 1.3 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -32,6 +32,8 @@ // The set of manipulations is limited currently to what // is needed for G4Polycone and G4Polyhedra. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4ReduciblePolygon_hh @@ -39,21 +41,23 @@ #include "globals.hh" -class G4ReduciblePolygon { - friend class G4ReduciblePolygonIterator; +class G4ReduciblePolygon +{ + friend class G4ReduciblePolygonIterator; - public: + public: // // Creator: via simple a/b arrays // - G4ReduciblePolygon( const G4double a[], const G4double b[], const G4int n ); + G4ReduciblePolygon( const G4double a[], const G4double b[], G4int n ); // // Creator: a special version for G4Polygon and G4Polycone // that takes two a points at planes of b // (where a==r and b==z for the GEANT3 classic PCON and PGON) // - G4ReduciblePolygon( const G4double rmin[], const G4double rmax[], const G4double z[], const G4int n ); + G4ReduciblePolygon( const G4double rmin[], const G4double rmax[], + const G4double z[], G4int n ); virtual ~G4ReduciblePolygon(); @@ -72,11 +76,11 @@ class G4ReduciblePolygon { // // Manipulations // - void ScaleA( const G4double scale ); - void ScaleB( const G4double scale ); + void ScaleA( G4double scale ); + void ScaleB( G4double scale ); - G4bool RemoveDuplicateVertices( const G4double tolerance ); - G4bool RemoveRedundantVertices( const G4double tolerance ); + G4bool RemoveDuplicateVertices( G4double tolerance ); + G4bool RemoveRedundantVertices( G4double tolerance ); void ReverseOrder(); @@ -84,15 +88,15 @@ class G4ReduciblePolygon { // Tests // G4double Area(); - G4bool CrossesItself( const G4double tolerance ); - G4bool BisectedBy( const G4double a1, const G4double b1, - const G4double a2, const G4double b2, const G4double tolerance ); + G4bool CrossesItself( G4double tolerance ); + G4bool BisectedBy( G4double a1, G4double b1, + G4double a2, G4double b2, G4double tolerance ); void Print(); // Debugging only - protected: + protected: - void Create( const G4double a[], const G4double b[], const G4int n ); + void Create( const G4double a[], const G4double b[], G4int n ); void CalculateMaxMin(); @@ -116,6 +120,12 @@ class G4ReduciblePolygon { }; ABVertex *vertexHead; + + private: + + G4ReduciblePolygon(const G4ReduciblePolygon&); + G4ReduciblePolygon& operator=(const G4ReduciblePolygon&); + // Private copy constructor and assignment operator. }; @@ -123,21 +133,25 @@ class G4ReduciblePolygon { // A companion class for iterating over the vertices of our polygon. // It is simple enough that all routines are declared inline here. // -class G4ReduciblePolygonIterator { - public: - G4ReduciblePolygonIterator( const G4ReduciblePolygon *theSubject ) { subject = theSubject; current=0; } +class G4ReduciblePolygonIterator +{ + public: + + G4ReduciblePolygonIterator( const G4ReduciblePolygon *theSubject ) + { subject = theSubject; current=0; } - inline void Begin() { current = subject->vertexHead; } - inline G4bool Next() { if (current) current = current->next; return Valid(); } + void Begin() { current = subject->vertexHead; } + G4bool Next() { if (current) current=current->next; return Valid(); } - inline G4bool Valid() const { return current!=0; } + G4bool Valid() const { return current!=0; } - inline G4double GetA() const { return current->a; } - inline G4double GetB() const { return current->b; } + G4double GetA() const { return current->a; } + G4double GetB() const { return current->b; } - protected: - const G4ReduciblePolygon *subject; // Who are we iterating over - G4ReduciblePolygon::ABVertex *current; // Current vertex + protected: + + const G4ReduciblePolygon *subject; // Who are we iterating over + G4ReduciblePolygon::ABVertex *current; // Current vertex }; #endif diff --git a/source/geometry/solids/specific/include/G4SolidExtentList.hh b/source/geometry/solids/specific/include/G4SolidExtentList.hh index b4c5d04b2e..b8b3edda70 100644 --- a/source/geometry/solids/specific/include/G4SolidExtentList.hh +++ b/source/geometry/solids/specific/include/G4SolidExtentList.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4SolidExtentList.hh,v 1.1 2000/04/07 10:58:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4SolidExtentList.hh,v 1.3 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -23,6 +23,8 @@ // to calculate the extent of a CSG solid for a voxel // (G4VSolid::CalculateExtent). +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4SolidExtentList_hh @@ -32,8 +34,9 @@ #include "G4ClippablePolygon.hh" -class G4SolidExtentList { - public: +class G4SolidExtentList +{ + public: G4SolidExtentList(); G4SolidExtentList( const EAxis targetAxis, const G4VoxelLimits &voxelLimits ); @@ -51,10 +54,10 @@ class G4SolidExtentList { G4double minLimit; // ... min limit G4double maxLimit; // ... max limit - G4ClippablePolygon minSurface, // Minimum surface within limits - maxSurface, // Maximum - minAbove, // Minimum surface totally above max limit - maxBelow; // Maximum surface totally below min limit + G4ClippablePolygon minSurface, // Minimum surface within limits + maxSurface, // Maximum + minAbove, // Minimum surface totally above max limit + maxBelow; // Maximum surface totally below min limit }; diff --git a/source/geometry/solids/specific/include/G4VCSGface.hh b/source/geometry/solids/specific/include/G4VCSGface.hh index 8f9968e6ea..329801ad00 100644 --- a/source/geometry/solids/specific/include/G4VCSGface.hh +++ b/source/geometry/solids/specific/include/G4VCSGface.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VCSGface.hh,v 1.1 2000/04/07 10:59:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VCSGface.hh,v 1.3 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -27,8 +27,8 @@ // Virtual members: // // ------------------------------------------------------------------- -// Intersect( const G4ThreeVector &p, const G4ThreeVector &v, const G4bool outGoing, const G4double surfTolerance, -// const G4bool outgoing, const G4double surfTolerance, +// Intersect( const G4ThreeVector &p, const G4ThreeVector &v, +// G4bool outGoing, G4double surfTolerance, // G4double &distance, G4double &distFromSurface, // G4ThreeVector &normal, G4bool &allBehind ); // @@ -237,6 +237,8 @@ // and save the answer that is smallest. If there is more than one answer, // or if allBehind is false for the one answer, return validNorm as false. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4VCSGface_hh @@ -252,19 +254,21 @@ class G4VoxelLimits; class G4AffineTransform; class G4SolidExtentList; -class G4VCSGface { - public: +class G4VCSGface +{ + public: + G4VCSGface() {;} virtual ~G4VCSGface() {;} virtual G4bool Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &allBehind ) = 0; - virtual G4double Distance( const G4ThreeVector &p, const G4bool outgoing ) = 0; + virtual G4double Distance( const G4ThreeVector &p, G4bool outgoing ) = 0; - virtual EInside Inside( const G4ThreeVector &p, const G4double tolerance, + virtual EInside Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ) = 0; virtual G4ThreeVector Normal( const G4ThreeVector &p, G4double *bestDistance ) = 0; diff --git a/source/geometry/solids/specific/include/G4VCSGfaceted.hh b/source/geometry/solids/specific/include/G4VCSGfaceted.hh index 467d1b626f..b700726267 100644 --- a/source/geometry/solids/specific/include/G4VCSGfaceted.hh +++ b/source/geometry/solids/specific/include/G4VCSGfaceted.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VCSGfaceted.hh,v 1.3 2000/04/19 17:56:29 davidw Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VCSGfaceted.hh,v 1.5 2000/11/02 16:54:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -20,6 +20,8 @@ // Virtual class defining CSG type shape that is built entire // of G4CSGface faces. +// Author: +// David C. Williams (davidw@scipp.ucsc.edu) // -------------------------------------------------------------------- #ifndef G4VCSGfaceted_hh @@ -32,7 +34,8 @@ class G4VisExtent; class G4VCSGfaceted : public G4VSolid { - public: + public: + G4VCSGfaceted( G4String name) : G4VSolid(name) {;} virtual ~G4VCSGfaceted(); @@ -55,7 +58,7 @@ class G4VCSGfaceted : public G4VSolid G4bool *validNorm=0,G4ThreeVector *n=0 ) const; virtual G4double DistanceToOut( const G4ThreeVector& p ) const; - virtual G4GeometryType GetEntityType() const { return G4String("G4CSGfaceted"); } + G4GeometryType GetEntityType() const { return G4String("G4CSGfaceted"); } virtual G4Polyhedron* CreatePolyhedron() const = 0; diff --git a/source/geometry/solids/specific/src/G4ClippablePolygon.cc b/source/geometry/solids/specific/src/G4ClippablePolygon.cc index 2100012e78..81bde7409b 100644 --- a/source/geometry/solids/specific/src/G4ClippablePolygon.cc +++ b/source/geometry/solids/specific/src/G4ClippablePolygon.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ClippablePolygon.cc,v 1.2 2000/04/18 19:07:11 davidw Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ClippablePolygon.cc,v 1.4 2000/11/13 08:11:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -23,6 +23,20 @@ #include "G4VoxelLimits.hh" +// +// Constructor +// +G4ClippablePolygon::G4ClippablePolygon() +{ +} + +// +// Destructor +// +G4ClippablePolygon::~G4ClippablePolygon() +{ +} + // // AddVertexInOrder // diff --git a/source/geometry/solids/specific/src/G4EllipticalTube.cc b/source/geometry/solids/specific/src/G4EllipticalTube.cc index e9da90f9ea..558d597cea 100644 --- a/source/geometry/solids/specific/src/G4EllipticalTube.cc +++ b/source/geometry/solids/specific/src/G4EllipticalTube.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EllipticalTube.cc,v 1.7 2000/04/19 19:09:07 davidw Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EllipticalTube.cc,v 1.9 2000/11/20 18:18:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -35,8 +35,8 @@ // Constructor // G4EllipticalTube::G4EllipticalTube( const G4String &name, - const G4double theDx, const G4double theDy, const G4double theDz ) - : G4VSolid( name ) + G4double theDx, G4double theDy, G4double theDz ) + : G4VSolid( name ) { dx = theDx; dy = theDy; @@ -182,7 +182,7 @@ EInside G4EllipticalTube::Inside( const G4ThreeVector& p) const // // Check x,y: are we outside? // - G4double x = p.x(), y = p.y(); + // G4double x = p.x(), y = p.y(); if (CheckXY(p.x(), p.y(), +halfTol) > 1.0) return kOutside; @@ -459,7 +459,7 @@ G4double G4EllipticalTube::DistanceToOut( const G4ThreeVector& p,const G4ThreeVe if (calcNorm) *validNorm = true; G4double sBest = kInfinity; - const G4ThreeVector *nBest; + const G4ThreeVector *nBest=0; // // Might we intersect the -dz surface? diff --git a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc index d20408806e..4186a39f57 100644 --- a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc +++ b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4EnclosingCylinder.cc,v 1.1 2000/04/07 11:00:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4EnclosingCylinder.cc,v 1.2 2000/11/02 16:54:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -26,8 +26,9 @@ // Constructor // G4EnclosingCylinder::G4EnclosingCylinder( const G4ReduciblePolygon *rz, - const G4bool thePhiIsOpen, - const G4double theStartPhi, const G4double theTotalPhi ) + G4bool thePhiIsOpen, + G4double theStartPhi, + G4double theTotalPhi ) { // // Obtain largest r and smallest and largest z @@ -39,7 +40,9 @@ G4EnclosingCylinder::G4EnclosingCylinder( const G4ReduciblePolygon *rz, // // Save phi info // - if ( phiIsOpen = thePhiIsOpen ) { + phiIsOpen = thePhiIsOpen; + if ( phiIsOpen ) + { startPhi = theStartPhi; totalPhi = theTotalPhi; diff --git a/source/geometry/solids/specific/src/G4Hype.cc b/source/geometry/solids/specific/src/G4Hype.cc index 9ecf52da04..da4d35eefc 100644 --- a/source/geometry/solids/specific/src/G4Hype.cc +++ b/source/geometry/solids/specific/src/G4Hype.cc @@ -5,9 +5,9 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Hype.cc,v 1.3 2000/04/19 17:56:44 davidw Exp $ +// $Id: G4Hype.cc,v 1.5 2000/11/20 18:18:58 gcosmo Exp $ // $Original: G4Hype.cc,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -54,11 +54,11 @@ // Constructor - check parameters, and fills protected data members G4Hype::G4Hype(const G4String& pName, - const G4double newInnerRadius, - const G4double newOuterRadius, - const G4double newInnerStereo, - const G4double newOuterStereo, - const G4double newHalfLenZ) : G4VSolid(pName) + G4double newInnerRadius, + G4double newOuterRadius, + G4double newInnerStereo, + G4double newOuterStereo, + G4double newHalfLenZ) : G4VSolid(pName) { // Check z-len if (newHalfLenZ>0) @@ -156,7 +156,7 @@ G4bool G4Hype::CalculateExtent( const EAxis axis, // G4bool splitOuter = (outerRadius/endOuterRadius < 0.95); - G4bool splitInner; + G4bool splitInner = 0; if (InnerSurfaceExists()) { splitInner = (innerRadius/endInnerRadius < 0.95); } @@ -186,7 +186,7 @@ G4bool G4Hype::CalculateExtent( const EAxis axis, transform.ApplyPointTransform( v0 ); transform.ApplyPointTransform( v1 ); - G4double zInnerSplit; + G4double zInnerSplit=0.; if (InnerSurfaceExists()) { if (splitInner) { v2 = transform.TransformPoint( @@ -1046,7 +1046,7 @@ G4NURBS* G4Hype::CreateNURBS () const // // G4int G4Hype::IntersectHype( const G4ThreeVector &p, const G4ThreeVector &v, - const G4double r2, const G4double tan2Phi, G4double s[2] ) + G4double r2, G4double tan2Phi, G4double s[2] ) { G4double x0 = p.x(), y0 = p.y(), z0 = p.z(); G4double tx = v.x(), ty = v.y(), tz = v.z(); @@ -1110,8 +1110,8 @@ G4int G4Hype::IntersectHype( const G4ThreeVector &p, const G4ThreeVector &v, // the z position on the asymptotic limit line that // contains the normal on the line through the point p. // -G4double G4Hype::ApproxDistOutside( const G4double pr, const G4double pz, - const G4double r0, const G4double tanPhi ) +G4double G4Hype::ApproxDistOutside( G4double pr, G4double pz, + G4double r0, G4double tanPhi ) { if (tanPhi < DBL_MIN) return pr-r0; @@ -1167,8 +1167,8 @@ G4double G4Hype::ApproxDistOutside( const G4double pr, const G4double pz, // // Assumes pr and pz are positive // -G4double G4Hype::ApproxDistInside( const G4double pr, const G4double pz, - const G4double r0, const G4double tan2Phi ) +G4double G4Hype::ApproxDistInside( G4double pr, G4double pz, + G4double r0, G4double tan2Phi ) { if (tan2Phi < DBL_MIN) return r0 - pr; diff --git a/source/geometry/solids/specific/src/G4IntersectingCone.cc b/source/geometry/solids/specific/src/G4IntersectingCone.cc index 7bf6add587..6939056b1e 100644 --- a/source/geometry/solids/specific/src/G4IntersectingCone.cc +++ b/source/geometry/solids/specific/src/G4IntersectingCone.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4IntersectingCone.cc,v 1.1 2000/04/07 11:01:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4IntersectingCone.cc,v 1.2 2000/10/20 16:02:30 davidw Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -179,7 +179,7 @@ G4int G4IntersectingCone::LineHitsCone1( const G4ThreeVector &p, const G4ThreeVe if (radical < -1E-6) return 0; // No solution - if (radical < 1E-6) { + if (radical < 1E-6*fabs(b)) { // // The radical is roughly zero: check for special, very rare, cases // @@ -271,7 +271,7 @@ G4int G4IntersectingCone::LineHitsCone2( const G4ThreeVector &p, const G4ThreeVe if (radical < -1E-6) return 0; // No solution - if (radical < 1E-6) { + if (radical < 1E-6*fabs(b)) { // // The radical is roughly zero: check for special, very rare, cases // diff --git a/source/geometry/solids/specific/src/G4PolyPhiFace.cc b/source/geometry/solids/specific/src/G4PolyPhiFace.cc index 3a5ee90e46..e7faf69f96 100644 --- a/source/geometry/solids/specific/src/G4PolyPhiFace.cc +++ b/source/geometry/solids/specific/src/G4PolyPhiFace.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyPhiFace.cc,v 1.1 2000/04/07 11:01:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyPhiFace.cc,v 1.3 2000/11/20 18:18:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -36,8 +36,8 @@ // | | +--> z // [0]---------[3] // -G4PolyPhiFace::G4PolyPhiFace( const G4ReduciblePolygon *rz, const G4double phi, - const G4double deltaPhi, const G4double phiOther ) +G4PolyPhiFace::G4PolyPhiFace( const G4ReduciblePolygon *rz, G4double phi, + G4double deltaPhi, G4double phiOther ) { numEdges = rz->NumVertices(); @@ -251,16 +251,16 @@ G4PolyPhiFace::G4PolyPhiFace( const G4PolyPhiFace &source ) // // Assignment operator // -G4PolyPhiFace *G4PolyPhiFace::operator=( const G4PolyPhiFace &source ) +G4PolyPhiFace& G4PolyPhiFace::operator=( const G4PolyPhiFace &source ) { - if (this == &source) return this; + if (this == &source) return *this; delete [] edges; delete [] corners; CopyStuff( source ); - return this; + return *this; } @@ -313,7 +313,7 @@ void G4PolyPhiFace::CopyStuff( const G4PolyPhiFace &source ) // Intersect // G4bool G4PolyPhiFace::Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &aNormal, G4bool &isAllBehind ) { @@ -365,7 +365,7 @@ G4bool G4PolyPhiFace::Intersect( const G4ThreeVector &p, const G4ThreeVector &v, // // Distance // -G4double G4PolyPhiFace::Distance( const G4ThreeVector &p, const G4bool outgoing ) +G4double G4PolyPhiFace::Distance( const G4ThreeVector &p, G4bool outgoing ) { G4double normSign = outgoing ? +1 : -1; // @@ -407,7 +407,7 @@ G4double G4PolyPhiFace::Distance( const G4ThreeVector &p, const G4bool outgoing // // Inside // -EInside G4PolyPhiFace::Inside( const G4ThreeVector &p, const G4double tolerance, +EInside G4PolyPhiFace::Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ) { // @@ -590,8 +590,8 @@ void G4PolyPhiFace::CalculateExtent( const EAxis axis, // See: "Computational Geometry in C (Second Edition)" // http://cs.smith.edu/~orourke/ // -G4bool G4PolyPhiFace::InsideEdgesExact( const G4double r, const G4double z, - const G4double normSign, const G4ThreeVector &p, const G4ThreeVector &v ) +G4bool G4PolyPhiFace::InsideEdgesExact( G4double r, G4double z, G4double normSign, + const G4ThreeVector &p, const G4ThreeVector &v ) { // // Quick check of extent @@ -720,7 +720,7 @@ G4bool G4PolyPhiFace::InsideEdgesExact( const G4double r, const G4double z, // calculate the distance to the shape. I left it in here because ... // well ... to test it better. // -G4bool G4PolyPhiFace::InsideEdges( const G4double r, const G4double z ) +G4bool G4PolyPhiFace::InsideEdges( G4double r, G4double z ) { // // Quick check of extent @@ -742,13 +742,13 @@ G4bool G4PolyPhiFace::InsideEdges( const G4double r, const G4double z ) // // Decide if the point in r,z is inside the edges of our face // -G4bool G4PolyPhiFace::InsideEdges( const G4double r, const G4double z, +G4bool G4PolyPhiFace::InsideEdges( G4double r, G4double z, G4double *bestDist2, G4PolyPhiFaceVertex **base3Dnorm, G4ThreeVector **head3Dnorm ) { G4double bestDistance2 = kInfinity; - G4bool answer; + G4bool answer = 0; G4PolyPhiFaceEdge *edge = edges; do { diff --git a/source/geometry/solids/specific/src/G4Polycone.cc b/source/geometry/solids/specific/src/G4Polycone.cc index 6e0814263a..e457e32e29 100644 --- a/source/geometry/solids/specific/src/G4Polycone.cc +++ b/source/geometry/solids/specific/src/G4Polycone.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Polycone.cc,v 1.3 2000/06/27 16:20:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Polycone.cc,v 1.4 2000/11/02 16:54:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -31,10 +31,10 @@ // // Constructor (GEANT3 style parameters) // -G4Polycone::G4Polycone( G4String name, - const G4double phiStart, - const G4double phiTotal, - const G4int numZPlanes, +G4Polycone::G4Polycone( const G4String& name, + G4double phiStart, + G4double phiTotal, + G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[] ) : G4VCSGfaceted( name ) @@ -74,10 +74,10 @@ G4Polycone::G4Polycone( G4String name, // // Constructor (generic parameters) // -G4Polycone::G4Polycone( G4String name, - const G4double phiStart, - const G4double phiTotal, - const G4int numRZ, +G4Polycone::G4Polycone( const G4String& name, + G4double phiStart, + G4double phiTotal, + G4int numRZ, const G4double r[], const G4double z[] ) : G4VCSGfaceted( name ) { @@ -96,8 +96,8 @@ G4Polycone::G4Polycone( G4String name, // // Generic create routine, called by each constructor after conversion of arguments // -void G4Polycone::Create( const G4double phiStart, - const G4double phiTotal, +void G4Polycone::Create( G4double phiStart, + G4double phiTotal, G4ReduciblePolygon *rz ) { // diff --git a/source/geometry/solids/specific/src/G4PolyconeSide.cc b/source/geometry/solids/specific/src/G4PolyconeSide.cc index e6eaa8531c..3081e6a755 100644 --- a/source/geometry/solids/specific/src/G4PolyconeSide.cc +++ b/source/geometry/solids/specific/src/G4PolyconeSide.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyconeSide.cc,v 1.1 2000/04/07 11:02:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyconeSide.cc,v 1.3 2000/11/20 18:18:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -36,10 +36,10 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, const G4PolyconeSideRZ *tail, const G4PolyconeSideRZ *head, const G4PolyconeSideRZ *nextRZ, - const G4double thePhiStart, - const G4double theDeltaPhi, - const G4bool thePhiIsOpen, - const G4bool isAllBehind ) + G4double thePhiStart, + G4double theDeltaPhi, + G4bool thePhiIsOpen, + G4bool isAllBehind ) { // // Record values @@ -140,16 +140,16 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSide &source ) // // Assignment operator // -G4PolyconeSide *G4PolyconeSide::operator=( const G4PolyconeSide &source ) +G4PolyconeSide& G4PolyconeSide::operator=( const G4PolyconeSide &source ) { - if (this == &source) return this; + if (this == &source) return *this; delete cone; if (phiIsOpen) delete [] corners; CopyStuff( source ); - return this; + return *this; } @@ -200,7 +200,7 @@ void G4PolyconeSide::CopyStuff( const G4PolyconeSide &source ) // Intersect // G4bool G4PolyconeSide::Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &isAllBehind ) { @@ -312,7 +312,7 @@ G4bool G4PolyconeSide::Intersect( const G4ThreeVector &p, const G4ThreeVector &v } -G4double G4PolyconeSide::Distance( const G4ThreeVector &p, const G4bool outgoing ) +G4double G4PolyconeSide::Distance( const G4ThreeVector &p, G4bool outgoing ) { G4double normSign = outgoing ? -1 : +1; G4double distFrom, distOut2; @@ -350,7 +350,7 @@ G4double G4PolyconeSide::Distance( const G4ThreeVector &p, const G4bool outgoing // // Inside // -EInside G4PolyconeSide::Inside( const G4ThreeVector &p, const G4double tolerance, +EInside G4PolyconeSide::Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ) { // @@ -629,7 +629,6 @@ void G4PolyconeSide::CalculateExtent( const EAxis axis, } do { - G4double min, max; phi += sigPhi; if (numPhi == 1) phi = startPhi+deltaPhi; // Try to avoid roundoff @@ -703,7 +702,6 @@ void G4PolyconeSide::CalculateExtent( const EAxis axis, // Add two additional faces if necessary // if (phiIsOpen && rNorm > DBL_MIN) { - G4double min, max; G4double cosPhi = cos(startPhi), sinPhi = sin(startPhi); @@ -784,7 +782,7 @@ void G4PolyconeSide::CalculateExtent( const EAxis axis, // Notes: // * There are two answers, depending on which hemisphere is considered. // -G4double G4PolyconeSide::DistanceAway( const G4ThreeVector &p, const G4bool opposite, +G4double G4PolyconeSide::DistanceAway( const G4ThreeVector &p, G4bool opposite, G4double &distOutside2, G4double *edgeRZnorm ) { // @@ -859,7 +857,7 @@ G4double G4PolyconeSide::DistanceAway( const G4ThreeVector &p, const G4bool oppo // // Decide if a point is on a cone and return normal if it is // -G4bool G4PolyconeSide::PointOnCone( const G4ThreeVector &hit, const G4double normSign, +G4bool G4PolyconeSide::PointOnCone( const G4ThreeVector &hit, G4double normSign, const G4ThreeVector &p, const G4ThreeVector &v, G4ThreeVector &normal ) { @@ -923,11 +921,11 @@ G4bool G4PolyconeSide::PointOnCone( const G4ThreeVector &hit, const G4double nor // // It is assumed that the lines are *not* parallel // -void G4PolyconeSide::FindLineIntersect( const G4double x1, const G4double y1, - const G4double tx1, const G4double ty1, - const G4double x2, const G4double y2, - const G4double tx2, const G4double ty2, - G4double &x, G4double &y ) +void G4PolyconeSide::FindLineIntersect( G4double x1, G4double y1, + G4double tx1, G4double ty1, + G4double x2, G4double y2, + G4double tx2, G4double ty2, + G4double &x, G4double &y ) { // // The solution is a simple linear equation diff --git a/source/geometry/solids/specific/src/G4Polyhedra.cc b/source/geometry/solids/specific/src/G4Polyhedra.cc index 00fe837ac1..cf9fbe5225 100644 --- a/source/geometry/solids/specific/src/G4Polyhedra.cc +++ b/source/geometry/solids/specific/src/G4Polyhedra.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Polyhedra.cc,v 1.1 2000/04/07 11:02:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Polyhedra.cc,v 1.2 2000/11/02 16:54:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -49,11 +49,11 @@ // // GEANT3 PGON radii are specified in the distance to the norm of each face. // -G4Polyhedra::G4Polyhedra( G4String name, - const G4double phiStart, - const G4double thePhiTotal, - const G4int theNumSide, - const G4int numZPlanes, +G4Polyhedra::G4Polyhedra( const G4String& name, + G4double phiStart, + G4double thePhiTotal, + G4int theNumSide, + G4int numZPlanes, const G4double zPlane[], const G4double rInner[], const G4double rOuter[] ) : G4VCSGfaceted( name ) @@ -106,11 +106,11 @@ G4Polyhedra::G4Polyhedra( G4String name, // // Constructor (generic parameters) // -G4Polyhedra::G4Polyhedra( G4String name, - const G4double phiStart, - const G4double phiTotal, - const G4int theNumSide, - const G4int numRZ, +G4Polyhedra::G4Polyhedra( const G4String& name, + G4double phiStart, + G4double phiTotal, + G4int theNumSide, + G4int numRZ, const G4double r[], const G4double z[] ) : G4VCSGfaceted( name ) { @@ -129,9 +129,9 @@ G4Polyhedra::G4Polyhedra( G4String name, // // Generic create routine, called by each constructor after conversion of arguments // -void G4Polyhedra::Create( const G4double phiStart, - const G4double phiTotal, - const G4int theNumSide, +void G4Polyhedra::Create( G4double phiStart, + G4double phiTotal, + G4int theNumSide, G4ReduciblePolygon *rz ) { // diff --git a/source/geometry/solids/specific/src/G4PolyhedraSide.cc b/source/geometry/solids/specific/src/G4PolyhedraSide.cc index e2a8557e61..f637d7aecf 100644 --- a/source/geometry/solids/specific/src/G4PolyhedraSide.cc +++ b/source/geometry/solids/specific/src/G4PolyhedraSide.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PolyhedraSide.cc,v 1.1 2000/04/07 11:02:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PolyhedraSide.cc,v 1.3 2000/11/20 18:19:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -35,11 +35,11 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, const G4PolyhedraSideRZ *tail, const G4PolyhedraSideRZ *head, const G4PolyhedraSideRZ *nextRZ, - const G4int theNumSide, - const G4double thePhiStart, - const G4double thePhiTotal, - const G4bool thePhiIsOpen, - const G4bool isAllBehind ) + G4int theNumSide, + G4double thePhiStart, + G4double thePhiTotal, + G4bool thePhiIsOpen, + G4bool isAllBehind ) { // // Record values @@ -207,7 +207,7 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, } while( prev=vec, ++vec < vecs + numSide ); if (phiIsOpen) { - G4double rFact = cos(0.5*deltaPhi); + // G4double rFact = cos(0.5*deltaPhi); // // If phi is open, we need to patch up normals of the // first and last edges and their corresponding @@ -274,9 +274,9 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSide &source ) // // Assignment operator // -G4PolyhedraSide *G4PolyhedraSide::operator=( const G4PolyhedraSide &source ) +G4PolyhedraSide& G4PolyhedraSide::operator=( const G4PolyhedraSide &source ) { - if (this == &source) return this; + if (this == &source) return *this; delete cone; delete [] vecs; @@ -284,7 +284,7 @@ G4PolyhedraSide *G4PolyhedraSide::operator=( const G4PolyhedraSide &source ) CopyStuff( source ); - return this; + return *this; } @@ -380,7 +380,7 @@ void G4PolyhedraSide::CopyStuff( const G4PolyhedraSide &source ) // // G4bool G4PolyhedraSide::Intersect( const G4ThreeVector &p, const G4ThreeVector &v, - const G4bool outgoing, const G4double surfTolerance, + G4bool outgoing, G4double surfTolerance, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal, G4bool &isAllBehind ) { @@ -492,7 +492,7 @@ G4bool G4PolyhedraSide::Intersect( const G4ThreeVector &p, const G4ThreeVector & } -G4double G4PolyhedraSide::Distance( const G4ThreeVector &p, const G4bool outgoing ) +G4double G4PolyhedraSide::Distance( const G4ThreeVector &p, G4bool outgoing ) { G4double normSign = outgoing ? -1 : +1; @@ -524,7 +524,7 @@ G4double G4PolyhedraSide::Distance( const G4ThreeVector &p, const G4bool outgoin // // Inside // -EInside G4PolyhedraSide::Inside( const G4ThreeVector &p, const G4double tolerance, +EInside G4PolyhedraSide::Inside( const G4ThreeVector &p, G4double tolerance, G4double *bestDistance ) { // @@ -700,8 +700,8 @@ void G4PolyhedraSide::CalculateExtent( const EAxis axis, // G4bool G4PolyhedraSide::IntersectSidePlane( const G4ThreeVector &p, const G4ThreeVector &v, const G4PolyhedraSideVec vec, - const G4double normSign, - const G4double surfTolerance, + G4double normSign, + G4double surfTolerance, G4double &distance, G4double &distFromSurface ) { // @@ -830,7 +830,7 @@ G4int G4PolyhedraSide::LineHitsSegments( const G4ThreeVector &p, const G4ThreeVe // Decide which phi segment is closest in phi to the point. // The result is the same as PhiSegment if there is no phi opening. // -G4int G4PolyhedraSide::ClosestPhiSegment( const G4double phi0 ) +G4int G4PolyhedraSide::ClosestPhiSegment( G4double phi0 ) { G4int iPhi = PhiSegment( phi0 ); if (iPhi >= 0) return iPhi; @@ -858,7 +858,7 @@ G4int G4PolyhedraSide::ClosestPhiSegment( const G4double phi0 ) // A value of -1 indicates that the phi value is outside the shape // (only possible if phiTotal < 360 degrees). // -G4int G4PolyhedraSide::PhiSegment( const G4double phi0 ) +G4int G4PolyhedraSide::PhiSegment( G4double phi0 ) { // // How far are we from phiStart? Come up with a positive answer diff --git a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc index 444870101e..813bc4adcd 100644 --- a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc +++ b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ReduciblePolygon.cc,v 1.1 2000/04/07 11:03:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ReduciblePolygon.cc,v 1.3 2000/11/20 18:19:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -28,7 +28,8 @@ // // Constructor: with simple arrays // -G4ReduciblePolygon::G4ReduciblePolygon( const G4double a[], const G4double b[], const G4int n ) +G4ReduciblePolygon::G4ReduciblePolygon( const G4double a[], const G4double b[], + G4int n ) { // // Do all of the real work in Create @@ -41,7 +42,7 @@ G4ReduciblePolygon::G4ReduciblePolygon( const G4double a[], const G4double b[], // Constructor: special PGON/PCON case // G4ReduciblePolygon::G4ReduciblePolygon( const G4double rmin[], const G4double rmax[], - const G4double z[], const G4int n ) + const G4double z[], G4int n ) { // // Translate @@ -74,7 +75,7 @@ G4ReduciblePolygon::G4ReduciblePolygon( const G4double rmin[], const G4double rm // To be called by constructors, fill in the list and statistics for a new // polygon // -void G4ReduciblePolygon::Create( const G4double a[], const G4double b[], const G4int n ) +void G4ReduciblePolygon::Create( const G4double a[], const G4double b[], G4int n ) { if (n<3) G4Exception( "G4ReduciblePolygon: less than 3 vertices specified" ); @@ -139,7 +140,7 @@ void G4ReduciblePolygon::CopyVertices( G4double a[], G4double b[] ) const // // Multiply all a values by a common scale // -void G4ReduciblePolygon::ScaleA( const G4double scale ) +void G4ReduciblePolygon::ScaleA( G4double scale ) { ABVertex *curr = vertexHead; while( curr ) { @@ -154,7 +155,7 @@ void G4ReduciblePolygon::ScaleA( const G4double scale ) // // Multiply all b values by a common scale // -void G4ReduciblePolygon::ScaleB( const G4double scale ) +void G4ReduciblePolygon::ScaleB( G4double scale ) { ABVertex *curr = vertexHead; while( curr ) { @@ -170,7 +171,7 @@ void G4ReduciblePolygon::ScaleB( const G4double scale ) // Remove adjacent vertices that are equal. Returns "false" if there // is a problem (too few vertices remaining). // -G4bool G4ReduciblePolygon::RemoveDuplicateVertices( const G4double tolerance ) +G4bool G4ReduciblePolygon::RemoveDuplicateVertices( G4double tolerance ) { ABVertex *curr = vertexHead, *prev = 0, @@ -221,7 +222,7 @@ G4bool G4ReduciblePolygon::RemoveDuplicateVertices( const G4double tolerance ) // Remove any unneeded vertices, i.e. those vertices which // are on the line connecting the previous and next vertices. // -G4bool G4ReduciblePolygon::RemoveRedundantVertices( const G4double tolerance ) +G4bool G4ReduciblePolygon::RemoveRedundantVertices( G4double tolerance ) { // // Under these circumstances, we can quit now! @@ -234,7 +235,6 @@ G4bool G4ReduciblePolygon::RemoveRedundantVertices( const G4double tolerance ) // Loop over all vertices // ABVertex *curr = vertexHead, - *prev = 0, *next = curr->next; // A little dangerous while( curr ) { next = curr->next; @@ -368,7 +368,7 @@ void G4ReduciblePolygon::ReverseOrder() // // Warning: this routine is not very fast (runs as N**2) // -G4bool G4ReduciblePolygon::CrossesItself( const G4double tolerance ) +G4bool G4ReduciblePolygon::CrossesItself( G4double tolerance ) { G4double tolerance2 = tolerance*tolerance; G4double one = 1.0-tolerance, @@ -377,8 +377,9 @@ G4bool G4ReduciblePolygon::CrossesItself( const G4double tolerance ) // Top loop over line segments. By the time we finish // with the second to last segment, we're done. // - ABVertex *curr1 = vertexHead, *next1; - while (next1 = curr1->next) { + ABVertex *curr1 = vertexHead, *next1=0; + while (curr1->next) { + next1 = curr1->next; G4double da1 = next1->a-curr1->a, db1 = next1->b-curr1->b; @@ -425,8 +426,8 @@ G4bool G4ReduciblePolygon::CrossesItself( const G4double tolerance ) // // Decide if a line through two points crosses the polygon, within tolerance // -G4bool G4ReduciblePolygon::BisectedBy( const G4double a1, const G4double b1, - const G4double a2, const G4double b2, const G4double tolerance ) +G4bool G4ReduciblePolygon::BisectedBy( G4double a1, G4double b1, + G4double a2, G4double b2, G4double tolerance ) { G4int nNeg = 0, nPos = 0; @@ -449,7 +450,8 @@ G4bool G4ReduciblePolygon::BisectedBy( const G4double a1, const G4double b1, if (nNeg) return true; nPos++; } - } while( curr = curr->next ); + curr = curr->next; + } while( curr ); return false; } @@ -475,7 +477,8 @@ G4double G4ReduciblePolygon::Area() if (next==0) next = vertexHead; answer += curr->a*next->b - curr->b*next->a; - } while( curr = curr->next ); + curr = curr->next; + } while( curr ); return 0.5*answer; } @@ -489,7 +492,8 @@ void G4ReduciblePolygon::Print() ABVertex *curr = vertexHead; do { G4cerr << curr->a << " " << curr->b << G4endl; - } while( curr = curr->next ); + curr = curr->next; + } while( curr ); } diff --git a/source/geometry/solids/specific/src/G4SolidExtentList.cc b/source/geometry/solids/specific/src/G4SolidExtentList.cc index 7dddc2f412..12f9efce77 100644 --- a/source/geometry/solids/specific/src/G4SolidExtentList.cc +++ b/source/geometry/solids/specific/src/G4SolidExtentList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SolidExtentList.cc,v 1.1 2000/04/07 11:03:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4VCSGfaceted.cc b/source/geometry/solids/specific/src/G4VCSGfaceted.cc index d1308bd257..c7122c2be6 100644 --- a/source/geometry/solids/specific/src/G4VCSGfaceted.cc +++ b/source/geometry/solids/specific/src/G4VCSGfaceted.cc @@ -4,8 +4,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VCSGfaceted.cc,v 1.5 2000/06/08 17:54:01 gracia Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VCSGfaceted.cc,v 1.6 2000/11/20 18:19:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -137,7 +137,7 @@ G4bool G4VCSGfaceted::CalculateExtent( const EAxis axis, // EInside G4VCSGfaceted::Inside( const G4ThreeVector &p ) const { - EInside answer; + EInside answer=kOutside; G4VCSGface **face = faces; G4double best = kInfinity; do { @@ -181,8 +181,8 @@ G4ThreeVector G4VCSGfaceted::SurfaceNormal( const G4ThreeVector& p) const G4double G4VCSGfaceted::DistanceToIn( const G4ThreeVector &p, const G4ThreeVector &v ) const { G4double distance = kInfinity; - G4double distFromSurface; - G4VCSGface *bestFace; + G4double distFromSurface = kInfinity; + G4VCSGface *bestFace=0; G4VCSGface **face = faces; do { G4double faceDistance, @@ -230,9 +230,9 @@ G4double G4VCSGfaceted::DistanceToOut( const G4ThreeVector &p, const G4ThreeVect { G4bool allBehind = true; G4double distance = kInfinity; - G4double distFromSurface; + G4double distFromSurface = kInfinity; G4ThreeVector normal; - G4VCSGface *bestFace; + G4VCSGface *bestFace=0; G4VCSGface **face = faces; do { @@ -328,9 +328,7 @@ G4VisExtent G4VCSGfaceted::GetExtent() const G4double answers[6] = {-kInfinity, -kInfinity, -kInfinity, -kInfinity, -kInfinity, -kInfinity}; G4VCSGface **face = faces; - do { - G4double vmax; - + do { const G4ThreeVector **axis = axes+5 ; G4double *answer = answers+5; do { diff --git a/source/geometry/volumes/History b/source/geometry/volumes/History index 98cde4f34a..c8c8b97429 100644 --- a/source/geometry/volumes/History +++ b/source/geometry/volumes/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2000/05/31 15:51:46 gcosmo Exp $ +$Id: History,v 1.29 2000/11/20 19:07:52 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,34 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 20th, 2000 G. Cosmo - geomvol-V02-00-01 + +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + +November 1st, 2000 G. Cosmo - geomvol-V02-00-00 + +- QA code revision and cleanup (+fixes from CodeWizard filtering): + o Added (private) copy constructor and assignment operator where needed. + o Added "const" qualifier to accessor methods, wherever needed. + o Added equality check on operator= where needed. + o Made destructor "virtual" for classes having virtual methods, + wherever missing. + o Changed virtual functions to non-inline wherever's the case. + o Changed return value to be "const" pointer to functions: + - G4LogicalBorderSurface::GetVolume1() + - G4LogicalBorderSurface::GetVolume2() + - G4LogicalSkinSurface::GetLogicalVolume() + o G4NavigationHistory: moved kHistoryMax and kHistoryStride to + geomdefs.hh and made static constants. Reorganised comments. + o G4VoxelNavigation: moved kNavigatorVoxelStackMax in geomdefs.hh. + Changed "do-loops" with "while-loops" where convenient. + o Added "inline" qualifier to methods' declarations. + o General cosmetics + May 17th, 2000 G. Cosmo - geomvol-V01-01-01 G4ReplicaNavigation.cc: diff --git a/source/geometry/volumes/include/G4AuxiliaryNavServices.hh b/source/geometry/volumes/include/G4AuxiliaryNavServices.hh index 864f7d9f8c..489aeba3a4 100644 --- a/source/geometry/volumes/include/G4AuxiliaryNavServices.hh +++ b/source/geometry/volumes/include/G4AuxiliaryNavServices.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4AuxiliaryNavServices.hh,v 1.3 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4NormalNavigation diff --git a/source/geometry/volumes/include/G4BlockingList.hh b/source/geometry/volumes/include/G4BlockingList.hh index d658882e3f..95bf29ac60 100644 --- a/source/geometry/volumes/include/G4BlockingList.hh +++ b/source/geometry/volumes/include/G4BlockingList.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4BlockingList.hh,v 1.4 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4BlockingList // diff --git a/source/geometry/volumes/include/G4BlockingList.icc b/source/geometry/volumes/include/G4BlockingList.icc index fa4a9c74a4..4cce6e21b1 100644 --- a/source/geometry/volumes/include/G4BlockingList.icc +++ b/source/geometry/volumes/include/G4BlockingList.icc @@ -5,13 +5,24 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4BlockingList.icc,v 1.2 1999/12/15 14:50:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4BlockingList.icc,v 1.3 2000/11/20 18:59:14 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4BlockingList Inlined Implementation // +inline G4BlockingList::G4BlockingList(G4int maxDefault,G4int stride) + : fStride(stride), fBlockingList(maxDefault) +{ + FullyReset(); +} + +// Do nothing destructor +inline G4BlockingList::~G4BlockingList() +{ +} + inline G4int G4BlockingList::Length() const { return fBlockingList.length(); @@ -53,15 +64,3 @@ inline void G4BlockingList::Enlarge(const G4int nv) } } } - -inline G4BlockingList::G4BlockingList(G4int maxDefault,G4int stride) : -fBlockingList(maxDefault),fStride(stride) -{ - FullyReset(); -} - -// Do nothing destructor -inline G4BlockingList::~G4BlockingList() -{ -} - diff --git a/source/geometry/volumes/include/G4GRSSolid.hh b/source/geometry/volumes/include/G4GRSSolid.hh index 24726beb04..d9a580a59a 100644 --- a/source/geometry/volumes/include/G4GRSSolid.hh +++ b/source/geometry/volumes/include/G4GRSSolid.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSSolid.hh,v 1.3 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSSolid.hh,v 1.4 2000/11/01 16:51:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSSolid @@ -41,10 +41,16 @@ class G4GRSSolid : public G4VTouchable const G4ThreeVector &tlate); ~G4GRSSolid(); - G4VSolid* GetSolid(G4int depth=0) const; - const G4ThreeVector& GetTranslation(G4int depth=0) const; - const G4RotationMatrix* GetRotation(G4int depth=0) const; - + inline G4VSolid* GetSolid(G4int depth=0) const; + inline const G4ThreeVector& GetTranslation(G4int depth=0) const; + inline const G4RotationMatrix* GetRotation(G4int depth=0) const; + + private: + + G4GRSSolid(const G4GRSSolid&); + G4GRSSolid& operator=(const G4GRSSolid&); + // Copy constructor and assignment operator NOT public + private: G4VSolid *fsolid; diff --git a/source/geometry/volumes/include/G4GRSSolid.icc b/source/geometry/volumes/include/G4GRSSolid.icc index 959d8253fc..abbd8120f1 100644 --- a/source/geometry/volumes/include/G4GRSSolid.icc +++ b/source/geometry/volumes/include/G4GRSSolid.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSSolid.icc,v 1.2 1999/12/15 14:50:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSSolid.icc,v 1.4 2000/11/20 18:59:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSSolid inline implementation @@ -14,7 +14,8 @@ inline G4GRSSolid::G4GRSSolid(G4VSolid *pSolid, const G4RotationMatrix *pRot, const G4ThreeVector &tlate) - : fsolid(pSolid),ftlate(tlate), G4VTouchable() + : G4VTouchable(), + fsolid(pSolid), ftlate(tlate) { if (pRot) { @@ -30,7 +31,8 @@ inline G4GRSSolid::G4GRSSolid(G4VSolid *pSolid, inline G4GRSSolid::G4GRSSolid(G4VSolid *pSolid, const G4RotationMatrix &rot, const G4ThreeVector &tlate) - : fsolid(pSolid),ftlate(tlate), G4VTouchable() + : G4VTouchable(), + fsolid(pSolid), ftlate(tlate) { frot=new G4RotationMatrix(rot); if (!frot) G4Exception ("G4GRSSolid::G4GRSSolid cannot alloc G4RotationMatrix"); diff --git a/source/geometry/volumes/include/G4GRSVolume.hh b/source/geometry/volumes/include/G4GRSVolume.hh index bfc0c0979f..18ecb7d318 100644 --- a/source/geometry/volumes/include/G4GRSVolume.hh +++ b/source/geometry/volumes/include/G4GRSVolume.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSVolume.hh,v 1.3 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSVolume.hh,v 1.4 2000/11/01 16:51:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSVolume @@ -43,11 +43,17 @@ class G4GRSVolume : public G4VTouchable const G4ThreeVector &tlate); ~G4GRSVolume(); - G4VPhysicalVolume* GetVolume(G4int depth=0) const; - G4VSolid* GetSolid(G4int depth=0) const; - const G4ThreeVector& GetTranslation(G4int depth=0) const; - const G4RotationMatrix* GetRotation(G4int depth=0) const; - + inline G4VPhysicalVolume* GetVolume(G4int depth=0) const; + inline G4VSolid* GetSolid(G4int depth=0) const; + inline const G4ThreeVector& GetTranslation(G4int depth=0) const; + inline const G4RotationMatrix* GetRotation(G4int depth=0) const; + + private: + + G4GRSVolume(const G4GRSVolume&); + G4GRSVolume& operator=(const G4GRSVolume&); + // Copy constructor and assignment operator NOT public + private: G4VPhysicalVolume *fvol; diff --git a/source/geometry/volumes/include/G4GRSVolume.icc b/source/geometry/volumes/include/G4GRSVolume.icc index 9d6f5d404e..30497143ab 100644 --- a/source/geometry/volumes/include/G4GRSVolume.icc +++ b/source/geometry/volumes/include/G4GRSVolume.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSVolume.icc,v 1.3 1999/12/15 14:50:21 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSVolume.icc,v 1.5 2000/11/20 18:59:33 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSVolume inline implementation @@ -14,7 +14,8 @@ inline G4GRSVolume::G4GRSVolume(G4VPhysicalVolume *pVol, const G4RotationMatrix *pRot, const G4ThreeVector &tlate) - : fvol(pVol),ftlate(tlate), G4VTouchable() + : G4VTouchable(), + fvol(pVol), ftlate(tlate) { if (pRot) { @@ -30,7 +31,8 @@ inline G4GRSVolume::G4GRSVolume(G4VPhysicalVolume *pVol, inline G4GRSVolume::G4GRSVolume(G4VPhysicalVolume *pVol, const G4RotationMatrix &rot, const G4ThreeVector &tlate) - : fvol(pVol),ftlate(tlate), G4VTouchable() + : G4VTouchable(), + fvol(pVol), ftlate(tlate) { frot=new G4RotationMatrix(rot); if (!frot) G4Exception ("G4GRSVolume::G4GRSVolume cannot alloc G4RotationMatrix"); diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.hh b/source/geometry/volumes/include/G4LogicalBorderSurface.hh index c7ce98dc56..8a9d3772f8 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.hh +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalBorderSurface.hh,v 1.4 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalBorderSurface.hh,v 1.5 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // class G4LogicalBorderSurface @@ -70,14 +70,14 @@ class G4LogicalBorderSurface: public G4LogicalSurface static G4LogicalBorderSurface* GetSurface(const G4VPhysicalVolume* vol1, const G4VPhysicalVolume* vol2); - void SetPhysicalVolumes(G4VPhysicalVolume* vol1, + inline void SetPhysicalVolumes(G4VPhysicalVolume* vol1, G4VPhysicalVolume* vol2); - G4VPhysicalVolume* GetVolume1() const; - G4VPhysicalVolume* GetVolume2() const; + inline const G4VPhysicalVolume* GetVolume1() const; + inline const G4VPhysicalVolume* GetVolume2() const; - void SetVolume1(G4VPhysicalVolume* vol1); - void SetVolume2(G4VPhysicalVolume* vol2); + inline void SetVolume1(G4VPhysicalVolume* vol1); + inline void SetVolume2(G4VPhysicalVolume* vol2); // These are potentially dangerous. static const G4RWTPtrOrderedVector* GetSurfaceTable(); @@ -85,7 +85,7 @@ class G4LogicalBorderSurface: public G4LogicalSurface static void DumpInfo(); // Methods dealing with the table of surfaces. - size_t GetIndex() const; + inline size_t GetIndex() const; ////////////// // Operators diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.icc b/source/geometry/volumes/include/G4LogicalBorderSurface.icc index 6b383cf4d6..abc5739ce1 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.icc +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalBorderSurface.icc,v 1.1 2000/04/25 16:15:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalBorderSurface.icc,v 1.2 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4LogicalBorderSurface inline implementation @@ -20,13 +20,15 @@ void G4LogicalBorderSurface::SetPhysicalVolumes(G4VPhysicalVolume* vol1, } inline -G4VPhysicalVolume* G4LogicalBorderSurface::GetVolume1() const +const G4VPhysicalVolume* +G4LogicalBorderSurface::GetVolume1() const { return Volume1; } inline -G4VPhysicalVolume* G4LogicalBorderSurface::GetVolume2() const +const G4VPhysicalVolume* +G4LogicalBorderSurface::GetVolume2() const { return Volume2; } diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.hh b/source/geometry/volumes/include/G4LogicalSkinSurface.hh index f90cc17054..59941daf4d 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.hh +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalSkinSurface.hh,v 1.4 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalSkinSurface.hh,v 1.5 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // class G4LogicalSkinSurface @@ -68,15 +68,15 @@ class G4LogicalSkinSurface : public G4LogicalSurface static G4LogicalSkinSurface* GetSurface(const G4LogicalVolume* vol); - G4LogicalVolume* GetLogicalVolume() const; - void SetLogicalVolume(G4LogicalVolume* vol); + inline const G4LogicalVolume* GetLogicalVolume() const; + inline void SetLogicalVolume(G4LogicalVolume* vol); static size_t GetNumberOfSkinSurfaces(); static void DumpInfo(); // const // Methods dealing with the table of surfaces. #if THESE_ARE_NEEDED - size_t GetIndex() const; + inline size_t GetIndex() const; #endif ////////////// diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.icc b/source/geometry/volumes/include/G4LogicalSkinSurface.icc index 7e3402a145..3bde489c36 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.icc +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.icc @@ -5,14 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalSkinSurface.icc,v 1.1 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalSkinSurface.icc,v 1.2 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4LogicalSkinSurface inline implementation inline -G4LogicalVolume* G4LogicalSkinSurface::GetLogicalVolume() const +const G4LogicalVolume* +G4LogicalSkinSurface::GetLogicalVolume() const { return LogVolume; } diff --git a/source/geometry/volumes/include/G4NavigationHistory.hh b/source/geometry/volumes/include/G4NavigationHistory.hh index 5ae258d4ac..3a62772723 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.hh +++ b/source/geometry/volumes/include/G4NavigationHistory.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationHistory.hh,v 1.5 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationHistory.hh,v 1.7 2000/11/20 18:59:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4NavigationHistory // @@ -25,7 +25,7 @@ #define G4NAVIGATIONHISTORY_HH #include -#include "globals.hh" +#include "geomdefs.hh" #include "G4AffineTransform.hh" #include "G4VPhysicalVolume.hh" @@ -35,56 +35,98 @@ #include "g4rw/tpvector.h" #include "g4std/iostream" -const G4int kHistoryMax=15; // Default max size of history -const G4int kHistoryStride=16; // History increase stride - class G4NavigationHistory { + public: // with description - friend G4std::ostream& operator << (G4std::ostream &os,const G4NavigationHistory &h); + friend G4std::ostream& + operator << (G4std::ostream &os, const G4NavigationHistory &h); G4NavigationHistory(); - G4NavigationHistory(const G4NavigationHistory &h); + // Constructor: sizes history lists & resets histories. + ~G4NavigationHistory(); - - void Reset(); - void Clear(); - - void SetFirstEntry(G4VPhysicalVolume* pVol); - - const G4AffineTransform& GetTopTransform() const; + // Destructor. - const G4AffineTransform* GetPtrTopTransform() const; - G4int GetTopReplicaNo() const; - EVolume GetTopVolumeType() const; - G4VPhysicalVolume* GetTopVolume() const; - - G4int GetDepth() const; - G4int GetMaxDepth() const; - const G4AffineTransform& GetTransform(const G4int n) const; + G4NavigationHistory(const G4NavigationHistory &h); + // Copy constructor. - G4int GetReplicaNo(const G4int n) const; - EVolume GetVolumeType(const G4int n) const; - G4VPhysicalVolume* GetVolume(const G4int n) const; - - void NewLevel(G4VPhysicalVolume *pNewMother, - EVolume vType=kNormal, - G4int nReplica=-1); - void BackLevel(); - void BackLevel(G4int n); - G4NavigationHistory& operator=(const G4NavigationHistory &h); + // Assignment operator. + + inline void Reset(); + // Resets history. It now does clear most entries. + // Level 0 is preserved. + + inline void Clear(); + // Clears entries, zeroing transforms, matrices & negating + // replica history. + + inline void SetFirstEntry(G4VPhysicalVolume* pVol); + // Setup initial entry in stack: copies through volume transform & matrix. + // The volume is assumed to be unrotated. + + inline const G4AffineTransform& GetTopTransform() const; + // Returns topmost transform. + + inline const G4AffineTransform* GetPtrTopTransform() const; + // Returns pointer to topmost transform. + + inline G4int GetTopReplicaNo() const; + // Returns topmost replica no record. + + inline EVolume GetTopVolumeType() const; + // Returns topmost volume type. + + inline G4VPhysicalVolume* GetTopVolume() const; + // Returns topmost physical volume pointer. + + inline G4int GetDepth() const; + // Returns current history depth. + + inline G4int GetMaxDepth() const; + // Returns current maximum size of history. + // Note: MaxDepth of 16 mean history entries [0..15] inclusive. + + inline const G4AffineTransform& GetTransform(G4int n) const; + // Returns specified transformation. + + inline G4int GetReplicaNo(G4int n) const; + // Returns specified replica no record. + + inline EVolume GetVolumeType(G4int n) const; + // Returns specified volume type. + + inline G4VPhysicalVolume* GetVolume(G4int n) const; + // Returns specified physical volume pointer. + + inline void NewLevel(G4VPhysicalVolume *pNewMother, + EVolume vType=kNormal, + G4int nReplica=-1); + // Changes navigation level to that of the new mother. + + inline void BackLevel(); + // Back up one level in history: from mother to grandmother. + // It does not erase history record of current mother. + + inline void BackLevel(G4int n); + // Back up specified number of levels in history. private: - void EnlargeHistory(); + + inline void EnlargeHistory(); + // Enlarge history if required: increase size by kHistoryStride. + // Note that additional history entries are `dirty' (non zero) apart + // from the volume history. + + private: + + G4RWTValVector fNavHistory; G4int fStackDepth; // Depth of stack: effectively depth in geometrical tree - G4RWTValVector fNavHistory; - // G4RWTPtrVector fNavHistory; - }; #include "G4NavigationHistory.icc" diff --git a/source/geometry/volumes/include/G4NavigationHistory.icc b/source/geometry/volumes/include/G4NavigationHistory.icc index 5fce5dcd47..cf7cc8e19f 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.icc +++ b/source/geometry/volumes/include/G4NavigationHistory.icc @@ -5,171 +5,39 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationHistory.icc,v 1.2 1999/12/15 14:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationHistory.icc,v 1.3 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4NavigationHistory Inline implementation // -// `Reset' history. It now does clear most entries (It used to not do this). -// Level 0 is preserved -inline void G4NavigationHistory::Reset() -{ - fStackDepth=0; -} - - -// 'Clear' entries, zeroing transforms, matrices & negating replica history -// -inline void G4NavigationHistory::Clear() -{ - G4AffineTransform dummyTransform(G4ThreeVector(0.)); - - G4NavigationLevel tmpNavLevel; - tmpNavLevel=G4NavigationLevel(0, dummyTransform, kParameterised, -1) ; - - Reset(); - for (G4int ilev=fNavHistory.length()-1; ilev>=0; ilev--) - { - // fNavHistory(ilev)= 0; - fNavHistory(ilev)= tmpNavLevel; - } -} - - -// Constructor -// Size history lists & reset histories -inline G4NavigationHistory::G4NavigationHistory() : - fNavHistory(kHistoryMax), - fStackDepth(0) +inline +G4NavigationHistory::G4NavigationHistory() + : fNavHistory(kHistoryMax), fStackDepth(0) { Reset(); // Reset depth Clear(); } -// Constructor -// Size history lists & reset histories -inline G4NavigationHistory::G4NavigationHistory(const G4NavigationHistory &h): - fNavHistory(h.fNavHistory), - fStackDepth(h.fStackDepth) +inline +G4NavigationHistory::G4NavigationHistory(const G4NavigationHistory &h) + : fNavHistory(h.fNavHistory), fStackDepth(h.fStackDepth) { } -// Destructor inline G4NavigationHistory::~G4NavigationHistory() { Reset(); // To delete all but one current entries! // delete fNavHistory(0); } -// Setup initial entry in stack: copies through volume transform & matrix -// The volume is assumed to be unrotated -// -inline void G4NavigationHistory::SetFirstEntry(G4VPhysicalVolume* pVol) +inline +G4NavigationHistory& +G4NavigationHistory::operator=(const G4NavigationHistory &h) { - G4ThreeVector translation(0.,0.,0.); + if (&h == this) return *this; - // Protection needed in case pVol=null - // so that a touchable-history can signal OutOfWorld - // - if(pVol !=0) { - translation=pVol->GetTranslation(); - } - fNavHistory(0)= G4NavigationLevel( pVol, - G4AffineTransform(translation), - kNormal ); - -} - -// Return topmost transform -inline const G4AffineTransform* G4NavigationHistory::GetPtrTopTransform() const -{ - return fNavHistory(fStackDepth).GetPtrTransform(); -} - -// Return topmost transform -inline const G4AffineTransform& G4NavigationHistory::GetTopTransform() const -{ - return fNavHistory(fStackDepth).GetTransform(); -} - -// Return topmost replica no record -inline G4int G4NavigationHistory::GetTopReplicaNo() const -{ - return fNavHistory(fStackDepth).GetReplicaNo(); -} - -// Return topmost volume type -inline EVolume G4NavigationHistory::GetTopVolumeType() const -{ - return fNavHistory(fStackDepth).GetVolumeType(); -} - -// Return topmost physical volume ptr -inline G4VPhysicalVolume* G4NavigationHistory::GetTopVolume() const -{ - return fNavHistory(fStackDepth).GetPhysicalVolume(); -} - -// Return current history depth -inline G4int G4NavigationHistory::GetDepth() const -{ - return fStackDepth; -} - -// Return specified transform -inline const G4AffineTransform& G4NavigationHistory::GetTransform(const G4int n) const -{ - return fNavHistory(n).GetTransform(); -} - -// Return specified replica no record -inline G4int G4NavigationHistory::GetReplicaNo(const G4int n) const -{ - return fNavHistory(n).GetReplicaNo(); -} - -// Return specified volume type -inline EVolume G4NavigationHistory::GetVolumeType(const G4int n) const -{ - return fNavHistory(n).GetVolumeType(); -} - -// Return specified physical volume ptr -inline G4VPhysicalVolume* G4NavigationHistory::GetVolume(const G4int n) const -{ - return fNavHistory(n).GetPhysicalVolume(); -} - - -// Return current maximum size of history. -// Note: MaxDepth of 16 mean history entries 0 - 15 inclusive may be used -inline G4int G4NavigationHistory::GetMaxDepth() const -{ - return fNavHistory.length(); -} - -// Back up one level in history: from mother to grandmother -// It does not erase history record of current mother -inline void G4NavigationHistory::BackLevel() -{ - assert(fStackDepth>0); - - // Tell the level that I am forgetting it - // delete fNavHistory(fStackDepth); - fStackDepth--; -} - -// Back up specified no of levels in history -inline void G4NavigationHistory::BackLevel(G4int n) -{ - assert(n<=fStackDepth); - fStackDepth-=n; -} - -inline G4NavigationHistory& G4NavigationHistory::operator=(const G4NavigationHistory &h) -{ // fNavHistory=h.fNavHistory; // This works, but is very slow. if( this->GetMaxDepth() < h.fStackDepth ){ fNavHistory.reshape( h.fStackDepth ); @@ -184,24 +52,144 @@ inline G4NavigationHistory& G4NavigationHistory::operator=(const G4NavigationHis return *this; } -// Enlarge history if required -// Increase size by kHistoryStride. Note that additional -// history entries are `dirty' (non zero) apart from volume history -inline void G4NavigationHistory::EnlargeHistory() +inline +void G4NavigationHistory::Reset() +{ + fStackDepth=0; +} + +inline +void G4NavigationHistory::Clear() +{ + G4AffineTransform dummyTransform(G4ThreeVector(0.)); + + G4NavigationLevel tmpNavLevel; + tmpNavLevel=G4NavigationLevel(0, dummyTransform, kParameterised, -1) ; + + Reset(); + for (G4int ilev=fNavHistory.length()-1; ilev>=0; ilev--) + { + // fNavHistory(ilev)= 0; + fNavHistory(ilev)= tmpNavLevel; + } +} + +inline +void G4NavigationHistory::SetFirstEntry(G4VPhysicalVolume* pVol) +{ + G4ThreeVector translation(0.,0.,0.); + + // Protection needed in case pVol=null + // so that a touchable-history can signal OutOfWorld + // + if(pVol !=0) { + translation=pVol->GetTranslation(); + } + fNavHistory(0)= G4NavigationLevel( pVol, + G4AffineTransform(translation), + kNormal ); +} + +inline +const G4AffineTransform* G4NavigationHistory::GetPtrTopTransform() const +{ + return fNavHistory(fStackDepth).GetPtrTransform(); +} + +inline +const G4AffineTransform& G4NavigationHistory::GetTopTransform() const +{ + return fNavHistory(fStackDepth).GetTransform(); +} + +inline +G4int G4NavigationHistory::GetTopReplicaNo() const +{ + return fNavHistory(fStackDepth).GetReplicaNo(); +} + +inline +EVolume G4NavigationHistory::GetTopVolumeType() const +{ + return fNavHistory(fStackDepth).GetVolumeType(); +} + +inline +G4VPhysicalVolume* G4NavigationHistory::GetTopVolume() const +{ + return fNavHistory(fStackDepth).GetPhysicalVolume(); +} + +inline +G4int G4NavigationHistory::GetDepth() const +{ + return fStackDepth; +} + +inline +const G4AffineTransform& +G4NavigationHistory::GetTransform(G4int n) const +{ + return fNavHistory(n).GetTransform(); +} + +inline +G4int G4NavigationHistory::GetReplicaNo(G4int n) const +{ + return fNavHistory(n).GetReplicaNo(); +} + +inline +EVolume G4NavigationHistory::GetVolumeType(G4int n) const +{ + return fNavHistory(n).GetVolumeType(); +} + +inline +G4VPhysicalVolume* G4NavigationHistory::GetVolume(G4int n) const +{ + return fNavHistory(n).GetPhysicalVolume(); +} + +inline +G4int G4NavigationHistory::GetMaxDepth() const +{ + return fNavHistory.length(); +} + +inline +void G4NavigationHistory::BackLevel() +{ + assert(fStackDepth>0); + + // Tell the level that I am forgetting it + // delete fNavHistory(fStackDepth); + fStackDepth--; +} + +inline +void G4NavigationHistory::BackLevel(G4int n) +{ + assert(n<=fStackDepth); + fStackDepth-=n; +} + +inline +void G4NavigationHistory::EnlargeHistory() { G4int len=fNavHistory.length(); if (len==fStackDepth) - { + { // Note: Resize operation clears additional entries G4int nlen=len+kHistoryStride; fNavHistory.reshape(nlen); -// Note: Resize operation clears additional entries } } -inline void G4NavigationHistory::NewLevel(G4VPhysicalVolume *pNewMother, - EVolume vType, - G4int nReplica) +inline +void G4NavigationHistory::NewLevel(G4VPhysicalVolume *pNewMother, + EVolume vType, + G4int nReplica) { EnlargeHistory(); // Enlarge if required fStackDepth++; diff --git a/source/geometry/volumes/include/G4NavigationLevel.hh b/source/geometry/volumes/include/G4NavigationLevel.hh index 1b5b10dff7..23af556c02 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.hh +++ b/source/geometry/volumes/include/G4NavigationLevel.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationLevel.hh,v 1.11 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationLevel.hh,v 1.12 2000/11/01 16:51:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4NavigationLevel // @@ -23,7 +23,6 @@ #ifndef G4NAVIGATIONLEVEL_HH #define G4NAVIGATIONLEVEL_HH -// #include #include "globals.hh" #include "G4AffineTransform.hh" @@ -58,16 +57,18 @@ class G4NavigationLevel G4NavigationLevel& operator=(const G4NavigationLevel &right); - G4VPhysicalVolume* GetPhysicalVolume() const; - const G4AffineTransform* GetTransformPtr() const ; // New - const G4AffineTransform& GetTransform() const ; // Old - // G4AffineTransform& GetTransform(); // Only temporarily - EVolume GetVolumeType() const ; - G4int GetReplicaNo() const ; + inline G4VPhysicalVolume* GetPhysicalVolume() const; + inline const G4AffineTransform* GetTransformPtr() const ; // New + inline const G4AffineTransform& GetTransform() const ; // Old + + inline EVolume GetVolumeType() const ; + inline G4int GetReplicaNo() const ; public: // without description - const G4AffineTransform* GetPtrTransform() const; + // inline G4AffineTransform& GetTransform(); + + inline const G4AffineTransform* GetPtrTransform() const; // To try to resolve the possible problem with returning a reference. inline void *operator new(size_t); diff --git a/source/geometry/volumes/include/G4NavigationLevel.icc b/source/geometry/volumes/include/G4NavigationLevel.icc index f48a7fecc8..f897297eae 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.icc +++ b/source/geometry/volumes/include/G4NavigationLevel.icc @@ -5,16 +5,17 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationLevel.icc,v 1.9 1999/12/15 14:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationLevel.icc,v 1.10 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // 30.09.97 J.Apostolakis Initial version. // -inline G4NavigationLevel::G4NavigationLevel(G4VPhysicalVolume* pPhysVol, - const G4AffineTransform& afTransform, - EVolume volTp, - G4int repNo) +inline +G4NavigationLevel::G4NavigationLevel(G4VPhysicalVolume* pPhysVol, + const G4AffineTransform& afTransform, + EVolume volTp, + G4int repNo) { fLevelRep=new G4NavigationLevelRep( pPhysVol, afTransform, @@ -22,12 +23,12 @@ inline G4NavigationLevel::G4NavigationLevel(G4VPhysicalVolume* pPhysVol, repNo ); } -inline G4NavigationLevel:: - G4NavigationLevel(G4VPhysicalVolume* pPhysVol, - const G4AffineTransform& levelAbove, - const G4AffineTransform& relativeCurrent, - EVolume volTp, - G4int repNo) +inline +G4NavigationLevel::G4NavigationLevel(G4VPhysicalVolume* pPhysVol, + const G4AffineTransform& levelAbove, + const G4AffineTransform& relativeCurrent, + EVolume volTp, + G4int repNo) { fLevelRep=new G4NavigationLevelRep( pPhysVol, levelAbove, @@ -36,25 +37,31 @@ inline G4NavigationLevel:: repNo ); } -inline G4NavigationLevel::G4NavigationLevel() +inline +G4NavigationLevel::G4NavigationLevel() { fLevelRep= new G4NavigationLevelRep(); } -inline G4NavigationLevel::G4NavigationLevel(const G4NavigationLevel& right) - : fLevelRep( right.fLevelRep ) +inline +G4NavigationLevel::G4NavigationLevel(const G4NavigationLevel& right) + : fLevelRep( right.fLevelRep ) { fLevelRep->AddAReference(); } -inline G4NavigationLevel::~G4NavigationLevel() +inline +G4NavigationLevel::~G4NavigationLevel() { if( fLevelRep->RemoveAReference() ) delete fLevelRep; } -inline G4NavigationLevel& +inline +G4NavigationLevel& G4NavigationLevel::operator=(const G4NavigationLevel &right) { + if (&right == this) return *this; + // The order of these two lines is needed to handle "a=a" right.fLevelRep->AddAReference(); if( fLevelRep->RemoveAReference() ) delete fLevelRep; @@ -63,34 +70,40 @@ G4NavigationLevel::operator=(const G4NavigationLevel &right) return *this; } -inline G4VPhysicalVolume* G4NavigationLevel::GetPhysicalVolume() const +inline +G4VPhysicalVolume* G4NavigationLevel::GetPhysicalVolume() const { return fLevelRep->GetPhysicalVolume(); } #if 0 -inline G4AffineTransform& G4NavigationLevel::GetTransform() +inline +G4AffineTransform& G4NavigationLevel::GetTransform() { return fLevelRep->GetTransform() ; } #endif -inline const G4AffineTransform& G4NavigationLevel::GetTransform() const +inline +const G4AffineTransform& G4NavigationLevel::GetTransform() const { return fLevelRep->GetTransform() ; } -inline const G4AffineTransform* G4NavigationLevel::GetPtrTransform() const +inline +const G4AffineTransform* G4NavigationLevel::GetPtrTransform() const { return fLevelRep->GetTransformPtr() ; } -inline EVolume G4NavigationLevel::GetVolumeType() const +inline +EVolume G4NavigationLevel::GetVolumeType() const { return fLevelRep->GetVolumeType() ; } -inline G4int G4NavigationLevel::GetReplicaNo() const +inline +G4int G4NavigationLevel::GetReplicaNo() const { return fLevelRep->GetReplicaNo() ; } @@ -100,7 +113,8 @@ extern G4Allocator aNavigationLevelAllocator; // I believe that there is no provision in case this class is subclassed. // If it is subclassed, this will fail and may not give errors! // -inline void* G4NavigationLevel::operator new(size_t) +inline +void* G4NavigationLevel::operator new(size_t) { // void *aNavigationLevel; // aNavigationLevel= (void *) aNavigationLevelAllocator.MallocSingle(); @@ -110,12 +124,14 @@ inline void* G4NavigationLevel::operator new(size_t) // Added for use by STL. F.Behner (used for pre-allocation) // -inline void* G4NavigationLevel::operator new(size_t,void *a) +inline +void* G4NavigationLevel::operator new(size_t,void *a) { return a; } -inline void G4NavigationLevel::operator delete(void *aLevel) +inline +void G4NavigationLevel::operator delete(void *aLevel) { aNavigationLevelAllocator.FreeSingle((G4NavigationLevel *) aLevel); } @@ -123,15 +139,9 @@ inline void G4NavigationLevel::operator delete(void *aLevel) // Added for use by STL. J. Apostolakis (used for free-ing pre-allocated?) #ifndef G4NOT_ISO_DELETES -inline void G4NavigationLevel::operator delete(void *ptr, void *p) +inline +void G4NavigationLevel::operator delete(void *ptr, void *p) { ; } #endif - - - - - - - diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.hh b/source/geometry/volumes/include/G4NavigationLevelRep.hh index e8b54b6fc2..6904f5ab15 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.hh +++ b/source/geometry/volumes/include/G4NavigationLevelRep.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationLevelRep.hh,v 1.4 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationLevelRep.hh,v 1.5 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4NavigationLevelRep // @@ -58,16 +58,16 @@ class G4NavigationLevelRep G4NavigationLevelRep& operator=(const G4NavigationLevelRep &right); - G4VPhysicalVolume* GetPhysicalVolume() const; + inline G4VPhysicalVolume* GetPhysicalVolume(); - const G4AffineTransform* GetTransformPtr() const ; // New - const G4AffineTransform& GetTransform() const ; // Old - // G4AffineTransform& GetTransform(); // Only temporarily - EVolume GetVolumeType() const ; - G4int GetReplicaNo() const ; + inline const G4AffineTransform* GetTransformPtr() const ; // New + inline const G4AffineTransform& GetTransform() const ; // Old - void AddAReference(); - G4bool RemoveAReference(); + inline EVolume GetVolumeType() const ; + inline G4int GetReplicaNo() const ; + + inline void AddAReference(); + inline G4bool RemoveAReference(); // Take care of the reference counts. inline void *operator new(size_t); @@ -77,6 +77,7 @@ class G4NavigationLevelRep public: // without description + // G4AffineTransform& GetTransform(); // const G4AffineTransform* GetPtrTransform() const; // G4AffineTransform& accessTransform(); diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.icc b/source/geometry/volumes/include/G4NavigationLevelRep.icc index 5861e1fb07..f47721ab31 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.icc +++ b/source/geometry/volumes/include/G4NavigationLevelRep.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationLevelRep.icc,v 1.2 1999/12/15 14:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationLevelRep.icc,v 1.4 2000/11/20 18:59:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // 1 October 1997 J.Apostolakis Initial version. // @@ -14,29 +14,31 @@ // Constructors //-------------- -inline G4NavigationLevelRep::G4NavigationLevelRep(G4VPhysicalVolume* pPhysVol, +inline +G4NavigationLevelRep::G4NavigationLevelRep(G4VPhysicalVolume* pPhysVol, const G4AffineTransform& afTransform, EVolume volTp, G4int repNo) - : sPhysicalVolumePtr(pPhysVol), - sTransform(afTransform), - sVolumeType(volTp), + : sTransform(afTransform), + sPhysicalVolumePtr(pPhysVol), sReplicaNo(repNo), + sVolumeType(volTp), fCountRef(1) { } -inline G4NavigationLevelRep::G4NavigationLevelRep() - : sPhysicalVolumePtr(0), - sTransform(), - sVolumeType(kReplica), +inline +G4NavigationLevelRep::G4NavigationLevelRep() + : sTransform(), + sPhysicalVolumePtr(0), sReplicaNo(-1), + sVolumeType(kReplica), fCountRef(1) { } -inline G4NavigationLevelRep:: - G4NavigationLevelRep( G4VPhysicalVolume* pPhysVol, +inline +G4NavigationLevelRep::G4NavigationLevelRep(G4VPhysicalVolume* pPhysVol, const G4AffineTransform& levelAbove, const G4AffineTransform& relativeCurrent, EVolume volTp, @@ -49,7 +51,8 @@ inline G4NavigationLevelRep:: sTransform.InverseProduct( levelAbove, relativeCurrent ); } -inline G4NavigationLevelRep::G4NavigationLevelRep(G4NavigationLevelRep& right) +inline +G4NavigationLevelRep::G4NavigationLevelRep(G4NavigationLevelRep& right) : sTransform(right.sTransform), sPhysicalVolumePtr(right.sPhysicalVolumePtr), sReplicaNo(right.sReplicaNo), @@ -61,7 +64,8 @@ inline G4NavigationLevelRep::G4NavigationLevelRep(G4NavigationLevelRep& right) // Destructor //-------------- -inline G4NavigationLevelRep::~G4NavigationLevelRep() +inline +G4NavigationLevelRep::~G4NavigationLevelRep() { #ifdef DEBUG_NAVIG_LEVEL if(fCountRef>0){ @@ -73,52 +77,73 @@ inline G4NavigationLevelRep::~G4NavigationLevelRep() // Operators // -------------- -inline G4NavigationLevelRep& +inline +G4NavigationLevelRep& G4NavigationLevelRep::operator=(const G4NavigationLevelRep &right) { - sTransform= right.sTransform; - sPhysicalVolumePtr=right.sPhysicalVolumePtr; - sVolumeType= right.sVolumeType; - sReplicaNo= right.sReplicaNo; + if (&right == this) return *this; + + if (&right) + { + sTransform = right.sTransform; + sPhysicalVolumePtr = right.sPhysicalVolumePtr; + sVolumeType = right.sVolumeType; + sReplicaNo = right.sReplicaNo; + fCountRef = right.fCountRef; + } + return *this; } -inline G4VPhysicalVolume* G4NavigationLevelRep::GetPhysicalVolume() const +inline +G4VPhysicalVolume* +G4NavigationLevelRep::GetPhysicalVolume() { - return sPhysicalVolumePtr; + return sPhysicalVolumePtr; } -inline const G4AffineTransform& G4NavigationLevelRep::GetTransform() const +inline +const G4AffineTransform& +G4NavigationLevelRep::GetTransform() const { return sTransform; } #if 0 -inline G4AffineTransform& G4NavigationLevelRep::GetTransform() +inline +G4AffineTransform& G4NavigationLevelRep::GetTransform() { return sTransform; } #endif -inline const G4AffineTransform* G4NavigationLevelRep::GetTransformPtr() const +inline +const G4AffineTransform* +G4NavigationLevelRep::GetTransformPtr() const { return &sTransform; } -inline EVolume G4NavigationLevelRep::GetVolumeType() const +inline +EVolume G4NavigationLevelRep::GetVolumeType() const { return sVolumeType; } -inline G4int G4NavigationLevelRep::GetReplicaNo() const + +inline +G4int G4NavigationLevelRep::GetReplicaNo() const { return sReplicaNo; } -inline void G4NavigationLevelRep::AddAReference() +inline +void G4NavigationLevelRep::AddAReference() { fCountRef++; } -inline G4bool G4NavigationLevelRep::RemoveAReference() + +inline +G4bool G4NavigationLevelRep::RemoveAReference() { return( --fCountRef <= 0); } @@ -129,12 +154,14 @@ extern G4Allocator aNavigLevelRepAllocator; // If it is subclassed & new data members are added then the // following "new" & "delete" will fail and give errors. // -inline void* G4NavigationLevelRep::operator new(size_t) +inline +void* G4NavigationLevelRep::operator new(size_t) { return (void *) aNavigLevelRepAllocator.MallocSingle(); } -inline void G4NavigationLevelRep::operator delete(void *aLevelRep) +inline +void G4NavigationLevelRep::operator delete(void *aLevelRep) { aNavigLevelRepAllocator.FreeSingle((G4NavigationLevelRep *) aLevelRep); } diff --git a/source/geometry/volumes/include/G4Navigator.hh b/source/geometry/volumes/include/G4Navigator.hh index e46b847f53..278f63c54a 100644 --- a/source/geometry/volumes/include/G4Navigator.hh +++ b/source/geometry/volumes/include/G4Navigator.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Navigator.hh,v 1.5 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Navigator.hh,v 1.6 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Navigator @@ -152,7 +152,7 @@ class G4Navigator // same volume as the previous position. Usually this can be guaranteed // only if the point is within safety. - void LocateGlobalPointAndUpdateTouchable( + inline void LocateGlobalPointAndUpdateTouchable( const G4ThreeVector& position, const G4ThreeVector& direction, G4VTouchable* touchableToUpdate, @@ -161,14 +161,14 @@ class G4Navigator // LocateGlobalPointAndSetup(). Then use the volume found and its // navigation history to update the touchable. - void LocateGlobalPointAndUpdateTouchable( + inline void LocateGlobalPointAndUpdateTouchable( const G4ThreeVector& position, G4VTouchable* touchableToUpdate, const G4bool RelativeSearch =true); // Old version (missing direction). // Not recommended replace with newer version above. - void SetGeometricallyLimitedStep(); + inline void SetGeometricallyLimitedStep(); // Inform the navigator that the previous Step calculated // by the geometry was taken in its entirety. @@ -181,16 +181,16 @@ class G4Navigator // The proposed maximum length is used to avoid volume safety // calculations. The geometry must be closed. - G4ThreeVector GetCurrentLocalCoordinate() const; + inline G4ThreeVector GetCurrentLocalCoordinate() const; // Return the local coordinate of the point in the reference system // of its containing volume that was found by LocalGlobalPointAndSetup. // The local coordinate of the last located track. - G4ThreeVector ComputeLocalPoint(const G4ThreeVector& rGlobPoint) const; + inline G4ThreeVector ComputeLocalPoint(const G4ThreeVector& rGlobPoint) const; // Return position vector in local coordinate system, given a position // vector in world coordinate system. - G4ThreeVector ComputeLocalAxis(const G4ThreeVector& pVec) const; + inline G4ThreeVector ComputeLocalAxis(const G4ThreeVector& pVec) const; // Return the local direction of the specified vector in the reference // system of the volume that was found by LocalGlobalPointAndSetup. // The Local Coordinates of point in world coordinate system. @@ -199,7 +199,7 @@ class G4Navigator G4RotationMatrix NetRotation() const; // Compute+return the local->global translation/rotation of current volume. - G4VPhysicalVolume* GetWorldVolume() const; + inline G4VPhysicalVolume* GetWorldVolume() const; // Return the current world (`topmost') volume. void SetWorldVolume(G4VPhysicalVolume* pWorld); @@ -211,14 +211,14 @@ class G4Navigator G4TouchableHistory* CreateTouchableHistory() const; // `Touchable' creation methods: caller has deletion responsibility. - G4bool IsExitNormalValid(); + inline G4bool IsExitNormalValid(); // Return true if the Navigator // i) found that it is exiting the previous volume and is not // entering a daughter volume. // ii) has obtained the normal for the previous volume (in local // coordinates). - G4ThreeVector GetLocalExitNormal(); + inline G4ThreeVector GetLocalExitNormal(); // Can be called (i.e. can return a valid result) only if the Navigator // replied true to IsExitNormalValid(). // It returns the ExitNormal of the previous volume. @@ -256,22 +256,22 @@ class G4Navigator // Print the internal state of the Navigator (for debugging). // The level of detail is according to the verbosity. - const G4AffineTransform& GetGlobalToLocalTransform() const; + inline const G4AffineTransform& GetGlobalToLocalTransform() const; const G4AffineTransform GetLocalToGlobalTransform() const; // Obtain the transformations Global/Local (and inverse). // Clients of these methods must copy the data if they need to keep it. protected: // with description - void ResetStackAndState(); + inline void ResetStackAndState(); // Reset stack and minimum or navigator state machine necessary for reset // as needed by LocalGlobalPointAndSetup. // [Does not perform clears, resizes, or reset fLastLocatedPointLocal] - EVolume VolumeType(const G4VPhysicalVolume *pVol) const; + inline EVolume VolumeType(const G4VPhysicalVolume *pVol) const; // Characterise `type' of volume - normal/replicated/parameterised. - EVolume CharacteriseDaughters(const G4LogicalVolume *pLog) const; + inline EVolume CharacteriseDaughters(const G4LogicalVolume *pLog) const; // Characterise daughter of logical volume. void SetupHierarchy(); diff --git a/source/geometry/volumes/include/G4Navigator.icc b/source/geometry/volumes/include/G4Navigator.icc index 67bcb3254a..59cd112a93 100644 --- a/source/geometry/volumes/include/G4Navigator.icc +++ b/source/geometry/volumes/include/G4Navigator.icc @@ -5,46 +5,59 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Navigator.icc,v 1.2 1999/12/15 14:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Navigator.icc,v 1.3 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4Navigator Inline implementation // Return the local coordinate of the current track -inline G4ThreeVector G4Navigator::GetCurrentLocalCoordinate() const +// +inline +G4ThreeVector G4Navigator::GetCurrentLocalCoordinate() const { return fLastLocatedPointLocal; } // Return local direction of vector direction in world coord system -inline G4ThreeVector G4Navigator::ComputeLocalAxis(const G4ThreeVector& pVec) const +// +inline +G4ThreeVector G4Navigator::ComputeLocalAxis(const G4ThreeVector& pVec) const { - return (fHistory.GetTopTransform().IsRotated()) ? fHistory.GetTopTransform().TransformAxis(pVec) : pVec ; + return (fHistory.GetTopTransform().IsRotated()) + ? fHistory.GetTopTransform().TransformAxis(pVec) : pVec ; } // Return local coordinates of a point in the world coord system -inline G4ThreeVector G4Navigator::ComputeLocalPoint(const G4ThreeVector& pGlobalPoint) const +// +inline +G4ThreeVector G4Navigator::ComputeLocalPoint(const G4ThreeVector& pGlobalPoint) const { return ( fHistory.GetTopTransform().TransformPoint(pGlobalPoint) ) ; } // Return the current world (`topmost') volume -inline G4VPhysicalVolume* G4Navigator::GetWorldVolume() const +// +inline +G4VPhysicalVolume* G4Navigator::GetWorldVolume() const { return fTopPhysical; } // Inform the navigator that the previous Step calculated // by the geometry was taken in its entirety -inline void G4Navigator::SetGeometricallyLimitedStep() +// +inline +void G4Navigator::SetGeometricallyLimitedStep() { fWasLimitedByGeometry=true; } // Reset stack and minimum of navigator state `machine' -inline void G4Navigator::ResetStackAndState() +// +inline +void G4Navigator::ResetStackAndState() { fHistory.Reset(); @@ -57,7 +70,8 @@ inline void G4Navigator::ResetStackAndState() fBlockedReplicaNo=-1; } -inline EVolume G4Navigator::VolumeType(const G4VPhysicalVolume *pVol) const +inline +EVolume G4Navigator::VolumeType(const G4VPhysicalVolume *pVol) const { EVolume type; EAxis axis; @@ -76,7 +90,8 @@ inline EVolume G4Navigator::VolumeType(const G4VPhysicalVolume *pVol) const return type; } -inline EVolume G4Navigator::CharacteriseDaughters(const G4LogicalVolume *pLog) const +inline +EVolume G4Navigator::CharacteriseDaughters(const G4LogicalVolume *pLog) const { EVolume type; EAxis axis; @@ -108,28 +123,34 @@ inline EVolume G4Navigator::CharacteriseDaughters(const G4LogicalVolume *pLog) c // JA April 30th, 1997 // // Is the Surface Normal valid? -inline G4bool G4Navigator::IsExitNormalValid() +// +inline +G4bool G4Navigator::IsExitNormalValid() { return fExiting && fValidExitNormal; } -// Obtain the Normal vector to a surface (in local coordinates) -// ( It is valid only if Navigator replied true to above function) -inline G4ThreeVector G4Navigator::GetLocalExitNormal() +// Obtain the Normal vector to a surface (in local coordinates) +// (It is valid only if Navigator replied true to above function) +// +inline +G4ThreeVector G4Navigator::GetLocalExitNormal() { return fExitNormal; } -// Return local to global transformation -// ie transformation that will take point or axis in world coord system -// and return one in the local coord system -inline const G4AffineTransform& G4Navigator::GetGlobalToLocalTransform() const +// Return local to global transformation. +// I.e. transformation that will take point or axis in world coord system +// and return one in the local coord system +// +inline +const G4AffineTransform& G4Navigator::GetGlobalToLocalTransform() const { return fHistory.GetTopTransform(); } - -inline void G4Navigator::LocateGlobalPointAndUpdateTouchable( +inline +void G4Navigator::LocateGlobalPointAndUpdateTouchable( const G4ThreeVector& position, G4VTouchable* touchableToUpdate, const G4bool RelativeSearch ) @@ -139,7 +160,8 @@ inline void G4Navigator::LocateGlobalPointAndUpdateTouchable( touchableToUpdate->UpdateYourself( pPhysVol, &fHistory ); } -inline void G4Navigator::LocateGlobalPointAndUpdateTouchable( +inline +void G4Navigator::LocateGlobalPointAndUpdateTouchable( const G4ThreeVector& position, const G4ThreeVector& direction, G4VTouchable* touchableToUpdate, @@ -149,4 +171,3 @@ inline void G4Navigator::LocateGlobalPointAndUpdateTouchable( pPhysVol= LocateGlobalPointAndSetup( position, &direction, RelativeSearch); touchableToUpdate->UpdateYourself( pPhysVol, &fHistory ); } - diff --git a/source/geometry/volumes/include/G4NormalNavigation.hh b/source/geometry/volumes/include/G4NormalNavigation.hh index e5856bc9af..21babcf69c 100644 --- a/source/geometry/volumes/include/G4NormalNavigation.hh +++ b/source/geometry/volumes/include/G4NormalNavigation.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4NormalNavigation.hh,v 1.3 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4NormalNavigation diff --git a/source/geometry/volumes/include/G4NormalNavigation.icc b/source/geometry/volumes/include/G4NormalNavigation.icc index 160ca7fd2b..69034e0523 100644 --- a/source/geometry/volumes/include/G4NormalNavigation.icc +++ b/source/geometry/volumes/include/G4NormalNavigation.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NormalNavigation.icc,v 1.2 1999/12/15 14:50:23 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NormalNavigation.icc,v 1.3 2000/11/20 18:59:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4NormalNavigation Inline Implementation @@ -39,8 +39,6 @@ inline G4bool G4NormalNavigation::LevelLocate(G4NavigationHistory &history, samplePhysical=targetLogical->GetDaughter(sampleNo); if (samplePhysical!=blockedVol) { - EInside sampleInside; - // Setup volume with mother ptr samplePhysical->Setup(targetPhysical); history.NewLevel(samplePhysical, kNormal, samplePhysical->GetCopyNo()); @@ -62,7 +60,8 @@ inline G4bool G4NormalNavigation::LevelLocate(G4NavigationHistory &history, history.BackLevel(); } #else - sampleInside= sampleSolid->Inside(samplePoint); + EInside sampleInside = sampleSolid->Inside(samplePoint); + if( sampleInside == kOutside) { history.BackLevel(); diff --git a/source/geometry/volumes/include/G4ParameterisedNavigation.hh b/source/geometry/volumes/include/G4ParameterisedNavigation.hh index 1dd8703f68..404b2dbca6 100644 --- a/source/geometry/volumes/include/G4ParameterisedNavigation.hh +++ b/source/geometry/volumes/include/G4ParameterisedNavigation.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ParameterisedNavigation.hh,v 1.3 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ParameterisedNavigation diff --git a/source/geometry/volumes/include/G4ParameterisedNavigation.icc b/source/geometry/volumes/include/G4ParameterisedNavigation.icc index e0fb2b9374..0501d53d5e 100644 --- a/source/geometry/volumes/include/G4ParameterisedNavigation.icc +++ b/source/geometry/volumes/include/G4ParameterisedNavigation.icc @@ -5,15 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParameterisedNavigation.icc,v 1.2 1999/12/15 14:50:23 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParameterisedNavigation.icc,v 1.3 2000/11/20 18:59:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ParameterisedNavigation Inline implementation -inline G4ParameterisedNavigation::G4ParameterisedNavigation() : - fVoxelNode(0),fVoxelHeader(0) +inline G4ParameterisedNavigation::G4ParameterisedNavigation() + : fVoxelHeader(0), fVoxelNode(0) { } diff --git a/source/geometry/volumes/include/G4PropagatorInField.hh b/source/geometry/volumes/include/G4PropagatorInField.hh index 0e2f9899c0..96de92eb5e 100644 --- a/source/geometry/volumes/include/G4PropagatorInField.hh +++ b/source/geometry/volumes/include/G4PropagatorInField.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PropagatorInField.hh,v 1.8 2000/05/16 17:39:00 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PropagatorInField.hh,v 1.10 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4PropagatorInField @@ -68,47 +68,48 @@ class G4PropagatorInField G4VPhysicalVolume *pPhysVol=0 ); // Compute the next geometric Step - G4ThreeVector EndPosition(); - G4ThreeVector EndMomentumDir(); - G4bool IsParticleLooping(); + inline G4ThreeVector EndPosition() const; + inline G4ThreeVector EndMomentumDir() const; + inline G4bool IsParticleLooping() const; // Return the state after the Step - G4double DeltaIntersection(); + inline G4double DeltaIntersection() const; // The accuracy of finding an intersection G4double DeltaOneStep(); // The accuracy of a single Step - G4double GetEpsilonStep(); // Relative accuracy for current Step (Calc.) - void SetEpsilonStep(G4double newEps); + inline G4double GetEpsilonStep() const; + // Relative accuracy for current Step (Calc.) + inline void SetEpsilonStep(G4double newEps); // The ratio DeltaOneStep()/h_current_step - void SetChargeMomentumMass( G4double Charge, // in e+ units - G4double Momentum, // in Geant4 units - G4double pMass); + inline void SetChargeMomentumMass(G4double Charge, // in e+ units + G4double Momentum, // in Geant4 units + G4double pMass); - G4ChordFinder* GetChordFinder(); + inline G4ChordFinder* GetChordFinder(); // void SetChordFinder(G4ChordFinder* newCF); // Not yet relevant - G4int SetVerboseLevel( G4int Verbose ); - G4int Verbose(); + inline G4int SetVerboseLevel( G4int Verbose ); + inline G4int Verbose() const; - G4double GetDeltaIntersection(); + inline G4double GetDeltaIntersection() const; // Accuracy for boundary intersection. - G4double GetDeltaOneStep(); + inline G4double GetDeltaOneStep() const; // Accuracy for one tracking/physics step. - void SetAccuraciesWithDeltaOneStep(G4double deltaOneStep); + inline void SetAccuraciesWithDeltaOneStep(G4double deltaOneStep); // Sets both accuracies, maintaining a particular ratio - // for accuracties of volume Intersection and Integration (in One Step) + // for accuracties of volume Intersection and Integration (in One Step) - void SetDeltaOneStep(G4double deltaOneStep); + inline void SetDeltaOneStep(G4double deltaOneStep); // Set accuracy for integration of one step. (only) - void SetDeltaIntersection(G4double deltaIntersection); + inline void SetDeltaIntersection(G4double deltaIntersection); // Set accuracy of intersection of a volume. (only) - G4int GetMaxLoopCount(); - void SetMaxLoopCount(G4int new_max); + inline G4int GetMaxLoopCount() const; + inline void SetMaxLoopCount(G4int new_max); // A maximum for the number of steps that a (looping) particle can take. void printStatus( @@ -120,7 +121,7 @@ class G4PropagatorInField G4VPhysicalVolume* startVolume); // Print Method - useful mostly for debugging. - G4FieldTrack GetEndState(); + inline G4FieldTrack GetEndState() const; public: // without description diff --git a/source/geometry/volumes/include/G4PropagatorInField.icc b/source/geometry/volumes/include/G4PropagatorInField.icc index 84a2d39fe4..4f329b3dc9 100644 --- a/source/geometry/volumes/include/G4PropagatorInField.icc +++ b/source/geometry/volumes/include/G4PropagatorInField.icc @@ -5,15 +5,15 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PropagatorInField.icc,v 1.8 2000/05/16 17:39:25 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PropagatorInField.icc,v 1.13 2000/11/20 19:02:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------------------ // GEANT 4 include file implementation // // For information related to this code contact: -// CERN, IT Division (formely CN), ASD group +// GEANT4 Collaboration // ------------------------------------------------------------------------ // // 25.10.96 John Apostolakis, design and implementation @@ -25,17 +25,17 @@ // and ?? also must know the value of the maximum displacement allowed // -inline G4PropagatorInField:: -G4PropagatorInField( G4Navigator *theNavigator, - G4FieldManager *detectorFieldMgr) : +inline +G4PropagatorInField::G4PropagatorInField(G4Navigator *theNavigator, + G4FieldManager *detectorFieldMgr) + : fDetectorFieldMgr(detectorFieldMgr), fNavigator(theNavigator), - fDetectorFieldMgr(detectorFieldMgr), - fmax_loop_count(10000), End_PointAndTangent(G4ThreeVector(0.,0.,0.), G4ThreeVector(0.,0.,0.),0.0,0.0), + fVerboseLevel(0), fDelta_One_Step_Value(fDefault_Delta_One_Step_Value), fDelta_Intersection_Val(fDefault_Delta_Intersection_Val), - fVerboseLevel(0) + fmax_loop_count(10000) { // this->fChordFinder = new G4ChordFinder( (G4MagneticField*)0, 1e-6 ); @@ -54,7 +54,8 @@ G4ChordFinder* G4PropagatorInField::GetChordFinder() return fDetectorFieldMgr->GetChordFinder(); } -inline void G4PropagatorInField::SetChargeMomentumMass( +inline +void G4PropagatorInField::SetChargeMomentumMass( G4double Charge, // in e+ units G4double Momentum, // in GeV/c G4double Mass) // in ? units @@ -65,61 +66,75 @@ inline void G4PropagatorInField::SetChargeMomentumMass( // Obtain the final space-point and velocity (normal) at the end of the Step // inline -G4ThreeVector G4PropagatorInField::EndPosition() +G4ThreeVector G4PropagatorInField::EndPosition() const { return End_PointAndTangent.Position(); } inline -G4ThreeVector G4PropagatorInField::EndMomentumDir() +G4ThreeVector G4PropagatorInField::EndMomentumDir() const { return End_PointAndTangent.GetMomentumDir(); } -inline G4double G4PropagatorInField::GetEpsilonStep() +inline +G4double G4PropagatorInField::GetEpsilonStep() const { return fEpsilonStep; } -inline void G4PropagatorInField::SetEpsilonStep(G4double newEps) + +inline +void G4PropagatorInField::SetEpsilonStep(G4double newEps) { fEpsilonStep=newEps; } -inline G4bool G4PropagatorInField::IsParticleLooping() + +inline +G4bool G4PropagatorInField::IsParticleLooping() const { return fParticleIsLooping; } -inline G4int G4PropagatorInField::GetMaxLoopCount() +inline +G4int G4PropagatorInField::GetMaxLoopCount() const { return fmax_loop_count; } -inline void G4PropagatorInField::SetMaxLoopCount(G4int new_max) +inline +void G4PropagatorInField::SetMaxLoopCount(G4int new_max) { fmax_loop_count= new_max; } -// inline void G4PropagatorInField::SetChordFinder(G4ChordFinder* newCF) +inline +G4double G4PropagatorInField::GetDeltaIntersection() const +{ + return fDelta_Intersection_Val; +} +inline +G4double G4PropagatorInField::GetDeltaOneStep() const +{ + return fDelta_One_Step_Value; +} -inline G4double G4PropagatorInField::GetDeltaIntersection() -{ return fDelta_Intersection_Val; } -inline G4double G4PropagatorInField:: GetDeltaOneStep() -{ return fDelta_One_Step_Value; } - -// void SetDeltaIntersection(G4double); -inline void G4PropagatorInField::SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep) +inline +void +G4PropagatorInField::SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep) { fDelta_One_Step_Value= valDeltaOneStep; fDelta_Intersection_Val = 0.4 * fDelta_One_Step_Value; } -inline void G4PropagatorInField::SetDeltaOneStep(G4double valDeltaOneStep) +inline +void G4PropagatorInField::SetDeltaOneStep(G4double valDeltaOneStep) { fDelta_One_Step_Value= valDeltaOneStep; } -inline void G4PropagatorInField::SetDeltaIntersection(G4double valDeltaIntersection) +inline +void G4PropagatorInField::SetDeltaIntersection(G4double valDeltaIntersection) { fDelta_Intersection_Val = valDeltaIntersection; } @@ -131,13 +146,13 @@ G4int G4PropagatorInField::SetVerboseLevel( G4int Verbose ) } inline -G4int G4PropagatorInField::Verbose() +G4int G4PropagatorInField::Verbose() const { return fVerboseLevel; } inline -G4FieldTrack G4PropagatorInField::GetEndState() +G4FieldTrack G4PropagatorInField::GetEndState() const { return End_PointAndTangent; } diff --git a/source/geometry/volumes/include/G4ReplicaNavigation.hh b/source/geometry/volumes/include/G4ReplicaNavigation.hh index 5f7e541246..b0d7e40a93 100644 --- a/source/geometry/volumes/include/G4ReplicaNavigation.hh +++ b/source/geometry/volumes/include/G4ReplicaNavigation.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ReplicaNavigation.hh,v 1.3 2000/04/25 16:15:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ReplicaNavigation diff --git a/source/geometry/volumes/include/G4ReplicaNavigation.icc b/source/geometry/volumes/include/G4ReplicaNavigation.icc index d8f6b9176f..51d8e4c026 100644 --- a/source/geometry/volumes/include/G4ReplicaNavigation.icc +++ b/source/geometry/volumes/include/G4ReplicaNavigation.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ReplicaNavigation.icc,v 1.2 1999/12/15 14:50:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ReplicaNavigation.icc,v 1.3 2000/11/20 18:59:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ReplicaNavigation Inline implementation @@ -16,7 +16,8 @@ inline G4int G4ReplicaNavigation::VoxelLocate(const G4SmartVoxelHeader *pHead, const G4int blocked) const { EAxis targetHeaderAxis; - G4double coord,targetHeaderMin; + G4double coord=0.; + G4double targetHeaderMin; G4double targetHeaderNodeWidth,targetNodePos; G4int targetHeaderNoSlices,targetNodeNo; diff --git a/source/geometry/volumes/include/G4TouchableHistory.hh b/source/geometry/volumes/include/G4TouchableHistory.hh index 74916aa8d1..6eaaca98db 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.hh +++ b/source/geometry/volumes/include/G4TouchableHistory.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TouchableHistory.hh,v 1.3 2000/04/25 16:15:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4TouchableHistory.hh,v 1.4 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4TouchableHistory @@ -33,31 +33,32 @@ class G4TouchableHistory : public G4VTouchable public: // with description - G4TouchableHistory(const G4NavigationHistory &history); + G4TouchableHistory(const G4NavigationHistory& history); G4TouchableHistory(); // The default constructor produces a touchable-history of // 'zero-depth', ie an "unphysical" and not very unusable one. // It is for initialisation only. - ~G4TouchableHistory(); - G4VPhysicalVolume* GetVolume(G4int depth=0) const; - G4VSolid* GetSolid(G4int depth=0) const; + virtual ~G4TouchableHistory(); + + inline G4VPhysicalVolume* GetVolume(G4int depth=0) const; + inline G4VSolid* GetSolid(G4int depth=0) const; const G4ThreeVector& GetTranslation(G4int depth=0) const; - const G4RotationMatrix* GetRotation(G4int depth=0) const; + const G4RotationMatrix* GetRotation(G4int depth=0) const; - G4int GetReplicaNumber(G4int depth=0) const; - G4int GetHistoryDepth() const; + inline G4int GetReplicaNumber(G4int depth=0) const; + inline G4int GetHistoryDepth() const; G4int MoveUpHistory( G4int num_levels = 1 ); // Access methods for touchables with history virtual void UpdateYourself(G4VPhysicalVolume* pPhysVol, - const G4NavigationHistory* history=NULL); + const G4NavigationHistory* history=0); // Update methods for touchables with history public: // without description - const G4NavigationHistory* GetHistory() const; - // Should this method be "depricated" ? + inline const G4NavigationHistory* GetHistory() const; + // Should this method be "deprecated" ? // it is used now in G4Navigator::LocateGlobalPointAndSetup // void ResetLevel(); @@ -65,7 +66,7 @@ class G4TouchableHistory : public G4VTouchable private: - G4int CalculateHistoryIndex(G4int stackDepth) const; + inline G4int CalculateHistoryIndex(G4int stackDepth) const; G4RotationMatrix frot; G4ThreeVector ftlate; diff --git a/source/geometry/volumes/include/G4TouchableHistory.icc b/source/geometry/volumes/include/G4TouchableHistory.icc index d866a00163..c9f6b8c945 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.icc +++ b/source/geometry/volumes/include/G4TouchableHistory.icc @@ -5,20 +5,20 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TouchableHistory.icc,v 1.3 1999/12/15 14:50:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4TouchableHistory.icc,v 1.5 2000/11/20 18:59:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4TouchableHistory inline implementation -inline G4TouchableHistory::G4TouchableHistory() - : fhistory() +inline +G4TouchableHistory::G4TouchableHistory() + : frot(G4RotationMatrix()), ftlate(G4ThreeVector(0.,0.,0.)), fhistory() { - ftlate= G4ThreeVector(0.,0.,0.); - frot= G4RotationMatrix(); } -inline G4TouchableHistory::G4TouchableHistory(const G4NavigationHistory &history) +inline +G4TouchableHistory::G4TouchableHistory(const G4NavigationHistory &history) : fhistory(history) { G4AffineTransform tf(fhistory.GetTopTransform().Inverse()); @@ -26,9 +26,9 @@ inline G4TouchableHistory::G4TouchableHistory(const G4NavigationHistory &history frot=tf.NetRotation(); } -inline -void G4TouchableHistory::UpdateYourself( G4VPhysicalVolume* pPhysVol, - const G4NavigationHistory* pHistory) +inline +void G4TouchableHistory::UpdateYourself(G4VPhysicalVolume* pPhysVol, + const G4NavigationHistory* pHistory) { fhistory= *pHistory; G4AffineTransform tf(fhistory.GetTopTransform().Inverse()); @@ -42,38 +42,44 @@ void G4TouchableHistory::UpdateYourself( G4VPhysicalVolume* pPhysVol, frot=tf.NetRotation(); } -G4int -inline G4TouchableHistory::CalculateHistoryIndex(G4int stackDepth) const +inline +G4int G4TouchableHistory::CalculateHistoryIndex(G4int stackDepth) const { return (fhistory.GetDepth()-stackDepth); // was -1 } -inline G4VPhysicalVolume* G4TouchableHistory::GetVolume(G4int depth) const +inline +G4VPhysicalVolume* G4TouchableHistory::GetVolume(G4int depth) const { return fhistory.GetVolume(CalculateHistoryIndex(depth)); } -inline G4VSolid* G4TouchableHistory::GetSolid(G4int depth) const +inline +G4VSolid* G4TouchableHistory::GetSolid(G4int depth) const { - return fhistory.GetVolume(CalculateHistoryIndex(depth))->GetLogicalVolume()->GetSolid(); + return fhistory.GetVolume(CalculateHistoryIndex(depth)) + ->GetLogicalVolume()->GetSolid(); } -inline G4int G4TouchableHistory::GetReplicaNumber(G4int depth) const +inline +G4int G4TouchableHistory::GetReplicaNumber(G4int depth) const { // return this->GetHistory()->GetTopReplicaNo(); return fhistory.GetReplicaNo(CalculateHistoryIndex(depth)); } -inline G4int G4TouchableHistory::GetHistoryDepth() const +inline +G4int G4TouchableHistory::GetHistoryDepth() const { return fhistory.GetDepth(); } -inline G4int G4TouchableHistory::MoveUpHistory( G4int num_levels ) +inline +G4int G4TouchableHistory::MoveUpHistory( G4int num_levels ) { G4NavigationHistory* nHistory= &fhistory; G4int maxLevelsMove= nHistory->GetDepth(); - G4int minLevelsMove= 0; // Cannot redescend today! + G4int minLevelsMove= 0; // Cannot redescend today! // Soon it will be possible // by adding a data member here // fCurrentDepth; @@ -90,7 +96,8 @@ inline G4int G4TouchableHistory::MoveUpHistory( G4int num_levels ) return num_levels; } -inline const G4NavigationHistory* G4TouchableHistory::GetHistory() const +inline +const G4NavigationHistory* G4TouchableHistory::GetHistory() const { return &fhistory; } diff --git a/source/geometry/volumes/include/G4TransportationManager.hh b/source/geometry/volumes/include/G4TransportationManager.hh index 2190f7ba70..d8c2e4ac63 100644 --- a/source/geometry/volumes/include/G4TransportationManager.hh +++ b/source/geometry/volumes/include/G4TransportationManager.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TransportationManager.hh,v 1.4 2000/04/25 16:15:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4TransportationManager.hh,v 1.5 2000/11/01 16:51:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // class G4TransportationManager // @@ -37,13 +37,13 @@ class G4TransportationManager static G4TransportationManager* GetTransportationManager(); - G4Navigator* GetNavigatorForTracking(); - G4PropagatorInField* GetPropagatorInField(); - G4FieldManager* GetFieldManager(); + inline G4Navigator* GetNavigatorForTracking() const; + inline G4PropagatorInField* GetPropagatorInField() const; + inline G4FieldManager* GetFieldManager() const; - void SetNavigatorForTracking( G4Navigator* newNavigator); - void SetPropagatorInField( G4PropagatorInField* newFieldPropagator); - void SetFieldManager( G4FieldManager* newFieldManager); + inline void SetNavigatorForTracking( G4Navigator* newNavigator); + inline void SetPropagatorInField( G4PropagatorInField* newFieldPropagator); + inline void SetFieldManager( G4FieldManager* newFieldManager); ~G4TransportationManager(); diff --git a/source/geometry/volumes/include/G4TransportationManager.icc b/source/geometry/volumes/include/G4TransportationManager.icc index 4969cf16dd..7111c7983a 100644 --- a/source/geometry/volumes/include/G4TransportationManager.icc +++ b/source/geometry/volumes/include/G4TransportationManager.icc @@ -5,50 +5,49 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TransportationManager.icc,v 1.3 1999/12/15 14:50:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ -// -// +// $Id: G4TransportationManager.icc,v 1.4 2000/11/01 16:51:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // ------------------------------------------------------------ // GEANT 4 inlined function members implementation -// -// For information related to this code contact: -// CERN, CN Division, ASD group // ------------------------------------------------------------ // // Created: 10 March 1997, J. Apostolakis // -inline G4Navigator* G4TransportationManager::GetNavigatorForTracking() +inline +G4Navigator* G4TransportationManager::GetNavigatorForTracking() const { return fNavigatorForTracking; } -inline G4PropagatorInField* G4TransportationManager::GetPropagatorInField() +inline +G4PropagatorInField* G4TransportationManager::GetPropagatorInField() const { return fPropagatorInField; } -inline G4FieldManager* G4TransportationManager::GetFieldManager() +inline +G4FieldManager* G4TransportationManager::GetFieldManager() const { return fFieldManager; } -inline void G4TransportationManager::SetNavigatorForTracking( - G4Navigator* newNavigator) +inline +void G4TransportationManager::SetNavigatorForTracking(G4Navigator* newNavigator) { fNavigatorForTracking= newNavigator; // fPropagatorInField->setNavigator(newNavigator); } -inline void G4TransportationManager::SetPropagatorInField( +inline +void G4TransportationManager::SetPropagatorInField( G4PropagatorInField* newFieldPropagator ) { fPropagatorInField= newFieldPropagator; } -inline void G4TransportationManager::SetFieldManager( - G4FieldManager* newFieldManager) +inline +void G4TransportationManager::SetFieldManager(G4FieldManager* newFieldManager) { fFieldManager= newFieldManager; } diff --git a/source/geometry/volumes/include/G4VoxelNavigation.hh b/source/geometry/volumes/include/G4VoxelNavigation.hh index 3e8343ff38..472aa7bff2 100644 --- a/source/geometry/volumes/include/G4VoxelNavigation.hh +++ b/source/geometry/volumes/include/G4VoxelNavigation.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VoxelNavigation.hh,v 1.6 2000/04/25 16:15:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VoxelNavigation.hh,v 1.7 2000/11/01 16:51:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VoxelNavigation @@ -22,7 +22,7 @@ #ifndef G4VOXELNAVIGATION_HH #define G4VOXELNAVIGATION_HH -#include "globals.hh" +#include "geomdefs.hh" #include "G4NavigationHistory.hh" #include "G4AffineTransform.hh" #include "G4VPhysicalVolume.hh" @@ -39,9 +39,6 @@ #include "g4rw/tvvector.h" #include "g4rw/tpvector.h" -// Voxel stack depth maximum [no resizing] -const G4int kNavigatorVoxelStackMax = 3; - class G4VoxelNavigation { public: // with description diff --git a/source/geometry/volumes/include/G4VoxelNavigation.icc b/source/geometry/volumes/include/G4VoxelNavigation.icc index 23f9c7b1b0..fe5cf57215 100644 --- a/source/geometry/volumes/include/G4VoxelNavigation.icc +++ b/source/geometry/volumes/include/G4VoxelNavigation.icc @@ -5,24 +5,28 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VoxelNavigation.icc,v 1.2 1999/12/15 14:50:25 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VoxelNavigation.icc,v 1.4 2000/11/20 18:59:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VoxelNavigation Inline implementation -inline G4VoxelNavigation::G4VoxelNavigation() : +inline +G4VoxelNavigation::G4VoxelNavigation() + : fVoxelDepth(-1), fVoxelAxisStack(kNavigatorVoxelStackMax), fVoxelNoSlicesStack(kNavigatorVoxelStackMax), fVoxelSliceWidthStack(kNavigatorVoxelStackMax), fVoxelNodeNoStack(kNavigatorVoxelStackMax), fVoxelHeaderStack(kNavigatorVoxelStackMax), - fVoxelDepth(-1),fVoxelNode(0) + fVoxelNode(0) { } -inline G4SmartVoxelNode* G4VoxelNavigation::VoxelLocate(G4SmartVoxelHeader *pHead, - const G4ThreeVector &localPoint) +inline +G4SmartVoxelNode* +G4VoxelNavigation::VoxelLocate(G4SmartVoxelHeader *pHead, + const G4ThreeVector &localPoint) { G4SmartVoxelHeader *targetVoxelHeader=pHead; G4SmartVoxelNode *targetVoxelNode=0; @@ -32,12 +36,15 @@ inline G4SmartVoxelNode* G4VoxelNavigation::VoxelLocate(G4SmartVoxelHeader *pHea G4int targetHeaderNoSlices,targetNodeNo; fVoxelDepth=0; - do { + while (!targetVoxelNode) + { targetHeaderAxis=targetVoxelHeader->GetAxis(); targetHeaderNoSlices=targetVoxelHeader->GetNoSlices(); targetHeaderMin=targetVoxelHeader->GetMinExtent(); - targetHeaderNodeWidth=(targetVoxelHeader->GetMaxExtent()-targetHeaderMin)/targetHeaderNoSlices; - targetNodeNo=G4int ((localPoint(targetHeaderAxis)-targetHeaderMin)/targetHeaderNodeWidth); + targetHeaderNodeWidth= (targetVoxelHeader->GetMaxExtent() + -targetHeaderMin)/targetHeaderNoSlices; + targetNodeNo=G4int((localPoint(targetHeaderAxis) + -targetHeaderMin)/targetHeaderNodeWidth); // Rounding protection if (targetNodeNo<0) { @@ -64,12 +71,13 @@ inline G4SmartVoxelNode* G4VoxelNavigation::VoxelLocate(G4SmartVoxelHeader *pHea targetVoxelHeader=sampleProxy->GetHeader(); fVoxelDepth++; } - } while (!targetVoxelNode); + } fVoxelNode=targetVoxelNode; return targetVoxelNode; } -inline G4bool G4VoxelNavigation::LevelLocate(G4NavigationHistory& history, +inline +G4bool G4VoxelNavigation::LevelLocate(G4NavigationHistory& history, const G4VPhysicalVolume *blockedVol, const G4int, const G4ThreeVector &globalPoint, @@ -107,7 +115,7 @@ inline G4bool G4VoxelNavigation::LevelLocate(G4NavigationHistory& history, { // Setup volume with mother ptr samplePhysical->Setup(targetPhysical); - history.NewLevel(samplePhysical, kNormal, samplePhysical->GetCopyNo()); + history.NewLevel(samplePhysical,kNormal,samplePhysical->GetCopyNo()); sampleSolid=samplePhysical->GetLogicalVolume()->GetSolid(); samplePoint=history.GetTopTransform().TransformPoint(globalPoint); @@ -129,4 +137,3 @@ inline G4bool G4VoxelNavigation::LevelLocate(G4NavigationHistory& history, } return false; } - diff --git a/source/geometry/volumes/src/G4BlockingList.cc b/source/geometry/volumes/src/G4BlockingList.cc index f11e381941..b9ebc8cad8 100644 --- a/source/geometry/volumes/src/G4BlockingList.cc +++ b/source/geometry/volumes/src/G4BlockingList.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4BlockingList.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4BlockingList Implementation diff --git a/source/geometry/volumes/src/G4GRSSolid.cc b/source/geometry/volumes/src/G4GRSSolid.cc index 1348ce770e..b3413da260 100644 --- a/source/geometry/volumes/src/G4GRSSolid.cc +++ b/source/geometry/volumes/src/G4GRSSolid.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSSolid.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSSolid.cc,v 1.3 2000/11/01 16:51:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSSolid Implementation @@ -17,3 +17,37 @@ G4GRSSolid::~G4GRSSolid() { delete frot; // safe if null } + +G4GRSSolid::G4GRSSolid(const G4GRSSolid& right) +{ + if ((&right) && (&right != this)) + { + fsolid = right.fsolid; + ftlate = right.ftlate; + if (frot) + { + delete frot; + frot = 0; + } + if (right.frot) + frot = new G4RotationMatrix(*(right.frot)); + } +} + +G4GRSSolid& G4GRSSolid::operator=(const G4GRSSolid& right) +{ + if (&right == this) return *this; + if (&right) + { + fsolid = right.fsolid; + ftlate = right.ftlate; + if (frot) + { + delete frot; + frot = 0; + } + if (right.frot) + frot = new G4RotationMatrix(*(right.frot)); + } + return *this; +} diff --git a/source/geometry/volumes/src/G4GRSVolume.cc b/source/geometry/volumes/src/G4GRSVolume.cc index 0e45d3039e..6faa184d00 100644 --- a/source/geometry/volumes/src/G4GRSVolume.cc +++ b/source/geometry/volumes/src/G4GRSVolume.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GRSVolume.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GRSVolume.cc,v 1.3 2000/11/01 16:51:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4GRSVolume Implementation @@ -17,3 +17,37 @@ G4GRSVolume::~G4GRSVolume() { delete frot; // safe if null } + +G4GRSVolume::G4GRSVolume(const G4GRSVolume& right) +{ + if ((&right) && (&right != this)) + { + fvol = right.fvol; + ftlate = right.ftlate; + if (frot) + { + delete frot; + frot = 0; + } + if (right.frot) + frot = new G4RotationMatrix(*(right.frot)); + } +} + +G4GRSVolume& G4GRSVolume::operator=(const G4GRSVolume& right) +{ + if (&right == this) return *this; + if (&right) + { + fvol = right.fvol; + ftlate = right.ftlate; + if (frot) + { + delete frot; + frot = 0; + } + if (right.frot) + frot = new G4RotationMatrix(*(right.frot)); + } + return *this; +} diff --git a/source/geometry/volumes/src/G4LogicalBorderSurface.cc b/source/geometry/volumes/src/G4LogicalBorderSurface.cc index 719a917515..536a28ea97 100644 --- a/source/geometry/volumes/src/G4LogicalBorderSurface.cc +++ b/source/geometry/volumes/src/G4LogicalBorderSurface.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalBorderSurface.cc,v 1.3 2000/04/25 16:15:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalBorderSurface.cc,v 1.5 2000/11/20 19:05:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // G4LogicalBorderSurface Implementation @@ -41,19 +41,23 @@ G4LogicalBorderSurface::G4LogicalBorderSurface(const G4String& name, G4VPhysicalVolume* vol1, G4VPhysicalVolume* vol2, G4OpticalSurface* opticsSurface) - : G4LogicalSurface(name, opticsSurface), - Volume1(vol1), - Volume2(vol2) + : G4LogicalSurface(name, opticsSurface), + Volume1(vol1), Volume2(vol2) { - // Store in the table of Surfaces - theBorderSurfaceTable.insert(this); - theIndexInTable = theBorderSurfaceTable.index(this); + // Store in the table of Surfaces + theBorderSurfaceTable.insert(this); + theIndexInTable = theBorderSurfaceTable.index(this); } -G4LogicalBorderSurface::G4LogicalBorderSurface(const G4LogicalBorderSurface &right) - : G4LogicalSurface(right.GetName(), right.GetOpticalSurface()) +G4LogicalBorderSurface:: +G4LogicalBorderSurface(const G4LogicalBorderSurface& right) + : G4LogicalSurface(right.GetName(), right.GetOpticalSurface()) { - *this = right; + SetTransitionRadiationSurface(right.GetTransitionRadiationSurface()); + Volume1 = right.Volume1; + Volume2 = right.Volume2; + theIndexInTable = right.theIndexInTable; + theBorderSurfaceTable = right.theBorderSurfaceTable; } G4LogicalBorderSurface::~G4LogicalBorderSurface(){} @@ -62,19 +66,33 @@ G4LogicalBorderSurface::~G4LogicalBorderSurface(){} // Operators ////////////// -const G4LogicalBorderSurface& G4LogicalBorderSurface::operator=(const G4LogicalBorderSurface &right) +const G4LogicalBorderSurface& +G4LogicalBorderSurface::operator=(const G4LogicalBorderSurface &right) { - return right; + if (&right == this) return *this; + if (&right) + { + SetOpticalSurface(right.GetOpticalSurface()); + SetName(right.GetName()); + SetTransitionRadiationSurface(right.GetTransitionRadiationSurface()); + Volume1 = right.Volume1; + Volume2 = right.Volume2; + theIndexInTable = right.theIndexInTable; + theBorderSurfaceTable = right.theBorderSurfaceTable; + } + return *this; } -G4int G4LogicalBorderSurface::operator==(const G4LogicalBorderSurface &right) const +G4int +G4LogicalBorderSurface::operator==(const G4LogicalBorderSurface &right) const { - return (this == (G4LogicalBorderSurface *) &right); + return (this == (G4LogicalBorderSurface *) &right); } -G4int G4LogicalBorderSurface::operator!=(const G4LogicalBorderSurface &right) const +G4int +G4LogicalBorderSurface::operator!=(const G4LogicalBorderSurface &right) const { - return (this != (G4LogicalBorderSurface *) &right); + return (this != (G4LogicalBorderSurface *) &right); } //////////// // Methods @@ -91,10 +109,11 @@ size_t G4LogicalBorderSurface::GetNumberOfBorderSurfaces() return theBorderSurfaceTable.length(); } -G4LogicalBorderSurface* G4LogicalBorderSurface::GetSurface(const G4VPhysicalVolume* vol1, - const G4VPhysicalVolume* vol2) +G4LogicalBorderSurface* +G4LogicalBorderSurface::GetSurface(const G4VPhysicalVolume* vol1, + const G4VPhysicalVolume* vol2) { - for (int i=0; iGetVolume1() == vol1 && theBorderSurfaceTable[i]->GetVolume2() == vol2 ) return theBorderSurfaceTable[i]; @@ -110,7 +129,7 @@ void G4LogicalBorderSurface::DumpInfo() // Class method (it is really const) G4cout << "***** Surface Table : Nb of Surfaces = " << GetNumberOfBorderSurfaces() << " *****" << G4endl; - for (int i=0; iGetName() << " : " << G4endl << " Surface type = " << theBorderSurfaceTable[i]->GetName() << G4endl; #ifdef PRINT_INFO diff --git a/source/geometry/volumes/src/G4LogicalSkinSurface.cc b/source/geometry/volumes/src/G4LogicalSkinSurface.cc index 4ccf615710..7388e72f2a 100644 --- a/source/geometry/volumes/src/G4LogicalSkinSurface.cc +++ b/source/geometry/volumes/src/G4LogicalSkinSurface.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LogicalSkinSurface.cc,v 1.3 2000/04/25 16:15:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LogicalSkinSurface.cc,v 1.5 2000/11/20 19:05:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // G4LogicalSkinSurface Implementation @@ -41,18 +41,21 @@ G4LogicalSkinSurfaceTable G4LogicalSkinSurface::theSurfaceTable; G4LogicalSkinSurface::G4LogicalSkinSurface(const G4String& name, G4LogicalVolume* logicalVolume, G4OpticalSurface* opticalSurface) - : G4LogicalSurface(name, opticalSurface), - LogVolume(logicalVolume) + : G4LogicalSurface(name, opticalSurface), + LogVolume(logicalVolume) { - // Store in the table of Surfaces - theSurfaceTable.insert(this); - theIndexInTable = theSurfaceTable.index(this); + // Store in the table of Surfaces + theSurfaceTable.insert(this); + theIndexInTable = theSurfaceTable.index(this); } G4LogicalSkinSurface::G4LogicalSkinSurface(const G4LogicalSkinSurface &right) - : G4LogicalSurface(right.GetName(), right.GetOpticalSurface()) + : G4LogicalSurface(right.GetName(), right.GetOpticalSurface()) { - *this = right; + SetTransitionRadiationSurface(right.GetTransitionRadiationSurface()); + LogVolume = right.LogVolume; + theIndexInTable = right.theIndexInTable; + theSurfaceTable = right.theSurfaceTable; } G4LogicalSkinSurface::~G4LogicalSkinSurface(){} @@ -61,17 +64,30 @@ G4LogicalSkinSurface::~G4LogicalSkinSurface(){} // Operators ////////////// -const G4LogicalSkinSurface& G4LogicalSkinSurface::operator=(const G4LogicalSkinSurface &right) +const G4LogicalSkinSurface& +G4LogicalSkinSurface::operator=(const G4LogicalSkinSurface &right) { - return right; + if (&right == this) return *this; + if (&right) + { + SetOpticalSurface(right.GetOpticalSurface()); + SetName(right.GetName()); + SetTransitionRadiationSurface(right.GetTransitionRadiationSurface()); + LogVolume = right.LogVolume; + theIndexInTable = right.theIndexInTable; + theSurfaceTable = right.theSurfaceTable; + } + return *this; } -G4int G4LogicalSkinSurface::operator==(const G4LogicalSkinSurface &right) const +G4int +G4LogicalSkinSurface::operator==(const G4LogicalSkinSurface &right) const { return (this == (G4LogicalSkinSurface *) &right); } -G4int G4LogicalSkinSurface::operator!=(const G4LogicalSkinSurface &right) const +G4int +G4LogicalSkinSurface::operator!=(const G4LogicalSkinSurface &right) const { return (this != (G4LogicalSkinSurface *) &right); } @@ -84,9 +100,10 @@ size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces() return theSurfaceTable.length(); } -G4LogicalSkinSurface* G4LogicalSkinSurface::GetSurface(const G4LogicalVolume* vol) +G4LogicalSkinSurface* +G4LogicalSkinSurface::GetSurface(const G4LogicalVolume* vol) { - for (int i=0; iGetLogicalVolume() == vol) return theSurfaceTable[i]; } @@ -98,16 +115,15 @@ void G4LogicalSkinSurface::DumpInfo() // Dump info for known surfaces - G4cout << "***** Surface Table : Nb of Surfaces = " << -// G4LogicalSkinSurface:: - GetNumberOfSkinSurfaces() << " *****" << G4endl; + G4cout << "***** Surface Table : Nb of Surfaces = " + << GetNumberOfSkinSurfaces() << " *****" << G4endl; - for (int i=0; iGetName() << " : " << G4endl << " Skin of logical volume " << pSkinSurface->GetLogicalVolume()->GetName () - << G4endl << - " Optical Surface Ptr = " << (long) (pSkinSurface->GetOpticalSurface() ) +// << G4endl << +// " Optical Surface Ptr = " << (long)(pSkinSurface->GetOpticalSurface() ) << G4endl; #ifdef PRINT_INFO diff --git a/source/geometry/volumes/src/G4NavigationHistory.cc b/source/geometry/volumes/src/G4NavigationHistory.cc index c72062dd00..6dbe66ae56 100644 --- a/source/geometry/volumes/src/G4NavigationHistory.cc +++ b/source/geometry/volumes/src/G4NavigationHistory.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NavigationHistory.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NavigationHistory.cc,v 1.3 2000/11/01 16:51:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4NavigationHistory Implementation P.Kent August 96 @@ -14,7 +14,8 @@ #include "G4NavigationHistory.hh" #include "G4ios.hh" -G4std::ostream& operator << (G4std::ostream& os, const G4NavigationHistory& nav) +G4std::ostream& +operator << (G4std::ostream& os, const G4NavigationHistory& nav) { G4cout << "History depth="<GetLogicalVolume(); diff --git a/source/geometry/volumes/src/G4NormalNavigation.cc b/source/geometry/volumes/src/G4NormalNavigation.cc index ab9f67092e..5838557c9b 100644 --- a/source/geometry/volumes/src/G4NormalNavigation.cc +++ b/source/geometry/volumes/src/G4NormalNavigation.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4NormalNavigation.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4NormalNavigation.cc,v 1.3 2000/11/20 19:05:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4NormalNavigation Implementation @@ -149,12 +149,12 @@ G4double G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, G4double G4NormalNavigation::ComputeSafety(const G4ThreeVector &localPoint, const G4NavigationHistory &history, - const G4double currentProposedStepLength) + const G4double) { G4VPhysicalVolume *motherPhysical,*samplePhysical; G4LogicalVolume *motherLogical; G4VSolid *motherSolid; - G4double ourStep=currentProposedStepLength,motherSafety,ourSafety; + G4double motherSafety,ourSafety; G4int localNoDaughters,sampleNo; motherPhysical=history.GetTopVolume(); diff --git a/source/geometry/volumes/src/G4ParameterisedNavigation.cc b/source/geometry/volumes/src/G4ParameterisedNavigation.cc index 6de77089b3..b6253e4602 100644 --- a/source/geometry/volumes/src/G4ParameterisedNavigation.cc +++ b/source/geometry/volumes/src/G4ParameterisedNavigation.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ParameterisedNavigation.cc,v 1.2 1999/12/15 14:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ParameterisedNavigation.cc,v 1.3 2000/11/20 19:05:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4ParameterisedNavigation Implementation @@ -40,7 +40,7 @@ G4double G4ParameterisedNavigation::ComputeStep(const G4ThreeVector &localPoint, G4VSolid *motherSolid,*sampleSolid; G4ThreeVector sampleDirection; G4double ourStep=currentProposedStepLength,motherSafety,ourSafety; - G4int sampleNo,blockedExitedReplicaNo=-1; + G4int sampleNo; G4bool initialNode,noStep; G4SmartVoxelNode *curVoxelNode; diff --git a/source/geometry/volumes/src/G4PropagatorInField.cc b/source/geometry/volumes/src/G4PropagatorInField.cc index 4786a53996..ce263157ad 100644 --- a/source/geometry/volumes/src/G4PropagatorInField.cc +++ b/source/geometry/volumes/src/G4PropagatorInField.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PropagatorInField.cc,v 1.10 2000/05/05 18:20:09 japost Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PropagatorInField.cc,v 1.12 2000/11/20 19:05:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // @@ -70,7 +70,7 @@ G4PropagatorInField:: // Parameters for adaptive Runge-Kutta integration // G4double h_TrialStepSize; // 1st Step Size - G4double TruePathLength; + G4double TruePathLength= CurrentProposedStepLength; G4double StepTaken= 0.0; G4double s_length_taken; G4bool intersects; @@ -349,7 +349,6 @@ G4PropagatorInField::LocateIntersectionPoint( G4double NewSafety; G4bool first_step= true; G4int substep_no= 0; - G4VPhysicalVolume *pPhysVol; do{ // REPEAT diff --git a/source/geometry/volumes/src/G4ReplicaNavigation.cc b/source/geometry/volumes/src/G4ReplicaNavigation.cc index a923f66019..57750b95da 100644 --- a/source/geometry/volumes/src/G4ReplicaNavigation.cc +++ b/source/geometry/volumes/src/G4ReplicaNavigation.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ReplicaNavigation.cc,v 1.3 2000/05/17 16:32:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ReplicaNavigation.cc,v 1.4 2000/11/20 19:06:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4REplicaNavigation Implementation @@ -128,7 +128,8 @@ G4double G4ReplicaNavigation::DistanceToOut(const G4VPhysicalVolume *pVol, G4double width,offset; G4bool consuming; - G4double safety,safe1,safe2; + G4double safety=0.; + G4double safe1,safe2; G4double coord,rho,rmin,rmax; pVol->GetReplicationData(axis,nReplicas,width,offset,consuming); @@ -186,7 +187,8 @@ G4double G4ReplicaNavigation::DistanceToOut(const G4VPhysicalVolume *pVol, G4double width,offset; G4bool consuming; - G4double coord,Comp,Dist,lindist; + G4double Dist=kInfinity; + G4double coord,Comp,lindist; pVol->GetReplicationData(axis,nReplicas,width,offset,consuming); assert(consuming); diff --git a/source/geometry/volumes/src/G4TouchableHistory.cc b/source/geometry/volumes/src/G4TouchableHistory.cc index e1f530cc62..62278a1a3d 100644 --- a/source/geometry/volumes/src/G4TouchableHistory.cc +++ b/source/geometry/volumes/src/G4TouchableHistory.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4TouchableHistory.cc,v 1.3 1999/12/15 14:50:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4TouchableHistory.cc,v 1.4 2000/11/01 16:51:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4TouchableHistory Implementation @@ -16,7 +16,9 @@ G4TouchableHistory::~G4TouchableHistory() { } -const G4ThreeVector& G4TouchableHistory::GetTranslation(G4int depth) const + +const G4ThreeVector& +G4TouchableHistory::GetTranslation(G4int depth) const { // The value returned will change at the next call // Copy it if you want to use it! @@ -25,12 +27,14 @@ const G4ThreeVector& G4TouchableHistory::GetTranslation(G4int depth) const if(depth==0.0) { return ftlate; }else{ - currTranslation= fhistory.GetTransform(CalculateHistoryIndex(depth)).NetTranslation(); + currTranslation = + fhistory.GetTransform(CalculateHistoryIndex(depth)).NetTranslation(); return currTranslation; } } -const G4RotationMatrix* G4TouchableHistory::GetRotation(G4int depth) const +const G4RotationMatrix* +G4TouchableHistory::GetRotation(G4int depth) const { // The value returned will change at the next call // Copy it if you want to use it! @@ -40,8 +44,7 @@ const G4RotationMatrix* G4TouchableHistory::GetRotation(G4int depth) const if(depth==0.0) { return &frot; }else{ - rotM= fhistory.GetTransform(CalculateHistoryIndex(depth)).NetRotation(); + rotM = fhistory.GetTransform(CalculateHistoryIndex(depth)).NetRotation(); return &rotM; } } - diff --git a/source/geometry/volumes/src/G4TransportationManager.cc b/source/geometry/volumes/src/G4TransportationManager.cc index 1a8ec47220..808d7a19f5 100644 --- a/source/geometry/volumes/src/G4TransportationManager.cc +++ b/source/geometry/volumes/src/G4TransportationManager.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4TransportationManager.cc,v 1.5 1999/12/15 14:50:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // G4TransportationManager diff --git a/source/geometry/volumes/src/G4VoxelNavigation.cc b/source/geometry/volumes/src/G4VoxelNavigation.cc index 413d649c31..abda83f5af 100644 --- a/source/geometry/volumes/src/G4VoxelNavigation.cc +++ b/source/geometry/volumes/src/G4VoxelNavigation.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VoxelNavigation.cc,v 1.4 1999/12/15 14:50:27 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VoxelNavigation.cc,v 1.6 2000/11/20 19:06:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4VoxelNavigation Implementation @@ -80,8 +80,8 @@ G4double G4VoxelNavigation::ComputeStep(const G4ThreeVector &localPoint, initialNode=true; noStep=true; - do { - + while (noStep) + { curVoxelNode=fVoxelNode; curNoVolumes=curVoxelNode->GetNoContained(); @@ -193,7 +193,7 @@ G4double G4VoxelNavigation::ComputeStep(const G4ThreeVector &localPoint, ourStep); } - } while (noStep); + } // end -while (noStep)- loop return ourStep; } @@ -296,14 +296,14 @@ G4bool G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, const G4ThreeVector& localDirection, const G4double currentStep) { - G4SmartVoxelHeader *workHeader,*newHeader; - G4SmartVoxelProxy *newProxy; - G4SmartVoxelNode *newVoxelNode; + G4SmartVoxelHeader *workHeader=0,*newHeader=0; + G4SmartVoxelProxy *newProxy=0; + G4SmartVoxelNode *newVoxelNode=0; G4ThreeVector targetPoint,voxelPoint; G4double workNodeWidth,workMinExtent,workCoord; - G4double minVal,maxVal,newDistance; + G4double minVal,maxVal,newDistance=0.; G4double newHeaderMin,newHeaderNodeWidth; - G4int depth, newDepth,workNodeNo,newNodeNo,newHeaderNoSlices; + G4int depth=0,newDepth=0,workNodeNo=0,newNodeNo=0,newHeaderNoSlices=0; EAxis workHeaderAxis,newHeaderAxis; G4bool isNewVoxel=false; diff --git a/source/global/GNUmakefile b/source/global/GNUmakefile index c5093031c5..4a20753c5e 100644 --- a/source/global/GNUmakefile +++ b/source/global/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:08:50 gunter Exp $ +# $Id: GNUmakefile,v 1.2 2000/11/03 16:40:30 gunter Exp $ # -------------------------------------------------------------- # GNUmakefile for global. Gabriele Cosmo, 26/9/96. # -------------------------------------------------------------- @@ -13,3 +13,8 @@ ifndef G4INSTALL endif include $(G4INSTALL)/config/globlib.gmk + +includes:: + @for dir in STLInterface HEPGeometry HEPRandom; do \ + (cd $$dir && $(MAKE) $@); \ + done diff --git a/source/global/HEPGeometry/include/G4LorentzRotation.hh b/source/global/HEPGeometry/include/G4LorentzRotation.hh index 331701f7bb..1219b520de 100644 --- a/source/global/HEPGeometry/include/G4LorentzRotation.hh +++ b/source/global/HEPGeometry/include/G4LorentzRotation.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LorentzRotation.hh,v 1.2 1999/11/16 17:29:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4LorentzRotation_hh #define G4LorentzRotation_hh diff --git a/source/global/HEPGeometry/include/G4LorentzVector.hh b/source/global/HEPGeometry/include/G4LorentzVector.hh index 164ff0b02c..c91c5ec4a5 100644 --- a/source/global/HEPGeometry/include/G4LorentzVector.hh +++ b/source/global/HEPGeometry/include/G4LorentzVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LorentzVector.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4LorentzVector_hh #define G4LorentzVector_hh diff --git a/source/global/HEPGeometry/include/G4Normal3D.hh b/source/global/HEPGeometry/include/G4Normal3D.hh index 702ff6c8a0..27323b985d 100644 --- a/source/global/HEPGeometry/include/G4Normal3D.hh +++ b/source/global/HEPGeometry/include/G4Normal3D.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Normal3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4NORMAL3D_HH #define G4NORMAL3D_HH diff --git a/source/global/HEPGeometry/include/G4Plane3D.hh b/source/global/HEPGeometry/include/G4Plane3D.hh index 5769b0d99a..359275329d 100644 --- a/source/global/HEPGeometry/include/G4Plane3D.hh +++ b/source/global/HEPGeometry/include/G4Plane3D.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Plane3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4PLANE3D_HH #define G4PLANE3D_HH diff --git a/source/global/HEPGeometry/include/G4Point3D.hh b/source/global/HEPGeometry/include/G4Point3D.hh index 75a983d1d0..52f4fa4d4f 100644 --- a/source/global/HEPGeometry/include/G4Point3D.hh +++ b/source/global/HEPGeometry/include/G4Point3D.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Point3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4POINT3D_HH #define G4POINT3D_HH diff --git a/source/global/HEPGeometry/include/G4Transform3D.hh b/source/global/HEPGeometry/include/G4Transform3D.hh index 5a62a53e84..eaaaabddc1 100644 --- a/source/global/HEPGeometry/include/G4Transform3D.hh +++ b/source/global/HEPGeometry/include/G4Transform3D.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Transform3D.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4TRANSFORM3D_HH #define G4TRANSFORM3D_HH diff --git a/source/global/HEPGeometry/include/G4Vector3D.hh b/source/global/HEPGeometry/include/G4Vector3D.hh index fe7912a49a..2940189574 100644 --- a/source/global/HEPGeometry/include/G4Vector3D.hh +++ b/source/global/HEPGeometry/include/G4Vector3D.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Vector3D.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4VECTOR3D_HH #define G4VECTOR3D_HH diff --git a/source/global/HEPGeometry/include/geomdefs.hh b/source/global/HEPGeometry/include/geomdefs.hh index d32a17ac2b..c63af0345e 100644 --- a/source/global/HEPGeometry/include/geomdefs.hh +++ b/source/global/HEPGeometry/include/geomdefs.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: geomdefs.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: geomdefs.hh,v 1.3 2000/11/01 15:23:10 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -59,4 +59,16 @@ enum EInside {kOutside,kSurface,kInside}; // after setup/modification via user object enum EVolume {kNormal,kReplica,kParameterised}; +// Default max size of Navigation history +// +static const G4int kHistoryMax = 15; + +// History increase stride of Navigation history +// +static const G4int kHistoryStride = 16; + +// Voxel stack depth maximum [no resizing] +// +static const G4int kNavigatorVoxelStackMax = 3; + #endif /* GeomDefs_hh */ diff --git a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh index 8cf81c8b5c..0a6bbafa1d 100644 --- a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh +++ b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ChebyshevApproximation.hh,v 1.2 1999/11/16 17:30:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ChebyshevApproximation.hh,v 1.3 2000/11/20 17:26:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -149,7 +149,10 @@ public: void IntegralChebyshevCof(G4double integralCof[]) const ; -protected: +private: + + G4ChebyshevApproximation(const G4ChebyshevApproximation&); + G4ChebyshevApproximation& operator=(const G4ChebyshevApproximation&); private: diff --git a/source/global/HEPNumerics/include/G4DataInterpolation.hh b/source/global/HEPNumerics/include/G4DataInterpolation.hh index 08a7f8f92b..df429275e0 100644 --- a/source/global/HEPNumerics/include/G4DataInterpolation.hh +++ b/source/global/HEPNumerics/include/G4DataInterpolation.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4DataInterpolation.hh,v 1.2 1999/11/16 17:30:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4DataInterpolation.hh,v 1.3 2000/11/20 17:26:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -131,7 +131,10 @@ public: void CorrelatedSearch( G4double pX, G4int& index ) const ; -protected: +private: + + G4DataInterpolation(const G4DataInterpolation&); + G4DataInterpolation& operator=(const G4DataInterpolation&); private: G4double* fArgument ; diff --git a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh index 8ba566d9d6..30f39d4d75 100644 --- a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh +++ b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussChebyshevQ.hh,v 1.2 1999/11/16 17:30:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussChebyshevQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -35,7 +35,7 @@ // ------------------------------- HISTORY -------------------------------- // -// 13.05.97 V.Grichine (Vladimir.Grichine@cern.chz0 +// 13.05.97 V.Grichine (Vladimir.Grichine@cern.ch) #ifndef G4GAUSSCHEBYSHEVQ_HH #define G4GAUSSCHEBYSHEVQ_HH @@ -57,11 +57,11 @@ public: G4double Integral(G4double a, G4double b) const ; -protected: - private: -} ; + G4GaussChebyshevQ(const G4GaussChebyshevQ&); + G4GaussChebyshevQ& operator=(const G4GaussChebyshevQ&); +}; #endif diff --git a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh index a23b849a89..794d235d88 100644 --- a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh +++ b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussHermiteQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussHermiteQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -51,11 +51,11 @@ public: G4double Integral() const ; -protected: - private: -} ; + G4GaussHermiteQ(const G4GaussHermiteQ&); + G4GaussHermiteQ& operator=(const G4GaussHermiteQ&); +}; #endif diff --git a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh index e5414b887f..ca3e5d8d23 100644 --- a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh +++ b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussJacobiQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussJacobiQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -55,12 +55,10 @@ public: G4double Integral() const ; - -protected: - private: -} ; - + G4GaussJacobiQ(const G4GaussJacobiQ&); + G4GaussJacobiQ& operator=(const G4GaussJacobiQ&); +}; #endif diff --git a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh index 577da9e00b..80c004515c 100644 --- a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussLaguerreQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussLaguerreQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -58,12 +58,10 @@ public: G4double Integral() const ; - -protected: - private: -} ; - + G4GaussLaguerreQ(const G4GaussLaguerreQ&); + G4GaussLaguerreQ& operator=(const G4GaussLaguerreQ&); +}; #endif diff --git a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh index b3b3c9f129..3c4b26d75c 100644 --- a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussLegendreQ.hh,v 1.2 1999/11/16 17:30:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussLegendreQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -86,11 +86,10 @@ public: G4double AccurateIntegral(G4double a, G4double b) const ; -protected: - private: -} ; - + G4GaussLegendreQ(const G4GaussLegendreQ&); + G4GaussLegendreQ& operator=(const G4GaussLegendreQ&); +}; #endif diff --git a/source/global/HEPNumerics/include/G4Integrator.hh b/source/global/HEPNumerics/include/G4Integrator.hh index f544a273df..2613d73a1c 100644 --- a/source/global/HEPNumerics/include/G4Integrator.hh +++ b/source/global/HEPNumerics/include/G4Integrator.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Integrator.hh,v 1.4 2000/06/15 17:31:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4Integrator.icc b/source/global/HEPNumerics/include/G4Integrator.icc index c0365e83b0..33850bc0f9 100644 --- a/source/global/HEPNumerics/include/G4Integrator.icc +++ b/source/global/HEPNumerics/include/G4Integrator.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Integrator.icc,v 1.6 2000/06/15 17:31:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation of G4Integrator methods. // diff --git a/source/global/HEPNumerics/include/G4SimpleIntegration.hh b/source/global/HEPNumerics/include/G4SimpleIntegration.hh index 291189f080..03c7879a17 100644 --- a/source/global/HEPNumerics/include/G4SimpleIntegration.hh +++ b/source/global/HEPNumerics/include/G4SimpleIntegration.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SimpleIntegration.hh,v 1.2 1999/11/16 17:30:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh index 432445d227..cb79d98cf6 100644 --- a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh +++ b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VGaussianQuadrature.hh,v 1.2 1999/11/16 17:30:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VGaussianQuadrature.hh,v 1.3 2000/11/20 17:26:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // Class description: // @@ -84,6 +84,9 @@ protected: G4int fNumber ; private: -} ; + G4VGaussianQuadrature(const G4VGaussianQuadrature&); + G4VGaussianQuadrature& operator=(const G4VGaussianQuadrature&); + +}; #endif diff --git a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc index 104712b223..0c4a62e732 100644 --- a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc +++ b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ChebyshevApproximation.cc,v 1.2 1999/11/16 17:31:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4ChebyshevApproximation.hh" diff --git a/source/global/HEPNumerics/src/G4DataInterpolation.cc b/source/global/HEPNumerics/src/G4DataInterpolation.cc index 01d6f285b6..2559ce5cd0 100644 --- a/source/global/HEPNumerics/src/G4DataInterpolation.cc +++ b/source/global/HEPNumerics/src/G4DataInterpolation.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4DataInterpolation.cc,v 1.3 1999/11/16 17:31:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4DataInterpolation.hh" diff --git a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc index 331e99bcec..1fe080d68b 100644 --- a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc +++ b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4GaussChebyshevQ.cc,v 1.2 1999/11/16 17:31:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4GaussChebyshevQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc index d008648a64..157d87a29b 100644 --- a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc +++ b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussHermiteQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussHermiteQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4GaussHermiteQ.hh" @@ -23,7 +23,8 @@ G4GaussHermiteQ::G4GaussHermiteQ( function pFunction, const G4int maxNumber = 12 ; G4int i, j, k ; - G4double newton, newton1, temp1, temp2, temp3, temp ; + G4double newton=0.; + G4double newton1, temp1, temp2, temp3, temp ; G4double piInMinusQ = pow(pi,-0.25) ; // 1.0/sqrt(sqrt(pi)) ?? fNumber = (nHermite +1)/2 ; diff --git a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc index b63a6c115e..a64faf8cc7 100644 --- a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc +++ b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussJacobiQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussJacobiQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4GaussJacobiQ.hh" @@ -26,8 +26,9 @@ G4GaussJacobiQ::G4GaussJacobiQ( function pFunction, const G4double tolerance = 1.0e-12 ; const G4double maxNumber = 12 ; G4int i, k, j ; + G4double root=0.; G4double alphaBeta, alphaReduced, betaReduced, root1, root2, root3 ; - G4double a, b, c, newton1, newton2, newton3, newton, temp, root, rootTemp ; + G4double a, b, c, newton1, newton2, newton3, newton, temp, rootTemp ; fNumber = nJacobi ; fAbscissa = new G4double[fNumber] ; diff --git a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc index 80c5590d12..525b76444f 100644 --- a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4GaussLaguerreQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4GaussLaguerreQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4GaussLaguerreQ.hh" @@ -28,7 +28,8 @@ G4GaussLaguerreQ::G4GaussLaguerreQ( function pFunction, const G4double tolerance = 1.0e-10 ; const G4int maxNumber = 12 ; G4int i, j, k ; - G4double newton, newton1, temp1, temp2, temp3, temp, cofi ; + G4double newton=0.; + G4double newton1, temp1, temp2, temp3, temp, cofi ; fNumber = nLaguerre ; fAbscissa = new G4double[fNumber] ; diff --git a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc index 693e2935c4..abfe5c1b53 100644 --- a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4GaussLegendreQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // #include "G4GaussLegendreQ.hh" diff --git a/source/global/HEPNumerics/src/G4SimpleIntegration.cc b/source/global/HEPNumerics/src/G4SimpleIntegration.cc index 8cab4b787a..01aa96130a 100644 --- a/source/global/HEPNumerics/src/G4SimpleIntegration.cc +++ b/source/global/HEPNumerics/src/G4SimpleIntegration.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4SimpleIntegration.cc,v 1.2 1999/11/16 17:31:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation file for simple integration methods // diff --git a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc index bdc748568e..c1709bbb4d 100644 --- a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc +++ b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4VGaussianQuadrature.cc,v 1.2 1999/11/16 17:31:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // Implementation file for G4VGaussianQuadrature virtual base class // diff --git a/source/global/HEPRandom/GNUmakefile b/source/global/HEPRandom/GNUmakefile new file mode 100644 index 0000000000..9cf553fdea --- /dev/null +++ b/source/global/HEPRandom/GNUmakefile @@ -0,0 +1,13 @@ +# $Id: GNUmakefile,v 1.1 2000/12/12 14:47:56 gunter Exp $ +# -------------------------------------------------------------- +# GNUmakefile for global HEPRandom. Gunter Folger 12-Dec-2000. +# note: this needed only to created "installed" include files. +# -------------------------------------------------------------- + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk + +include $(G4INSTALL)/config/common.gmk diff --git a/source/global/HEPRandom/include/G4Poisson.hh b/source/global/HEPRandom/include/G4Poisson.hh index 53fd52d15a..467a3f9f31 100644 --- a/source/global/HEPRandom/include/G4Poisson.hh +++ b/source/global/HEPRandom/include/G4Poisson.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Poisson.hh,v 1.5 2000/01/06 14:13:08 maire Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/HEPRandom/include/Randomize.hh b/source/global/HEPRandom/include/Randomize.hh index 8880544a79..02cb6916c7 100644 --- a/source/global/HEPRandom/include/Randomize.hh +++ b/source/global/HEPRandom/include/Randomize.hh @@ -5,14 +5,24 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: Randomize.hh,v 1.2 1999/11/16 17:31:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: Randomize.hh,v 1.4 2000/08/02 15:21:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef randomize_h #define randomize_h 1 #include +// Additional distributions ... +// +#include +#include +#include +#include +#include +#include + +#define G4RandGauss RandGaussQ #define G4UniformRand() HepRandom::getTheEngine()->flat() #endif // randomize_h diff --git a/source/global/History b/source/global/History index 87c2a298c4..f7ba49a649 100644 --- a/source/global/History +++ b/source/global/History @@ -1,4 +1,4 @@ -$Id: History,v 1.50 2000/06/26 16:28:55 gcosmo Exp $ +$Id: History,v 1.59 2000/12/13 08:22:26 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,48 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +December 13, 2000 G.Folger (global-V02-00-06) +- Added GNUmakefile to HEPRandom to handle "includes" gmake target. + +November 20, 2000 G.Cosmo (global-V02-00-05) +- QA code cleanup and fixes to remove warnings from + "-Wall -ansi -pedantic" g++ compiler options: + o added/fixed declaration/implementation of private copy constructor + and assignment operator where needed. + o commented out variables declared and not used. + o fixed declaration of variables used before being initialised. + o fixed order of initialisation of member data in constructors. + o fixed usage of unsigned-int (size_t) for array indeces. + o G4strstreambuf: created .icc file and moved implementation of + inlined functions therein. + +November 3, 2000 G.Folger (global-V02-00-04) +- Added rules for "includes" target to GNUmakefile and management/GNUmakefile. + Added GNUmakefile in STLInterface for the "include" target. + +November 1, 2000 G.Cosmo (global-V02-00-03) +- Moved geometry constants kHistoryMax, kHistoryStride and + kNavigatorVoxelStackMax to geomdefs.hh. + +August 22, 2000 H.P.Wellisch +- Added wrapper in management/g4std. + +August 02, 2000 G.Cosmo (global-V02-00-02) +- Added wrapper in management/g4std. +- Added inclusion of new CLHEP random distributions in + HEPRandom/include/Randomize.hh pending update of Randomize.h in CLHEP. + +July 22, 2000 M.Asai (global-V02-00-01) +- Move G4VStateDependent and G4StateManager classes into global/management + from intercoms. +- "Abort" state is added to G4ApplicationState. +- Modify G4Exception to change Geant4 status to "Abort". +- Fix a bug of "double deleting" in the destructor of G4StateManager. + +July 21, 2000 G.Cosmo (global-V02-00-00) +- STLInterface/cstring.icc: extended buffer for G4String::readLine from + 256 to 1024 characters. + June 26, 2000 G.Cosmo (global-V01-01-05) - Fixes for problem report #104, STLInterface: o defs.h: defined G4RWTHROW(a) to abort() in case G4NO_STD_EXCEPTIONS diff --git a/source/global/STLInterface/GNUmakefile b/source/global/STLInterface/GNUmakefile new file mode 100644 index 0000000000..b78ea92b6b --- /dev/null +++ b/source/global/STLInterface/GNUmakefile @@ -0,0 +1,22 @@ +# $Id: GNUmakefile,v 1.1 2000/11/03 16:39:29 gunter Exp $ +# -------------------------------------------------------------- +# GNUmakefile for STLInterface. Gunter Folger 3-Nov-2000. +# -------------------------------------------------------------- + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk + +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4INCLUDE)/g4rw ] && mkdir -p $(G4INCLUDE)/g4rw ) + +installed_includes:=$(foreach file,$(wildcard g4rw/*),$(shell test -f $(file) && echo $(file))) + +installed_includes:=$(foreach file,$(installed_includes),$(G4INCLUDE)/$(file)) + +includes: $(installed_includes) + +$(installed_includes): $(G4INCLUDE)/% : % + @cp -p $< $@ + diff --git a/source/global/STLInterface/History b/source/global/STLInterface/History index 402efbcd0e..09c7519568 100644 --- a/source/global/STLInterface/History +++ b/source/global/STLInterface/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2000/06/26 16:25:56 gcosmo Exp $ +$Id: History,v 1.24 2000/11/20 17:26:44 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -21,6 +21,14 @@ committal in the CVS repository ! STL Interface ------------- +November 20, 2000 G.Cosmo +- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: + o fixed usage of unsigned-int (size_t) for indeces. + +July 21, 2000 G.Cosmo +- STLInterface/cstring.icc: extended buffer for G4String::readLine from + 256 to 1024 characters. + June 26, 00 G.Cosmo (STLInterface-V01-01-01) - Fixes for problem report #104: o defs.h: defined G4RWTHROW(a) to abort() in case G4NO_STD_EXCEPTIONS diff --git a/source/global/STLInterface/g4rw/cstring.h b/source/global/STLInterface/g4rw/cstring.h index aa36a3b4be..694d5e00e8 100644 --- a/source/global/STLInterface/g4rw/cstring.h +++ b/source/global/STLInterface/g4rw/cstring.h @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: cstring.h,v 1.8 2000/06/26 16:25:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: cstring.h,v 1.9 2000/11/20 17:26:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- @@ -53,7 +53,7 @@ public: inline char& operator[](size_t); inline char operator[](size_t) const; - inline int operator!() const; + inline G4int operator!() const; inline G4bool operator==(G4String) const; inline G4bool operator==(const char*) const; @@ -118,8 +118,8 @@ public: inline operator const char*() const; inline G4SubString operator()(size_t, size_t); - inline int compareTo(const char*, caseCompare mode=exact); - inline int compareTo(const G4String&, caseCompare mode=exact); + inline G4int compareTo(const char*, caseCompare mode=exact); + inline G4int compareTo(const G4String&, caseCompare mode=exact); inline G4String& prepend (const char*); inline G4String& append (const G4String&); @@ -133,8 +133,8 @@ public: inline G4String& remove(size_t); inline G4String& remove(size_t, size_t); - inline int first(char) const; - inline int last(char) const; + inline G4int first(char) const; + inline G4int last(char) const; inline G4bool contains(std_string) const; inline G4bool contains(char) const; @@ -143,20 +143,20 @@ public: // stripType = 1 end // stripType = 2 both // - inline G4String strip (int stripType=trailing, char c=' '); + inline G4String strip (G4int stripType=trailing, char c=' '); inline void toLower ( void ); inline void toUpper ( void ); inline G4bool isNull() const; - inline size_t index (const char*, int pos=0) const; - inline size_t index (char, int pos=0) const; + inline size_t index (const char*, G4int pos=0) const; + inline size_t index (char, G4int pos=0) const; inline size_t index (const G4String&, size_t, size_t, caseCompare) const; inline const char* data() const; - inline int strcasecompare(const char*, const char*) const; + inline G4int strcasecompare(const char*, const char*) const; inline unsigned int hash( caseCompare cmp = exact ) const; inline unsigned int stlhash() const; diff --git a/source/global/STLInterface/g4rw/cstring.icc b/source/global/STLInterface/g4rw/cstring.icc index 4cffd69394..e65524fe9f 100644 --- a/source/global/STLInterface/g4rw/cstring.icc +++ b/source/global/STLInterface/g4rw/cstring.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: cstring.icc,v 1.5 2000/06/26 16:25:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: cstring.icc,v 1.9 2000/11/20 20:03:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- @@ -71,7 +71,7 @@ char G4SubString::operator[](size_t i) const return mystring->operator[](mystart+i); } -int G4SubString::operator!() const +G4int G4SubString::operator!() const { return extent==0 ? 1 : 0; } @@ -228,7 +228,7 @@ G4String::operator const char*() const return c_str(); } -int G4String::strcasecompare(const char* s1, const char* s2) const +G4int G4String::strcasecompare(const char* s1, const char* s2) const { #ifndef G4USE_STD_NAMESPACE return strcasecmp(s1,s2); @@ -241,14 +241,14 @@ int G4String::strcasecompare(const char* s1, const char* s2) const for (size_t j=0; j<=strlen(s2); j++) buf2[j] = tolower(s2[j]); - int res = strcmp(buf1, buf2); + G4int res = strcmp(buf1, buf2); delete [] buf1; delete [] buf2; return res; #endif } -int G4String::compareTo(const char* s, caseCompare mode) +G4int G4String::compareTo(const char* s, caseCompare mode) { if(mode==exact) return strcmp(c_str(),s); @@ -256,7 +256,7 @@ int G4String::compareTo(const char* s, caseCompare mode) return strcasecompare(c_str(),s); } -int G4String::compareTo(const G4String& s, caseCompare mode) +G4int G4String::compareTo(const G4String& s, caseCompare mode) { if(mode==exact) return strcmp(c_str(),s.c_str()); @@ -279,14 +279,14 @@ G4String& G4String::append(const G4String& s) G4std::istream& G4String::readLine (G4std::istream& s, G4bool skipWhite) { - char tmp[256]; + char tmp[1024]; if ( skipWhite ) { s >> G4std::ws; - s.getline(tmp,256); + s.getline(tmp,1024); *this=tmp; } else { - s.getline(tmp,256); + s.getline(tmp,1024); *this=tmp; } return s; @@ -318,20 +318,20 @@ G4String& G4String::remove(size_t pos, size_t N) return *this; } -int G4String::first(char c) const +G4int G4String::first(char c) const { return find(c); } -int G4String::last(char c) const +G4int G4String::last(char c) const { return rfind(c); } G4bool G4String::contains(std_string s) const { - int i=find(s); - if(i != std_string::npos) + G4int i=std_string::find(s); + if(i != G4int(std_string::npos)) return true; else return false; @@ -339,18 +339,18 @@ G4bool G4String::contains(std_string s) const G4bool G4String::contains(char c) const { - int i=find(c); - if(i != std_string::npos) + G4int i=std_string::find(c); + if(i != G4int(std_string::npos)) return true; else return false; } -G4String G4String::strip (int stripType, char c) +G4String G4String::strip (G4int stripType, char c) { G4String retVal = *this; if(length()==0) return retVal; - int i; + size_t i; switch ( stripType ) { case leading: { @@ -360,10 +360,11 @@ G4String G4String::strip (int stripType, char c) } break; case trailing: - { - for(i=length()-1;i>=0;i--) - if (std_string::operator[](i) != c) break; - retVal = substr(0,i+1); + { + G4int j; + for(j=length()-1;j>=0;j--) + if (std_string::operator[](j) != c) break; + retVal = substr(0,j+1); } break; case both: @@ -371,9 +372,10 @@ G4String G4String::strip (int stripType, char c) for(i=0;i=0;i--) - if (tmp.std_string::operator[](i) != c) break; - retVal = tmp.substr(0,i+1); + G4int k; + for(k=tmp.length()-1;k>=0;k--) + if (tmp.std_string::operator[](k) != c) break; + retVal = tmp.substr(0,k+1); } } return retVal; @@ -381,7 +383,7 @@ G4String G4String::strip (int stripType, char c) void G4String::toLower ( void ) { - for (int i=0; i::clear() template void G4RWTPtrOrderedVector::clearAndDestroy() { - int sz; G4std::set > tmp; - for (sz=0;sz::removeAt( size_t i ) if(i>=rwsize) G4RWTHROW(G4RWBoundsErr("G4RWTPtrOrderedVector removeAt",rwsize,i)); iterator it=std_pvector::begin(); - int j; - for(j=0;j::resize(size_t N) { if(N>std_pvector::size()) { - int e=N-std_pvector::size(); - for(int i=0;irwsize) { iterator it=std_pvector::begin(); - for(int i=0;i::insertAt ( size_t i, T* a ) G4RWTHROW(G4RWBoundsErr("G4RWTPtrOrderedVector insertAt",rwsize,i)); if(rwsizei;j--) + for(size_t j=rwsize;j>i;j--) std_pvector::operator[](j)=std_pvector::operator[](j-1); std_pvector::operator[](i)=a; rwsize++; @@ -264,7 +262,7 @@ void G4RWTPtrOrderedVector::insertAt ( size_t i, T* a ) else { iterator it=std_pvector::begin(); - for(int j=0;j::find (const T* a) const { if(!a || std_pvector::empty() || (rwsize==0)) return 0; //We are sorted, so try a n log n search - int t,d; - int u=rwsize,l=0; + size_t t,d; + size_t u=rwsize,l=0; do { d=(u-l)/2; @@ -125,7 +125,7 @@ void G4RWTPtrSortedVector::insert ( T* a ) { //We have empty entries iterator it=std_pvector::begin(); - for(int i=0;i::removeAll ( const T* a) iterator e=std_pvector::end(); iterator r; size_t sz=0; - int i=0; + G4int i=0; for(r=std_pvector::begin();sz::resize ( size_t n ) { if(n>std_pvector::size()) { - int e=n-std_pvector::size(); - for(int i=0;i::removeAt( size_t i ) G4RWTHROW(G4RWBoundsErr("G4RWTValOrderedVector removeAt",rwsize,i)); T tmp = std_vector::operator[](i); iterator it=std_vector::begin(); - int j; - for(j=0;j::resize(size_t N) { if(N>std_vector::size()) { - int e=N-std_vector::size(); - for(int i=0;irwsize ) { iterator it=std_vector::begin(); - for(int i=0;i::insertAt ( size_t i, const T& a ) G4RWTHROW(G4RWBoundsErr("G4RWTValOrderedVector insertAt",rwsize,i)); if(rwsizei;j--) + for(size_t j=rwsize;j>i;j--) std_vector::operator[](j)=this->std_vector::operator[](j-1); std_vector::operator[](i)=a; rwsize++; @@ -277,7 +276,7 @@ void G4RWTValOrderedVector::insertAt ( size_t i, const T& a ) else { iterator it=std_vector::begin(); - for(int j=0;j::resize(size_t N) { if(N>std_vector::size()) { - int e=N-std_vector::size(); - for(int i=0;i void G4Allocator::AddNewPage() { G4AllocatorPage *aPage; - register int unit_no; + register G4int unit_no; aPage = new G4AllocatorPage; aPage->fNext = fPages; @@ -126,8 +126,7 @@ void G4Allocator::AddNewPage() fPages = aPage; for (unit_no = 0; - unit_no < (G4AllocatorPageSize / - sizeof(G4AllocatorUnit)-1); + unit_no < (G4AllocatorPageSize / G4int(sizeof(G4AllocatorUnit))-1); ++unit_no) { aPage->fUnits[unit_no].fNext = &aPage->fUnits[unit_no + 1]; diff --git a/source/global/management/include/G4AllocatorPage.hh b/source/global/management/include/G4AllocatorPage.hh index 38311a52a8..8430360375 100644 --- a/source/global/management/include/G4AllocatorPage.hh +++ b/source/global/management/include/G4AllocatorPage.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4AllocatorPage.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4AllocatorUnit.hh b/source/global/management/include/G4AllocatorUnit.hh index 4394a70d09..6b959e3395 100644 --- a/source/global/management/include/G4AllocatorUnit.hh +++ b/source/global/management/include/G4AllocatorUnit.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4AllocatorUnit.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/intercoms/include/G4ApplicationState.hh b/source/global/management/include/G4ApplicationState.hh similarity index 89% rename from source/intercoms/include/G4ApplicationState.hh rename to source/global/management/include/G4ApplicationState.hh index 575de2d936..58c47e4de4 100644 --- a/source/intercoms/include/G4ApplicationState.hh +++ b/source/global/management/include/G4ApplicationState.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4ApplicationState.hh,v 1.3 1999/12/15 14:50:37 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4ApplicationState.hh,v 1.1 2000/07/22 10:45:34 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // #ifndef G4APPLICATIONSTATE_H @@ -44,6 +44,8 @@ // Processing an event. // Quit // G4 is in this state when the destructor of G4RunManager is invoked. +// Abort +// G4 is in this state when G4Exception is invoked. // // // PreInit @@ -62,7 +64,7 @@ // enum G4ApplicationState - {PreInit, Init, Idle, GeomClosed, EventProc, Quit}; + {PreInit, Init, Idle, GeomClosed, EventProc, Quit, Abort}; #endif diff --git a/source/global/management/include/G4DataVector.hh b/source/global/management/include/G4DataVector.hh index 97ddf56db7..0f22b74ed1 100644 --- a/source/global/management/include/G4DataVector.hh +++ b/source/global/management/include/G4DataVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4DataVector.hh,v 1.4 1999/11/23 15:00:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4FastVector.hh b/source/global/management/include/G4FastVector.hh index f951980d3a..08691b4c4d 100644 --- a/source/global/management/include/G4FastVector.hh +++ b/source/global/management/include/G4FastVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4FastVector.hh,v 1.3 1999/11/23 15:00:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4LPhysicsFreeVector.hh b/source/global/management/include/G4LPhysicsFreeVector.hh index 9290b8b73c..cf67f23871 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.hh +++ b/source/global/management/include/G4LPhysicsFreeVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LPhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4LPhysicsFreeVector.icc b/source/global/management/include/G4LPhysicsFreeVector.icc index d360072fa2..7ef13604ad 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.icc +++ b/source/global/management/include/G4LPhysicsFreeVector.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4LPhysicsFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4OrderedTable.hh b/source/global/management/include/G4OrderedTable.hh index 8d120672fd..8e8d7f2ef0 100644 --- a/source/global/management/include/G4OrderedTable.hh +++ b/source/global/management/include/G4OrderedTable.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4OrderedTable.hh,v 1.4 1999/11/16 17:40:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsFreeVector.hh b/source/global/management/include/G4PhysicsFreeVector.hh index dbc4bdbd74..06531a44e1 100644 --- a/source/global/management/include/G4PhysicsFreeVector.hh +++ b/source/global/management/include/G4PhysicsFreeVector.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicsFreeVector.hh,v 1.3 2000/11/20 17:26:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // //-------------------------------------------------------------------- @@ -81,7 +81,7 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const // the binary search algorithm. // // Because this is a virtual function, it is accessed through a - // pointer to the G4PhyiscsVector object for most usages. In this + // pointer to the G4PhysicsVector object for most usages. In this // case, 'inline' will not be invoked. However, there is a possibility // that the user access to the G4PhysicsFreeVector object directly and // not through pointers or references. In this case, the 'inline' will @@ -90,13 +90,13 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const size_t lowerBound = 0; size_t upperBound = numberOfBin-1; - do { + while (lowerBound <= upperBound) { size_t midBin = (lowerBound + upperBound)/2; if( theEnergy < binVector(midBin) ) upperBound = midBin-1; else lowerBound = midBin+1; - } while (lowerBound <= upperBound); + } return upperBound; } diff --git a/source/global/management/include/G4PhysicsLinearVector.hh b/source/global/management/include/G4PhysicsLinearVector.hh index 4c9f3f73e9..54dc96fc8f 100644 --- a/source/global/management/include/G4PhysicsLinearVector.hh +++ b/source/global/management/include/G4PhysicsLinearVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsLinearVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLnVector.hh b/source/global/management/include/G4PhysicsLnVector.hh index fb6f56e5f1..b00140d7c0 100644 --- a/source/global/management/include/G4PhysicsLnVector.hh +++ b/source/global/management/include/G4PhysicsLnVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsLnVector.hh,v 1.3 2000/03/23 09:20:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLogVector.hh b/source/global/management/include/G4PhysicsLogVector.hh index 453ee86fa9..ed045fa0f3 100644 --- a/source/global/management/include/G4PhysicsLogVector.hh +++ b/source/global/management/include/G4PhysicsLogVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsLogVector.hh,v 1.2 1999/11/16 17:40:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.hh b/source/global/management/include/G4PhysicsOrderedFreeVector.hh index d8594223f6..c1c0e3b2ef 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.hh +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsOrderedFreeVector.hh,v 1.3 1999/11/16 17:40:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Definition diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.icc b/source/global/management/include/G4PhysicsOrderedFreeVector.icc index 9cf8378a47..1aadce6d25 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.icc +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.icc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicsOrderedFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicsOrderedFreeVector.icc,v 1.3 2000/11/20 17:26:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Inline Functions Definitions @@ -50,7 +50,7 @@ G4double G4PhysicsOrderedFreeVector::GetMinLowEdgeEnergy() inline void G4PhysicsOrderedFreeVector::DumpValues() { - for (G4int i = 0; i < numberOfBin; i++) { + for (size_t i = 0; i < numberOfBin; i++) { G4cout << binVector[i] << "\t" << dataVector[i] << G4endl; } } diff --git a/source/global/management/include/G4PhysicsTable.hh b/source/global/management/include/G4PhysicsTable.hh index 44a2733dd2..d22f984573 100644 --- a/source/global/management/include/G4PhysicsTable.hh +++ b/source/global/management/include/G4PhysicsTable.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsTable.hh,v 1.3 1999/11/16 17:40:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsVector.hh b/source/global/management/include/G4PhysicsVector.hh index 7038a7d21e..1cd6e9d6b9 100644 --- a/source/global/management/include/G4PhysicsVector.hh +++ b/source/global/management/include/G4PhysicsVector.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicsVector.hh,v 1.3 1999/11/16 17:40:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicsVector.hh,v 1.4 2000/11/20 17:26:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- @@ -121,6 +121,12 @@ class G4PhysicsVector virtual size_t FindBinLocation(G4double theEnergy) const=0; // Find the bin# in which theEnergy belongs - pure virtual function + private: + + G4PhysicsVector(const G4PhysicsVector&); + G4PhysicsVector& operator=(const G4PhysicsVector&); + // Private copy constructor and assignment operator. + private: G4String comment; diff --git a/source/global/management/include/G4PhysicsVector.icc b/source/global/management/include/G4PhysicsVector.icc index ef9f0b9244..887b3eb962 100644 --- a/source/global/management/include/G4PhysicsVector.icc +++ b/source/global/management/include/G4PhysicsVector.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4PhysicsVector.icc,v 1.1 1999/11/16 17:40:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4RotationMatrix.hh b/source/global/management/include/G4RotationMatrix.hh index fd07c65315..65459dbb82 100644 --- a/source/global/management/include/G4RotationMatrix.hh +++ b/source/global/management/include/G4RotationMatrix.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4RotationMatrix.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4StateManager.hh b/source/global/management/include/G4StateManager.hh new file mode 100644 index 0000000000..f2f1dc1c22 --- /dev/null +++ b/source/global/management/include/G4StateManager.hh @@ -0,0 +1,112 @@ +// 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: G4StateManager.hh,v 1.2 2000/11/20 17:26:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// For information related to this code contact: +// Geant4 Collaboration +// +// ---------------- G4StateManager ---------------- +// +// Authors: G.Cosmo, M.Asai - November 1996 +// +// ------------------------------------------------------------- +// +// Class Description: +// +// Class responsible for handling and updating the running state +// of the Geant4 application during its different phases. +// The class is a singleton, it can be accessed via the public +// method G4StateManager::GetStateManager(). +// +// States of Geant4 are defined in G4ApplicationState. + +// ------------------------------------------------------------- + +#ifndef G4StateManager_h +#define G4StateManager_h 1 + +#include "g4rw/tpordvec.h" +#include "globals.hh" +#include "G4ApplicationState.hh" +#include "G4VStateDependent.hh" + +class G4StateManager +{ + +public: // with description + + static G4StateManager* GetStateManager(); + // The G4StateManager class is a singleton class and the pointer + // to the only one existing object can be obtained by this static + // method. + +protected: + + G4StateManager(); + +public: + + ~G4StateManager(); + +public: // with description + + G4ApplicationState GetCurrentState(); + // Returns the current state + G4ApplicationState GetPreviousState(); + // Returns the previous state + G4bool SetNewState(G4ApplicationState requestedState); + // Set Geant4 to a new state. + // In case the request is irregal, false will be returned + // and the state of Geant4 will not be changed. + G4bool RegisterDependent(G4VStateDependent* aDependent,G4bool bottom=false); + // Register a concrete class of G4VStateDependent. + // Registered concrete classes will be notified via + // G4VStateDependent::Notify() method when the state of Geant4 changes. + // False will be returned if registration fails. + G4bool DeregisterDependent(G4VStateDependent* aDependent); + // Remove the registration. + // False will be returned if aDependent has not been registered. + G4VStateDependent* RemoveDependent(const G4VStateDependent* aDependent); + // Remove the registration. + // Removed pointer is returned. + G4String GetStateString(G4ApplicationState aState); + // Utility method which returns a string of the state name. + +public: + + //void Pause(); + //void Pause(const char* msg); + //void Pause(G4String msg); + //// G4UIsession::pauseSession() will be invoked. The argument string "msg" + //// will be used as a prompt characters if the session is non-graphical. + //// This method can be invoked by any user action class during the event + //// loop. After the user's interactions, control goes back to the caller. + +private: + + G4StateManager(const G4StateManager &right); + G4StateManager& operator=(const G4StateManager &right); + G4int operator==(const G4StateManager &right) const; + G4int operator!=(const G4StateManager &right) const; + +private: + + static G4StateManager* theStateManager; + G4ApplicationState theCurrentState; + G4ApplicationState thePreviousState; + G4RWTPtrOrderedVector theDependentsList; + G4VStateDependent* theBottomDependent; + +}; + +#endif diff --git a/source/global/management/include/G4ThreeVector.hh b/source/global/management/include/G4ThreeVector.hh index 12351f57c3..8945889fd7 100644 --- a/source/global/management/include/G4ThreeVector.hh +++ b/source/global/management/include/G4ThreeVector.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ThreeVector.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Timer.hh b/source/global/management/include/G4Timer.hh index 201fcf2a09..8a294684d1 100644 --- a/source/global/management/include/G4Timer.hh +++ b/source/global/management/include/G4Timer.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Timer.hh,v 1.10 2000/01/06 14:27:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Types.hh b/source/global/management/include/G4Types.hh index cdd8f647e2..8c937cb293 100644 --- a/source/global/management/include/G4Types.hh +++ b/source/global/management/include/G4Types.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4Types.hh,v 1.4 1999/12/15 18:05:19 gracia Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // GEANT4 native types diff --git a/source/global/management/include/G4UnitsTable.hh b/source/global/management/include/G4UnitsTable.hh index 6c0aee9d44..7f0de18e6b 100644 --- a/source/global/management/include/G4UnitsTable.hh +++ b/source/global/management/include/G4UnitsTable.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UnitsTable.hh,v 1.9 2000/01/19 11:16:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ----------------------------------------------------------------- diff --git a/source/global/management/include/G4UnitsTest.hh b/source/global/management/include/G4UnitsTest.hh index 31beaab6c4..b7329cfe88 100644 --- a/source/global/management/include/G4UnitsTest.hh +++ b/source/global/management/include/G4UnitsTest.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UnitsTest.hh,v 1.4 1999/11/19 09:19:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // diff --git a/source/global/management/include/G4UserLimits.hh b/source/global/management/include/G4UserLimits.hh index b37e9558cb..3eb3339853 100644 --- a/source/global/management/include/G4UserLimits.hh +++ b/source/global/management/include/G4UserLimits.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserLimits.hh,v 1.6 2000/02/17 16:13:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // class G4UserLimits diff --git a/source/global/management/include/G4UserLimits.icc b/source/global/management/include/G4UserLimits.icc index 26a53ef40f..b65f733297 100644 --- a/source/global/management/include/G4UserLimits.icc +++ b/source/global/management/include/G4UserLimits.icc @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4UserLimits.icc,v 1.5 2000/02/17 16:13:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // diff --git a/source/intercoms/include/G4VStateDependent.hh b/source/global/management/include/G4VStateDependent.hh similarity index 53% rename from source/intercoms/include/G4VStateDependent.hh rename to source/global/management/include/G4VStateDependent.hh index a16f019daf..a539e2c940 100644 --- a/source/intercoms/include/G4VStateDependent.hh +++ b/source/global/management/include/G4VStateDependent.hh @@ -5,18 +5,29 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4VStateDependent.hh,v 1.3 1999/12/15 14:50:40 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4VStateDependent.hh,v 1.2 2000/11/20 17:26:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ------------------------------------------------------------ // GEANT 4 class header file // // For information related to this code contact: -// CERN, CN Division, ASD group +// Geant4 Collaboration +// // ---------------- G4VStateDependent ---------------- -// by Gabriele Cosmo, November 1996 -// Abstract class responsible to Notify the change of state +// +// Authors: G.Cosmo, M.Asai - November 1996 +// +// ------------------------------------------------------------ +// +// Class description: +// +// Abstract base class of all classes which need to be notified when +// the state of Geant4 changes. The concrete class object derived from +// this base class will be automatically registered to G4StateManager +// and the virtual method Notify() will be invoked when the state changes. + // ------------------------------------------------------------ #ifndef G4VStateDependent_h @@ -25,32 +36,27 @@ #include "globals.hh" #include "G4ApplicationState.hh" -// class description: -// -// This is an abstract base class of all classes which need to be -// notified when the state of Geant4 is changed. The concrete class -// object derived from this base class will be automatically registered -// to G4StateManager and the virtual method Notify() will be invoked -// when the state changes. -// - -class G4VStateDependent { +class G4VStateDependent +{ public: - G4VStateDependent(); + + G4VStateDependent(G4bool bottom=false); virtual ~G4VStateDependent(); G4int operator==(const G4VStateDependent &right) const; G4int operator!=(const G4VStateDependent &right) const; public: // with description + virtual G4bool Notify(G4ApplicationState requestedState) = 0; - // Pure virtual method which will be invoked by G4StateManager. - // In case state change must not be allowed by some reason of the - // concrete class, false should be returned. But this scheme is - // NOT recommended to use. All command which are state sensitive - // MUST assign available state(s). + // Pure virtual method which will be invoked by G4StateManager. + // In case state change must not be allowed by some reason of the + // concrete class, false should be returned. But this scheme is + // NOT recommended to use. All command which are state sensitive + // MUST assign available state(s). private: + G4VStateDependent(const G4VStateDependent &right); G4VStateDependent& operator=(const G4VStateDependent &right); diff --git a/source/global/management/include/G4coutDestination.hh b/source/global/management/include/G4coutDestination.hh index 2164b8dc14..75405e5763 100644 --- a/source/global/management/include/G4coutDestination.hh +++ b/source/global/management/include/G4coutDestination.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4coutDestination.hh,v 1.2 1999/11/16 17:40:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4coutDestination.hh,v 1.3 2000/11/20 17:26:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // --------------------------------------------------------------- @@ -22,10 +22,13 @@ class G4coutDestination { -public: - virtual int ReceiveG4cout(G4String){return 0;} - virtual int ReceiveG4cerr(G4String){return 0;} + public: + + G4coutDestination(){} + virtual ~G4coutDestination(){} + + virtual G4int ReceiveG4cout(G4String){return 0;} + virtual G4int ReceiveG4cerr(G4String){return 0;} }; #endif - diff --git a/source/global/management/include/G4ios.hh b/source/global/management/include/G4ios.hh index 02d95976c8..8decbebe63 100644 --- a/source/global/management/include/G4ios.hh +++ b/source/global/management/include/G4ios.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G4ios.hh,v 1.5 1999/12/15 18:05:18 gracia Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // --------------------------------------------------------------- diff --git a/source/global/management/include/G4strstreambuf.hh b/source/global/management/include/G4strstreambuf.hh index 41c6cf3204..5777308b14 100644 --- a/source/global/management/include/G4strstreambuf.hh +++ b/source/global/management/include/G4strstreambuf.hh @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4strstreambuf.hh,v 1.6 1999/12/16 08:15:57 gunter Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4strstreambuf.hh,v 1.7 2000/11/20 17:26:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // --------------------------------------------------------------- @@ -26,70 +26,35 @@ class G4strstreambuf; extern G4strstreambuf G4coutbuf; extern G4strstreambuf G4cerrbuf; -class G4strstreambuf : public G4std::streambuf { -public: - G4strstreambuf() { - destination = NULL; - count = 0; - size = 4095; - buffer = new char[size+1]; - } - ~G4strstreambuf() { - delete buffer; - } - void SetDestination(G4coutDestination * value) { - destination = value; - } - int overflow(int c=EOF) { - int result = 0; - if(count>=size) { - buffer[count] = '\0'; - count = 0; - result = ReceiveString (); - } - buffer[count] = c; - count++; - if(c=='\n') { - buffer[count] = '\0'; - count = 0; - result = ReceiveString (); - } - return result; - } - int sync() { - buffer[count] = '\0'; - count = 0; - return ReceiveString (); +class G4strstreambuf : public G4std::streambuf +{ + public: - } + G4strstreambuf(); + ~G4strstreambuf(); + + inline void SetDestination(G4coutDestination * value); + + inline G4int overflow(G4int c=EOF); + inline G4int sync(); #ifdef WIN32 - int underflow() { - return 0; - } + inline G4int underflow(); #endif - int ReceiveString () { - G4String stringToSend = buffer; - int result; - if(this == & G4coutbuf && destination != NULL) { - result = destination->ReceiveG4cout(stringToSend); - } else if(this == & G4cerrbuf && destination != NULL) { - result = destination->ReceiveG4cerr(stringToSend); - } else if(this == & G4coutbuf && destination == NULL) { - G4std::cout << stringToSend << G4std::flush; - result =0; - } else if(this == & G4cerrbuf && destination == NULL) { - G4std::cerr << stringToSend << G4std::flush; - result =0; - } - return result; - }; -private: - G4coutDestination * destination; - char* buffer; - int count,size; + inline G4int ReceiveString (); + + private: + + G4strstreambuf(const G4strstreambuf&); + G4strstreambuf& operator=(const G4strstreambuf&); + + private: + + G4coutDestination * destination; + char* buffer; + G4int count,size; }; +#include "G4strstreambuf.icc" - #endif diff --git a/source/global/management/include/G4strstreambuf.icc b/source/global/management/include/G4strstreambuf.icc new file mode 100644 index 0000000000..7186d76bd5 --- /dev/null +++ b/source/global/management/include/G4strstreambuf.icc @@ -0,0 +1,112 @@ +// 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: G4strstreambuf.icc,v 1.1 2000/11/20 17:26:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// +// --------------------------------------------------------------- +// +// class G4strstreambuf +// inline implementation +// +// --------------------------------------------------------------- + +inline +G4strstreambuf::G4strstreambuf() +{ + destination = NULL; + count = 0; + size = 4095; + buffer = new char[size+1]; +} + +inline +G4strstreambuf::~G4strstreambuf() +{ + delete buffer; +} + +inline +G4strstreambuf::G4strstreambuf(const G4strstreambuf& right) + : destination(right.destination), + buffer(right.buffer), count(right.count), size(right.size) +{ +} + +inline +G4strstreambuf& G4strstreambuf::operator=(const G4strstreambuf& right) +{ + if (&right==this) return *this; + + destination = right.destination; + buffer = right.buffer; + count = right.count; + size = right.size; + + return *this; +} + +inline +void G4strstreambuf::SetDestination(G4coutDestination * value) +{ + destination = value; +} + +inline +G4int G4strstreambuf::overflow(G4int c) +{ + G4int result = 0; + if(count>=size) { + buffer[count] = '\0'; + count = 0; + result = ReceiveString (); + } + buffer[count] = c; + count++; + if(c=='\n') { + buffer[count] = '\0'; + count = 0; + result = ReceiveString (); + } + return result; +} + +inline +G4int G4strstreambuf::sync() +{ + buffer[count] = '\0'; + count = 0; + return ReceiveString (); +} + +#ifdef WIN32 +inline +G4int G4strstreambuf::underflow() +{ + return 0; +} +#endif + +inline +G4int G4strstreambuf::ReceiveString () +{ + G4String stringToSend = G4String(buffer); + G4int result =0; + if(this == & G4coutbuf && destination != NULL) { + result = destination->ReceiveG4cout(stringToSend); + } else if(this == & G4cerrbuf && destination != NULL) { + result = destination->ReceiveG4cerr(stringToSend); + } else if(this == & G4coutbuf && destination == NULL) { + G4std::cout << stringToSend << G4std::flush; + result =0; + } else if(this == & G4cerrbuf && destination == NULL) { + G4std::cerr << stringToSend << G4std::flush; + result =0; + } + return result; +} diff --git a/source/global/management/include/PhysicalConstants.h b/source/global/management/include/PhysicalConstants.h index a81f30ccad..bfecda2d65 100644 --- a/source/global/management/include/PhysicalConstants.h +++ b/source/global/management/include/PhysicalConstants.h @@ -6,7 +6,7 @@ // and all its terms. // // $Id: PhysicalConstants.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // diff --git a/source/global/management/include/SystemOfUnits.h b/source/global/management/include/SystemOfUnits.h index dae8ab8ec1..06210e3b8a 100644 --- a/source/global/management/include/SystemOfUnits.h +++ b/source/global/management/include/SystemOfUnits.h @@ -6,7 +6,7 @@ // and all its terms. // // $Id: SystemOfUnits.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------------------------------------------------------------- // diff --git a/source/global/management/include/g4std/algorithm b/source/global/management/include/g4std/algorithm index 0869d52862..5570800564 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- algorithm ---------------- // diff --git a/source/global/management/include/g4std/complex b/source/global/management/include/g4std/complex index 774ed1aff3..b4be6f04b0 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- complex ---------------- // diff --git a/source/global/management/include/g4std/fstream b/source/global/management/include/g4std/fstream index 53db417c25..859645af68 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- fstream ---------------- // diff --git a/source/global/management/include/g4std/functional b/source/global/management/include/g4std/functional index 14ef1c1741..e85886c909 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- functional ---------------- // diff --git a/source/global/management/include/g4std/iomanip b/source/global/management/include/g4std/iomanip index c12107b7ea..45f93070af 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- iomanip ---------------- // diff --git a/source/global/management/include/g4std/iostream b/source/global/management/include/g4std/iostream index 8be615c934..ae0d9ee03e 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- iostream ---------------- // diff --git a/source/g3tog4/src/G3toG4Debug.cc b/source/global/management/include/g4std/list similarity index 50% rename from source/g3tog4/src/G3toG4Debug.cc rename to source/global/management/include/g4std/list index da994bff11..55b10ac561 100644 --- a/source/g3tog4/src/G3toG4Debug.cc +++ b/source/global/management/include/g4std/list @@ -5,13 +5,19 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G3toG4Debug.cc,v 1.1 1999/12/09 01:27:49 lockman Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: list,v 1.1 2000/08/22 07:54:26 hpw Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // +// ---------------- list ---------------- +// +#ifndef G4_LIST_H +#define G4_LIST_H + +#ifdef G4USE_OLDSTL + #include +#else + #include +#endif + +#endif -#include "G3toG4Debug.hh" -G4int -G3toG4Debug() -{ - return 0; -} diff --git a/source/global/management/include/g4std/map b/source/global/management/include/g4std/map index eb22e7061f..1fd8802271 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- map ---------------- // diff --git a/source/global/management/include/g4std/queue b/source/global/management/include/g4std/queue new file mode 100644 index 0000000000..dec0e9f97f --- /dev/null +++ b/source/global/management/include/g4std/queue @@ -0,0 +1,23 @@ +// 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: queue,v 1.1 2000/08/02 09:49:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ +// +// ---------------- queue ---------------- +// +#ifndef G4_QUEUE_H +#define G4_QUEUE_H + +#ifdef G4USE_OLDSTL + #include +#else + #include +#endif /* G4USE_OLDSTL */ + +#endif /* G4_QUEUE_H */ + diff --git a/source/global/management/include/g4std/set b/source/global/management/include/g4std/set index b6138941bc..ed2bd7693a 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- set ---------------- // diff --git a/source/global/management/include/g4std/streambuf b/source/global/management/include/g4std/streambuf index 05d5422e3d..72effbf10d 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- streambuf ---------------- // diff --git a/source/global/management/include/g4std/strstream b/source/global/management/include/g4std/strstream index 9a689f2e3c..a53469d3d5 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.3 1999/11/16 17:43:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- strstream ---------------- // diff --git a/source/global/management/include/g4std/vector b/source/global/management/include/g4std/vector index 30d65187db..c0c222e8e2 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-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // ---------------- vector ---------------- // diff --git a/source/global/management/include/globals.hh b/source/global/management/include/globals.hh index 339c76db2f..2c884db5ab 100644 --- a/source/global/management/include/globals.hh +++ b/source/global/management/include/globals.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: globals.hh,v 1.15 2000/01/19 11:12:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // Global Constants and typedefs diff --git a/source/global/management/include/templates.hh b/source/global/management/include/templates.hh index 7905bc9804..e71475830c 100644 --- a/source/global/management/include/templates.hh +++ b/source/global/management/include/templates.hh @@ -6,7 +6,7 @@ // and all its terms. // // $Id: templates.hh,v 1.5 2000/01/03 11:39:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -*- C++ -*- diff --git a/source/global/management/src/G4Exception.cc b/source/global/management/src/G4Exception.cc index 4a0b227bc5..098853a70f 100644 --- a/source/global/management/src/G4Exception.cc +++ b/source/global/management/src/G4Exception.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4Exception.cc,v 1.8 1999/11/29 10:17:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4Exception.cc,v 1.9 2000/07/22 10:45:35 asaim Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // ---------------------------------------------------------------------- @@ -21,15 +21,16 @@ #include "G4ios.hh" #include #include "g4rw/cstring.h" +#include "G4StateManager.hh" void G4Exception(const char* s) { - if (s) + if(s) { G4cerr << s << G4endl; } - G4cerr << G4endl << "*** G4Exception: Aborting execution ***" << G4endl; + G4StateManager::GetStateManager()->SetNewState(Abort); abort(); } diff --git a/source/global/management/src/G4LPhysicsFreeVector.cc b/source/global/management/src/G4LPhysicsFreeVector.cc index db53dd318a..e396dc9843 100644 --- a/source/global/management/src/G4LPhysicsFreeVector.cc +++ b/source/global/management/src/G4LPhysicsFreeVector.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4LPhysicsFreeVector.cc,v 1.2 1999/11/16 17:46:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4LPhysicsFreeVector.cc,v 1.3 2000/11/20 17:26:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // // -------------------------------------------------------------------- @@ -53,7 +53,7 @@ G4LPhysicsFreeVector::~G4LPhysicsFreeVector() void G4LPhysicsFreeVector::DumpValues() { - for (G4int i = 0; i < numberOfBin; i++) { + for (size_t i = 0; i < numberOfBin; i++) { // printf(" %12.4f %7.1f\n", binVector(i), dataVector(i)*1.e-27); printf(" %12.4f %7.1f\n", binVector(i), dataVector(i)/millibarn); } diff --git a/source/global/management/src/G4PhysicsFreeVector.cc b/source/global/management/src/G4PhysicsFreeVector.cc index 63e79706f2..90af51f3e2 100644 --- a/source/global/management/src/G4PhysicsFreeVector.cc +++ b/source/global/management/src/G4PhysicsFreeVector.cc @@ -5,8 +5,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4PhysicsFreeVector.cc,v 1.2 1999/11/16 17:46:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-02-00 $ +// $Id: G4PhysicsFreeVector.cc,v 1.3 2000/11/20 17:26:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-03-00 $ // // //-------------------------------------------------------------------- @@ -68,7 +68,7 @@ G4PhysicsFreeVector::G4PhysicsFreeVector(const G4DataVector& theBinVector, ptrNextTable = 0; - for (int i=0; i