moved to pi git
This commit is contained in:
commit
c6150aab97
113
README.md
Normal file
113
README.md
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
This is based on code from Mirco Deckenhoff and modified by Blake Leverington, Peter Stromberger, _et al_.
|
||||||
|
### Based on https://gitlab.cern.ch/lhcb-scifi/SciFiSimG4, but now expanded to a fibre mat, rather than a single fibre, with SiPM readout.
|
||||||
|
|
||||||
|
|
||||||
|
## How to get SciFiSim running
|
||||||
|
_Installation of GEANT4 help is at the bottom of this readme. Check the cmake options for compatibility._
|
||||||
|
|
||||||
|
|
||||||
|
> $ git clone https://$USER@gitlab.cern.ch/lhcb-scifi/SciFiMatG4_v2
|
||||||
|
|
||||||
|
> $ cd SciFiMatG4_v2
|
||||||
|
|
||||||
|
Edit the environment script setup.sh to point to your Geant and ROOT installation and `source` it to add it to your environment:
|
||||||
|
|
||||||
|
> $ source setup.sh //(required before running the software too if you open a new terminal.)
|
||||||
|
|
||||||
|
Now to cun cmake in the build folder:
|
||||||
|
|
||||||
|
> mkdir -p SciFiSim-build //it is safe to delete this folder if you have problems during compilation
|
||||||
|
|
||||||
|
> cd SciFiSim-build
|
||||||
|
|
||||||
|
> cmake ../SciFiSim
|
||||||
|
|
||||||
|
> cmake --build . // or make clean; make
|
||||||
|
|
||||||
|
|
||||||
|
To run the Geant4 simulation in batch mode:
|
||||||
|
|
||||||
|
> cd ../SimulationData
|
||||||
|
|
||||||
|
> ../SciFiSim-build/scifiSim muongun.mac
|
||||||
|
|
||||||
|
|
||||||
|
To run the simulation from within the GUI (for visualization only) very slow if optical photon physics are enabled:
|
||||||
|
> $ ../SciFiSim-build/scifiSim //opens the gui
|
||||||
|
> /control/execute/ vis.mac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## The Geometry file
|
||||||
|
../SciFiSim/src/DetectorConstruction.cc&
|
||||||
|
|
||||||
|
- a multi-layer ribbon of fibres with LHCb style SiPM array at the end (no 64ch gap)
|
||||||
|
|
||||||
|
*if you make changes to the code, run `make` again in the build folder to recompile with the changes. Sometimes you might need `make clean; make`.*
|
||||||
|
|
||||||
|
## Input Parameters
|
||||||
|
Various parameters of the simulation are read in from a parameters file in /SimulationData/parameterFiles/ .
|
||||||
|
The description is in SciFiSi
|
||||||
|
|
||||||
|
## PhysicsList.cc
|
||||||
|
The optical photon physics can be turned off by commenting out the OpticalPhyics section with `/* */` in /src/PhysicsList.cc
|
||||||
|
if you are only interested in energy deposit in the fibres from the primary track, for example.
|
||||||
|
|
||||||
|
|
||||||
|
## The root output
|
||||||
|
|
||||||
|
There are 5 different TTrees created.
|
||||||
|
|
||||||
|
- DetectedPhotons (information about photons detected at SiPM, each photon is an entry)
|
||||||
|
- Trigger(information about trigger)
|
||||||
|
- PrimaryParticleTrack
|
||||||
|
- InitialParticle(Not sure what the difference is)
|
||||||
|
- EnergyTrack (track length in fibres and energy deposited)
|
||||||
|
|
||||||
|
## SciFiSimG4_v2 requires installation of Geant4 first
|
||||||
|
|
||||||
|
> $ wget http://geant4.web.cern.ch/geant4/support/source/geant4.10.07.p01.tar.gz
|
||||||
|
|
||||||
|
> $ tar -xzvf geant4.10.07.p01.tar.gz
|
||||||
|
|
||||||
|
> $ mkdir geant4.10.07.p01-build
|
||||||
|
|
||||||
|
> $ mkdir geant4.10.07.p01-install
|
||||||
|
|
||||||
|
> $ cd geant4.10.07.p01-build/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
> https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/gettingstarted.html#softwarerequirements
|
||||||
|
|
||||||
|
> sudo apt-get install libxerces-c-dev qt4-dev-tools freeglut3-dev libmotif-dev tk-dev cmake libxpm-dev libxmu-dev libxi-dev
|
||||||
|
> libqt5opengl5-dev
|
||||||
|
>libqt4-dev
|
||||||
|
>cmake libx11-dev xorg-dev libglu1-mesa-dev freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
|
||||||
|
>libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev
|
||||||
|
>libxmu-dev expat
|
||||||
|
>freeglut3 freeglut3-dev mesa-utils
|
||||||
|
|
||||||
|
### add your favourite options. the Granular libraries are required by the code, for some reason.
|
||||||
|
|
||||||
|
> cmake -DCMAKE_INSTALL_PREFIX=/home/leverington/software/geant4.10.07.p01-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_QT=ON -DGEANT4_BUILD_CXXSTD=17 -DGEANT4_USE_FREETYPE=ON -DGEANT4_USE_SYSTEM_CLHEP_GRANULAR=ON ../geant4.10.07.p01
|
||||||
|
|
||||||
|
> fix any missing software that is might complain is missing
|
||||||
|
|
||||||
|
> $ make
|
||||||
|
|
||||||
|
> $ make install
|
||||||
|
|
||||||
|
|
||||||
|
## Cern ROOT must also be installed. Compiled with CXX17
|
||||||
|
currently works with ROOT Version: 6.23/01
|
||||||
|
|
||||||
|
> $ root-config --features
|
||||||
|
|
||||||
|
> cxx17 asimage builtin_afterimage builtin_clang builtin_gl2ps builtin_llvm builtin_lz4 builtin_nlohmannjson builtin_openui5 builtin_tbb builtin_vdt builtin_xrootd builtin_xxhash builtin_zstd clad dataframe exceptions fftw3 fitsio gdml http imt mathmore mlp mysql opengl pyroot roofit webgui root7 runtime_cxxmodules shared ssl tmva tmva-cpu tmva-pymva spectrum vdt x11 xml xrootd
|
||||||
|
|
||||||
|
> cmake -Dpython=ON -Droofit=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/leverington/software/root-install-cxx17 -DCMAKE_CXX_STANDARD=17 ../root
|
||||||
|
|
||||||
|
> make
|
||||||
|
|
||||||
|
> make install
|
BIN
SciFiMatG4_v2.pdf
Normal file
BIN
SciFiMatG4_v2.pdf
Normal file
Binary file not shown.
56
SciFiSim/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake
Normal file
56
SciFiSim/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||||
|
set(CMAKE_C_COMPILER_ARG1 "")
|
||||||
|
set(CMAKE_C_COMPILER_ID "GNU")
|
||||||
|
set(CMAKE_C_COMPILER_VERSION "4.4.7")
|
||||||
|
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||||
|
|
||||||
|
set(CMAKE_AR "/usr/bin/ar")
|
||||||
|
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||||
|
set(CMAKE_LINKER "/usr/bin/ld")
|
||||||
|
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||||
|
set(CMAKE_C_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||||
|
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||||
|
set(CMAKE_COMPILER_IS_MINGW )
|
||||||
|
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||||
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
set(CYGWIN 1)
|
||||||
|
set(UNIX 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_MINGW)
|
||||||
|
set(MINGW 1)
|
||||||
|
endif()
|
||||||
|
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||||
|
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c)
|
||||||
|
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||||
|
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||||
|
|
||||||
|
# Save compiler ABI information.
|
||||||
|
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||||
|
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||||
|
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||||
|
|
||||||
|
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||||
|
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ABI)
|
||||||
|
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||||
|
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib")
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||||
|
|
||||||
|
|
||||||
|
|
57
SciFiSim/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake
Normal file
57
SciFiSim/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||||
|
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||||
|
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||||
|
set(CMAKE_CXX_COMPILER_VERSION "4.4.7")
|
||||||
|
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||||
|
|
||||||
|
set(CMAKE_AR "/usr/bin/ar")
|
||||||
|
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||||
|
set(CMAKE_LINKER "/usr/bin/ld")
|
||||||
|
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||||
|
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||||
|
set(CMAKE_COMPILER_IS_MINGW )
|
||||||
|
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||||
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
set(CYGWIN 1)
|
||||||
|
set(UNIX 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_MINGW)
|
||||||
|
set(MINGW 1)
|
||||||
|
endif()
|
||||||
|
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||||
|
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||||
|
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
|
||||||
|
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||||
|
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||||
|
|
||||||
|
# Save compiler ABI information.
|
||||||
|
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||||
|
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||||
|
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||||
|
|
||||||
|
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||||
|
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ABI)
|
||||||
|
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||||
|
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib")
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin
Executable file
BIN
SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin
Executable file
Binary file not shown.
BIN
SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
BIN
SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
Binary file not shown.
15
SciFiSim/CMakeFiles/2.8.12.2/CMakeSystem.cmake
Normal file
15
SciFiSim/CMakeFiles/2.8.12.2/CMakeSystem.cmake
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
set(CMAKE_HOST_SYSTEM "Linux-3.2.0-40-generic")
|
||||||
|
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_HOST_SYSTEM_VERSION "3.2.0-40-generic")
|
||||||
|
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM "Linux-3.2.0-40-generic")
|
||||||
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_SYSTEM_VERSION "3.2.0-40-generic")
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||||
|
|
||||||
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_LOADED 1)
|
389
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c
Normal file
389
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c
Normal file
@ -0,0 +1,389 @@
|
|||||||
|
#ifdef __cplusplus
|
||||||
|
# error "A C++ compiler has been selected for C."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Version number components: V=Version, R=Revision, P=Patch
|
||||||
|
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||||
|
|
||||||
|
#if defined(__18CXX)
|
||||||
|
# define ID_VOID_MAIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||||
|
# define COMPILER_ID "Intel"
|
||||||
|
/* __INTEL_COMPILER = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||||
|
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PATHCC__)
|
||||||
|
# define COMPILER_ID "PathScale"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||||
|
# if defined(__PATHCC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__clang__)
|
||||||
|
# define COMPILER_ID "Clang"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||||
|
# define COMPILER_ID "Embarcadero"
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__)
|
||||||
|
# define COMPILER_ID "Borland"
|
||||||
|
/* __BORLANDC__ = 0xVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# define COMPILER_ID "Watcom"
|
||||||
|
/* __WATCOMC__ = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
|
||||||
|
|
||||||
|
#elif defined(__SUNPRO_C)
|
||||||
|
# define COMPILER_ID "SunPro"
|
||||||
|
# if __SUNPRO_C >= 0x5100
|
||||||
|
/* __SUNPRO_C = 0xVRRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||||
|
# else
|
||||||
|
/* __SUNPRO_C = 0xVRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__HP_cc)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
/* __HP_cc = VVRRPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||||
|
|
||||||
|
#elif defined(__DECC)
|
||||||
|
# define COMPILER_ID "Compaq"
|
||||||
|
/* __DECC_VER = VVRRTPPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||||
|
|
||||||
|
#elif defined(__IBMC__)
|
||||||
|
# if defined(__COMPILER_VER__)
|
||||||
|
# define COMPILER_ID "zOS"
|
||||||
|
# else
|
||||||
|
# if __IBMC__ >= 800
|
||||||
|
# define COMPILER_ID "XL"
|
||||||
|
# else
|
||||||
|
# define COMPILER_ID "VisualAge"
|
||||||
|
# endif
|
||||||
|
/* __IBMC__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PGI)
|
||||||
|
# define COMPILER_ID "PGI"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||||
|
# if defined(__PGIC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_CRAYC)
|
||||||
|
# define COMPILER_ID "Cray"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||||
|
|
||||||
|
#elif defined(__TI_COMPILER_VERSION__)
|
||||||
|
# define COMPILER_ID "TI"
|
||||||
|
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||||
|
|
||||||
|
#elif defined(__TINYC__)
|
||||||
|
# define COMPILER_ID "TinyCC"
|
||||||
|
|
||||||
|
#elif defined(__SCO_VERSION__)
|
||||||
|
# define COMPILER_ID "SCO"
|
||||||
|
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define COMPILER_ID "GNU"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||||
|
# if defined(__GNUC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
# define COMPILER_ID "MSVC"
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# if defined(_MSC_FULL_VER)
|
||||||
|
# if _MSC_VER >= 1400
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||||
|
# else
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_BUILD)
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Analog VisualDSP++ >= 4.5.6 */
|
||||||
|
#elif defined(__VISUALDSPVERSION__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||||
|
|
||||||
|
/* Analog VisualDSP++ < 4.5.6 */
|
||||||
|
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
|
||||||
|
/* IAR Systems compiler for embedded systems.
|
||||||
|
http://www.iar.com */
|
||||||
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
|
# define COMPILER_ID "IAR"
|
||||||
|
|
||||||
|
/* sdcc, the small devices C compiler for embedded systems,
|
||||||
|
http://sdcc.sourceforge.net */
|
||||||
|
#elif defined(SDCC)
|
||||||
|
# define COMPILER_ID "SDCC"
|
||||||
|
/* SDCC = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||||
|
|
||||||
|
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
# if defined(_SGI_COMPILER_VERSION)
|
||||||
|
/* _SGI_COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||||
|
# else
|
||||||
|
/* _COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* This compiler is either not known or is too old to define an
|
||||||
|
identification macro. Try to identify the platform and guess that
|
||||||
|
it is the native compiler. */
|
||||||
|
#elif defined(__sgi)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpua)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
|
||||||
|
#else /* unknown compiler */
|
||||||
|
# define COMPILER_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||||
|
|
||||||
|
/* Identify known platforms by name. */
|
||||||
|
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
#elif defined(__CYGWIN__)
|
||||||
|
# define PLATFORM_ID "Cygwin"
|
||||||
|
|
||||||
|
#elif defined(__MINGW32__)
|
||||||
|
# define PLATFORM_ID "MinGW"
|
||||||
|
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
# define PLATFORM_ID "Darwin"
|
||||||
|
|
||||||
|
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
# define PLATFORM_ID "Windows"
|
||||||
|
|
||||||
|
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||||
|
# define PLATFORM_ID "FreeBSD"
|
||||||
|
|
||||||
|
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||||
|
# define PLATFORM_ID "NetBSD"
|
||||||
|
|
||||||
|
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||||
|
# define PLATFORM_ID "OpenBSD"
|
||||||
|
|
||||||
|
#elif defined(__sun) || defined(sun)
|
||||||
|
# define PLATFORM_ID "SunOS"
|
||||||
|
|
||||||
|
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||||
|
# define PLATFORM_ID "AIX"
|
||||||
|
|
||||||
|
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||||
|
# define PLATFORM_ID "IRIX"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpux__)
|
||||||
|
# define PLATFORM_ID "HP-UX"
|
||||||
|
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
# define PLATFORM_ID "Haiku"
|
||||||
|
|
||||||
|
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||||
|
# define PLATFORM_ID "BeOS"
|
||||||
|
|
||||||
|
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||||
|
# define PLATFORM_ID "QNX"
|
||||||
|
|
||||||
|
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||||
|
# define PLATFORM_ID "Tru64"
|
||||||
|
|
||||||
|
#elif defined(__riscos) || defined(__riscos__)
|
||||||
|
# define PLATFORM_ID "RISCos"
|
||||||
|
|
||||||
|
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||||
|
# define PLATFORM_ID "SINIX"
|
||||||
|
|
||||||
|
#elif defined(__UNIX_SV__)
|
||||||
|
# define PLATFORM_ID "UNIX_SV"
|
||||||
|
|
||||||
|
#elif defined(__bsdos__)
|
||||||
|
# define PLATFORM_ID "BSDOS"
|
||||||
|
|
||||||
|
#elif defined(_MPRAS) || defined(MPRAS)
|
||||||
|
# define PLATFORM_ID "MP-RAS"
|
||||||
|
|
||||||
|
#elif defined(__osf) || defined(__osf__)
|
||||||
|
# define PLATFORM_ID "OSF1"
|
||||||
|
|
||||||
|
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||||
|
# define PLATFORM_ID "SCO_SV"
|
||||||
|
|
||||||
|
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||||
|
# define PLATFORM_ID "ULTRIX"
|
||||||
|
|
||||||
|
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||||
|
# define PLATFORM_ID "Xenix"
|
||||||
|
|
||||||
|
#else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For windows compilers MSVC and Intel we can determine
|
||||||
|
the architecture of the compiler being used. This is because
|
||||||
|
the compilers do not have flags that can change the architecture,
|
||||||
|
but rather depend on which compiler is being used
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && defined(_MSC_VER)
|
||||||
|
# if defined(_M_IA64)
|
||||||
|
# define ARCHITECTURE_ID "IA64"
|
||||||
|
|
||||||
|
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||||
|
# define ARCHITECTURE_ID "x64"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# elif defined(_M_ARM)
|
||||||
|
# define ARCHITECTURE_ID "ARM"
|
||||||
|
|
||||||
|
# elif defined(_M_MIPS)
|
||||||
|
# define ARCHITECTURE_ID "MIPS"
|
||||||
|
|
||||||
|
# elif defined(_M_SH)
|
||||||
|
# define ARCHITECTURE_ID "SHx"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Convert integer to decimal digit literals. */
|
||||||
|
#define DEC(n) \
|
||||||
|
('0' + (((n) / 10000000)%10)), \
|
||||||
|
('0' + (((n) / 1000000)%10)), \
|
||||||
|
('0' + (((n) / 100000)%10)), \
|
||||||
|
('0' + (((n) / 10000)%10)), \
|
||||||
|
('0' + (((n) / 1000)%10)), \
|
||||||
|
('0' + (((n) / 100)%10)), \
|
||||||
|
('0' + (((n) / 10)%10)), \
|
||||||
|
('0' + ((n) % 10))
|
||||||
|
|
||||||
|
/* Convert integer to hex digit literals. */
|
||||||
|
#define HEX(n) \
|
||||||
|
('0' + ((n)>>28 & 0xF)), \
|
||||||
|
('0' + ((n)>>24 & 0xF)), \
|
||||||
|
('0' + ((n)>>20 & 0xF)), \
|
||||||
|
('0' + ((n)>>16 & 0xF)), \
|
||||||
|
('0' + ((n)>>12 & 0xF)), \
|
||||||
|
('0' + ((n)>>8 & 0xF)), \
|
||||||
|
('0' + ((n)>>4 & 0xF)), \
|
||||||
|
('0' + ((n) & 0xF))
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
char const info_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||||
|
COMPILER_VERSION_MAJOR,
|
||||||
|
# ifdef COMPILER_VERSION_MINOR
|
||||||
|
'.', COMPILER_VERSION_MINOR,
|
||||||
|
# ifdef COMPILER_VERSION_PATCH
|
||||||
|
'.', COMPILER_VERSION_PATCH,
|
||||||
|
# ifdef COMPILER_VERSION_TWEAK
|
||||||
|
'.', COMPILER_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||||
|
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifdef ID_VOID_MAIN
|
||||||
|
void main() {}
|
||||||
|
#else
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
int require = 0;
|
||||||
|
require += info_compiler[argc];
|
||||||
|
require += info_platform[argc];
|
||||||
|
require += info_arch[argc];
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
require += info_version[argc];
|
||||||
|
#endif
|
||||||
|
(void)argv;
|
||||||
|
return require;
|
||||||
|
}
|
||||||
|
#endif
|
BIN
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out
Executable file
BIN
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out
Executable file
Binary file not shown.
@ -0,0 +1,377 @@
|
|||||||
|
/* This source file must have a .cpp extension so that all C++ compilers
|
||||||
|
recognize the extension without flags. Borland does not know .cxx for
|
||||||
|
example. */
|
||||||
|
#ifndef __cplusplus
|
||||||
|
# error "A C compiler has been selected for C++."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Version number components: V=Version, R=Revision, P=Patch
|
||||||
|
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||||
|
|
||||||
|
#if defined(__COMO__)
|
||||||
|
# define COMPILER_ID "Comeau"
|
||||||
|
/* __COMO_VERSION__ = VRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||||
|
|
||||||
|
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||||
|
# define COMPILER_ID "Intel"
|
||||||
|
/* __INTEL_COMPILER = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||||
|
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PATHCC__)
|
||||||
|
# define COMPILER_ID "PathScale"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||||
|
# if defined(__PATHCC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__clang__)
|
||||||
|
# define COMPILER_ID "Clang"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||||
|
# define COMPILER_ID "Embarcadero"
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__)
|
||||||
|
# define COMPILER_ID "Borland"
|
||||||
|
/* __BORLANDC__ = 0xVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# define COMPILER_ID "Watcom"
|
||||||
|
/* __WATCOMC__ = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
|
||||||
|
|
||||||
|
#elif defined(__SUNPRO_CC)
|
||||||
|
# define COMPILER_ID "SunPro"
|
||||||
|
# if __SUNPRO_CC >= 0x5100
|
||||||
|
/* __SUNPRO_CC = 0xVRRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||||
|
# else
|
||||||
|
/* __SUNPRO_CC = 0xVRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__HP_aCC)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
/* __HP_aCC = VVRRPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||||
|
|
||||||
|
#elif defined(__DECCXX)
|
||||||
|
# define COMPILER_ID "Compaq"
|
||||||
|
/* __DECCXX_VER = VVRRTPPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||||
|
|
||||||
|
#elif defined(__IBMCPP__)
|
||||||
|
# if defined(__COMPILER_VER__)
|
||||||
|
# define COMPILER_ID "zOS"
|
||||||
|
# else
|
||||||
|
# if __IBMCPP__ >= 800
|
||||||
|
# define COMPILER_ID "XL"
|
||||||
|
# else
|
||||||
|
# define COMPILER_ID "VisualAge"
|
||||||
|
# endif
|
||||||
|
/* __IBMCPP__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PGI)
|
||||||
|
# define COMPILER_ID "PGI"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||||
|
# if defined(__PGIC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_CRAYC)
|
||||||
|
# define COMPILER_ID "Cray"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||||
|
|
||||||
|
#elif defined(__TI_COMPILER_VERSION__)
|
||||||
|
# define COMPILER_ID "TI"
|
||||||
|
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||||
|
|
||||||
|
#elif defined(__SCO_VERSION__)
|
||||||
|
# define COMPILER_ID "SCO"
|
||||||
|
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define COMPILER_ID "GNU"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||||
|
# if defined(__GNUC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
# define COMPILER_ID "MSVC"
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# if defined(_MSC_FULL_VER)
|
||||||
|
# if _MSC_VER >= 1400
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||||
|
# else
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_BUILD)
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Analog VisualDSP++ >= 4.5.6 */
|
||||||
|
#elif defined(__VISUALDSPVERSION__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||||
|
|
||||||
|
/* Analog VisualDSP++ < 4.5.6 */
|
||||||
|
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
|
||||||
|
/* IAR Systems compiler for embedded systems.
|
||||||
|
http://www.iar.com */
|
||||||
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
|
# define COMPILER_ID "IAR"
|
||||||
|
|
||||||
|
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
# if defined(_SGI_COMPILER_VERSION)
|
||||||
|
/* _SGI_COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||||
|
# else
|
||||||
|
/* _COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* This compiler is either not known or is too old to define an
|
||||||
|
identification macro. Try to identify the platform and guess that
|
||||||
|
it is the native compiler. */
|
||||||
|
#elif defined(__sgi)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpua)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
|
||||||
|
#else /* unknown compiler */
|
||||||
|
# define COMPILER_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||||
|
|
||||||
|
/* Identify known platforms by name. */
|
||||||
|
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
#elif defined(__CYGWIN__)
|
||||||
|
# define PLATFORM_ID "Cygwin"
|
||||||
|
|
||||||
|
#elif defined(__MINGW32__)
|
||||||
|
# define PLATFORM_ID "MinGW"
|
||||||
|
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
# define PLATFORM_ID "Darwin"
|
||||||
|
|
||||||
|
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
# define PLATFORM_ID "Windows"
|
||||||
|
|
||||||
|
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||||
|
# define PLATFORM_ID "FreeBSD"
|
||||||
|
|
||||||
|
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||||
|
# define PLATFORM_ID "NetBSD"
|
||||||
|
|
||||||
|
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||||
|
# define PLATFORM_ID "OpenBSD"
|
||||||
|
|
||||||
|
#elif defined(__sun) || defined(sun)
|
||||||
|
# define PLATFORM_ID "SunOS"
|
||||||
|
|
||||||
|
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||||
|
# define PLATFORM_ID "AIX"
|
||||||
|
|
||||||
|
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||||
|
# define PLATFORM_ID "IRIX"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpux__)
|
||||||
|
# define PLATFORM_ID "HP-UX"
|
||||||
|
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
# define PLATFORM_ID "Haiku"
|
||||||
|
|
||||||
|
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||||
|
# define PLATFORM_ID "BeOS"
|
||||||
|
|
||||||
|
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||||
|
# define PLATFORM_ID "QNX"
|
||||||
|
|
||||||
|
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||||
|
# define PLATFORM_ID "Tru64"
|
||||||
|
|
||||||
|
#elif defined(__riscos) || defined(__riscos__)
|
||||||
|
# define PLATFORM_ID "RISCos"
|
||||||
|
|
||||||
|
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||||
|
# define PLATFORM_ID "SINIX"
|
||||||
|
|
||||||
|
#elif defined(__UNIX_SV__)
|
||||||
|
# define PLATFORM_ID "UNIX_SV"
|
||||||
|
|
||||||
|
#elif defined(__bsdos__)
|
||||||
|
# define PLATFORM_ID "BSDOS"
|
||||||
|
|
||||||
|
#elif defined(_MPRAS) || defined(MPRAS)
|
||||||
|
# define PLATFORM_ID "MP-RAS"
|
||||||
|
|
||||||
|
#elif defined(__osf) || defined(__osf__)
|
||||||
|
# define PLATFORM_ID "OSF1"
|
||||||
|
|
||||||
|
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||||
|
# define PLATFORM_ID "SCO_SV"
|
||||||
|
|
||||||
|
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||||
|
# define PLATFORM_ID "ULTRIX"
|
||||||
|
|
||||||
|
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||||
|
# define PLATFORM_ID "Xenix"
|
||||||
|
|
||||||
|
#else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For windows compilers MSVC and Intel we can determine
|
||||||
|
the architecture of the compiler being used. This is because
|
||||||
|
the compilers do not have flags that can change the architecture,
|
||||||
|
but rather depend on which compiler is being used
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && defined(_MSC_VER)
|
||||||
|
# if defined(_M_IA64)
|
||||||
|
# define ARCHITECTURE_ID "IA64"
|
||||||
|
|
||||||
|
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||||
|
# define ARCHITECTURE_ID "x64"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# elif defined(_M_ARM)
|
||||||
|
# define ARCHITECTURE_ID "ARM"
|
||||||
|
|
||||||
|
# elif defined(_M_MIPS)
|
||||||
|
# define ARCHITECTURE_ID "MIPS"
|
||||||
|
|
||||||
|
# elif defined(_M_SH)
|
||||||
|
# define ARCHITECTURE_ID "SHx"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Convert integer to decimal digit literals. */
|
||||||
|
#define DEC(n) \
|
||||||
|
('0' + (((n) / 10000000)%10)), \
|
||||||
|
('0' + (((n) / 1000000)%10)), \
|
||||||
|
('0' + (((n) / 100000)%10)), \
|
||||||
|
('0' + (((n) / 10000)%10)), \
|
||||||
|
('0' + (((n) / 1000)%10)), \
|
||||||
|
('0' + (((n) / 100)%10)), \
|
||||||
|
('0' + (((n) / 10)%10)), \
|
||||||
|
('0' + ((n) % 10))
|
||||||
|
|
||||||
|
/* Convert integer to hex digit literals. */
|
||||||
|
#define HEX(n) \
|
||||||
|
('0' + ((n)>>28 & 0xF)), \
|
||||||
|
('0' + ((n)>>24 & 0xF)), \
|
||||||
|
('0' + ((n)>>20 & 0xF)), \
|
||||||
|
('0' + ((n)>>16 & 0xF)), \
|
||||||
|
('0' + ((n)>>12 & 0xF)), \
|
||||||
|
('0' + ((n)>>8 & 0xF)), \
|
||||||
|
('0' + ((n)>>4 & 0xF)), \
|
||||||
|
('0' + ((n) & 0xF))
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
char const info_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||||
|
COMPILER_VERSION_MAJOR,
|
||||||
|
# ifdef COMPILER_VERSION_MINOR
|
||||||
|
'.', COMPILER_VERSION_MINOR,
|
||||||
|
# ifdef COMPILER_VERSION_PATCH
|
||||||
|
'.', COMPILER_VERSION_PATCH,
|
||||||
|
# ifdef COMPILER_VERSION_TWEAK
|
||||||
|
'.', COMPILER_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||||
|
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
int require = 0;
|
||||||
|
require += info_compiler[argc];
|
||||||
|
require += info_platform[argc];
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
require += info_version[argc];
|
||||||
|
#endif
|
||||||
|
(void)argv;
|
||||||
|
return require;
|
||||||
|
}
|
BIN
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out
Executable file
BIN
SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out
Executable file
Binary file not shown.
63
SciFiSim/CMakeFiles/3.3.2/CMakeCCompiler.cmake
Normal file
63
SciFiSim/CMakeFiles/3.3.2/CMakeCCompiler.cmake
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||||
|
set(CMAKE_C_COMPILER_ARG1 "")
|
||||||
|
set(CMAKE_C_COMPILER_ID "GNU")
|
||||||
|
set(CMAKE_C_COMPILER_VERSION "4.8.1")
|
||||||
|
set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
|
||||||
|
set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
|
||||||
|
set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
|
||||||
|
set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")
|
||||||
|
|
||||||
|
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||||
|
set(CMAKE_C_SIMULATE_ID "")
|
||||||
|
set(CMAKE_C_SIMULATE_VERSION "")
|
||||||
|
|
||||||
|
set(CMAKE_AR "/usr/bin/ar")
|
||||||
|
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||||
|
set(CMAKE_LINKER "/usr/bin/ld")
|
||||||
|
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||||
|
set(CMAKE_C_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||||
|
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||||
|
set(CMAKE_COMPILER_IS_MINGW )
|
||||||
|
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||||
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
set(CYGWIN 1)
|
||||||
|
set(UNIX 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_MINGW)
|
||||||
|
set(MINGW 1)
|
||||||
|
endif()
|
||||||
|
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||||
|
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||||
|
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||||
|
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||||
|
|
||||||
|
# Save compiler ABI information.
|
||||||
|
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||||
|
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||||
|
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||||
|
|
||||||
|
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||||
|
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ABI)
|
||||||
|
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||||
|
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||||
|
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||||
|
|
||||||
|
|
||||||
|
|
64
SciFiSim/CMakeFiles/3.3.2/CMakeCXXCompiler.cmake
Normal file
64
SciFiSim/CMakeFiles/3.3.2/CMakeCXXCompiler.cmake
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||||
|
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||||
|
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||||
|
set(CMAKE_CXX_COMPILER_VERSION "4.8.1")
|
||||||
|
set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||||
|
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters")
|
||||||
|
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||||
|
set(CMAKE_CXX14_COMPILE_FEATURES "")
|
||||||
|
|
||||||
|
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||||
|
set(CMAKE_CXX_SIMULATE_ID "")
|
||||||
|
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||||
|
|
||||||
|
set(CMAKE_AR "/usr/bin/ar")
|
||||||
|
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||||
|
set(CMAKE_LINKER "/usr/bin/ld")
|
||||||
|
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||||
|
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||||
|
set(CMAKE_COMPILER_IS_MINGW )
|
||||||
|
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||||
|
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||||
|
set(CYGWIN 1)
|
||||||
|
set(UNIX 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_MINGW)
|
||||||
|
set(MINGW 1)
|
||||||
|
endif()
|
||||||
|
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||||
|
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||||
|
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
|
||||||
|
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||||
|
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||||
|
|
||||||
|
# Save compiler ABI information.
|
||||||
|
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||||
|
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||||
|
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||||
|
|
||||||
|
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||||
|
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ABI)
|
||||||
|
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||||
|
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||||
|
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_C.bin
Executable file
BIN
SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_C.bin
Executable file
Binary file not shown.
BIN
SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
BIN
SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
Binary file not shown.
15
SciFiSim/CMakeFiles/3.3.2/CMakeSystem.cmake
Normal file
15
SciFiSim/CMakeFiles/3.3.2/CMakeSystem.cmake
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
set(CMAKE_HOST_SYSTEM "Linux-3.2.0-96-generic")
|
||||||
|
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_HOST_SYSTEM_VERSION "3.2.0-96-generic")
|
||||||
|
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM "Linux-3.2.0-96-generic")
|
||||||
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_SYSTEM_VERSION "3.2.0-96-generic")
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||||
|
|
||||||
|
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_LOADED 1)
|
508
SciFiSim/CMakeFiles/3.3.2/CompilerIdC/CMakeCCompilerId.c
Normal file
508
SciFiSim/CMakeFiles/3.3.2/CompilerIdC/CMakeCCompilerId.c
Normal file
@ -0,0 +1,508 @@
|
|||||||
|
#ifdef __cplusplus
|
||||||
|
# error "A C++ compiler has been selected for C."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__18CXX)
|
||||||
|
# define ID_VOID_MAIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Version number components: V=Version, R=Revision, P=Patch
|
||||||
|
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||||
|
|
||||||
|
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||||
|
# define COMPILER_ID "Intel"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
/* __INTEL_COMPILER = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||||
|
# if defined(__INTEL_COMPILER_UPDATE)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||||
|
# else
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||||
|
# endif
|
||||||
|
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PATHCC__)
|
||||||
|
# define COMPILER_ID "PathScale"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||||
|
# if defined(__PATHCC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||||
|
# define COMPILER_ID "Embarcadero"
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__)
|
||||||
|
# define COMPILER_ID "Borland"
|
||||||
|
/* __BORLANDC__ = 0xVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||||
|
# define COMPILER_ID "Watcom"
|
||||||
|
/* __WATCOMC__ = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||||
|
# if (__WATCOMC__ % 10) > 0
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# define COMPILER_ID "OpenWatcom"
|
||||||
|
/* __WATCOMC__ = VVRP + 1100 */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||||
|
# if (__WATCOMC__ % 10) > 0
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__SUNPRO_C)
|
||||||
|
# define COMPILER_ID "SunPro"
|
||||||
|
# if __SUNPRO_C >= 0x5100
|
||||||
|
/* __SUNPRO_C = 0xVRRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||||
|
# else
|
||||||
|
/* __SUNPRO_CC = 0xVRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__HP_cc)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
/* __HP_cc = VVRRPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||||
|
|
||||||
|
#elif defined(__DECC)
|
||||||
|
# define COMPILER_ID "Compaq"
|
||||||
|
/* __DECC_VER = VVRRTPPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||||
|
|
||||||
|
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||||
|
# define COMPILER_ID "zOS"
|
||||||
|
/* __IBMC__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||||
|
# define COMPILER_ID "XL"
|
||||||
|
/* __IBMC__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||||
|
# define COMPILER_ID "VisualAge"
|
||||||
|
/* __IBMC__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__PGI)
|
||||||
|
# define COMPILER_ID "PGI"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||||
|
# if defined(__PGIC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_CRAYC)
|
||||||
|
# define COMPILER_ID "Cray"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||||
|
|
||||||
|
#elif defined(__TI_COMPILER_VERSION__)
|
||||||
|
# define COMPILER_ID "TI"
|
||||||
|
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||||
|
|
||||||
|
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||||
|
# define COMPILER_ID "Fujitsu"
|
||||||
|
|
||||||
|
#elif defined(__TINYC__)
|
||||||
|
# define COMPILER_ID "TinyCC"
|
||||||
|
|
||||||
|
#elif defined(__SCO_VERSION__)
|
||||||
|
# define COMPILER_ID "SCO"
|
||||||
|
|
||||||
|
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||||
|
# define COMPILER_ID "AppleClang"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||||
|
|
||||||
|
#elif defined(__clang__)
|
||||||
|
# define COMPILER_ID "Clang"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define COMPILER_ID "GNU"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||||
|
# if defined(__GNUC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
# define COMPILER_ID "MSVC"
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# if defined(_MSC_FULL_VER)
|
||||||
|
# if _MSC_VER >= 1400
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||||
|
# else
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_BUILD)
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
#if defined(__VISUALDSPVERSION__)
|
||||||
|
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
|
# define COMPILER_ID "IAR"
|
||||||
|
|
||||||
|
#elif defined(SDCC)
|
||||||
|
# define COMPILER_ID "SDCC"
|
||||||
|
/* SDCC = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||||
|
|
||||||
|
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
# if defined(_SGI_COMPILER_VERSION)
|
||||||
|
/* _SGI_COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||||
|
# else
|
||||||
|
/* _COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
|
/* These compilers are either not known or too old to define an
|
||||||
|
identification macro. Try to identify the platform and guess that
|
||||||
|
it is the native compiler. */
|
||||||
|
#elif defined(__sgi)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpua)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
|
||||||
|
#else /* unknown compiler */
|
||||||
|
# define COMPILER_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||||
|
#ifdef SIMULATE_ID
|
||||||
|
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __QNXNTO__
|
||||||
|
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define STRINGIFY_HELPER(X) #X
|
||||||
|
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||||
|
|
||||||
|
/* Identify known platforms by name. */
|
||||||
|
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
#elif defined(__CYGWIN__)
|
||||||
|
# define PLATFORM_ID "Cygwin"
|
||||||
|
|
||||||
|
#elif defined(__MINGW32__)
|
||||||
|
# define PLATFORM_ID "MinGW"
|
||||||
|
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
# define PLATFORM_ID "Darwin"
|
||||||
|
|
||||||
|
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
# define PLATFORM_ID "Windows"
|
||||||
|
|
||||||
|
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||||
|
# define PLATFORM_ID "FreeBSD"
|
||||||
|
|
||||||
|
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||||
|
# define PLATFORM_ID "NetBSD"
|
||||||
|
|
||||||
|
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||||
|
# define PLATFORM_ID "OpenBSD"
|
||||||
|
|
||||||
|
#elif defined(__sun) || defined(sun)
|
||||||
|
# define PLATFORM_ID "SunOS"
|
||||||
|
|
||||||
|
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||||
|
# define PLATFORM_ID "AIX"
|
||||||
|
|
||||||
|
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||||
|
# define PLATFORM_ID "IRIX"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpux__)
|
||||||
|
# define PLATFORM_ID "HP-UX"
|
||||||
|
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
# define PLATFORM_ID "Haiku"
|
||||||
|
|
||||||
|
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||||
|
# define PLATFORM_ID "BeOS"
|
||||||
|
|
||||||
|
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||||
|
# define PLATFORM_ID "QNX"
|
||||||
|
|
||||||
|
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||||
|
# define PLATFORM_ID "Tru64"
|
||||||
|
|
||||||
|
#elif defined(__riscos) || defined(__riscos__)
|
||||||
|
# define PLATFORM_ID "RISCos"
|
||||||
|
|
||||||
|
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||||
|
# define PLATFORM_ID "SINIX"
|
||||||
|
|
||||||
|
#elif defined(__UNIX_SV__)
|
||||||
|
# define PLATFORM_ID "UNIX_SV"
|
||||||
|
|
||||||
|
#elif defined(__bsdos__)
|
||||||
|
# define PLATFORM_ID "BSDOS"
|
||||||
|
|
||||||
|
#elif defined(_MPRAS) || defined(MPRAS)
|
||||||
|
# define PLATFORM_ID "MP-RAS"
|
||||||
|
|
||||||
|
#elif defined(__osf) || defined(__osf__)
|
||||||
|
# define PLATFORM_ID "OSF1"
|
||||||
|
|
||||||
|
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||||
|
# define PLATFORM_ID "SCO_SV"
|
||||||
|
|
||||||
|
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||||
|
# define PLATFORM_ID "ULTRIX"
|
||||||
|
|
||||||
|
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||||
|
# define PLATFORM_ID "Xenix"
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# if defined(__LINUX__)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
# elif defined(__DOS__)
|
||||||
|
# define PLATFORM_ID "DOS"
|
||||||
|
|
||||||
|
# elif defined(__OS2__)
|
||||||
|
# define PLATFORM_ID "OS2"
|
||||||
|
|
||||||
|
# elif defined(__WINDOWS__)
|
||||||
|
# define PLATFORM_ID "Windows3x"
|
||||||
|
|
||||||
|
# else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For windows compilers MSVC and Intel we can determine
|
||||||
|
the architecture of the compiler being used. This is because
|
||||||
|
the compilers do not have flags that can change the architecture,
|
||||||
|
but rather depend on which compiler is being used
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && defined(_MSC_VER)
|
||||||
|
# if defined(_M_IA64)
|
||||||
|
# define ARCHITECTURE_ID "IA64"
|
||||||
|
|
||||||
|
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||||
|
# define ARCHITECTURE_ID "x64"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# elif defined(_M_ARM)
|
||||||
|
# if _M_ARM == 4
|
||||||
|
# define ARCHITECTURE_ID "ARMV4I"
|
||||||
|
# elif _M_ARM == 5
|
||||||
|
# define ARCHITECTURE_ID "ARMV5I"
|
||||||
|
# else
|
||||||
|
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# elif defined(_M_MIPS)
|
||||||
|
# define ARCHITECTURE_ID "MIPS"
|
||||||
|
|
||||||
|
# elif defined(_M_SH)
|
||||||
|
# define ARCHITECTURE_ID "SHx"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# if defined(_M_I86)
|
||||||
|
# define ARCHITECTURE_ID "I86"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Convert integer to decimal digit literals. */
|
||||||
|
#define DEC(n) \
|
||||||
|
('0' + (((n) / 10000000)%10)), \
|
||||||
|
('0' + (((n) / 1000000)%10)), \
|
||||||
|
('0' + (((n) / 100000)%10)), \
|
||||||
|
('0' + (((n) / 10000)%10)), \
|
||||||
|
('0' + (((n) / 1000)%10)), \
|
||||||
|
('0' + (((n) / 100)%10)), \
|
||||||
|
('0' + (((n) / 10)%10)), \
|
||||||
|
('0' + ((n) % 10))
|
||||||
|
|
||||||
|
/* Convert integer to hex digit literals. */
|
||||||
|
#define HEX(n) \
|
||||||
|
('0' + ((n)>>28 & 0xF)), \
|
||||||
|
('0' + ((n)>>24 & 0xF)), \
|
||||||
|
('0' + ((n)>>20 & 0xF)), \
|
||||||
|
('0' + ((n)>>16 & 0xF)), \
|
||||||
|
('0' + ((n)>>12 & 0xF)), \
|
||||||
|
('0' + ((n)>>8 & 0xF)), \
|
||||||
|
('0' + ((n)>>4 & 0xF)), \
|
||||||
|
('0' + ((n) & 0xF))
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
char const info_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||||
|
COMPILER_VERSION_MAJOR,
|
||||||
|
# ifdef COMPILER_VERSION_MINOR
|
||||||
|
'.', COMPILER_VERSION_MINOR,
|
||||||
|
# ifdef COMPILER_VERSION_PATCH
|
||||||
|
'.', COMPILER_VERSION_PATCH,
|
||||||
|
# ifdef COMPILER_VERSION_TWEAK
|
||||||
|
'.', COMPILER_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef SIMULATE_VERSION_MAJOR
|
||||||
|
char const info_simulate_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||||
|
SIMULATE_VERSION_MAJOR,
|
||||||
|
# ifdef SIMULATE_VERSION_MINOR
|
||||||
|
'.', SIMULATE_VERSION_MINOR,
|
||||||
|
# ifdef SIMULATE_VERSION_PATCH
|
||||||
|
'.', SIMULATE_VERSION_PATCH,
|
||||||
|
# ifdef SIMULATE_VERSION_TWEAK
|
||||||
|
'.', SIMULATE_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||||
|
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifdef ID_VOID_MAIN
|
||||||
|
void main() {}
|
||||||
|
#else
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
int require = 0;
|
||||||
|
require += info_compiler[argc];
|
||||||
|
require += info_platform[argc];
|
||||||
|
require += info_arch[argc];
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
require += info_version[argc];
|
||||||
|
#endif
|
||||||
|
#ifdef SIMULATE_ID
|
||||||
|
require += info_simulate[argc];
|
||||||
|
#endif
|
||||||
|
#ifdef SIMULATE_VERSION_MAJOR
|
||||||
|
require += info_simulate_version[argc];
|
||||||
|
#endif
|
||||||
|
(void)argv;
|
||||||
|
return require;
|
||||||
|
}
|
||||||
|
#endif
|
BIN
SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out
Executable file
BIN
SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out
Executable file
Binary file not shown.
498
SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
Normal file
498
SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
Normal file
@ -0,0 +1,498 @@
|
|||||||
|
/* This source file must have a .cpp extension so that all C++ compilers
|
||||||
|
recognize the extension without flags. Borland does not know .cxx for
|
||||||
|
example. */
|
||||||
|
#ifndef __cplusplus
|
||||||
|
# error "A C compiler has been selected for C++."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Version number components: V=Version, R=Revision, P=Patch
|
||||||
|
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||||
|
|
||||||
|
#if defined(__COMO__)
|
||||||
|
# define COMPILER_ID "Comeau"
|
||||||
|
/* __COMO_VERSION__ = VRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||||
|
|
||||||
|
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||||
|
# define COMPILER_ID "Intel"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
/* __INTEL_COMPILER = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||||
|
# if defined(__INTEL_COMPILER_UPDATE)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||||
|
# else
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||||
|
# endif
|
||||||
|
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__PATHCC__)
|
||||||
|
# define COMPILER_ID "PathScale"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||||
|
# if defined(__PATHCC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||||
|
# define COMPILER_ID "Embarcadero"
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||||
|
|
||||||
|
#elif defined(__BORLANDC__)
|
||||||
|
# define COMPILER_ID "Borland"
|
||||||
|
/* __BORLANDC__ = 0xVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||||
|
# define COMPILER_ID "Watcom"
|
||||||
|
/* __WATCOMC__ = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||||
|
# if (__WATCOMC__ % 10) > 0
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# define COMPILER_ID "OpenWatcom"
|
||||||
|
/* __WATCOMC__ = VVRP + 1100 */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||||
|
# if (__WATCOMC__ % 10) > 0
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__SUNPRO_CC)
|
||||||
|
# define COMPILER_ID "SunPro"
|
||||||
|
# if __SUNPRO_CC >= 0x5100
|
||||||
|
/* __SUNPRO_CC = 0xVRRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||||
|
# else
|
||||||
|
/* __SUNPRO_CC = 0xVRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__HP_aCC)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
/* __HP_aCC = VVRRPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||||
|
|
||||||
|
#elif defined(__DECCXX)
|
||||||
|
# define COMPILER_ID "Compaq"
|
||||||
|
/* __DECCXX_VER = VVRRTPPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||||
|
|
||||||
|
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||||
|
# define COMPILER_ID "zOS"
|
||||||
|
/* __IBMCPP__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||||
|
# define COMPILER_ID "XL"
|
||||||
|
/* __IBMCPP__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||||
|
# define COMPILER_ID "VisualAge"
|
||||||
|
/* __IBMCPP__ = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||||
|
|
||||||
|
#elif defined(__PGI)
|
||||||
|
# define COMPILER_ID "PGI"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||||
|
# if defined(__PGIC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_CRAYC)
|
||||||
|
# define COMPILER_ID "Cray"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||||
|
|
||||||
|
#elif defined(__TI_COMPILER_VERSION__)
|
||||||
|
# define COMPILER_ID "TI"
|
||||||
|
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||||
|
|
||||||
|
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||||
|
# define COMPILER_ID "Fujitsu"
|
||||||
|
|
||||||
|
#elif defined(__SCO_VERSION__)
|
||||||
|
# define COMPILER_ID "SCO"
|
||||||
|
|
||||||
|
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||||
|
# define COMPILER_ID "AppleClang"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||||
|
|
||||||
|
#elif defined(__clang__)
|
||||||
|
# define COMPILER_ID "Clang"
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# define SIMULATE_ID "MSVC"
|
||||||
|
# endif
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define COMPILER_ID "GNU"
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||||
|
# if defined(__GNUC_PATCHLEVEL__)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
# define COMPILER_ID "MSVC"
|
||||||
|
/* _MSC_VER = VVRR */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||||
|
# if defined(_MSC_FULL_VER)
|
||||||
|
# if _MSC_VER >= 1400
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||||
|
# else
|
||||||
|
/* _MSC_FULL_VER = VVRRPPPP */
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# if defined(_MSC_BUILD)
|
||||||
|
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||||
|
# define COMPILER_ID "ADSP"
|
||||||
|
#if defined(__VISUALDSPVERSION__)
|
||||||
|
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||||
|
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||||
|
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||||
|
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||||
|
# define COMPILER_ID "IAR"
|
||||||
|
|
||||||
|
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
# if defined(_SGI_COMPILER_VERSION)
|
||||||
|
/* _SGI_COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||||
|
# else
|
||||||
|
/* _COMPILER_VERSION = VRP */
|
||||||
|
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||||
|
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||||
|
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
|
/* These compilers are either not known or too old to define an
|
||||||
|
identification macro. Try to identify the platform and guess that
|
||||||
|
it is the native compiler. */
|
||||||
|
#elif defined(__sgi)
|
||||||
|
# define COMPILER_ID "MIPSpro"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpua)
|
||||||
|
# define COMPILER_ID "HP"
|
||||||
|
|
||||||
|
#else /* unknown compiler */
|
||||||
|
# define COMPILER_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||||
|
#ifdef SIMULATE_ID
|
||||||
|
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __QNXNTO__
|
||||||
|
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define STRINGIFY_HELPER(X) #X
|
||||||
|
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||||
|
|
||||||
|
/* Identify known platforms by name. */
|
||||||
|
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
#elif defined(__CYGWIN__)
|
||||||
|
# define PLATFORM_ID "Cygwin"
|
||||||
|
|
||||||
|
#elif defined(__MINGW32__)
|
||||||
|
# define PLATFORM_ID "MinGW"
|
||||||
|
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
# define PLATFORM_ID "Darwin"
|
||||||
|
|
||||||
|
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
# define PLATFORM_ID "Windows"
|
||||||
|
|
||||||
|
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||||
|
# define PLATFORM_ID "FreeBSD"
|
||||||
|
|
||||||
|
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||||
|
# define PLATFORM_ID "NetBSD"
|
||||||
|
|
||||||
|
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||||
|
# define PLATFORM_ID "OpenBSD"
|
||||||
|
|
||||||
|
#elif defined(__sun) || defined(sun)
|
||||||
|
# define PLATFORM_ID "SunOS"
|
||||||
|
|
||||||
|
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||||
|
# define PLATFORM_ID "AIX"
|
||||||
|
|
||||||
|
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||||
|
# define PLATFORM_ID "IRIX"
|
||||||
|
|
||||||
|
#elif defined(__hpux) || defined(__hpux__)
|
||||||
|
# define PLATFORM_ID "HP-UX"
|
||||||
|
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
# define PLATFORM_ID "Haiku"
|
||||||
|
|
||||||
|
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||||
|
# define PLATFORM_ID "BeOS"
|
||||||
|
|
||||||
|
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||||
|
# define PLATFORM_ID "QNX"
|
||||||
|
|
||||||
|
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||||
|
# define PLATFORM_ID "Tru64"
|
||||||
|
|
||||||
|
#elif defined(__riscos) || defined(__riscos__)
|
||||||
|
# define PLATFORM_ID "RISCos"
|
||||||
|
|
||||||
|
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||||
|
# define PLATFORM_ID "SINIX"
|
||||||
|
|
||||||
|
#elif defined(__UNIX_SV__)
|
||||||
|
# define PLATFORM_ID "UNIX_SV"
|
||||||
|
|
||||||
|
#elif defined(__bsdos__)
|
||||||
|
# define PLATFORM_ID "BSDOS"
|
||||||
|
|
||||||
|
#elif defined(_MPRAS) || defined(MPRAS)
|
||||||
|
# define PLATFORM_ID "MP-RAS"
|
||||||
|
|
||||||
|
#elif defined(__osf) || defined(__osf__)
|
||||||
|
# define PLATFORM_ID "OSF1"
|
||||||
|
|
||||||
|
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||||
|
# define PLATFORM_ID "SCO_SV"
|
||||||
|
|
||||||
|
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||||
|
# define PLATFORM_ID "ULTRIX"
|
||||||
|
|
||||||
|
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||||
|
# define PLATFORM_ID "Xenix"
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# if defined(__LINUX__)
|
||||||
|
# define PLATFORM_ID "Linux"
|
||||||
|
|
||||||
|
# elif defined(__DOS__)
|
||||||
|
# define PLATFORM_ID "DOS"
|
||||||
|
|
||||||
|
# elif defined(__OS2__)
|
||||||
|
# define PLATFORM_ID "OS2"
|
||||||
|
|
||||||
|
# elif defined(__WINDOWS__)
|
||||||
|
# define PLATFORM_ID "Windows3x"
|
||||||
|
|
||||||
|
# else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else /* unknown platform */
|
||||||
|
# define PLATFORM_ID ""
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* For windows compilers MSVC and Intel we can determine
|
||||||
|
the architecture of the compiler being used. This is because
|
||||||
|
the compilers do not have flags that can change the architecture,
|
||||||
|
but rather depend on which compiler is being used
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && defined(_MSC_VER)
|
||||||
|
# if defined(_M_IA64)
|
||||||
|
# define ARCHITECTURE_ID "IA64"
|
||||||
|
|
||||||
|
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||||
|
# define ARCHITECTURE_ID "x64"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# elif defined(_M_ARM)
|
||||||
|
# if _M_ARM == 4
|
||||||
|
# define ARCHITECTURE_ID "ARMV4I"
|
||||||
|
# elif _M_ARM == 5
|
||||||
|
# define ARCHITECTURE_ID "ARMV5I"
|
||||||
|
# else
|
||||||
|
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# elif defined(_M_MIPS)
|
||||||
|
# define ARCHITECTURE_ID "MIPS"
|
||||||
|
|
||||||
|
# elif defined(_M_SH)
|
||||||
|
# define ARCHITECTURE_ID "SHx"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined(__WATCOMC__)
|
||||||
|
# if defined(_M_I86)
|
||||||
|
# define ARCHITECTURE_ID "I86"
|
||||||
|
|
||||||
|
# elif defined(_M_IX86)
|
||||||
|
# define ARCHITECTURE_ID "X86"
|
||||||
|
|
||||||
|
# else /* unknown architecture */
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define ARCHITECTURE_ID ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Convert integer to decimal digit literals. */
|
||||||
|
#define DEC(n) \
|
||||||
|
('0' + (((n) / 10000000)%10)), \
|
||||||
|
('0' + (((n) / 1000000)%10)), \
|
||||||
|
('0' + (((n) / 100000)%10)), \
|
||||||
|
('0' + (((n) / 10000)%10)), \
|
||||||
|
('0' + (((n) / 1000)%10)), \
|
||||||
|
('0' + (((n) / 100)%10)), \
|
||||||
|
('0' + (((n) / 10)%10)), \
|
||||||
|
('0' + ((n) % 10))
|
||||||
|
|
||||||
|
/* Convert integer to hex digit literals. */
|
||||||
|
#define HEX(n) \
|
||||||
|
('0' + ((n)>>28 & 0xF)), \
|
||||||
|
('0' + ((n)>>24 & 0xF)), \
|
||||||
|
('0' + ((n)>>20 & 0xF)), \
|
||||||
|
('0' + ((n)>>16 & 0xF)), \
|
||||||
|
('0' + ((n)>>12 & 0xF)), \
|
||||||
|
('0' + ((n)>>8 & 0xF)), \
|
||||||
|
('0' + ((n)>>4 & 0xF)), \
|
||||||
|
('0' + ((n) & 0xF))
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
char const info_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||||
|
COMPILER_VERSION_MAJOR,
|
||||||
|
# ifdef COMPILER_VERSION_MINOR
|
||||||
|
'.', COMPILER_VERSION_MINOR,
|
||||||
|
# ifdef COMPILER_VERSION_PATCH
|
||||||
|
'.', COMPILER_VERSION_PATCH,
|
||||||
|
# ifdef COMPILER_VERSION_TWEAK
|
||||||
|
'.', COMPILER_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct a string literal encoding the version number components. */
|
||||||
|
#ifdef SIMULATE_VERSION_MAJOR
|
||||||
|
char const info_simulate_version[] = {
|
||||||
|
'I', 'N', 'F', 'O', ':',
|
||||||
|
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||||
|
SIMULATE_VERSION_MAJOR,
|
||||||
|
# ifdef SIMULATE_VERSION_MINOR
|
||||||
|
'.', SIMULATE_VERSION_MINOR,
|
||||||
|
# ifdef SIMULATE_VERSION_PATCH
|
||||||
|
'.', SIMULATE_VERSION_PATCH,
|
||||||
|
# ifdef SIMULATE_VERSION_TWEAK
|
||||||
|
'.', SIMULATE_VERSION_TWEAK,
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
']','\0'};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Construct the string literal in pieces to prevent the source from
|
||||||
|
getting matched. Store it in a pointer rather than an array
|
||||||
|
because some compilers will just produce instructions to fill the
|
||||||
|
array rather than assigning a pointer to a static array. */
|
||||||
|
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||||
|
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
int require = 0;
|
||||||
|
require += info_compiler[argc];
|
||||||
|
require += info_platform[argc];
|
||||||
|
#ifdef COMPILER_VERSION_MAJOR
|
||||||
|
require += info_version[argc];
|
||||||
|
#endif
|
||||||
|
#ifdef SIMULATE_ID
|
||||||
|
require += info_simulate[argc];
|
||||||
|
#endif
|
||||||
|
#ifdef SIMULATE_VERSION_MAJOR
|
||||||
|
require += info_simulate_version[argc];
|
||||||
|
#endif
|
||||||
|
(void)argv;
|
||||||
|
return require;
|
||||||
|
}
|
BIN
SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out
Executable file
BIN
SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out
Executable file
Binary file not shown.
777
SciFiSim/CMakeFiles/CMakeOutput.log
Normal file
777
SciFiSim/CMakeFiles/CMakeOutput.log
Normal file
@ -0,0 +1,777 @@
|
|||||||
|
The system is: Linux - 3.2.0-40-generic - x86_64
|
||||||
|
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||||
|
Compiler: /usr/bin/cc
|
||||||
|
Build flags:
|
||||||
|
Id flags:
|
||||||
|
|
||||||
|
The output was:
|
||||||
|
0
|
||||||
|
|
||||||
|
|
||||||
|
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||||
|
|
||||||
|
The C compiler identification is GNU, found in "/work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out"
|
||||||
|
|
||||||
|
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||||
|
Compiler: /usr/bin/c++
|
||||||
|
Build flags:
|
||||||
|
Id flags:
|
||||||
|
|
||||||
|
The output was:
|
||||||
|
0
|
||||||
|
|
||||||
|
|
||||||
|
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||||
|
|
||||||
|
The CXX compiler identification is GNU, found in "/work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out"
|
||||||
|
|
||||||
|
Determining if the C compiler works passed with the following output:
|
||||||
|
Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:/usr/bin/gmake "cmTryCompileExec3512762732/fast"
|
||||||
|
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3512762732.dir/build.make CMakeFiles/cmTryCompileExec3512762732.dir/build
|
||||||
|
gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1
|
||||||
|
Building C object CMakeFiles/cmTryCompileExec3512762732.dir/testCCompiler.c.o
|
||||||
|
/usr/bin/cc -o CMakeFiles/cmTryCompileExec3512762732.dir/testCCompiler.c.o -c /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/testCCompiler.c
|
||||||
|
Linking C executable cmTryCompileExec3512762732
|
||||||
|
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3512762732.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc CMakeFiles/cmTryCompileExec3512762732.dir/testCCompiler.c.o -o cmTryCompileExec3512762732 -rdynamic
|
||||||
|
gmake[1]: Leaving directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Detecting C compiler ABI info compiled with the following output:
|
||||||
|
Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:/usr/bin/gmake "cmTryCompileExec2437466663/fast"
|
||||||
|
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2437466663.dir/build.make CMakeFiles/cmTryCompileExec2437466663.dir/build
|
||||||
|
gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1
|
||||||
|
Building C object CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o
|
||||||
|
/usr/bin/cc -o CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
|
||||||
|
Linking C executable cmTryCompileExec2437466663
|
||||||
|
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2437466663.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc -v CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec2437466663 -rdynamic
|
||||||
|
Using built-in specs.
|
||||||
|
Target: x86_64-redhat-linux
|
||||||
|
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
|
||||||
|
COMPILER_PATH=/local/lcg/releases/LCGCMT/LCGCMT_76root6/LCG_Settings/../../../LCG_76root6/gcc/4.8.1/x86_64-slc6/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||||
|
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/
|
||||||
|
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec2437466663' '-rdynamic' '-mtune=generic'
|
||||||
|
/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec2437466663 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o
|
||||||
|
gmake[1]: Leaving directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Parsed C implicit link information from above output:
|
||||||
|
link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||||
|
ignore line: [Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp]
|
||||||
|
ignore line: []
|
||||||
|
ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec2437466663/fast"]
|
||||||
|
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2437466663.dir/build.make CMakeFiles/cmTryCompileExec2437466663.dir/build]
|
||||||
|
ignore line: [gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp']
|
||||||
|
ignore line: [/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1]
|
||||||
|
ignore line: [Building C object CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o]
|
||||||
|
ignore line: [/usr/bin/cc -o CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
|
||||||
|
ignore line: [Linking C executable cmTryCompileExec2437466663]
|
||||||
|
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2437466663.dir/link.txt --verbose=1]
|
||||||
|
ignore line: [/usr/bin/cc -v CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec2437466663 -rdynamic ]
|
||||||
|
ignore line: [Using built-in specs.]
|
||||||
|
ignore line: [Target: x86_64-redhat-linux]
|
||||||
|
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux]
|
||||||
|
ignore line: [Thread model: posix]
|
||||||
|
ignore line: [gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ]
|
||||||
|
ignore line: [COMPILER_PATH=/local/lcg/releases/LCGCMT/LCGCMT_76root6/LCG_Settings/../../../LCG_76root6/gcc/4.8.1/x86_64-slc6/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||||
|
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/]
|
||||||
|
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec2437466663' '-rdynamic' '-mtune=generic']
|
||||||
|
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec2437466663 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o]
|
||||||
|
arg [/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2] ==> ignore
|
||||||
|
arg [--eh-frame-hdr] ==> ignore
|
||||||
|
arg [--build-id] ==> ignore
|
||||||
|
arg [-m] ==> ignore
|
||||||
|
arg [elf_x86_64] ==> ignore
|
||||||
|
arg [--hash-style=gnu] ==> ignore
|
||||||
|
arg [-export-dynamic] ==> ignore
|
||||||
|
arg [-dynamic-linker] ==> ignore
|
||||||
|
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||||
|
arg [-o] ==> ignore
|
||||||
|
arg [cmTryCompileExec2437466663] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o] ==> ignore
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64]
|
||||||
|
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||||
|
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..]
|
||||||
|
arg [CMakeFiles/cmTryCompileExec2437466663.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [--no-as-needed] ==> ignore
|
||||||
|
arg [-lc] ==> lib [c]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [--no-as-needed] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] ==> ignore
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> [/usr/lib64]
|
||||||
|
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||||
|
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> [/usr/lib]
|
||||||
|
implicit libs: [c]
|
||||||
|
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib]
|
||||||
|
implicit fwks: []
|
||||||
|
|
||||||
|
|
||||||
|
Determining if the CXX compiler works passed with the following output:
|
||||||
|
Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:/usr/bin/gmake "cmTryCompileExec1842514690/fast"
|
||||||
|
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1842514690.dir/build.make CMakeFiles/cmTryCompileExec1842514690.dir/build
|
||||||
|
gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1
|
||||||
|
Building CXX object CMakeFiles/cmTryCompileExec1842514690.dir/testCXXCompiler.cxx.o
|
||||||
|
/usr/bin/c++ -o CMakeFiles/cmTryCompileExec1842514690.dir/testCXXCompiler.cxx.o -c /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
|
||||||
|
Linking CXX executable cmTryCompileExec1842514690
|
||||||
|
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1842514690.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ CMakeFiles/cmTryCompileExec1842514690.dir/testCXXCompiler.cxx.o -o cmTryCompileExec1842514690 -rdynamic
|
||||||
|
gmake[1]: Leaving directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Detecting CXX compiler ABI info compiled with the following output:
|
||||||
|
Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:/usr/bin/gmake "cmTryCompileExec1517364131/fast"
|
||||||
|
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1517364131.dir/build.make CMakeFiles/cmTryCompileExec1517364131.dir/build
|
||||||
|
gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1
|
||||||
|
Building CXX object CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o
|
||||||
|
/usr/bin/c++ -o CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp
|
||||||
|
Linking CXX executable cmTryCompileExec1517364131
|
||||||
|
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1517364131.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ -v CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec1517364131 -rdynamic
|
||||||
|
Using built-in specs.
|
||||||
|
Target: x86_64-redhat-linux
|
||||||
|
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
|
||||||
|
COMPILER_PATH=/local/lcg/releases/LCGCMT/LCGCMT_76root6/LCG_Settings/../../../LCG_76root6/gcc/4.8.1/x86_64-slc6/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||||
|
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/
|
||||||
|
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1517364131' '-rdynamic' '-shared-libgcc' '-mtune=generic'
|
||||||
|
/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec1517364131 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o
|
||||||
|
gmake[1]: Leaving directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Parsed CXX implicit link information from above output:
|
||||||
|
link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||||
|
ignore line: [Change Dir: /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp]
|
||||||
|
ignore line: []
|
||||||
|
ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec1517364131/fast"]
|
||||||
|
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1517364131.dir/build.make CMakeFiles/cmTryCompileExec1517364131.dir/build]
|
||||||
|
ignore line: [gmake[1]: Entering directory `/auto/sigma0/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp']
|
||||||
|
ignore line: [/usr/bin/cmake -E cmake_progress_report /work/leverington/SciFiMatG4/SciFiSim/CMakeFiles/CMakeTmp/CMakeFiles 1]
|
||||||
|
ignore line: [Building CXX object CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o]
|
||||||
|
ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
|
||||||
|
ignore line: [Linking CXX executable cmTryCompileExec1517364131]
|
||||||
|
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1517364131.dir/link.txt --verbose=1]
|
||||||
|
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec1517364131 -rdynamic ]
|
||||||
|
ignore line: [Using built-in specs.]
|
||||||
|
ignore line: [Target: x86_64-redhat-linux]
|
||||||
|
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux]
|
||||||
|
ignore line: [Thread model: posix]
|
||||||
|
ignore line: [gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ]
|
||||||
|
ignore line: [COMPILER_PATH=/local/lcg/releases/LCGCMT/LCGCMT_76root6/LCG_Settings/../../../LCG_76root6/gcc/4.8.1/x86_64-slc6/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/:/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||||
|
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../:/lib/:/usr/lib/]
|
||||||
|
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1517364131' '-rdynamic' '-shared-libgcc' '-mtune=generic']
|
||||||
|
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec1517364131 /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o]
|
||||||
|
arg [/usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2] ==> ignore
|
||||||
|
arg [--eh-frame-hdr] ==> ignore
|
||||||
|
arg [--build-id] ==> ignore
|
||||||
|
arg [-m] ==> ignore
|
||||||
|
arg [elf_x86_64] ==> ignore
|
||||||
|
arg [--hash-style=gnu] ==> ignore
|
||||||
|
arg [-export-dynamic] ==> ignore
|
||||||
|
arg [-dynamic-linker] ==> ignore
|
||||||
|
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||||
|
arg [-o] ==> ignore
|
||||||
|
arg [cmTryCompileExec1517364131] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o] ==> ignore
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64]
|
||||||
|
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||||
|
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..]
|
||||||
|
arg [CMakeFiles/cmTryCompileExec1517364131.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||||
|
arg [-lstdc++] ==> lib [stdc++]
|
||||||
|
arg [-lm] ==> lib [m]
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [-lc] ==> lib [c]
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o] ==> ignore
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.4.7]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64] ==> [/usr/lib64]
|
||||||
|
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||||
|
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../..] ==> [/usr/lib]
|
||||||
|
implicit libs: [stdc++;m;c]
|
||||||
|
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.4.7;/usr/lib64;/lib64;/usr/lib]
|
||||||
|
implicit fwks: []
|
||||||
|
|
||||||
|
|
||||||
|
The system is: Linux - 3.2.0-96-generic - x86_64
|
||||||
|
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||||
|
Compiler: /usr/bin/cc
|
||||||
|
Build flags:
|
||||||
|
Id flags:
|
||||||
|
|
||||||
|
The output was:
|
||||||
|
0
|
||||||
|
|
||||||
|
|
||||||
|
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||||
|
|
||||||
|
The C compiler identification is GNU, found in "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out"
|
||||||
|
|
||||||
|
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||||
|
Compiler: /usr/bin/c++
|
||||||
|
Build flags:
|
||||||
|
Id flags:
|
||||||
|
|
||||||
|
The output was:
|
||||||
|
0
|
||||||
|
|
||||||
|
|
||||||
|
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||||
|
|
||||||
|
The CXX compiler identification is GNU, found in "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out"
|
||||||
|
|
||||||
|
Determining if the C compiler works passed with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_e6fd2/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_e6fd2.dir/build.make CMakeFiles/cmTC_e6fd2.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building C object CMakeFiles/cmTC_e6fd2.dir/testCCompiler.c.o
|
||||||
|
/usr/bin/cc -o CMakeFiles/cmTC_e6fd2.dir/testCCompiler.c.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp/testCCompiler.c
|
||||||
|
Linking C executable cmTC_e6fd2
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e6fd2.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc CMakeFiles/cmTC_e6fd2.dir/testCCompiler.c.o -o cmTC_e6fd2 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Detecting C compiler ABI info compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_47e25/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_47e25.dir/build.make CMakeFiles/cmTC_47e25.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building C object CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o
|
||||||
|
/usr/bin/cc -o CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -c /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/share/cmake-3.3/Modules/CMakeCCompilerABI.c
|
||||||
|
Linking C executable cmTC_47e25
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_47e25.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc -v CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -o cmTC_47e25 -rdynamic
|
||||||
|
Using built-in specs.
|
||||||
|
COLLECT_GCC=/usr/bin/cc
|
||||||
|
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
|
||||||
|
Target: x86_64-linux-gnu
|
||||||
|
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.1-2ubuntu1~12.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)
|
||||||
|
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||||
|
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/
|
||||||
|
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_47e25' '-rdynamic' '-mtune=generic' '-march=x86-64'
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_47e25 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Parsed C implicit link information from above output:
|
||||||
|
link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||||
|
ignore line: [Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp]
|
||||||
|
ignore line: []
|
||||||
|
ignore line: [Run Build Command:"/usr/bin/make" "cmTC_47e25/fast"]
|
||||||
|
ignore line: [/usr/bin/make -f CMakeFiles/cmTC_47e25.dir/build.make CMakeFiles/cmTC_47e25.dir/build]
|
||||||
|
ignore line: [make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp']
|
||||||
|
ignore line: [Building C object CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o]
|
||||||
|
ignore line: [/usr/bin/cc -o CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -c /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/share/cmake-3.3/Modules/CMakeCCompilerABI.c]
|
||||||
|
ignore line: [Linking C executable cmTC_47e25]
|
||||||
|
ignore line: [/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_47e25.dir/link.txt --verbose=1]
|
||||||
|
ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -o cmTC_47e25 -rdynamic ]
|
||||||
|
ignore line: [Using built-in specs.]
|
||||||
|
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||||
|
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
|
||||||
|
ignore line: [Target: x86_64-linux-gnu]
|
||||||
|
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.1-2ubuntu1~12.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||||
|
ignore line: [Thread model: posix]
|
||||||
|
ignore line: [gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04) ]
|
||||||
|
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||||
|
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
|
||||||
|
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_47e25' '-rdynamic' '-mtune=generic' '-march=x86-64']
|
||||||
|
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_47e25 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
|
||||||
|
arg [--sysroot=/] ==> ignore
|
||||||
|
arg [--build-id] ==> ignore
|
||||||
|
arg [--eh-frame-hdr] ==> ignore
|
||||||
|
arg [-m] ==> ignore
|
||||||
|
arg [elf_x86_64] ==> ignore
|
||||||
|
arg [--hash-style=gnu] ==> ignore
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-export-dynamic] ==> ignore
|
||||||
|
arg [-dynamic-linker] ==> ignore
|
||||||
|
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||||
|
arg [-zrelro] ==> ignore
|
||||||
|
arg [-o] ==> ignore
|
||||||
|
arg [cmTC_47e25] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
|
||||||
|
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||||
|
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||||
|
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||||
|
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
|
||||||
|
arg [CMakeFiles/cmTC_47e25.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [--no-as-needed] ==> ignore
|
||||||
|
arg [-lc] ==> lib [c]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [--no-as-needed] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
|
||||||
|
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/lib/../lib] ==> [/lib]
|
||||||
|
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
|
||||||
|
implicit libs: [c]
|
||||||
|
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||||
|
implicit fwks: []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detecting C [-std=c11] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_6ac00/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_6ac00.dir/build.make CMakeFiles/cmTC_6ac00.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building C object CMakeFiles/cmTC_6ac00.dir/feature_tests.c.o
|
||||||
|
/usr/bin/cc -std=c11 -o CMakeFiles/cmTC_6ac00.dir/feature_tests.c.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.c
|
||||||
|
Linking C executable cmTC_6ac00
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6ac00.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc CMakeFiles/cmTC_6ac00.dir/feature_tests.c.o -o cmTC_6ac00 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: C_FEATURE:1c_function_prototypes
|
||||||
|
Feature record: C_FEATURE:1c_restrict
|
||||||
|
Feature record: C_FEATURE:1c_static_assert
|
||||||
|
Feature record: C_FEATURE:1c_variadic_macros
|
||||||
|
|
||||||
|
|
||||||
|
Detecting C [-std=c99] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_bb9a9/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_bb9a9.dir/build.make CMakeFiles/cmTC_bb9a9.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building C object CMakeFiles/cmTC_bb9a9.dir/feature_tests.c.o
|
||||||
|
/usr/bin/cc -std=c99 -o CMakeFiles/cmTC_bb9a9.dir/feature_tests.c.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.c
|
||||||
|
Linking C executable cmTC_bb9a9
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bb9a9.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc CMakeFiles/cmTC_bb9a9.dir/feature_tests.c.o -o cmTC_bb9a9 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: C_FEATURE:1c_function_prototypes
|
||||||
|
Feature record: C_FEATURE:1c_restrict
|
||||||
|
Feature record: C_FEATURE:0c_static_assert
|
||||||
|
Feature record: C_FEATURE:1c_variadic_macros
|
||||||
|
|
||||||
|
|
||||||
|
Detecting C [-std=c90] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_dd63f/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_dd63f.dir/build.make CMakeFiles/cmTC_dd63f.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building C object CMakeFiles/cmTC_dd63f.dir/feature_tests.c.o
|
||||||
|
/usr/bin/cc -std=c90 -o CMakeFiles/cmTC_dd63f.dir/feature_tests.c.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.c
|
||||||
|
Linking C executable cmTC_dd63f
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dd63f.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/cc CMakeFiles/cmTC_dd63f.dir/feature_tests.c.o -o cmTC_dd63f -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: C_FEATURE:1c_function_prototypes
|
||||||
|
Feature record: C_FEATURE:0c_restrict
|
||||||
|
Feature record: C_FEATURE:0c_static_assert
|
||||||
|
Feature record: C_FEATURE:0c_variadic_macros
|
||||||
|
Determining if the CXX compiler works passed with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_5d2b2/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_5d2b2.dir/build.make CMakeFiles/cmTC_5d2b2.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building CXX object CMakeFiles/cmTC_5d2b2.dir/testCXXCompiler.cxx.o
|
||||||
|
/usr/bin/c++ -o CMakeFiles/cmTC_5d2b2.dir/testCXXCompiler.cxx.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
|
||||||
|
Linking CXX executable cmTC_5d2b2
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5d2b2.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ CMakeFiles/cmTC_5d2b2.dir/testCXXCompiler.cxx.o -o cmTC_5d2b2 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Detecting CXX compiler ABI info compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_98d78/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_98d78.dir/build.make CMakeFiles/cmTC_98d78.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building CXX object CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o
|
||||||
|
/usr/bin/c++ -o CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -c /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/share/cmake-3.3/Modules/CMakeCXXCompilerABI.cpp
|
||||||
|
Linking CXX executable cmTC_98d78
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_98d78.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ -v CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_98d78 -rdynamic
|
||||||
|
Using built-in specs.
|
||||||
|
COLLECT_GCC=/usr/bin/c++
|
||||||
|
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
|
||||||
|
Target: x86_64-linux-gnu
|
||||||
|
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.1-2ubuntu1~12.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||||
|
Thread model: posix
|
||||||
|
gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)
|
||||||
|
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||||
|
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/
|
||||||
|
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98d78' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||||
|
/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_98d78 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Parsed CXX implicit link information from above output:
|
||||||
|
link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||||
|
ignore line: [Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp]
|
||||||
|
ignore line: []
|
||||||
|
ignore line: [Run Build Command:"/usr/bin/make" "cmTC_98d78/fast"]
|
||||||
|
ignore line: [/usr/bin/make -f CMakeFiles/cmTC_98d78.dir/build.make CMakeFiles/cmTC_98d78.dir/build]
|
||||||
|
ignore line: [make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp']
|
||||||
|
ignore line: [Building CXX object CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o]
|
||||||
|
ignore line: [/usr/bin/c++ -o CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -c /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/share/cmake-3.3/Modules/CMakeCXXCompilerABI.cpp]
|
||||||
|
ignore line: [Linking CXX executable cmTC_98d78]
|
||||||
|
ignore line: [/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_98d78.dir/link.txt --verbose=1]
|
||||||
|
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_98d78 -rdynamic ]
|
||||||
|
ignore line: [Using built-in specs.]
|
||||||
|
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||||
|
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
|
||||||
|
ignore line: [Target: x86_64-linux-gnu]
|
||||||
|
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.1-2ubuntu1~12.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||||
|
ignore line: [Thread model: posix]
|
||||||
|
ignore line: [gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04) ]
|
||||||
|
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||||
|
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
|
||||||
|
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_98d78' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
|
||||||
|
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_98d78 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
|
||||||
|
arg [--sysroot=/] ==> ignore
|
||||||
|
arg [--build-id] ==> ignore
|
||||||
|
arg [--eh-frame-hdr] ==> ignore
|
||||||
|
arg [-m] ==> ignore
|
||||||
|
arg [elf_x86_64] ==> ignore
|
||||||
|
arg [--hash-style=gnu] ==> ignore
|
||||||
|
arg [--as-needed] ==> ignore
|
||||||
|
arg [-export-dynamic] ==> ignore
|
||||||
|
arg [-dynamic-linker] ==> ignore
|
||||||
|
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||||
|
arg [-zrelro] ==> ignore
|
||||||
|
arg [-o] ==> ignore
|
||||||
|
arg [cmTC_98d78] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
|
||||||
|
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||||
|
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||||
|
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||||
|
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||||
|
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
|
||||||
|
arg [CMakeFiles/cmTC_98d78.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||||
|
arg [-lstdc++] ==> lib [stdc++]
|
||||||
|
arg [-lm] ==> lib [m]
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [-lc] ==> lib [c]
|
||||||
|
arg [-lgcc_s] ==> lib [gcc_s]
|
||||||
|
arg [-lgcc] ==> lib [gcc]
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
|
||||||
|
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
remove lib [gcc_s]
|
||||||
|
remove lib [gcc]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
|
||||||
|
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/lib/../lib] ==> [/lib]
|
||||||
|
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||||
|
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||||
|
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
|
||||||
|
implicit libs: [stdc++;m;c]
|
||||||
|
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||||
|
implicit fwks: []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Detecting CXX [-std=c++1y] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_dd430/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_dd430.dir/build.make CMakeFiles/cmTC_dd430.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building CXX object CMakeFiles/cmTC_dd430.dir/feature_tests.cxx.o
|
||||||
|
/usr/bin/c++ -std=c++1y -o CMakeFiles/cmTC_dd430.dir/feature_tests.cxx.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.cxx
|
||||||
|
Linking CXX executable cmTC_dd430
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dd430.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ CMakeFiles/cmTC_dd430.dir/feature_tests.cxx.o -o cmTC_dd430 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alias_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alignas
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alignof
|
||||||
|
Feature record: CXX_FEATURE:1cxx_attributes
|
||||||
|
Feature record: CXX_FEATURE:0cxx_attribute_deprecated
|
||||||
|
Feature record: CXX_FEATURE:1cxx_auto_type
|
||||||
|
Feature record: CXX_FEATURE:0cxx_binary_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_contextual_conversions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_decltype
|
||||||
|
Feature record: CXX_FEATURE:0cxx_decltype_auto
|
||||||
|
Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
|
||||||
|
Feature record: CXX_FEATURE:1cxx_default_function_template_args
|
||||||
|
Feature record: CXX_FEATURE:1cxx_defaulted_functions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
|
||||||
|
Feature record: CXX_FEATURE:1cxx_delegating_constructors
|
||||||
|
Feature record: CXX_FEATURE:1cxx_deleted_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_digit_separators
|
||||||
|
Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
|
||||||
|
Feature record: CXX_FEATURE:1cxx_explicit_conversions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
|
||||||
|
Feature record: CXX_FEATURE:1cxx_extern_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_final
|
||||||
|
Feature record: CXX_FEATURE:1cxx_func_identifier
|
||||||
|
Feature record: CXX_FEATURE:1cxx_generalized_initializers
|
||||||
|
Feature record: CXX_FEATURE:0cxx_generic_lambdas
|
||||||
|
Feature record: CXX_FEATURE:1cxx_inheriting_constructors
|
||||||
|
Feature record: CXX_FEATURE:1cxx_inline_namespaces
|
||||||
|
Feature record: CXX_FEATURE:1cxx_lambdas
|
||||||
|
Feature record: CXX_FEATURE:0cxx_lambda_init_captures
|
||||||
|
Feature record: CXX_FEATURE:1cxx_local_type_template_args
|
||||||
|
Feature record: CXX_FEATURE:1cxx_long_long_type
|
||||||
|
Feature record: CXX_FEATURE:1cxx_noexcept
|
||||||
|
Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
|
||||||
|
Feature record: CXX_FEATURE:1cxx_nullptr
|
||||||
|
Feature record: CXX_FEATURE:1cxx_override
|
||||||
|
Feature record: CXX_FEATURE:1cxx_range_for
|
||||||
|
Feature record: CXX_FEATURE:1cxx_raw_string_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_return_type_deduction
|
||||||
|
Feature record: CXX_FEATURE:1cxx_right_angle_brackets
|
||||||
|
Feature record: CXX_FEATURE:1cxx_rvalue_references
|
||||||
|
Feature record: CXX_FEATURE:1cxx_sizeof_member
|
||||||
|
Feature record: CXX_FEATURE:1cxx_static_assert
|
||||||
|
Feature record: CXX_FEATURE:1cxx_strong_enums
|
||||||
|
Feature record: CXX_FEATURE:1cxx_template_template_parameters
|
||||||
|
Feature record: CXX_FEATURE:1cxx_thread_local
|
||||||
|
Feature record: CXX_FEATURE:1cxx_trailing_return_types
|
||||||
|
Feature record: CXX_FEATURE:1cxx_unicode_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_uniform_initialization
|
||||||
|
Feature record: CXX_FEATURE:1cxx_unrestricted_unions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_user_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_variable_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_variadic_macros
|
||||||
|
Feature record: CXX_FEATURE:1cxx_variadic_templates
|
||||||
|
|
||||||
|
|
||||||
|
Detecting CXX [-std=c++11] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_a5620/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_a5620.dir/build.make CMakeFiles/cmTC_a5620.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building CXX object CMakeFiles/cmTC_a5620.dir/feature_tests.cxx.o
|
||||||
|
/usr/bin/c++ -std=c++11 -o CMakeFiles/cmTC_a5620.dir/feature_tests.cxx.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.cxx
|
||||||
|
Linking CXX executable cmTC_a5620
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a5620.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ CMakeFiles/cmTC_a5620.dir/feature_tests.cxx.o -o cmTC_a5620 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alias_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alignas
|
||||||
|
Feature record: CXX_FEATURE:1cxx_alignof
|
||||||
|
Feature record: CXX_FEATURE:1cxx_attributes
|
||||||
|
Feature record: CXX_FEATURE:0cxx_attribute_deprecated
|
||||||
|
Feature record: CXX_FEATURE:1cxx_auto_type
|
||||||
|
Feature record: CXX_FEATURE:0cxx_binary_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_contextual_conversions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_decltype
|
||||||
|
Feature record: CXX_FEATURE:0cxx_decltype_auto
|
||||||
|
Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
|
||||||
|
Feature record: CXX_FEATURE:1cxx_default_function_template_args
|
||||||
|
Feature record: CXX_FEATURE:1cxx_defaulted_functions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
|
||||||
|
Feature record: CXX_FEATURE:1cxx_delegating_constructors
|
||||||
|
Feature record: CXX_FEATURE:1cxx_deleted_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_digit_separators
|
||||||
|
Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
|
||||||
|
Feature record: CXX_FEATURE:1cxx_explicit_conversions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
|
||||||
|
Feature record: CXX_FEATURE:1cxx_extern_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_final
|
||||||
|
Feature record: CXX_FEATURE:1cxx_func_identifier
|
||||||
|
Feature record: CXX_FEATURE:1cxx_generalized_initializers
|
||||||
|
Feature record: CXX_FEATURE:0cxx_generic_lambdas
|
||||||
|
Feature record: CXX_FEATURE:1cxx_inheriting_constructors
|
||||||
|
Feature record: CXX_FEATURE:1cxx_inline_namespaces
|
||||||
|
Feature record: CXX_FEATURE:1cxx_lambdas
|
||||||
|
Feature record: CXX_FEATURE:0cxx_lambda_init_captures
|
||||||
|
Feature record: CXX_FEATURE:1cxx_local_type_template_args
|
||||||
|
Feature record: CXX_FEATURE:1cxx_long_long_type
|
||||||
|
Feature record: CXX_FEATURE:1cxx_noexcept
|
||||||
|
Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
|
||||||
|
Feature record: CXX_FEATURE:1cxx_nullptr
|
||||||
|
Feature record: CXX_FEATURE:1cxx_override
|
||||||
|
Feature record: CXX_FEATURE:1cxx_range_for
|
||||||
|
Feature record: CXX_FEATURE:1cxx_raw_string_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_return_type_deduction
|
||||||
|
Feature record: CXX_FEATURE:1cxx_right_angle_brackets
|
||||||
|
Feature record: CXX_FEATURE:1cxx_rvalue_references
|
||||||
|
Feature record: CXX_FEATURE:1cxx_sizeof_member
|
||||||
|
Feature record: CXX_FEATURE:1cxx_static_assert
|
||||||
|
Feature record: CXX_FEATURE:1cxx_strong_enums
|
||||||
|
Feature record: CXX_FEATURE:1cxx_template_template_parameters
|
||||||
|
Feature record: CXX_FEATURE:1cxx_thread_local
|
||||||
|
Feature record: CXX_FEATURE:1cxx_trailing_return_types
|
||||||
|
Feature record: CXX_FEATURE:1cxx_unicode_literals
|
||||||
|
Feature record: CXX_FEATURE:1cxx_uniform_initialization
|
||||||
|
Feature record: CXX_FEATURE:1cxx_unrestricted_unions
|
||||||
|
Feature record: CXX_FEATURE:1cxx_user_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_variable_templates
|
||||||
|
Feature record: CXX_FEATURE:1cxx_variadic_macros
|
||||||
|
Feature record: CXX_FEATURE:1cxx_variadic_templates
|
||||||
|
|
||||||
|
|
||||||
|
Detecting CXX [-std=c++98] compiler features compiled with the following output:
|
||||||
|
Change Dir: /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp
|
||||||
|
|
||||||
|
Run Build Command:"/usr/bin/make" "cmTC_0f614/fast"
|
||||||
|
/usr/bin/make -f CMakeFiles/cmTC_0f614.dir/build.make CMakeFiles/cmTC_0f614.dir/build
|
||||||
|
make[1]: Entering directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
Building CXX object CMakeFiles/cmTC_0f614.dir/feature_tests.cxx.o
|
||||||
|
/usr/bin/c++ -std=c++98 -o CMakeFiles/cmTC_0f614.dir/feature_tests.cxx.o -c /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/feature_tests.cxx
|
||||||
|
Linking CXX executable cmTC_0f614
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0f614.dir/link.txt --verbose=1
|
||||||
|
/usr/bin/c++ CMakeFiles/cmTC_0f614.dir/feature_tests.cxx.o -o cmTC_0f614 -rdynamic
|
||||||
|
make[1]: Leaving directory `/media/work/work2/SciFiMatG4_v2/SciFiSim/CMakeFiles/CMakeTmp'
|
||||||
|
|
||||||
|
|
||||||
|
Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
|
||||||
|
Feature record: CXX_FEATURE:0cxx_alias_templates
|
||||||
|
Feature record: CXX_FEATURE:0cxx_alignas
|
||||||
|
Feature record: CXX_FEATURE:0cxx_alignof
|
||||||
|
Feature record: CXX_FEATURE:0cxx_attributes
|
||||||
|
Feature record: CXX_FEATURE:0cxx_attribute_deprecated
|
||||||
|
Feature record: CXX_FEATURE:0cxx_auto_type
|
||||||
|
Feature record: CXX_FEATURE:0cxx_binary_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_contextual_conversions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_decltype
|
||||||
|
Feature record: CXX_FEATURE:0cxx_decltype_auto
|
||||||
|
Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types
|
||||||
|
Feature record: CXX_FEATURE:0cxx_default_function_template_args
|
||||||
|
Feature record: CXX_FEATURE:0cxx_defaulted_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers
|
||||||
|
Feature record: CXX_FEATURE:0cxx_delegating_constructors
|
||||||
|
Feature record: CXX_FEATURE:0cxx_deleted_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_digit_separators
|
||||||
|
Feature record: CXX_FEATURE:0cxx_enum_forward_declarations
|
||||||
|
Feature record: CXX_FEATURE:0cxx_explicit_conversions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_extended_friend_declarations
|
||||||
|
Feature record: CXX_FEATURE:0cxx_extern_templates
|
||||||
|
Feature record: CXX_FEATURE:0cxx_final
|
||||||
|
Feature record: CXX_FEATURE:0cxx_func_identifier
|
||||||
|
Feature record: CXX_FEATURE:0cxx_generalized_initializers
|
||||||
|
Feature record: CXX_FEATURE:0cxx_generic_lambdas
|
||||||
|
Feature record: CXX_FEATURE:0cxx_inheriting_constructors
|
||||||
|
Feature record: CXX_FEATURE:0cxx_inline_namespaces
|
||||||
|
Feature record: CXX_FEATURE:0cxx_lambdas
|
||||||
|
Feature record: CXX_FEATURE:0cxx_lambda_init_captures
|
||||||
|
Feature record: CXX_FEATURE:0cxx_local_type_template_args
|
||||||
|
Feature record: CXX_FEATURE:0cxx_long_long_type
|
||||||
|
Feature record: CXX_FEATURE:0cxx_noexcept
|
||||||
|
Feature record: CXX_FEATURE:0cxx_nonstatic_member_init
|
||||||
|
Feature record: CXX_FEATURE:0cxx_nullptr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_override
|
||||||
|
Feature record: CXX_FEATURE:0cxx_range_for
|
||||||
|
Feature record: CXX_FEATURE:0cxx_raw_string_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_reference_qualified_functions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
|
||||||
|
Feature record: CXX_FEATURE:0cxx_return_type_deduction
|
||||||
|
Feature record: CXX_FEATURE:0cxx_right_angle_brackets
|
||||||
|
Feature record: CXX_FEATURE:0cxx_rvalue_references
|
||||||
|
Feature record: CXX_FEATURE:0cxx_sizeof_member
|
||||||
|
Feature record: CXX_FEATURE:0cxx_static_assert
|
||||||
|
Feature record: CXX_FEATURE:0cxx_strong_enums
|
||||||
|
Feature record: CXX_FEATURE:1cxx_template_template_parameters
|
||||||
|
Feature record: CXX_FEATURE:0cxx_thread_local
|
||||||
|
Feature record: CXX_FEATURE:0cxx_trailing_return_types
|
||||||
|
Feature record: CXX_FEATURE:0cxx_unicode_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_uniform_initialization
|
||||||
|
Feature record: CXX_FEATURE:0cxx_unrestricted_unions
|
||||||
|
Feature record: CXX_FEATURE:0cxx_user_literals
|
||||||
|
Feature record: CXX_FEATURE:0cxx_variable_templates
|
||||||
|
Feature record: CXX_FEATURE:0cxx_variadic_macros
|
||||||
|
Feature record: CXX_FEATURE:0cxx_variadic_templates
|
2
SciFiSim/CMakeFiles/CMakeRuleHashes.txt
Normal file
2
SciFiSim/CMakeFiles/CMakeRuleHashes.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Hashes of file build rules.
|
||||||
|
887067886e476ebf1513a83a71192e3e CMakeFiles/DEPENDS
|
8
SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake
Normal file
8
SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# The set of languages for which implicit dependencies are needed:
|
||||||
|
set(CMAKE_DEPENDS_LANGUAGES
|
||||||
|
)
|
||||||
|
# The set of files for implicit dependencies of each language:
|
||||||
|
|
||||||
|
# Targets to which this target links.
|
||||||
|
set(CMAKE_TARGET_LINKED_INFO_FILES
|
||||||
|
)
|
72
SciFiSim/CMakeFiles/DEPENDS.dir/build.make
Normal file
72
SciFiSim/CMakeFiles/DEPENDS.dir/build.make
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.3
|
||||||
|
|
||||||
|
# Delete rule output on recipe failure.
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
|
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||||
|
SUFFIXES =
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
|
||||||
|
# Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E remove -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# Utility rule file for DEPENDS.
|
||||||
|
|
||||||
|
# Include the progress variables for this target.
|
||||||
|
include CMakeFiles/DEPENDS.dir/progress.make
|
||||||
|
|
||||||
|
DEPENDS: CMakeFiles/DEPENDS.dir/build.make
|
||||||
|
|
||||||
|
.PHONY : DEPENDS
|
||||||
|
|
||||||
|
# Rule to build all files generated by this target.
|
||||||
|
CMakeFiles/DEPENDS.dir/build: DEPENDS
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/build
|
||||||
|
|
||||||
|
CMakeFiles/DEPENDS.dir/clean:
|
||||||
|
$(CMAKE_COMMAND) -P CMakeFiles/DEPENDS.dir/cmake_clean.cmake
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/clean
|
||||||
|
|
||||||
|
CMakeFiles/DEPENDS.dir/depend:
|
||||||
|
cd /work/SciFiMatG4_v2/SciFiSim && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake --color=$(COLOR)
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/depend
|
||||||
|
|
5
SciFiSim/CMakeFiles/DEPENDS.dir/cmake_clean.cmake
Normal file
5
SciFiSim/CMakeFiles/DEPENDS.dir/cmake_clean.cmake
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
# Per-language clean rules from dependency scanning.
|
||||||
|
foreach(lang )
|
||||||
|
include(CMakeFiles/DEPENDS.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||||
|
endforeach()
|
1
SciFiSim/CMakeFiles/DEPENDS.dir/progress.make
Normal file
1
SciFiSim/CMakeFiles/DEPENDS.dir/progress.make
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
140
SciFiSim/CMakeFiles/Makefile2
Normal file
140
SciFiSim/CMakeFiles/Makefile2
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.3
|
||||||
|
|
||||||
|
# Default target executed when no arguments are given to make.
|
||||||
|
default_target: all
|
||||||
|
|
||||||
|
.PHONY : default_target
|
||||||
|
|
||||||
|
# The main recursive all target
|
||||||
|
all:
|
||||||
|
|
||||||
|
.PHONY : all
|
||||||
|
|
||||||
|
# The main recursive preinstall target
|
||||||
|
preinstall:
|
||||||
|
|
||||||
|
.PHONY : preinstall
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
|
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||||
|
SUFFIXES =
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
|
||||||
|
# Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E remove -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for target CMakeFiles/DEPENDS.dir
|
||||||
|
|
||||||
|
# All Build rule for target.
|
||||||
|
CMakeFiles/DEPENDS.dir/all:
|
||||||
|
$(MAKE) -f CMakeFiles/DEPENDS.dir/build.make CMakeFiles/DEPENDS.dir/depend
|
||||||
|
$(MAKE) -f CMakeFiles/DEPENDS.dir/build.make CMakeFiles/DEPENDS.dir/build
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num= "Built target DEPENDS"
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/all
|
||||||
|
|
||||||
|
# Build rule for subdir invocation for target.
|
||||||
|
CMakeFiles/DEPENDS.dir/rule: cmake_check_build_system
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles 0
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/DEPENDS.dir/all
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles 0
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/rule
|
||||||
|
|
||||||
|
# Convenience name for target.
|
||||||
|
DEPENDS: CMakeFiles/DEPENDS.dir/rule
|
||||||
|
|
||||||
|
.PHONY : DEPENDS
|
||||||
|
|
||||||
|
# clean rule for target.
|
||||||
|
CMakeFiles/DEPENDS.dir/clean:
|
||||||
|
$(MAKE) -f CMakeFiles/DEPENDS.dir/build.make CMakeFiles/DEPENDS.dir/clean
|
||||||
|
.PHONY : CMakeFiles/DEPENDS.dir/clean
|
||||||
|
|
||||||
|
# clean rule for target.
|
||||||
|
clean: CMakeFiles/DEPENDS.dir/clean
|
||||||
|
|
||||||
|
.PHONY : clean
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for target CMakeFiles/scifiSim.dir
|
||||||
|
|
||||||
|
# All Build rule for target.
|
||||||
|
CMakeFiles/scifiSim.dir/all:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/depend
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/build
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13 "Built target scifiSim"
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/all
|
||||||
|
|
||||||
|
# Include target in all.
|
||||||
|
all: CMakeFiles/scifiSim.dir/all
|
||||||
|
|
||||||
|
.PHONY : all
|
||||||
|
|
||||||
|
# Build rule for subdir invocation for target.
|
||||||
|
CMakeFiles/scifiSim.dir/rule: cmake_check_build_system
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles 13
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/scifiSim.dir/all
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles 0
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/rule
|
||||||
|
|
||||||
|
# Convenience name for target.
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/rule
|
||||||
|
|
||||||
|
.PHONY : scifiSim
|
||||||
|
|
||||||
|
# clean rule for target.
|
||||||
|
CMakeFiles/scifiSim.dir/clean:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/clean
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/clean
|
||||||
|
|
||||||
|
# clean rule for target.
|
||||||
|
clean: CMakeFiles/scifiSim.dir/clean
|
||||||
|
|
||||||
|
.PHONY : clean
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets to cleanup operation of make.
|
||||||
|
|
||||||
|
# Special rule to run CMake to check the build system integrity.
|
||||||
|
# No rule that depends on this can have commands that come from listfiles
|
||||||
|
# because they might be regenerated.
|
||||||
|
cmake_check_build_system:
|
||||||
|
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||||
|
.PHONY : cmake_check_build_system
|
||||||
|
|
2
SciFiSim/CMakeFiles/TargetDirectories.txt
Normal file
2
SciFiSim/CMakeFiles/TargetDirectories.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/DEPENDS.dir
|
||||||
|
/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir
|
1
SciFiSim/CMakeFiles/cmake.check_cache
Normal file
1
SciFiSim/CMakeFiles/cmake.check_cache
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
BIN
SciFiSim/CMakeFiles/feature_tests.bin
Executable file
BIN
SciFiSim/CMakeFiles/feature_tests.bin
Executable file
Binary file not shown.
34
SciFiSim/CMakeFiles/feature_tests.c
Normal file
34
SciFiSim/CMakeFiles/feature_tests.c
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
const char features[] = {""
|
||||||
|
"C_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"c_function_prototypes\n"
|
||||||
|
"C_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"c_restrict\n"
|
||||||
|
"C_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"c_static_assert\n"
|
||||||
|
"C_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"c_variadic_macros\n"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(int argc, char** argv) { (void)argv; return features[argc]; }
|
405
SciFiSim/CMakeFiles/feature_tests.cxx
Normal file
405
SciFiSim/CMakeFiles/feature_tests.cxx
Normal file
@ -0,0 +1,405 @@
|
|||||||
|
|
||||||
|
const char features[] = {""
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_aggregate_default_initializers\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_alias_templates\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_alignas\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_alignof\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_attributes\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_attribute_deprecated\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_auto_type\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_binary_literals\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_constexpr\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_contextual_conversions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_decltype\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_decltype_auto\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_decltype_incomplete_return_types\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_default_function_template_args\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_defaulted_functions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_defaulted_move_initializers\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_delegating_constructors\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_deleted_functions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_digit_separators\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_enum_forward_declarations\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_explicit_conversions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_extended_friend_declarations\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_extern_templates\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_final\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_func_identifier\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_generalized_initializers\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_generic_lambdas\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_inheriting_constructors\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_inline_namespaces\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_lambdas\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_lambda_init_captures\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_local_type_template_args\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_long_long_type\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_noexcept\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_nonstatic_member_init\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_nullptr\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_override\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_range_for\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_raw_string_literals\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_reference_qualified_functions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_relaxed_constexpr\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_return_type_deduction\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_right_angle_brackets\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_rvalue_references\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_sizeof_member\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_static_assert\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_strong_enums\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_template_template_parameters\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_thread_local\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_trailing_return_types\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_unicode_literals\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_uniform_initialization\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_unrestricted_unions\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_user_literals\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_variable_templates\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_variadic_macros\n"
|
||||||
|
"CXX_FEATURE:"
|
||||||
|
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
|
||||||
|
"1"
|
||||||
|
#else
|
||||||
|
"0"
|
||||||
|
#endif
|
||||||
|
"cxx_variadic_templates\n"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(int argc, char** argv) { (void)argv; return features[argc]; }
|
1
SciFiSim/CMakeFiles/progress.marks
Normal file
1
SciFiSim/CMakeFiles/progress.marks
Normal file
@ -0,0 +1 @@
|
|||||||
|
13
|
50
SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake
Normal file
50
SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# The set of languages for which implicit dependencies are needed:
|
||||||
|
set(CMAKE_DEPENDS_LANGUAGES
|
||||||
|
"CXX"
|
||||||
|
)
|
||||||
|
# The set of files for implicit dependencies of each language:
|
||||||
|
set(CMAKE_DEPENDS_CHECK_CXX
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/scifiSim.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/scifiSim.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/ActionInitialization.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/Analysis.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/Analysis.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/DetectorConstruction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/EventAction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/EventAction.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/Parameters.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/Parameters.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/PhysicsList.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/PrimaryGeneratorAction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/RunAction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/RunAction.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/SensitiveDetector.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/StackingAction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/StackingAction.cc.o"
|
||||||
|
"/work/SciFiMatG4_v2/SciFiSim/src/SteppingAction.cc" "/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o"
|
||||||
|
)
|
||||||
|
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||||
|
|
||||||
|
# Preprocessor definitions for this target.
|
||||||
|
set(CMAKE_TARGET_DEFINITIONS_CXX
|
||||||
|
"G4INTY_USE_QT"
|
||||||
|
"G4INTY_USE_XT"
|
||||||
|
"G4UI_USE"
|
||||||
|
"G4UI_USE_QT"
|
||||||
|
"G4UI_USE_TCSH"
|
||||||
|
"G4VERBOSE"
|
||||||
|
"G4VIS_USE"
|
||||||
|
"G4VIS_USE_OPENGL"
|
||||||
|
"G4VIS_USE_OPENGLQT"
|
||||||
|
"G4VIS_USE_OPENGLX"
|
||||||
|
"G4_STORE_TRAJECTORY"
|
||||||
|
)
|
||||||
|
|
||||||
|
# The include file search paths:
|
||||||
|
set(CMAKE_CXX_TARGET_INCLUDE_PATH
|
||||||
|
"/work/geant4.10.02.p01-install/include/Geant4"
|
||||||
|
"/usr/include/qt4"
|
||||||
|
"/usr/include/qt4/QtCore"
|
||||||
|
"/usr/include/qt4/QtGui"
|
||||||
|
"/usr/include/qt4/QtOpenGL"
|
||||||
|
"include"
|
||||||
|
"/usr/local/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Targets to which this target links.
|
||||||
|
set(CMAKE_TARGET_LINKED_INFO_FILES
|
||||||
|
)
|
452
SciFiSim/CMakeFiles/scifiSim.dir/build.make
Normal file
452
SciFiSim/CMakeFiles/scifiSim.dir/build.make
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.3
|
||||||
|
|
||||||
|
# Delete rule output on recipe failure.
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
|
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||||
|
SUFFIXES =
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
|
||||||
|
# Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E remove -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# Include any dependencies generated for this target.
|
||||||
|
include CMakeFiles/scifiSim.dir/depend.make
|
||||||
|
|
||||||
|
# Include the progress variables for this target.
|
||||||
|
include CMakeFiles/scifiSim.dir/progress.make
|
||||||
|
|
||||||
|
# Include the compile flags for this target's objects.
|
||||||
|
include CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.o: scifiSim.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/scifiSim.dir/scifiSim.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/scifiSim.cc.o -c /work/SciFiMatG4_v2/SciFiSim/scifiSim.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/scifiSim.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/scifiSim.cc > CMakeFiles/scifiSim.dir/scifiSim.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/scifiSim.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/scifiSim.cc -o CMakeFiles/scifiSim.dir/scifiSim.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/scifiSim.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.o.provides: CMakeFiles/scifiSim.dir/scifiSim.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/scifiSim.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/scifiSim.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/scifiSim.cc.o.provides.build: CMakeFiles/scifiSim.dir/scifiSim.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.o: src/RunAction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/scifiSim.dir/src/RunAction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/RunAction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/RunAction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/RunAction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/RunAction.cc > CMakeFiles/scifiSim.dir/src/RunAction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/RunAction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/RunAction.cc -o CMakeFiles/scifiSim.dir/src/RunAction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/RunAction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.o.provides: CMakeFiles/scifiSim.dir/src/RunAction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/RunAction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/RunAction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/RunAction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/RunAction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o: src/PhysicsList.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/PhysicsList.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/PhysicsList.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/PhysicsList.cc > CMakeFiles/scifiSim.dir/src/PhysicsList.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/PhysicsList.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/PhysicsList.cc -o CMakeFiles/scifiSim.dir/src/PhysicsList.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.provides: CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o: src/ActionInitialization.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/ActionInitialization.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/ActionInitialization.cc > CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/ActionInitialization.cc -o CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.provides: CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.o: src/Analysis.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/scifiSim.dir/src/Analysis.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/Analysis.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/Analysis.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/Analysis.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/Analysis.cc > CMakeFiles/scifiSim.dir/src/Analysis.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/Analysis.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/Analysis.cc -o CMakeFiles/scifiSim.dir/src/Analysis.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/Analysis.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.o.provides: CMakeFiles/scifiSim.dir/src/Analysis.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Analysis.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/Analysis.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Analysis.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/Analysis.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.o: src/Parameters.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/scifiSim.dir/src/Parameters.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/Parameters.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/Parameters.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/Parameters.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/Parameters.cc > CMakeFiles/scifiSim.dir/src/Parameters.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/Parameters.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/Parameters.cc -o CMakeFiles/scifiSim.dir/src/Parameters.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/Parameters.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.o.provides: CMakeFiles/scifiSim.dir/src/Parameters.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Parameters.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/Parameters.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/Parameters.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/Parameters.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.o: src/EventAction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/scifiSim.dir/src/EventAction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/EventAction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/EventAction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/EventAction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/EventAction.cc > CMakeFiles/scifiSim.dir/src/EventAction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/EventAction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/EventAction.cc -o CMakeFiles/scifiSim.dir/src/EventAction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/EventAction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.o.provides: CMakeFiles/scifiSim.dir/src/EventAction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/EventAction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/EventAction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/EventAction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/EventAction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o: src/SensitiveDetector.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/SensitiveDetector.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/SensitiveDetector.cc > CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/SensitiveDetector.cc -o CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.provides: CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o: src/PrimaryGeneratorAction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/PrimaryGeneratorAction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/PrimaryGeneratorAction.cc > CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/PrimaryGeneratorAction.cc -o CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.provides: CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o: src/SteppingAction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/SteppingAction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/SteppingAction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/SteppingAction.cc > CMakeFiles/scifiSim.dir/src/SteppingAction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/SteppingAction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/SteppingAction.cc -o CMakeFiles/scifiSim.dir/src/SteppingAction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.provides: CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.o: src/StackingAction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/scifiSim.dir/src/StackingAction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/StackingAction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/StackingAction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/StackingAction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/StackingAction.cc > CMakeFiles/scifiSim.dir/src/StackingAction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/StackingAction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/StackingAction.cc -o CMakeFiles/scifiSim.dir/src/StackingAction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.provides: CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/StackingAction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o: CMakeFiles/scifiSim.dir/flags.make
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o: src/DetectorConstruction.cc
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o -c /work/SciFiMatG4_v2/SciFiSim/src/DetectorConstruction.cc
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.i: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.i"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /work/SciFiMatG4_v2/SciFiSim/src/DetectorConstruction.cc > CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.i
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.s: cmake_force
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.s"
|
||||||
|
/usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /work/SciFiMatG4_v2/SciFiSim/src/DetectorConstruction.cc -o CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.s
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.requires:
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.provides: CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.requires
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.provides.build
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.provides
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.provides.build: CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o
|
||||||
|
|
||||||
|
|
||||||
|
# Object files for target scifiSim
|
||||||
|
scifiSim_OBJECTS = \
|
||||||
|
"CMakeFiles/scifiSim.dir/scifiSim.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/RunAction.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/Analysis.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/Parameters.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/EventAction.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/StackingAction.cc.o" \
|
||||||
|
"CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o"
|
||||||
|
|
||||||
|
# External object files for target scifiSim
|
||||||
|
scifiSim_EXTERNAL_OBJECTS =
|
||||||
|
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/scifiSim.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/RunAction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/Analysis.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/Parameters.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/EventAction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/StackingAction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/build.make
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4Tree.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4GMocren.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4visHepRep.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4RayTracer.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4VRML.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4OpenGL.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4gl2ps.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4interfaces.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4persistency.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4analysis.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4error_propagation.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4readout.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4physicslists.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4parmodels.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4FR.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4vis_management.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4modeling.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libGLU.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libGL.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libSM.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libICE.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libX11.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libXext.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libXmu.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libQtOpenGL.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libQtGui.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libQtCore.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4run.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4event.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4tracking.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4processes.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4zlib.so
|
||||||
|
scifiSim: /usr/lib/x86_64-linux-gnu/libexpat.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4digits_hits.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4track.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4particles.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4geometry.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4materials.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4graphics_reps.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4intercoms.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4global.so
|
||||||
|
scifiSim: /work/geant4.10.02.p01-install/lib/libG4clhep.so
|
||||||
|
scifiSim: CMakeFiles/scifiSim.dir/link.txt
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/work/SciFiMatG4_v2/SciFiSim/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Linking CXX executable scifiSim"
|
||||||
|
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/scifiSim.dir/link.txt --verbose=$(VERBOSE)
|
||||||
|
|
||||||
|
# Rule to build all files generated by this target.
|
||||||
|
CMakeFiles/scifiSim.dir/build: scifiSim
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/build
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/scifiSim.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/RunAction.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/Analysis.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/Parameters.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/EventAction.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/StackingAction.cc.o.requires
|
||||||
|
CMakeFiles/scifiSim.dir/requires: CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o.requires
|
||||||
|
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/requires
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/clean:
|
||||||
|
$(CMAKE_COMMAND) -P CMakeFiles/scifiSim.dir/cmake_clean.cmake
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/clean
|
||||||
|
|
||||||
|
CMakeFiles/scifiSim.dir/depend:
|
||||||
|
cd /work/SciFiMatG4_v2/SciFiSim && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake --color=$(COLOR)
|
||||||
|
.PHONY : CMakeFiles/scifiSim.dir/depend
|
||||||
|
|
21
SciFiSim/CMakeFiles/scifiSim.dir/cmake_clean.cmake
Normal file
21
SciFiSim/CMakeFiles/scifiSim.dir/cmake_clean.cmake
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
file(REMOVE_RECURSE
|
||||||
|
"CMakeFiles/scifiSim.dir/scifiSim.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/RunAction.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/Analysis.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/Parameters.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/EventAction.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/StackingAction.cc.o"
|
||||||
|
"CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o"
|
||||||
|
"scifiSim.pdb"
|
||||||
|
"scifiSim"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Per-language clean rules from dependency scanning.
|
||||||
|
foreach(lang CXX)
|
||||||
|
include(CMakeFiles/scifiSim.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||||
|
endforeach()
|
2
SciFiSim/CMakeFiles/scifiSim.dir/depend.make
Normal file
2
SciFiSim/CMakeFiles/scifiSim.dir/depend.make
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Empty dependencies file for scifiSim.
|
||||||
|
# This may be replaced when dependencies are built.
|
8
SciFiSim/CMakeFiles/scifiSim.dir/flags.make
Normal file
8
SciFiSim/CMakeFiles/scifiSim.dir/flags.make
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.3
|
||||||
|
|
||||||
|
# compile CXX with /usr/bin/c++
|
||||||
|
CXX_FLAGS = -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe -DG4USE_STD11 -std=c++11 -isystem /work/geant4.10.02.p01-install/include/Geant4 -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtCore -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtOpenGL -I/work/SciFiMatG4_v2/SciFiSim/include -I/usr/local/include -std=c++11
|
||||||
|
|
||||||
|
CXX_DEFINES = -DG4INTY_USE_QT -DG4INTY_USE_XT -DG4UI_USE -DG4UI_USE_QT -DG4UI_USE_TCSH -DG4VERBOSE -DG4VIS_USE -DG4VIS_USE_OPENGL -DG4VIS_USE_OPENGLQT -DG4VIS_USE_OPENGLX -DG4_STORE_TRAJECTORY
|
||||||
|
|
1
SciFiSim/CMakeFiles/scifiSim.dir/link.txt
Normal file
1
SciFiSim/CMakeFiles/scifiSim.dir/link.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
/usr/bin/c++ -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe -DG4USE_STD11 -std=c++11 CMakeFiles/scifiSim.dir/scifiSim.cc.o CMakeFiles/scifiSim.dir/src/RunAction.cc.o CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o CMakeFiles/scifiSim.dir/src/Analysis.cc.o CMakeFiles/scifiSim.dir/src/Parameters.cc.o CMakeFiles/scifiSim.dir/src/EventAction.cc.o CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o CMakeFiles/scifiSim.dir/src/StackingAction.cc.o CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o -o scifiSim -rdynamic /work/geant4.10.02.p01-install/lib/libG4Tree.so /work/geant4.10.02.p01-install/lib/libG4GMocren.so /work/geant4.10.02.p01-install/lib/libG4visHepRep.so /work/geant4.10.02.p01-install/lib/libG4RayTracer.so /work/geant4.10.02.p01-install/lib/libG4VRML.so /work/geant4.10.02.p01-install/lib/libG4OpenGL.so /work/geant4.10.02.p01-install/lib/libG4gl2ps.so /work/geant4.10.02.p01-install/lib/libG4interfaces.so /work/geant4.10.02.p01-install/lib/libG4persistency.so /work/geant4.10.02.p01-install/lib/libG4analysis.so /work/geant4.10.02.p01-install/lib/libG4error_propagation.so /work/geant4.10.02.p01-install/lib/libG4readout.so /work/geant4.10.02.p01-install/lib/libG4physicslists.so /work/geant4.10.02.p01-install/lib/libG4parmodels.so -L/usr/local/lib -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic /work/geant4.10.02.p01-install/lib/libG4FR.so /work/geant4.10.02.p01-install/lib/libG4vis_management.so /work/geant4.10.02.p01-install/lib/libG4modeling.so -lGLU -lGL -lSM -lICE -lX11 -lXext -lXmu -lQtOpenGL -lQtGui -lQtCore /work/geant4.10.02.p01-install/lib/libG4run.so /work/geant4.10.02.p01-install/lib/libG4event.so /work/geant4.10.02.p01-install/lib/libG4tracking.so /work/geant4.10.02.p01-install/lib/libG4processes.so /work/geant4.10.02.p01-install/lib/libG4zlib.so -lexpat /work/geant4.10.02.p01-install/lib/libG4digits_hits.so /work/geant4.10.02.p01-install/lib/libG4track.so /work/geant4.10.02.p01-install/lib/libG4particles.so /work/geant4.10.02.p01-install/lib/libG4geometry.so /work/geant4.10.02.p01-install/lib/libG4materials.so /work/geant4.10.02.p01-install/lib/libG4graphics_reps.so /work/geant4.10.02.p01-install/lib/libG4intercoms.so /work/geant4.10.02.p01-install/lib/libG4global.so /work/geant4.10.02.p01-install/lib/libG4clhep.so -Wl,-rpath,/work/geant4.10.02.p01-install/lib
|
14
SciFiSim/CMakeFiles/scifiSim.dir/progress.make
Normal file
14
SciFiSim/CMakeFiles/scifiSim.dir/progress.make
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
CMAKE_PROGRESS_1 = 1
|
||||||
|
CMAKE_PROGRESS_2 = 2
|
||||||
|
CMAKE_PROGRESS_3 = 3
|
||||||
|
CMAKE_PROGRESS_4 = 4
|
||||||
|
CMAKE_PROGRESS_5 = 5
|
||||||
|
CMAKE_PROGRESS_6 = 6
|
||||||
|
CMAKE_PROGRESS_7 = 7
|
||||||
|
CMAKE_PROGRESS_8 = 8
|
||||||
|
CMAKE_PROGRESS_9 = 9
|
||||||
|
CMAKE_PROGRESS_10 = 10
|
||||||
|
CMAKE_PROGRESS_11 = 11
|
||||||
|
CMAKE_PROGRESS_12 = 12
|
||||||
|
CMAKE_PROGRESS_13 = 13
|
||||||
|
|
81
SciFiSim/CMakeLists.txt
Normal file
81
SciFiSim/CMakeLists.txt
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
# $Id: CMakeLists.txt 86065 2014-11-07 08:51:15Z gcosmo $
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Setup the project
|
||||||
|
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
|
||||||
|
project(scifiSim)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Find Geant4 package, activating all available UI and Vis drivers by default
|
||||||
|
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
|
||||||
|
# to build a batch mode only executable
|
||||||
|
#
|
||||||
|
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
|
||||||
|
if(WITH_GEANT4_UIVIS)
|
||||||
|
find_package(Geant4 REQUIRED ui_all vis_all)
|
||||||
|
else()
|
||||||
|
find_package(Geant4 REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Setup Geant4 include directories and compile definitions
|
||||||
|
# Setup include directory for this project
|
||||||
|
#
|
||||||
|
include(${Geant4_USE_FILE})
|
||||||
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
#include("FindROOT.cmake")
|
||||||
|
set(CMAKE_MODULE_PATH$ENV{ROOTSYS}/etc/cmake)
|
||||||
|
find_package(ROOT REQUIRED)
|
||||||
|
list(APPEND libs $ENV{ROOTSYS}/lib)
|
||||||
|
include_directories($ENV{ROOTSYS}/include)
|
||||||
|
message(status $ENV{ROOTSYS}/include)
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Locate sources and headers for this project
|
||||||
|
# NB: headers are included so they will show up in IDEs
|
||||||
|
#
|
||||||
|
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
|
||||||
|
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Add the executable, and link it to the Geant4 libraries
|
||||||
|
#
|
||||||
|
add_executable(scifiSim scifiSim.cc ${sources} ${headers})
|
||||||
|
target_link_libraries(scifiSim ${Geant4_LIBRARIES} ${ROOT_LIBRARIES})
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Copy all scripts to the build directory, i.e. the directory in which we
|
||||||
|
# build B1. This is so that we can run the executable directly because it
|
||||||
|
# relies on these scripts being in the current working directory.
|
||||||
|
#
|
||||||
|
set(EXAMPLEB1_SCRIPTS
|
||||||
|
# exampleB1.in
|
||||||
|
# exampleB1.out
|
||||||
|
# init_vis.mac
|
||||||
|
# run1.mac
|
||||||
|
# run2.mac
|
||||||
|
# vis.mac
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach(_script ${EXAMPLEB1_SCRIPTS})
|
||||||
|
configure_file(
|
||||||
|
${PROJECT_SOURCE_DIR}/${_script}
|
||||||
|
${PROJECT_BINARY_DIR}/${_script}
|
||||||
|
COPYONLY
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# For internal Geant4 use - but has no effect if you build this
|
||||||
|
# example standalone
|
||||||
|
#
|
||||||
|
add_custom_target(DEPENDS)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
|
||||||
|
#
|
||||||
|
install(TARGETS DESTINATION bin)
|
||||||
|
|
||||||
|
|
160
SciFiSim/FindROOT.cmake
Normal file
160
SciFiSim/FindROOT.cmake
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
# - Finds ROOT instalation
|
||||||
|
# This module sets up ROOT information
|
||||||
|
# It defines:
|
||||||
|
# ROOT_FOUND If the ROOT is found
|
||||||
|
# ROOT_INCLUDE_DIR PATH to the include directory
|
||||||
|
# ROOT_LIBRARIES Most common libraries
|
||||||
|
# ROOT_LIBRARY_DIR PATH to the library directory
|
||||||
|
|
||||||
|
|
||||||
|
find_program(ROOT_CONFIG_EXECUTABLE root-config
|
||||||
|
PATHS $ENV{ROOTSYS}/bin)
|
||||||
|
|
||||||
|
if(NOT ROOT_CONFIG_EXECUTABLE)
|
||||||
|
set(ROOT_FOUND FALSE)
|
||||||
|
else()
|
||||||
|
set(ROOT_FOUND TRUE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${ROOT_CONFIG_EXECUTABLE} --prefix
|
||||||
|
OUTPUT_VARIABLE ROOTSYS
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${ROOT_CONFIG_EXECUTABLE} --version
|
||||||
|
OUTPUT_VARIABLE ROOT_VERSION
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${ROOT_CONFIG_EXECUTABLE} --incdir
|
||||||
|
OUTPUT_VARIABLE ROOT_INCLUDE_DIR
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${ROOT_CONFIG_EXECUTABLE} --libs
|
||||||
|
OUTPUT_VARIABLE ROOT_LIBRARIES
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
|
#set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lThread -lMinuit -lHtml -lVMC -lEG -lGeom -lTreePlayer -lXMLIO -lProof)
|
||||||
|
#set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lProofPlayer -lMLP -lSpectrum -lEve -lRGL -lGed -lXMLParser -lPhysics)
|
||||||
|
set(ROOT_LIBRARY_DIR ${ROOTSYS}/lib)
|
||||||
|
|
||||||
|
# Make variables changeble to the advanced user
|
||||||
|
mark_as_advanced(ROOT_CONFIG_EXECUTABLE)
|
||||||
|
|
||||||
|
if(NOT ROOT_FIND_QUIETLY)
|
||||||
|
message(STATUS "Found ROOT ${ROOT_VERSION} in ${ROOTSYS}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
include(CMakeParseArguments)
|
||||||
|
find_program(ROOTCINT_EXECUTABLE rootcint PATHS $ENV{ROOTSYS}/bin)
|
||||||
|
find_program(GENREFLEX_EXECUTABLE genreflex PATHS $ENV{ROOTSYS}/bin)
|
||||||
|
find_package(GCCXML)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# function ROOT_GENERATE_DICTIONARY( dictionary
|
||||||
|
# header1 header2 ...
|
||||||
|
# LINKDEF linkdef1 ...
|
||||||
|
# OPTIONS opt1...)
|
||||||
|
function(ROOT_GENERATE_DICTIONARY dictionary)
|
||||||
|
CMAKE_PARSE_ARGUMENTS(ARG "" "" "LINKDEF;OPTIONS" "" ${ARGN})
|
||||||
|
#---Get the list of header files-------------------------
|
||||||
|
set(headerfiles)
|
||||||
|
foreach(fp ${ARG_UNPARSED_ARGUMENTS})
|
||||||
|
file(GLOB files ${fp})
|
||||||
|
if(files)
|
||||||
|
foreach(f ${files})
|
||||||
|
if(NOT f MATCHES LinkDef)
|
||||||
|
set(headerfiles ${headerfiles} ${f})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
else()
|
||||||
|
set(headerfiles ${headerfiles} ${fp})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
#---Get the list of include directories------------------
|
||||||
|
get_directory_property(incdirs INCLUDE_DIRECTORIES)
|
||||||
|
set(includedirs)
|
||||||
|
foreach( d ${incdirs})
|
||||||
|
set(includedirs ${includedirs} -I${d})
|
||||||
|
endforeach()
|
||||||
|
#---Get LinkDef.h file------------------------------------
|
||||||
|
set(linkdefs)
|
||||||
|
foreach( f ${ARG_LINKDEF})
|
||||||
|
if( IS_ABSOLUTE ${f})
|
||||||
|
set(linkdefs ${linkdefs} ${f})
|
||||||
|
else()
|
||||||
|
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc/${f})
|
||||||
|
set(linkdefs ${linkdefs} ${CMAKE_CURRENT_SOURCE_DIR}/inc/${f})
|
||||||
|
else()
|
||||||
|
set(linkdefs ${linkdefs} ${CMAKE_CURRENT_SOURCE_DIR}/${f})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
#---call rootcint------------------------------------------
|
||||||
|
add_custom_command(OUTPUT ${dictionary}.cxx ${dictionary}.h
|
||||||
|
COMMAND ${ROOTCINT_EXECUTABLE} -cint -f ${dictionary}.cxx
|
||||||
|
-c ${ARG_OPTIONS} ${includedirs} ${headerfiles} ${linkdefs}
|
||||||
|
DEPENDS ${headerfiles} ${linkdefs})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# function REFLEX_GENERATE_DICTIONARY(dictionary
|
||||||
|
# header1 header2 ...
|
||||||
|
# SELECTION selectionfile ...
|
||||||
|
# OPTIONS opt1...)
|
||||||
|
function(REFLEX_GENERATE_DICTIONARY dictionary)
|
||||||
|
CMAKE_PARSE_ARGUMENTS(ARG "" "" "SELECTION;OPTIONS" "" ${ARGN})
|
||||||
|
#---Get the list of header files-------------------------
|
||||||
|
set(headerfiles)
|
||||||
|
foreach(fp ${ARG_UNPARSED_ARGUMENTS})
|
||||||
|
file(GLOB files ${fp})
|
||||||
|
if(files)
|
||||||
|
foreach(f ${files})
|
||||||
|
set(headerfiles ${headerfiles} ${f})
|
||||||
|
endforeach()
|
||||||
|
else()
|
||||||
|
set(headerfiles ${headerfiles} ${fp})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
#---Get Selection file------------------------------------
|
||||||
|
if(IS_ABSOLUTE ${ARG_SELECTION})
|
||||||
|
set(selectionfile ${ARG_SELECTION})
|
||||||
|
else()
|
||||||
|
set(selectionfile ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SELECTION})
|
||||||
|
endif()
|
||||||
|
#---Get the list of include directories------------------
|
||||||
|
get_directory_property(incdirs INCLUDE_DIRECTORIES)
|
||||||
|
set(includedirs)
|
||||||
|
foreach( d ${incdirs})
|
||||||
|
set(includedirs ${includedirs} -I${d})
|
||||||
|
endforeach()
|
||||||
|
#---Get preprocessor definitions--------------------------
|
||||||
|
get_directory_property(defs COMPILE_DEFINITIONS)
|
||||||
|
foreach( d ${defs})
|
||||||
|
set(definitions ${definitions} -D${d})
|
||||||
|
endforeach()
|
||||||
|
#---Nanes and others---------------------------------------
|
||||||
|
set(gensrcdict ${dictionary}.cpp)
|
||||||
|
if(MSVC)
|
||||||
|
set(gccxmlopts "--gccxmlopt=\"--gccxml-compiler cl\"")
|
||||||
|
else()
|
||||||
|
#set(gccxmlopts "--gccxmlopt=\'--gccxml-cxxflags -m64 \'")
|
||||||
|
set(gccxmlopts)
|
||||||
|
endif()
|
||||||
|
#set(rootmapname ${dictionary}Dict.rootmap)
|
||||||
|
#set(rootmapopts --rootmap=${rootmapname} --rootmap-lib=${libprefix}${dictionary}Dict)
|
||||||
|
#---Check GCCXML and get path-----------------------------
|
||||||
|
if(GCCXML)
|
||||||
|
get_filename_component(gccxmlpath ${GCCXML} PATH)
|
||||||
|
else()
|
||||||
|
message(WARNING "GCCXML not found. Install and setup your environment to find 'gccxml' executable")
|
||||||
|
endif()
|
||||||
|
#---Actual command----------------------------------------
|
||||||
|
add_custom_command(OUTPUT ${gensrcdict} ${rootmapname}
|
||||||
|
COMMAND ${GENREFLEX_EXECUTABLE} ${headerfiles} -o ${gensrcdict} ${gccxmlopts} ${rootmapopts} --select=${selectionfile}
|
||||||
|
--gccxmlpath=${gccxmlpath} ${ARG_OPTIONS} ${includedirs} ${definitions}
|
||||||
|
DEPENDS ${headerfiles} ${selectionfile})
|
||||||
|
endfunction()
|
38
SciFiSim/GNUmakefile
Normal file
38
SciFiSim/GNUmakefile
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# $Id: GNUmakefile 42 2010-01-15 15:48:21Z vnivanch $
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||||
|
# Modified by Mirco Deckenhoff 11/09/13
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
|
||||||
|
name := scifiSim
|
||||||
|
G4TARGET := $(name)
|
||||||
|
G4EXLIB := true
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: lib bin
|
||||||
|
ifndef G4SYSTEM
|
||||||
|
G4SYSTEM = Linux-g++
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef G4LIB
|
||||||
|
G4LIB = /work/geant4.10.1-install/lib64
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef G4INSTALL
|
||||||
|
G4INSTALL = /work/geant4.10.1-install/share/Geant4-10.1.0/geant4make
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(G4INSTALL)/config/architecture.gmk
|
||||||
|
|
||||||
|
#Add ROOT options for compilation
|
||||||
|
|
||||||
|
CPPFLAGS += `root-config --cflags --ldflags`
|
||||||
|
LDFLAGS += `root-config --libs --glibs`
|
||||||
|
|
||||||
|
CPPFLAGS += `geant4-config --cflags`
|
||||||
|
LDFLAGS += `geant4-config --libs`
|
||||||
|
|
||||||
|
CPPFLAGS += -std=c++11
|
||||||
|
|
||||||
|
include $(G4INSTALL)/config/binmake.gmk
|
||||||
|
|
38
SciFiSim/GNUmakefile~
Normal file
38
SciFiSim/GNUmakefile~
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# $Id: GNUmakefile 42 2010-01-15 15:48:21Z vnivanch $
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||||
|
# Modified by Mirco Deckenhoff 11/09/13
|
||||||
|
# --------------------------------------------------------------
|
||||||
|
|
||||||
|
name := scifiSim
|
||||||
|
G4TARGET := $(name)
|
||||||
|
G4EXLIB := true
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: lib bin
|
||||||
|
ifndef G4SYSTEM
|
||||||
|
G4SYSTEM = Linux-g++
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef G4LIB
|
||||||
|
G4LIB = /work/roessler/geant4.10.00.p02-install/lib64
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef G4INSTALL
|
||||||
|
G4INSTALL = /work/roessler/geant4.10.00.p02-install/share/Geant4-10.0.2/geant4make
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(G4INSTALL)/config/architecture.gmk
|
||||||
|
|
||||||
|
#Add ROOT options for compilation
|
||||||
|
|
||||||
|
CPPFLAGS += `root-config --cflags`
|
||||||
|
LDFLAGS += `root-config --libs`
|
||||||
|
|
||||||
|
CPPFLAGS += `geant4-config --cflags`
|
||||||
|
LDFLAGS += `geant4-config --libs`
|
||||||
|
|
||||||
|
CPPFLAGS += -std=c++11
|
||||||
|
|
||||||
|
include $(G4INSTALL)/config/binmake.gmk
|
||||||
|
|
558
SciFiSim/Makefile
Normal file
558
SciFiSim/Makefile
Normal file
@ -0,0 +1,558 @@
|
|||||||
|
# CMAKE generated file: DO NOT EDIT!
|
||||||
|
# Generated by "Unix Makefiles" Generator, CMake Version 3.3
|
||||||
|
|
||||||
|
# Default target executed when no arguments are given to make.
|
||||||
|
default_target: all
|
||||||
|
|
||||||
|
.PHONY : default_target
|
||||||
|
|
||||||
|
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||||
|
.NOTPARALLEL:
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets provided by cmake.
|
||||||
|
|
||||||
|
# Disable implicit rules so canonical targets will work.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
||||||
|
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||||
|
SUFFIXES =
|
||||||
|
|
||||||
|
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||||
|
|
||||||
|
|
||||||
|
# Suppress display of executed commands.
|
||||||
|
$(VERBOSE).SILENT:
|
||||||
|
|
||||||
|
|
||||||
|
# A target that is always out of date.
|
||||||
|
cmake_force:
|
||||||
|
|
||||||
|
.PHONY : cmake_force
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Set environment variables for the build.
|
||||||
|
|
||||||
|
# The shell in which to execute make rules.
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
# The CMake executable.
|
||||||
|
CMAKE_COMMAND = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake
|
||||||
|
|
||||||
|
# The command to remove a file.
|
||||||
|
RM = /home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -E remove -f
|
||||||
|
|
||||||
|
# Escaping for special characters.
|
||||||
|
EQUALS = =
|
||||||
|
|
||||||
|
# The top-level source directory on which CMake was run.
|
||||||
|
CMAKE_SOURCE_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# The top-level build directory on which CMake was run.
|
||||||
|
CMAKE_BINARY_DIR = /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Targets provided globally by CMake.
|
||||||
|
|
||||||
|
# Special rule for the target rebuild_cache
|
||||||
|
rebuild_cache:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||||
|
.PHONY : rebuild_cache
|
||||||
|
|
||||||
|
# Special rule for the target rebuild_cache
|
||||||
|
rebuild_cache/fast: rebuild_cache
|
||||||
|
|
||||||
|
.PHONY : rebuild_cache/fast
|
||||||
|
|
||||||
|
# Special rule for the target list_install_components
|
||||||
|
list_install_components:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Only default component available"
|
||||||
|
.PHONY : list_install_components
|
||||||
|
|
||||||
|
# Special rule for the target list_install_components
|
||||||
|
list_install_components/fast: list_install_components
|
||||||
|
|
||||||
|
.PHONY : list_install_components/fast
|
||||||
|
|
||||||
|
# Special rule for the target install
|
||||||
|
install: preinstall
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -P cmake_install.cmake
|
||||||
|
.PHONY : install
|
||||||
|
|
||||||
|
# Special rule for the target install
|
||||||
|
install/fast: preinstall/fast
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -P cmake_install.cmake
|
||||||
|
.PHONY : install/fast
|
||||||
|
|
||||||
|
# Special rule for the target install/local
|
||||||
|
install/local: preinstall
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||||
|
.PHONY : install/local
|
||||||
|
|
||||||
|
# Special rule for the target install/local
|
||||||
|
install/local/fast: install/local
|
||||||
|
|
||||||
|
.PHONY : install/local/fast
|
||||||
|
|
||||||
|
# Special rule for the target edit_cache
|
||||||
|
edit_cache:
|
||||||
|
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
|
||||||
|
/home/leverington/Programs/cmake-3.3.2-Linux-x86_64/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||||
|
.PHONY : edit_cache
|
||||||
|
|
||||||
|
# Special rule for the target edit_cache
|
||||||
|
edit_cache/fast: edit_cache
|
||||||
|
|
||||||
|
.PHONY : edit_cache/fast
|
||||||
|
|
||||||
|
# The main all target
|
||||||
|
all: cmake_check_build_system
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles /work/SciFiMatG4_v2/SciFiSim/CMakeFiles/progress.marks
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 all
|
||||||
|
$(CMAKE_COMMAND) -E cmake_progress_start /work/SciFiMatG4_v2/SciFiSim/CMakeFiles 0
|
||||||
|
.PHONY : all
|
||||||
|
|
||||||
|
# The main clean target
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 clean
|
||||||
|
.PHONY : clean
|
||||||
|
|
||||||
|
# The main clean target
|
||||||
|
clean/fast: clean
|
||||||
|
|
||||||
|
.PHONY : clean/fast
|
||||||
|
|
||||||
|
# Prepare targets for installation.
|
||||||
|
preinstall: all
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||||
|
.PHONY : preinstall
|
||||||
|
|
||||||
|
# Prepare targets for installation.
|
||||||
|
preinstall/fast:
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||||
|
.PHONY : preinstall/fast
|
||||||
|
|
||||||
|
# clear depends
|
||||||
|
depend:
|
||||||
|
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||||
|
.PHONY : depend
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for targets named DEPENDS
|
||||||
|
|
||||||
|
# Build rule for target.
|
||||||
|
DEPENDS: cmake_check_build_system
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 DEPENDS
|
||||||
|
.PHONY : DEPENDS
|
||||||
|
|
||||||
|
# fast build rule for target.
|
||||||
|
DEPENDS/fast:
|
||||||
|
$(MAKE) -f CMakeFiles/DEPENDS.dir/build.make CMakeFiles/DEPENDS.dir/build
|
||||||
|
.PHONY : DEPENDS/fast
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Target rules for targets named scifiSim
|
||||||
|
|
||||||
|
# Build rule for target.
|
||||||
|
scifiSim: cmake_check_build_system
|
||||||
|
$(MAKE) -f CMakeFiles/Makefile2 scifiSim
|
||||||
|
.PHONY : scifiSim
|
||||||
|
|
||||||
|
# fast build rule for target.
|
||||||
|
scifiSim/fast:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/build
|
||||||
|
.PHONY : scifiSim/fast
|
||||||
|
|
||||||
|
scifiSim.o: scifiSim.cc.o
|
||||||
|
|
||||||
|
.PHONY : scifiSim.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
scifiSim.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/scifiSim.cc.o
|
||||||
|
.PHONY : scifiSim.cc.o
|
||||||
|
|
||||||
|
scifiSim.i: scifiSim.cc.i
|
||||||
|
|
||||||
|
.PHONY : scifiSim.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
scifiSim.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/scifiSim.cc.i
|
||||||
|
.PHONY : scifiSim.cc.i
|
||||||
|
|
||||||
|
scifiSim.s: scifiSim.cc.s
|
||||||
|
|
||||||
|
.PHONY : scifiSim.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
scifiSim.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/scifiSim.cc.s
|
||||||
|
.PHONY : scifiSim.cc.s
|
||||||
|
|
||||||
|
src/ActionInitialization.o: src/ActionInitialization.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/ActionInitialization.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/ActionInitialization.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.o
|
||||||
|
.PHONY : src/ActionInitialization.cc.o
|
||||||
|
|
||||||
|
src/ActionInitialization.i: src/ActionInitialization.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/ActionInitialization.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/ActionInitialization.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.i
|
||||||
|
.PHONY : src/ActionInitialization.cc.i
|
||||||
|
|
||||||
|
src/ActionInitialization.s: src/ActionInitialization.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/ActionInitialization.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/ActionInitialization.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/ActionInitialization.cc.s
|
||||||
|
.PHONY : src/ActionInitialization.cc.s
|
||||||
|
|
||||||
|
src/Analysis.o: src/Analysis.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/Analysis.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/Analysis.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Analysis.cc.o
|
||||||
|
.PHONY : src/Analysis.cc.o
|
||||||
|
|
||||||
|
src/Analysis.i: src/Analysis.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/Analysis.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/Analysis.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Analysis.cc.i
|
||||||
|
.PHONY : src/Analysis.cc.i
|
||||||
|
|
||||||
|
src/Analysis.s: src/Analysis.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/Analysis.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/Analysis.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Analysis.cc.s
|
||||||
|
.PHONY : src/Analysis.cc.s
|
||||||
|
|
||||||
|
src/DetectorConstruction.o: src/DetectorConstruction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/DetectorConstruction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/DetectorConstruction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.o
|
||||||
|
.PHONY : src/DetectorConstruction.cc.o
|
||||||
|
|
||||||
|
src/DetectorConstruction.i: src/DetectorConstruction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/DetectorConstruction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/DetectorConstruction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.i
|
||||||
|
.PHONY : src/DetectorConstruction.cc.i
|
||||||
|
|
||||||
|
src/DetectorConstruction.s: src/DetectorConstruction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/DetectorConstruction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/DetectorConstruction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/DetectorConstruction.cc.s
|
||||||
|
.PHONY : src/DetectorConstruction.cc.s
|
||||||
|
|
||||||
|
src/EventAction.o: src/EventAction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/EventAction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/EventAction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/EventAction.cc.o
|
||||||
|
.PHONY : src/EventAction.cc.o
|
||||||
|
|
||||||
|
src/EventAction.i: src/EventAction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/EventAction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/EventAction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/EventAction.cc.i
|
||||||
|
.PHONY : src/EventAction.cc.i
|
||||||
|
|
||||||
|
src/EventAction.s: src/EventAction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/EventAction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/EventAction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/EventAction.cc.s
|
||||||
|
.PHONY : src/EventAction.cc.s
|
||||||
|
|
||||||
|
src/Parameters.o: src/Parameters.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/Parameters.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/Parameters.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Parameters.cc.o
|
||||||
|
.PHONY : src/Parameters.cc.o
|
||||||
|
|
||||||
|
src/Parameters.i: src/Parameters.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/Parameters.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/Parameters.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Parameters.cc.i
|
||||||
|
.PHONY : src/Parameters.cc.i
|
||||||
|
|
||||||
|
src/Parameters.s: src/Parameters.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/Parameters.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/Parameters.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/Parameters.cc.s
|
||||||
|
.PHONY : src/Parameters.cc.s
|
||||||
|
|
||||||
|
src/PhysicsList.o: src/PhysicsList.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/PhysicsList.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/PhysicsList.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PhysicsList.cc.o
|
||||||
|
.PHONY : src/PhysicsList.cc.o
|
||||||
|
|
||||||
|
src/PhysicsList.i: src/PhysicsList.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/PhysicsList.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/PhysicsList.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PhysicsList.cc.i
|
||||||
|
.PHONY : src/PhysicsList.cc.i
|
||||||
|
|
||||||
|
src/PhysicsList.s: src/PhysicsList.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/PhysicsList.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/PhysicsList.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PhysicsList.cc.s
|
||||||
|
.PHONY : src/PhysicsList.cc.s
|
||||||
|
|
||||||
|
src/PrimaryGeneratorAction.o: src/PrimaryGeneratorAction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/PrimaryGeneratorAction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.o
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.cc.o
|
||||||
|
|
||||||
|
src/PrimaryGeneratorAction.i: src/PrimaryGeneratorAction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/PrimaryGeneratorAction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.i
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.cc.i
|
||||||
|
|
||||||
|
src/PrimaryGeneratorAction.s: src/PrimaryGeneratorAction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/PrimaryGeneratorAction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/PrimaryGeneratorAction.cc.s
|
||||||
|
.PHONY : src/PrimaryGeneratorAction.cc.s
|
||||||
|
|
||||||
|
src/RunAction.o: src/RunAction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/RunAction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/RunAction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/RunAction.cc.o
|
||||||
|
.PHONY : src/RunAction.cc.o
|
||||||
|
|
||||||
|
src/RunAction.i: src/RunAction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/RunAction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/RunAction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/RunAction.cc.i
|
||||||
|
.PHONY : src/RunAction.cc.i
|
||||||
|
|
||||||
|
src/RunAction.s: src/RunAction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/RunAction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/RunAction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/RunAction.cc.s
|
||||||
|
.PHONY : src/RunAction.cc.s
|
||||||
|
|
||||||
|
src/SensitiveDetector.o: src/SensitiveDetector.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/SensitiveDetector.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/SensitiveDetector.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.o
|
||||||
|
.PHONY : src/SensitiveDetector.cc.o
|
||||||
|
|
||||||
|
src/SensitiveDetector.i: src/SensitiveDetector.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/SensitiveDetector.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/SensitiveDetector.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.i
|
||||||
|
.PHONY : src/SensitiveDetector.cc.i
|
||||||
|
|
||||||
|
src/SensitiveDetector.s: src/SensitiveDetector.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/SensitiveDetector.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/SensitiveDetector.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SensitiveDetector.cc.s
|
||||||
|
.PHONY : src/SensitiveDetector.cc.s
|
||||||
|
|
||||||
|
src/StackingAction.o: src/StackingAction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/StackingAction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/StackingAction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/StackingAction.cc.o
|
||||||
|
.PHONY : src/StackingAction.cc.o
|
||||||
|
|
||||||
|
src/StackingAction.i: src/StackingAction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/StackingAction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/StackingAction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/StackingAction.cc.i
|
||||||
|
.PHONY : src/StackingAction.cc.i
|
||||||
|
|
||||||
|
src/StackingAction.s: src/StackingAction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/StackingAction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/StackingAction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/StackingAction.cc.s
|
||||||
|
.PHONY : src/StackingAction.cc.s
|
||||||
|
|
||||||
|
src/SteppingAction.o: src/SteppingAction.cc.o
|
||||||
|
|
||||||
|
.PHONY : src/SteppingAction.o
|
||||||
|
|
||||||
|
# target to build an object file
|
||||||
|
src/SteppingAction.cc.o:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SteppingAction.cc.o
|
||||||
|
.PHONY : src/SteppingAction.cc.o
|
||||||
|
|
||||||
|
src/SteppingAction.i: src/SteppingAction.cc.i
|
||||||
|
|
||||||
|
.PHONY : src/SteppingAction.i
|
||||||
|
|
||||||
|
# target to preprocess a source file
|
||||||
|
src/SteppingAction.cc.i:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SteppingAction.cc.i
|
||||||
|
.PHONY : src/SteppingAction.cc.i
|
||||||
|
|
||||||
|
src/SteppingAction.s: src/SteppingAction.cc.s
|
||||||
|
|
||||||
|
.PHONY : src/SteppingAction.s
|
||||||
|
|
||||||
|
# target to generate assembly for a file
|
||||||
|
src/SteppingAction.cc.s:
|
||||||
|
$(MAKE) -f CMakeFiles/scifiSim.dir/build.make CMakeFiles/scifiSim.dir/src/SteppingAction.cc.s
|
||||||
|
.PHONY : src/SteppingAction.cc.s
|
||||||
|
|
||||||
|
# Help Target
|
||||||
|
help:
|
||||||
|
@echo "The following are some of the valid targets for this Makefile:"
|
||||||
|
@echo "... all (the default if no target is provided)"
|
||||||
|
@echo "... clean"
|
||||||
|
@echo "... depend"
|
||||||
|
@echo "... rebuild_cache"
|
||||||
|
@echo "... list_install_components"
|
||||||
|
@echo "... install"
|
||||||
|
@echo "... install/local"
|
||||||
|
@echo "... DEPENDS"
|
||||||
|
@echo "... edit_cache"
|
||||||
|
@echo "... scifiSim"
|
||||||
|
@echo "... scifiSim.o"
|
||||||
|
@echo "... scifiSim.i"
|
||||||
|
@echo "... scifiSim.s"
|
||||||
|
@echo "... src/ActionInitialization.o"
|
||||||
|
@echo "... src/ActionInitialization.i"
|
||||||
|
@echo "... src/ActionInitialization.s"
|
||||||
|
@echo "... src/Analysis.o"
|
||||||
|
@echo "... src/Analysis.i"
|
||||||
|
@echo "... src/Analysis.s"
|
||||||
|
@echo "... src/DetectorConstruction.o"
|
||||||
|
@echo "... src/DetectorConstruction.i"
|
||||||
|
@echo "... src/DetectorConstruction.s"
|
||||||
|
@echo "... src/EventAction.o"
|
||||||
|
@echo "... src/EventAction.i"
|
||||||
|
@echo "... src/EventAction.s"
|
||||||
|
@echo "... src/Parameters.o"
|
||||||
|
@echo "... src/Parameters.i"
|
||||||
|
@echo "... src/Parameters.s"
|
||||||
|
@echo "... src/PhysicsList.o"
|
||||||
|
@echo "... src/PhysicsList.i"
|
||||||
|
@echo "... src/PhysicsList.s"
|
||||||
|
@echo "... src/PrimaryGeneratorAction.o"
|
||||||
|
@echo "... src/PrimaryGeneratorAction.i"
|
||||||
|
@echo "... src/PrimaryGeneratorAction.s"
|
||||||
|
@echo "... src/RunAction.o"
|
||||||
|
@echo "... src/RunAction.i"
|
||||||
|
@echo "... src/RunAction.s"
|
||||||
|
@echo "... src/SensitiveDetector.o"
|
||||||
|
@echo "... src/SensitiveDetector.i"
|
||||||
|
@echo "... src/SensitiveDetector.s"
|
||||||
|
@echo "... src/StackingAction.o"
|
||||||
|
@echo "... src/StackingAction.i"
|
||||||
|
@echo "... src/StackingAction.s"
|
||||||
|
@echo "... src/SteppingAction.o"
|
||||||
|
@echo "... src/SteppingAction.i"
|
||||||
|
@echo "... src/SteppingAction.s"
|
||||||
|
.PHONY : help
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Special targets to cleanup operation of make.
|
||||||
|
|
||||||
|
# Special rule to run CMake to check the build system integrity.
|
||||||
|
# No rule that depends on this can have commands that come from listfiles
|
||||||
|
# because they might be regenerated.
|
||||||
|
cmake_check_build_system:
|
||||||
|
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||||
|
.PHONY : cmake_check_build_system
|
||||||
|
|
15
SciFiSim/ParameterExplanation.txt
Normal file
15
SciFiSim/ParameterExplanation.txt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
wrandomSeed; // random seed for random engine
|
||||||
|
randomNumber; // random number for detector strip positioning
|
||||||
|
threadNumb; // the thread number
|
||||||
|
fibreLength; // length of fibre in meter
|
||||||
|
semiAxisZ; // semi axis of fibre in z in millimeter
|
||||||
|
semiAxisY; // semi axis of fibre in y in millimeter
|
||||||
|
triggerX; // x-size of Trigger in mm
|
||||||
|
triggerY; // y-size of Trigger in mm
|
||||||
|
triggerZ; // z-size of Trigger in mm
|
||||||
|
triggerXPos; // x-position of Trigger in millimeter
|
||||||
|
triggerZPos; // z-position of Trigger in millimeter
|
||||||
|
probabilityOfPhotonLossAtSurface; // probability that a photon is killed when reaching fibre surface
|
||||||
|
placeMirror; // place a mirror at fibre end
|
||||||
|
mirrorReflectivity; // reflectivity of mirror at fibre end
|
||||||
|
detectorMaterial; // place a mirror at fibre end
|
44
SciFiSim/cmake_install.cmake
Normal file
44
SciFiSim/cmake_install.cmake
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# Install script for directory: /work/SciFiMatG4_v2/SciFiSim
|
||||||
|
|
||||||
|
# Set the install prefix
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||||
|
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
||||||
|
endif()
|
||||||
|
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
|
||||||
|
# Set the install configuration name.
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||||
|
if(BUILD_TYPE)
|
||||||
|
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||||
|
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_CONFIG_NAME "")
|
||||||
|
endif()
|
||||||
|
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Set the component getting installed.
|
||||||
|
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||||
|
if(COMPONENT)
|
||||||
|
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||||
|
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_COMPONENT)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Install shared libraries without execute permission?
|
||||||
|
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||||
|
set(CMAKE_INSTALL_SO_NO_EXE "1")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_INSTALL_COMPONENT)
|
||||||
|
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||||
|
else()
|
||||||
|
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||||
|
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||||
|
file(WRITE "/work/SciFiMatG4_v2/SciFiSim/${CMAKE_INSTALL_MANIFEST}"
|
||||||
|
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
25
SciFiSim/cmake_uninstall.cmake
Normal file
25
SciFiSim/cmake_uninstall.cmake
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# - uninstall target template
|
||||||
|
#
|
||||||
|
if (NOT EXISTS "/work/roessler/SciFiSim/install_manifest.txt")
|
||||||
|
message(FATAL_ERROR "Cannot find install manifest: \"/work/roessler/SciFiSim/install_manifest.txt\"")
|
||||||
|
endif(NOT EXISTS "/work/roessler/SciFiSim/install_manifest.txt")
|
||||||
|
|
||||||
|
file(READ "/work/roessler/SciFiSim/install_manifest.txt" files)
|
||||||
|
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
|
|
||||||
|
foreach (file ${files})
|
||||||
|
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||||
|
if (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
execute_process(
|
||||||
|
COMMAND /auto/lhcb/lib/contrib/CMake/2.8.9/Linux-i386/bin/cmake -E remove "$ENV{DESTDIR}${file}"
|
||||||
|
OUTPUT_VARIABLE rm_out
|
||||||
|
RESULT_VARIABLE rm_retval
|
||||||
|
)
|
||||||
|
if(NOT ${rm_retval} EQUAL 0)
|
||||||
|
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||||
|
endif (NOT ${rm_retval} EQUAL 0)
|
||||||
|
else (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||||
|
endif (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
endforeach(file)
|
||||||
|
|
25
SciFiSim/cmake_uninstall.cmake.in
Normal file
25
SciFiSim/cmake_uninstall.cmake.in
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# - uninstall target template
|
||||||
|
#
|
||||||
|
if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||||
|
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
|
||||||
|
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||||
|
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
|
|
||||||
|
foreach (file ${files})
|
||||||
|
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||||
|
if (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
execute_process(
|
||||||
|
COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
|
||||||
|
OUTPUT_VARIABLE rm_out
|
||||||
|
RESULT_VARIABLE rm_retval
|
||||||
|
)
|
||||||
|
if(NOT ${rm_retval} EQUAL 0)
|
||||||
|
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||||
|
endif (NOT ${rm_retval} EQUAL 0)
|
||||||
|
else (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||||
|
endif (EXISTS "$ENV{DESTDIR}${file}")
|
||||||
|
endforeach(file)
|
||||||
|
|
152
SciFiSim/geant4_validate_sources.cmake
Normal file
152
SciFiSim/geant4_validate_sources.cmake
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
# - Validate sources listed in sources.cmake with those on disk
|
||||||
|
# This file is configured by Geant4 to locate all sources.cmake files in
|
||||||
|
# the source tree used by the current build tree.
|
||||||
|
#
|
||||||
|
# We have to parse the sources.cmake files for the headers and sources
|
||||||
|
# because these files use the include_directories command, which is non
|
||||||
|
# scriptable. A simple REGEX is used to find all the .cc, .hh and .icc
|
||||||
|
# files listed in eah sources.cmake file. These lists are compared with
|
||||||
|
# a GLOB of those in the include and src directories of the module
|
||||||
|
# corresponding to the sources.cmake file.
|
||||||
|
#
|
||||||
|
# Warnings are printed when a mismatch is detected.
|
||||||
|
#
|
||||||
|
# Note that certain modules have configurable source lists and so we
|
||||||
|
# expect these to show a mismatch. We allow for this by providing the
|
||||||
|
# variable:
|
||||||
|
#
|
||||||
|
# GEANT4_FALSEPOSITIVE_SOURCES List of all source files (.cc, .hh, .icc)
|
||||||
|
# that may result in false positive mismatch.
|
||||||
|
#
|
||||||
|
# As this file is configured by Geant4's CMake system the generated
|
||||||
|
# file "geant4_validate_sources.cmake" SHOULD NOT BE EDITED
|
||||||
|
#
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# List all sources that we know cause false positives, e.g. obsolete,
|
||||||
|
# but still on disk
|
||||||
|
#
|
||||||
|
set(GEANT4_FALSEPOSITIVE_SOURCES
|
||||||
|
# - Xaw is deprecated...
|
||||||
|
G4UIXaw.hh
|
||||||
|
G4UIXaw.cc
|
||||||
|
# - OpenGL Wt not yet supported....
|
||||||
|
G4OpenGLImmediateWt.hh
|
||||||
|
G4OpenGLImmediateWtViewer.hh
|
||||||
|
G4OpenGLWtViewer.hh
|
||||||
|
G4OpenGLImmediateWt.cc
|
||||||
|
G4OpenGLImmediateWtViewer.cc
|
||||||
|
G4OpenGLWtViewer.cc
|
||||||
|
# - VRML has icc files in the src/ directory. These are only used
|
||||||
|
# internally but validate_sources assumes icc files will be in
|
||||||
|
# include/
|
||||||
|
# They are covered in sources.cmake though!
|
||||||
|
G4VRML1SceneHandlerFunc.icc
|
||||||
|
G4VRML2SceneHandlerFunc.icc
|
||||||
|
# - Documentation of processes/hadronic/models/cascade/cascade
|
||||||
|
# lists some sources in in comments. These do not correspond to
|
||||||
|
# real sources so we can safely filter them
|
||||||
|
# TODO : Improve regex to identify comments!!!!
|
||||||
|
T1xxChannel.cc
|
||||||
|
XXChannel.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# First locate our current source tree
|
||||||
|
#
|
||||||
|
set(GEANT4_SOURCE_TREE "/work/leverington/geant4.10.1-build/source")
|
||||||
|
message(STATUS "Scanning source tree ${GEANT4_SOURCE_TREE}")
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Now find all of the sources.cmake files...
|
||||||
|
#
|
||||||
|
file(GLOB_RECURSE GEANT4_SOURCESCMAKE_FILES
|
||||||
|
${GEANT4_SOURCE_TREE}/*/sources.cmake
|
||||||
|
)
|
||||||
|
list(LENGTH GEANT4_SOURCESCMAKE_FILES GEANT4_SOURCESCMAKE_COUNT)
|
||||||
|
message(STATUS "Located ${GEANT4_SOURCESCMAKE_COUNT} sources.cmake files")
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Parse each modules and process...
|
||||||
|
#
|
||||||
|
foreach(_sourcesfile ${GEANT4_SOURCESCMAKE_FILES})
|
||||||
|
# - Where are we?
|
||||||
|
get_filename_component(_sourcesfile_location ${_sourcesfile} PATH)
|
||||||
|
|
||||||
|
# - Find on disk files...
|
||||||
|
file(GLOB
|
||||||
|
_ondisk_hh
|
||||||
|
RELATIVE ${_sourcesfile_location}/include
|
||||||
|
${_sourcesfile_location}/include/*.hh
|
||||||
|
${_sourcesfile_location}/include/*.icc
|
||||||
|
)
|
||||||
|
file(GLOB
|
||||||
|
_ondisk_cc
|
||||||
|
RELATIVE ${_sourcesfile_location}/src
|
||||||
|
${_sourcesfile_location}/src/*.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
# - Find files listed in sources.cmake
|
||||||
|
# Ouch, we have to use a READ, because we can't load the module directly
|
||||||
|
# due to it using the non scriptable command include_directories.
|
||||||
|
file(READ ${_sourcesfile} _sourcesfile_contents)
|
||||||
|
string(REGEX MATCHALL "[A-Z0-9a-z_]+\\.cc" _sources_cc "${_sourcesfile_contents}")
|
||||||
|
string(REGEX MATCHALL "[A-Z0-9a-z_]+\\.(hh|icc)" _sources_hh "${_sourcesfile_contents}")
|
||||||
|
|
||||||
|
# - If we take the difference of each list (in both directions),
|
||||||
|
# then there should be no mismatch if resulting lists are empty.
|
||||||
|
# - On disk, but not in sources
|
||||||
|
set(_cmp_ondisk ${_ondisk_hh} ${_ondisk_cc})
|
||||||
|
set(_cmp_sources ${_sources_hh} ${_sources_cc})
|
||||||
|
list(REMOVE_ITEM _cmp_ondisk ${_cmp_sources})
|
||||||
|
set(_missing_in_sources ${_cmp_ondisk})
|
||||||
|
|
||||||
|
# - In sources, but not on disk
|
||||||
|
set(_cmp_ondisk ${_ondisk_hh} ${_ondisk_cc})
|
||||||
|
set(_cmp_sources ${_sources_hh} ${_sources_cc})
|
||||||
|
list(REMOVE_ITEM _cmp_sources ${_cmp_ondisk})
|
||||||
|
set(_missing_on_disk ${_cmp_sources})
|
||||||
|
|
||||||
|
# - Remove known false positives - can probably move this to above
|
||||||
|
# difference calculation.
|
||||||
|
if(_missing_in_sources)
|
||||||
|
list(REMOVE_ITEM _missing_in_sources ${GEANT4_FALSEPOSITIVE_SOURCES})
|
||||||
|
endif()
|
||||||
|
if(_missing_on_disk)
|
||||||
|
list(REMOVE_ITEM _missing_on_disk ${GEANT4_FALSEPOSITIVE_SOURCES})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# - Report if either list is not empty
|
||||||
|
if(_missing_in_sources OR _missing_on_disk)
|
||||||
|
message(" ")
|
||||||
|
message("Problems detected in ${_sourcesfile_location}:")
|
||||||
|
set(GEANT4_BUILD_ISINCONSISTENT TRUE)
|
||||||
|
|
||||||
|
# - New/Obsolete File Error
|
||||||
|
if(_missing_in_sources)
|
||||||
|
message("Sources on disk but not listed in sources.cmake:")
|
||||||
|
foreach(_m ${_missing_in_sources})
|
||||||
|
message(" ${_m}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# - Removed File Error - In general, should be picked up at standard
|
||||||
|
# CMake run time, but we double report here to be paranoid.
|
||||||
|
if(_missing_on_disk)
|
||||||
|
message("Sources listed in sources.cmake but not on disk:")
|
||||||
|
foreach(_m ${_missing_on_disk})
|
||||||
|
message(" ${_m}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Final fail?
|
||||||
|
#
|
||||||
|
if(GEANT4_BUILD_ISINCONSISTENT)
|
||||||
|
message(FATAL_ERROR "Inconsistent Geant4 build detected!")
|
||||||
|
else()
|
||||||
|
message(STATUS "Geant4 build appears consistent")
|
||||||
|
endif()
|
||||||
|
|
152
SciFiSim/geant4_validate_sources.cmake~
Normal file
152
SciFiSim/geant4_validate_sources.cmake~
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
# - Validate sources listed in sources.cmake with those on disk
|
||||||
|
# This file is configured by Geant4 to locate all sources.cmake files in
|
||||||
|
# the source tree used by the current build tree.
|
||||||
|
#
|
||||||
|
# We have to parse the sources.cmake files for the headers and sources
|
||||||
|
# because these files use the include_directories command, which is non
|
||||||
|
# scriptable. A simple REGEX is used to find all the .cc, .hh and .icc
|
||||||
|
# files listed in eah sources.cmake file. These lists are compared with
|
||||||
|
# a GLOB of those in the include and src directories of the module
|
||||||
|
# corresponding to the sources.cmake file.
|
||||||
|
#
|
||||||
|
# Warnings are printed when a mismatch is detected.
|
||||||
|
#
|
||||||
|
# Note that certain modules have configurable source lists and so we
|
||||||
|
# expect these to show a mismatch. We allow for this by providing the
|
||||||
|
# variable:
|
||||||
|
#
|
||||||
|
# GEANT4_FALSEPOSITIVE_SOURCES List of all source files (.cc, .hh, .icc)
|
||||||
|
# that may result in false positive mismatch.
|
||||||
|
#
|
||||||
|
# As this file is configured by Geant4's CMake system the generated
|
||||||
|
# file "geant4_validate_sources.cmake" SHOULD NOT BE EDITED
|
||||||
|
#
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# List all sources that we know cause false positives, e.g. obsolete,
|
||||||
|
# but still on disk
|
||||||
|
#
|
||||||
|
set(GEANT4_FALSEPOSITIVE_SOURCES
|
||||||
|
# - Xaw is deprecated...
|
||||||
|
G4UIXaw.hh
|
||||||
|
G4UIXaw.cc
|
||||||
|
# - OpenGL Wt not yet supported....
|
||||||
|
G4OpenGLImmediateWt.hh
|
||||||
|
G4OpenGLImmediateWtViewer.hh
|
||||||
|
G4OpenGLWtViewer.hh
|
||||||
|
G4OpenGLImmediateWt.cc
|
||||||
|
G4OpenGLImmediateWtViewer.cc
|
||||||
|
G4OpenGLWtViewer.cc
|
||||||
|
# - VRML has icc files in the src/ directory. These are only used
|
||||||
|
# internally but validate_sources assumes icc files will be in
|
||||||
|
# include/
|
||||||
|
# They are covered in sources.cmake though!
|
||||||
|
G4VRML1SceneHandlerFunc.icc
|
||||||
|
G4VRML2SceneHandlerFunc.icc
|
||||||
|
# - Documentation of processes/hadronic/models/cascade/cascade
|
||||||
|
# lists some sources in in comments. These do not correspond to
|
||||||
|
# real sources so we can safely filter them
|
||||||
|
# TODO : Improve regex to identify comments!!!!
|
||||||
|
T1xxChannel.cc
|
||||||
|
XXChannel.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# First locate our current source tree
|
||||||
|
#
|
||||||
|
set(GEANT4_SOURCE_TREE "/work/roessler/geant4.10.00.p02/source")
|
||||||
|
message(STATUS "Scanning source tree ${GEANT4_SOURCE_TREE}")
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Now find all of the sources.cmake files...
|
||||||
|
#
|
||||||
|
file(GLOB_RECURSE GEANT4_SOURCESCMAKE_FILES
|
||||||
|
${GEANT4_SOURCE_TREE}/*/sources.cmake
|
||||||
|
)
|
||||||
|
list(LENGTH GEANT4_SOURCESCMAKE_FILES GEANT4_SOURCESCMAKE_COUNT)
|
||||||
|
message(STATUS "Located ${GEANT4_SOURCESCMAKE_COUNT} sources.cmake files")
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Parse each modules and process...
|
||||||
|
#
|
||||||
|
foreach(_sourcesfile ${GEANT4_SOURCESCMAKE_FILES})
|
||||||
|
# - Where are we?
|
||||||
|
get_filename_component(_sourcesfile_location ${_sourcesfile} PATH)
|
||||||
|
|
||||||
|
# - Find on disk files...
|
||||||
|
file(GLOB
|
||||||
|
_ondisk_hh
|
||||||
|
RELATIVE ${_sourcesfile_location}/include
|
||||||
|
${_sourcesfile_location}/include/*.hh
|
||||||
|
${_sourcesfile_location}/include/*.icc
|
||||||
|
)
|
||||||
|
file(GLOB
|
||||||
|
_ondisk_cc
|
||||||
|
RELATIVE ${_sourcesfile_location}/src
|
||||||
|
${_sourcesfile_location}/src/*.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
# - Find files listed in sources.cmake
|
||||||
|
# Ouch, we have to use a READ, because we can't load the module directly
|
||||||
|
# due to it using the non scriptable command include_directories.
|
||||||
|
file(READ ${_sourcesfile} _sourcesfile_contents)
|
||||||
|
string(REGEX MATCHALL "[A-Z0-9a-z_]+\\.cc" _sources_cc "${_sourcesfile_contents}")
|
||||||
|
string(REGEX MATCHALL "[A-Z0-9a-z_]+\\.(hh|icc)" _sources_hh "${_sourcesfile_contents}")
|
||||||
|
|
||||||
|
# - If we take the difference of each list (in both directions),
|
||||||
|
# then there should be no mismatch if resulting lists are empty.
|
||||||
|
# - On disk, but not in sources
|
||||||
|
set(_cmp_ondisk ${_ondisk_hh} ${_ondisk_cc})
|
||||||
|
set(_cmp_sources ${_sources_hh} ${_sources_cc})
|
||||||
|
list(REMOVE_ITEM _cmp_ondisk ${_cmp_sources})
|
||||||
|
set(_missing_in_sources ${_cmp_ondisk})
|
||||||
|
|
||||||
|
# - In sources, but not on disk
|
||||||
|
set(_cmp_ondisk ${_ondisk_hh} ${_ondisk_cc})
|
||||||
|
set(_cmp_sources ${_sources_hh} ${_sources_cc})
|
||||||
|
list(REMOVE_ITEM _cmp_sources ${_cmp_ondisk})
|
||||||
|
set(_missing_on_disk ${_cmp_sources})
|
||||||
|
|
||||||
|
# - Remove known false positives - can probably move this to above
|
||||||
|
# difference calculation.
|
||||||
|
if(_missing_in_sources)
|
||||||
|
list(REMOVE_ITEM _missing_in_sources ${GEANT4_FALSEPOSITIVE_SOURCES})
|
||||||
|
endif()
|
||||||
|
if(_missing_on_disk)
|
||||||
|
list(REMOVE_ITEM _missing_on_disk ${GEANT4_FALSEPOSITIVE_SOURCES})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# - Report if either list is not empty
|
||||||
|
if(_missing_in_sources OR _missing_on_disk)
|
||||||
|
message(" ")
|
||||||
|
message("Problems detected in ${_sourcesfile_location}:")
|
||||||
|
set(GEANT4_BUILD_ISINCONSISTENT TRUE)
|
||||||
|
|
||||||
|
# - New/Obsolete File Error
|
||||||
|
if(_missing_in_sources)
|
||||||
|
message("Sources on disk but not listed in sources.cmake:")
|
||||||
|
foreach(_m ${_missing_in_sources})
|
||||||
|
message(" ${_m}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# - Removed File Error - In general, should be picked up at standard
|
||||||
|
# CMake run time, but we double report here to be paranoid.
|
||||||
|
if(_missing_on_disk)
|
||||||
|
message("Sources listed in sources.cmake but not on disk:")
|
||||||
|
foreach(_m ${_missing_on_disk})
|
||||||
|
message(" ${_m}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Final fail?
|
||||||
|
#
|
||||||
|
if(GEANT4_BUILD_ISINCONSISTENT)
|
||||||
|
message(FATAL_ERROR "Inconsistent Geant4 build detected!")
|
||||||
|
else()
|
||||||
|
message(STATUS "Geant4 build appears consistent")
|
||||||
|
endif()
|
||||||
|
|
62
SciFiSim/include/#SteppingAction.hh#
Executable file
62
SciFiSim/include/#SteppingAction.hh#
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef SteppingAction_H
|
||||||
|
#define SteppingAction_H 1
|
||||||
|
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4UserSteppingAction.hh"
|
||||||
|
#include "G4OpBoundaryProcess.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include "G4ParticleDefinition.hh"
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SteppingAction : public G4UserSteppingAction
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
SteppingAction(EventAction* eventAction, PrimaryGeneratorAction* pGA);
|
||||||
|
virtual ~SteppingAction();
|
||||||
|
virtual void UserSteppingAction( const G4Step* );
|
||||||
|
|
||||||
|
TFile * doseFile;
|
||||||
|
TH2F * dosehist50invfb;
|
||||||
|
Float_t dose;
|
||||||
|
|
||||||
|
private:
|
||||||
|
const char* primParticle;
|
||||||
|
G4ParticleDefinition* primDefinition;
|
||||||
|
PrimaryGeneratorAction* pGA;
|
||||||
|
EventAction* fEventAction;
|
||||||
|
G4int creatorProcess;
|
||||||
|
G4OpBoundaryProcess* opBoundaryProcess;
|
||||||
|
|
||||||
|
|
||||||
|
TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("dose.root");
|
||||||
|
|
||||||
|
|
||||||
|
TH2F * dosehist50invfb = (TH2F*)doseFile->Get("dosehist50invfb");
|
||||||
|
|
||||||
|
if (dosehist50invfb){
|
||||||
|
dosehist50invfb->SetDirectory(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
27
SciFiSim/include/ActionInitialization.hh
Normal file
27
SciFiSim/include/ActionInitialization.hh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* Author : Peter Stromberger
|
||||||
|
* Email : stromberger@physi.uni-heidelberg.de
|
||||||
|
* Date : 14.05.2014
|
||||||
|
*
|
||||||
|
* Description: Definition of the ActionInitialization class
|
||||||
|
*
|
||||||
|
* file: ActionInitialization.hh
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ActionInitialization_h
|
||||||
|
#define ActionInitialization_h 1
|
||||||
|
|
||||||
|
#include "G4VUserActionInitialization.hh"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionInitialization : public G4VUserActionInitialization{
|
||||||
|
|
||||||
|
public:
|
||||||
|
ActionInitialization();
|
||||||
|
virtual ~ActionInitialization();
|
||||||
|
|
||||||
|
virtual void BuildForMaster() const;
|
||||||
|
virtual void Build() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
203
SciFiSim/include/Analysis.hh
Normal file
203
SciFiSim/include/Analysis.hh
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ANALYSIS_HH_
|
||||||
|
#define ANALYSIS_HH_ 1
|
||||||
|
|
||||||
|
#include "G4Event.hh"
|
||||||
|
#include "G4Run.hh"
|
||||||
|
#include "G4ThreeVector.hh"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
|
class Analysis {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
static Analysis* GetInstance()
|
||||||
|
{
|
||||||
|
if ( Analysis::singleton == NULL ) Analysis::singleton = new Analysis();
|
||||||
|
|
||||||
|
return Analysis::singleton;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~Analysis() {};
|
||||||
|
void PrepareNewEvent(const G4Event* anEvent);
|
||||||
|
void PrepareNewRun(const G4Run* anRun);
|
||||||
|
void EndOfRun();
|
||||||
|
void Close();
|
||||||
|
|
||||||
|
|
||||||
|
// Adds a new row to the tree : detectedPhotons
|
||||||
|
void FillDetectedPhotons(Double_t runID, Double_t eventID, Double_t detNumb, Double_t xPixel,
|
||||||
|
Double_t yPixel, Double_t energy,
|
||||||
|
Double_t time, Double_t length, Double_t absTime,
|
||||||
|
Double_t x, Double_t y, Double_t z,
|
||||||
|
Double_t px, Double_t py, Double_t pz,
|
||||||
|
Double_t vertexX, Double_t vertexY, Double_t vertexZ,
|
||||||
|
Double_t vertexPx, Double_t vertexPy, Double_t vertexPz,
|
||||||
|
Int_t trackId,
|
||||||
|
Int_t creatorProcess, Int_t parentId);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : trigger
|
||||||
|
void FillTrigger(Double_t runID, Double_t eventID, Double_t edep,
|
||||||
|
Double_t xPos, Double_t yPos, Double_t zPos);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : initialParticle
|
||||||
|
void FillInitialParticle(Double_t runID, Double_t eventID,
|
||||||
|
Double_t energy, Double_t xMom, Double_t yMom, Double_t zMom);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : primaryParticleTrack
|
||||||
|
void FillPrimaryParticleTrack(Double_t runID, Double_t eventID, Double_t xPos, Double_t yPos, Double_t zPos);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : energyTrack
|
||||||
|
void FillEnergyTrack(Double_t runID, Double_t eventID, Double_t energy, Double_t trackL);
|
||||||
|
|
||||||
|
void SetGpsPosition(G4ThreeVector position);
|
||||||
|
void SetGpsDirection(G4ThreeVector directtion);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
char* FileName();
|
||||||
|
|
||||||
|
|
||||||
|
void IncreaseReflectionsAtMirror(Int_t trackId);
|
||||||
|
void IncreaseReflectionsAtFibreSurface(Int_t trackId);
|
||||||
|
void IncreaseTotalReflectionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseTotalReflectionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
void IncreaseFresnelReflectionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseFresnelReflectionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseRefractionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseRefractionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseRayleighScatterings(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseReflectionRefractionAndScatteringVectors(Int_t trackId);
|
||||||
|
|
||||||
|
|
||||||
|
void IncreaseLengthInCore(Int_t trackId, Float_t lengthValue);
|
||||||
|
void IncreaseLengthInInnerCladding(Int_t trackId, Float_t lengthValue);
|
||||||
|
void IncreaseLengthInOuterCladding(Int_t trackId, Float_t lengthValue);
|
||||||
|
|
||||||
|
void IncreaseLengthVectors(Int_t trackId);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Analysis();
|
||||||
|
static Analysis* singleton;
|
||||||
|
|
||||||
|
TFile* dataFile;
|
||||||
|
|
||||||
|
char fileName[40];
|
||||||
|
|
||||||
|
TH1F * h_energy;
|
||||||
|
TH1F * h_trackL;
|
||||||
|
|
||||||
|
TTree* detectedPhotons;
|
||||||
|
TTree* trigger;
|
||||||
|
TTree* primaryParticleTrack;
|
||||||
|
TTree* initialParticle;
|
||||||
|
TTree* energyTrack;
|
||||||
|
|
||||||
|
|
||||||
|
Float_t runIDBuffer;
|
||||||
|
Float_t eventIDBuffer;
|
||||||
|
Float_t detNumbBuffer;
|
||||||
|
Float_t xPixelBuffer;
|
||||||
|
Float_t yPixelBuffer;
|
||||||
|
Float_t xPosBuffer;
|
||||||
|
Float_t yPosBuffer;
|
||||||
|
Float_t zPosBuffer;
|
||||||
|
Float_t energyBuffer;
|
||||||
|
Float_t wavelengthBuffer;
|
||||||
|
Float_t timeBuffer;
|
||||||
|
Float_t lengthBuffer;
|
||||||
|
Float_t xMomBuffer;
|
||||||
|
Float_t yMomBuffer;
|
||||||
|
Float_t zMomBuffer;
|
||||||
|
Float_t edepBuffer;
|
||||||
|
|
||||||
|
Float_t gpsPositionX;
|
||||||
|
Float_t gpsPositionY;
|
||||||
|
Float_t gpsPositionZ;
|
||||||
|
|
||||||
|
Float_t gpsDirectionX;
|
||||||
|
Float_t gpsDirectionY;
|
||||||
|
Float_t gpsDirectionZ;
|
||||||
|
|
||||||
|
Int_t runIdBuffer;
|
||||||
|
Int_t eventIdBuffer;
|
||||||
|
Int_t trackIdBuffer;
|
||||||
|
|
||||||
|
Int_t creatorProcessBuffer;
|
||||||
|
Int_t parentIdBuffer;
|
||||||
|
|
||||||
|
Float_t xBuffer;
|
||||||
|
Float_t yBuffer;
|
||||||
|
Float_t zBuffer;
|
||||||
|
Float_t absTimeBuffer;
|
||||||
|
|
||||||
|
Int_t materialBuffer;
|
||||||
|
Int_t sectionNoBuffer;
|
||||||
|
Float_t doseBuffer;
|
||||||
|
Float_t attLengthBuffer;
|
||||||
|
|
||||||
|
Float_t pxBuffer;
|
||||||
|
Float_t pyBuffer;
|
||||||
|
Float_t pzBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
Float_t vertexXBuffer;
|
||||||
|
Float_t vertexYBuffer;
|
||||||
|
Float_t vertexZBuffer;
|
||||||
|
|
||||||
|
Float_t vertexPxBuffer;
|
||||||
|
Float_t vertexPyBuffer;
|
||||||
|
Float_t vertexPzBuffer;
|
||||||
|
|
||||||
|
std::vector<Int_t> reflectionsAtMirror;
|
||||||
|
std::vector<Int_t> reflectionsAtFibreSurface;
|
||||||
|
std::vector<Int_t> reflectionsTotalAtCladCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsTotalAtCoreCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsFresnelAtCladCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsFresnelAtCoreCladInterface;
|
||||||
|
|
||||||
|
std::vector<Int_t> refractionsAtCladCladInterface;
|
||||||
|
std::vector<Int_t> refractionsAtCoreCladInterface;
|
||||||
|
|
||||||
|
std::vector<Int_t> rayleighScatterings;
|
||||||
|
|
||||||
|
Int_t reflMirrBuffer;
|
||||||
|
Int_t reflSurfBuffer;
|
||||||
|
Int_t reflTotalCladCladBuffer;
|
||||||
|
Int_t reflTotalCoreCladBuffer;
|
||||||
|
Int_t reflFresnelCladCladBuffer;
|
||||||
|
Int_t reflFresnelCoreCladBuffer;
|
||||||
|
|
||||||
|
Int_t refracCladCladBuffer;
|
||||||
|
Int_t refracCoreCladBuffer;
|
||||||
|
|
||||||
|
Int_t rayleighScatteringsBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<Float_t> lengthInCore;
|
||||||
|
std::vector<Float_t> lengthInInnerCladding;
|
||||||
|
std::vector<Float_t> lengthInOuterCladding;
|
||||||
|
|
||||||
|
Float_t lengthInCoreBuffer;
|
||||||
|
Float_t lengthInInnerCladdingBuffer;
|
||||||
|
Float_t lengthInOuterCladdingBuffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
199
SciFiSim/include/Analysis.hh~
Normal file
199
SciFiSim/include/Analysis.hh~
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ANALYSIS_HH_
|
||||||
|
#define ANALYSIS_HH_ 1
|
||||||
|
|
||||||
|
#include "G4Event.hh"
|
||||||
|
#include "G4Run.hh"
|
||||||
|
#include "G4ThreeVector.hh"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
|
class Analysis {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
static Analysis* GetInstance()
|
||||||
|
{
|
||||||
|
if ( Analysis::singleton == NULL ) Analysis::singleton = new Analysis();
|
||||||
|
|
||||||
|
return Analysis::singleton;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~Analysis() {};
|
||||||
|
void PrepareNewEvent(const G4Event* anEvent);
|
||||||
|
void PrepareNewRun(const G4Run* anRun);
|
||||||
|
void EndOfRun();
|
||||||
|
void Close();
|
||||||
|
|
||||||
|
|
||||||
|
// Adds a new row to the tree : detectedPhotons
|
||||||
|
void FillDetectedPhotons(Double_t runID, Double_t eventID, Double_t detNumb, Double_t xPixel,
|
||||||
|
Double_t yPixel, Double_t energy,
|
||||||
|
Double_t time, Double_t length, Double_t absTime,
|
||||||
|
Double_t x, Double_t y, Double_t z,
|
||||||
|
Double_t px, Double_t py, Double_t pz,
|
||||||
|
Double_t vertexX, Double_t vertexY, Double_t vertexZ,
|
||||||
|
Double_t vertexPx, Double_t vertexPy, Double_t vertexPz,
|
||||||
|
Int_t trackId,
|
||||||
|
Int_t creatorProcess, Int_t parentId);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : trigger
|
||||||
|
void FillTrigger(Double_t runID, Double_t eventID, Double_t edep,
|
||||||
|
Double_t xPos, Double_t yPos, Double_t zPos);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : initialParticle
|
||||||
|
void FillInitialParticle(Double_t runID, Double_t eventID,
|
||||||
|
Double_t energy, Double_t xMom, Double_t yMom, Double_t zMom);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : primaryParticleTrack
|
||||||
|
void FillPrimaryParticleTrack(Double_t runID, Double_t eventID, Double_t xPos, Double_t yPos, Double_t zPos);
|
||||||
|
|
||||||
|
// Adds a new to to the tree : energyTrack
|
||||||
|
void FillEnergyTrack(Double_t runID, Double_t eventID, Double_t energy, Double_t trackL);
|
||||||
|
|
||||||
|
void SetGpsPosition(G4ThreeVector position);
|
||||||
|
void SetGpsDirection(G4ThreeVector directtion);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
char* FileName();
|
||||||
|
|
||||||
|
|
||||||
|
void IncreaseReflectionsAtMirror(Int_t trackId);
|
||||||
|
void IncreaseReflectionsAtFibreSurface(Int_t trackId);
|
||||||
|
void IncreaseTotalReflectionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseTotalReflectionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
void IncreaseFresnelReflectionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseFresnelReflectionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseRefractionsAtCladCladInterface(Int_t trackId);
|
||||||
|
void IncreaseRefractionsAtCoreCladInterface(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseRayleighScatterings(Int_t trackId);
|
||||||
|
|
||||||
|
void IncreaseReflectionRefractionAndScatteringVectors(Int_t trackId);
|
||||||
|
|
||||||
|
|
||||||
|
void IncreaseLengthInCore(Int_t trackId, Float_t lengthValue);
|
||||||
|
void IncreaseLengthInInnerCladding(Int_t trackId, Float_t lengthValue);
|
||||||
|
void IncreaseLengthInOuterCladding(Int_t trackId, Float_t lengthValue);
|
||||||
|
|
||||||
|
void IncreaseLengthVectors(Int_t trackId);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Analysis();
|
||||||
|
static Analysis* singleton;
|
||||||
|
|
||||||
|
TFile* dataFile;
|
||||||
|
char fileName[40];
|
||||||
|
|
||||||
|
TTree* detectedPhotons;
|
||||||
|
TTree* trigger;
|
||||||
|
TTree* primaryParticleTrack;
|
||||||
|
TTree* initialParticle;
|
||||||
|
TTree* energyTrack;
|
||||||
|
|
||||||
|
|
||||||
|
Float_t runIDBuffer;
|
||||||
|
Float_t eventIDBuffer;
|
||||||
|
Float_t detNumbBuffer;
|
||||||
|
Float_t xPixelBuffer;
|
||||||
|
Float_t yPixelBuffer;
|
||||||
|
Float_t xPosBuffer;
|
||||||
|
Float_t yPosBuffer;
|
||||||
|
Float_t zPosBuffer;
|
||||||
|
Float_t energyBuffer;
|
||||||
|
Float_t wavelengthBuffer;
|
||||||
|
Float_t timeBuffer;
|
||||||
|
Float_t lengthBuffer;
|
||||||
|
Float_t xMomBuffer;
|
||||||
|
Float_t yMomBuffer;
|
||||||
|
Float_t zMomBuffer;
|
||||||
|
Float_t edepBuffer;
|
||||||
|
|
||||||
|
Float_t gpsPositionX;
|
||||||
|
Float_t gpsPositionY;
|
||||||
|
Float_t gpsPositionZ;
|
||||||
|
|
||||||
|
Float_t gpsDirectionX;
|
||||||
|
Float_t gpsDirectionY;
|
||||||
|
Float_t gpsDirectionZ;
|
||||||
|
|
||||||
|
Int_t runIdBuffer;
|
||||||
|
Int_t eventIdBuffer;
|
||||||
|
Int_t trackIdBuffer;
|
||||||
|
|
||||||
|
Int_t creatorProcessBuffer;
|
||||||
|
Int_t parentIdBuffer;
|
||||||
|
|
||||||
|
Float_t xBuffer;
|
||||||
|
Float_t yBuffer;
|
||||||
|
Float_t zBuffer;
|
||||||
|
Float_t absTimeBuffer;
|
||||||
|
|
||||||
|
Int_t materialBuffer;
|
||||||
|
Int_t sectionNoBuffer;
|
||||||
|
Float_t doseBuffer;
|
||||||
|
Float_t attLengthBuffer;
|
||||||
|
|
||||||
|
Float_t pxBuffer;
|
||||||
|
Float_t pyBuffer;
|
||||||
|
Float_t pzBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
Float_t vertexXBuffer;
|
||||||
|
Float_t vertexYBuffer;
|
||||||
|
Float_t vertexZBuffer;
|
||||||
|
|
||||||
|
Float_t vertexPxBuffer;
|
||||||
|
Float_t vertexPyBuffer;
|
||||||
|
Float_t vertexPzBuffer;
|
||||||
|
|
||||||
|
std::vector<Int_t> reflectionsAtMirror;
|
||||||
|
std::vector<Int_t> reflectionsAtFibreSurface;
|
||||||
|
std::vector<Int_t> reflectionsTotalAtCladCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsTotalAtCoreCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsFresnelAtCladCladInterface;
|
||||||
|
std::vector<Int_t> reflectionsFresnelAtCoreCladInterface;
|
||||||
|
|
||||||
|
std::vector<Int_t> refractionsAtCladCladInterface;
|
||||||
|
std::vector<Int_t> refractionsAtCoreCladInterface;
|
||||||
|
|
||||||
|
std::vector<Int_t> rayleighScatterings;
|
||||||
|
|
||||||
|
Int_t reflMirrBuffer;
|
||||||
|
Int_t reflSurfBuffer;
|
||||||
|
Int_t reflTotalCladCladBuffer;
|
||||||
|
Int_t reflTotalCoreCladBuffer;
|
||||||
|
Int_t reflFresnelCladCladBuffer;
|
||||||
|
Int_t reflFresnelCoreCladBuffer;
|
||||||
|
|
||||||
|
Int_t refracCladCladBuffer;
|
||||||
|
Int_t refracCoreCladBuffer;
|
||||||
|
|
||||||
|
Int_t rayleighScatteringsBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<Float_t> lengthInCore;
|
||||||
|
std::vector<Float_t> lengthInInnerCladding;
|
||||||
|
std::vector<Float_t> lengthInOuterCladding;
|
||||||
|
|
||||||
|
Float_t lengthInCoreBuffer;
|
||||||
|
Float_t lengthInInnerCladdingBuffer;
|
||||||
|
Float_t lengthInOuterCladdingBuffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
57
SciFiSim/include/Convert.hh
Normal file
57
SciFiSim/include/Convert.hh
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
|
||||||
|
#ifndef CONVERT_h
|
||||||
|
#define CONVERT_h 1
|
||||||
|
|
||||||
|
#include "G4UIcommand.hh"
|
||||||
|
#include "globals.hh"
|
||||||
|
|
||||||
|
class C
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
static G4String c(G4int);
|
||||||
|
static G4String c1(G4int);
|
||||||
|
static G4String c2(G4int);
|
||||||
|
static G4String c3(G4int);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
inline G4String C::c(G4int i)
|
||||||
|
{
|
||||||
|
return G4UIcommand::ConvertToString(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline G4String C::c1(G4int i)
|
||||||
|
{
|
||||||
|
G4String r;
|
||||||
|
if(i <10)
|
||||||
|
r = "00";
|
||||||
|
if(i > 9 && i < 100)
|
||||||
|
r = "0";
|
||||||
|
if(i > 99)
|
||||||
|
r = "";
|
||||||
|
|
||||||
|
return r+G4UIcommand::ConvertToString(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline G4String C::c2(G4int i)
|
||||||
|
{
|
||||||
|
return G4UIcommand::ConvertToString(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline G4String C::c3(G4int i)
|
||||||
|
{
|
||||||
|
G4String r;
|
||||||
|
|
||||||
|
if( i< 10)
|
||||||
|
r = "0";
|
||||||
|
if(i > 9)
|
||||||
|
r = "";
|
||||||
|
|
||||||
|
return r+G4UIcommand::ConvertToString(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
100
SciFiSim/include/DetectorConstruction.hh
Normal file
100
SciFiSim/include/DetectorConstruction.hh
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef DetectorConstruction_h
|
||||||
|
#define DetectorConstruction_h 1
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4VUserDetectorConstruction.hh"
|
||||||
|
#include "G4ThreeVector.hh"
|
||||||
|
|
||||||
|
|
||||||
|
class G4Element;
|
||||||
|
class G4Material;
|
||||||
|
class G4LogicalVolume;
|
||||||
|
class G4MaterialPropertiesTable;
|
||||||
|
|
||||||
|
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DetectorConstruction();
|
||||||
|
~DetectorConstruction();
|
||||||
|
|
||||||
|
G4VPhysicalVolume* Construct();
|
||||||
|
|
||||||
|
G4LogicalVolume* GetScoringVolume() const { return fScoringVolume; }
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
G4LogicalVolume* fScoringVolume;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
/* ++ methods ++ */
|
||||||
|
void DefineMaterials();
|
||||||
|
void DefineMaterialProperties();
|
||||||
|
void ConstructFiber(); // Constructs and places the fibres
|
||||||
|
void ConstructFiberSheet(); // Constructs and places the fibres
|
||||||
|
G4ThreeVector objectPos(G4int, G4int); // for positioning of multiple fibres
|
||||||
|
G4ThreeVector objectPos(G4int, G4int, G4double);// for positioning of detector
|
||||||
|
G4ThreeVector objectPos(G4int, G4int, G4int, G4int, G4double); // pixel positioning
|
||||||
|
|
||||||
|
/* ++ attributes ++ */
|
||||||
|
|
||||||
|
// geometry
|
||||||
|
G4double detector_x, detector_y, detector_z;
|
||||||
|
G4double scint_x, scint_y, scint_z;
|
||||||
|
G4int Nj, Nk;
|
||||||
|
G4double xDist, yDist;
|
||||||
|
G4double stripWidth, stripHeight;
|
||||||
|
G4double airGap, pixelDimX, pixelDimY, epoxy_strip_width;
|
||||||
|
int Nx, Ny;
|
||||||
|
G4bool fMirrorToggle;
|
||||||
|
G4double fMirrorPolish, fMirrorReflectivity, fMirrorZ, fMirrorRmax;
|
||||||
|
G4double fWorldSizeX, fWorldSizeY,fWorldSizeZ;
|
||||||
|
// materials
|
||||||
|
G4Material *Vacuum;
|
||||||
|
G4Material *Air;
|
||||||
|
G4Material *Pstyrene;
|
||||||
|
G4Material *PMMA;
|
||||||
|
G4Material *PMMA2;
|
||||||
|
G4Material *Epoxy;
|
||||||
|
G4Material *Glue;
|
||||||
|
G4Material *TiO2;
|
||||||
|
G4Material *Abs_plastic;
|
||||||
|
G4Material *alu;
|
||||||
|
|
||||||
|
// material properties
|
||||||
|
G4MaterialPropertiesTable* MPTPStyrene;
|
||||||
|
|
||||||
|
//world
|
||||||
|
G4LogicalVolume * fLogicWorld;
|
||||||
|
G4VPhysicalVolume * fPhysiWorld;
|
||||||
|
|
||||||
|
// detector assembly
|
||||||
|
G4LogicalVolume * airbox_log;
|
||||||
|
G4VPhysicalVolume * airbox_phys;
|
||||||
|
|
||||||
|
// detector assembly
|
||||||
|
G4LogicalVolume * detector_log;
|
||||||
|
G4VPhysicalVolume * detector_phys;
|
||||||
|
|
||||||
|
|
||||||
|
// epoxybox
|
||||||
|
G4LogicalVolume* epoxyLog;
|
||||||
|
G4VPhysicalVolume* epoxyPhy;
|
||||||
|
|
||||||
|
// abs plastic
|
||||||
|
G4LogicalVolume* absLog;
|
||||||
|
G4VPhysicalVolume* absPhy;
|
||||||
|
|
||||||
|
|
||||||
|
// materials and properties for fibre sections
|
||||||
|
G4Material* scintCoreMaterial;
|
||||||
|
G4Material* innerCladdingMaterial;
|
||||||
|
G4Material* outerCladdingMaterial;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
96
SciFiSim/include/DetectorConstruction.hh~
Normal file
96
SciFiSim/include/DetectorConstruction.hh~
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef DetectorConstruction_h
|
||||||
|
#define DetectorConstruction_h 1
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4VUserDetectorConstruction.hh"
|
||||||
|
#include "G4ThreeVector.hh"
|
||||||
|
|
||||||
|
|
||||||
|
class G4Element;
|
||||||
|
class G4Material;
|
||||||
|
class G4LogicalVolume;
|
||||||
|
class G4MaterialPropertiesTable;
|
||||||
|
|
||||||
|
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DetectorConstruction();
|
||||||
|
~DetectorConstruction();
|
||||||
|
|
||||||
|
G4VPhysicalVolume* Construct();
|
||||||
|
|
||||||
|
G4LogicalVolume* GetScoringVolume() const { return fScoringVolume; }
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
G4LogicalVolume* fScoringVolume;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
/* ++ methods ++ */
|
||||||
|
void DefineMaterials();
|
||||||
|
void DefineMaterialProperties();
|
||||||
|
void ConstructFiber(); // Constructs and places the fibres
|
||||||
|
void ConstructFiberSheet(); // Constructs and places the fibres
|
||||||
|
G4ThreeVector objectPos(G4int, G4int); // for positioning of multiple fibres
|
||||||
|
G4ThreeVector objectPos(G4int, G4int, G4double);// for positioning of detector
|
||||||
|
G4ThreeVector objectPos(G4int, G4int, G4int, G4int, G4double); // pixel positioning
|
||||||
|
|
||||||
|
/* ++ attributes ++ */
|
||||||
|
|
||||||
|
// geometry
|
||||||
|
G4double detector_x, detector_y, detector_z;
|
||||||
|
G4double scint_x, scint_y, scint_z;
|
||||||
|
G4int Nj, Nk;
|
||||||
|
G4double xDist, yDist;
|
||||||
|
G4double stripWidth, stripHeight;
|
||||||
|
G4double airGap, pixelDimX, pixelDimY, epoxy_strip_width;
|
||||||
|
int Nx, Ny;
|
||||||
|
G4bool fMirrorToggle;
|
||||||
|
G4double fMirrorPolish, fMirrorReflectivity, fMirrorZ, fMirrorRmax;
|
||||||
|
G4double fWorldSizeX, fWorldSizeY,fWorldSizeZ;
|
||||||
|
// materials
|
||||||
|
G4Material *Vacuum;
|
||||||
|
G4Material *Air;
|
||||||
|
G4Material *Pstyrene;
|
||||||
|
G4Material *PMMA;
|
||||||
|
G4Material *PMMA2;
|
||||||
|
G4Material *Epoxy;
|
||||||
|
G4Material *Glue;
|
||||||
|
G4Material *TiO2;
|
||||||
|
G4Material *Abs_plastic;
|
||||||
|
G4Material *alu;
|
||||||
|
|
||||||
|
// material properties
|
||||||
|
G4MaterialPropertiesTable* MPTPStyrene;
|
||||||
|
|
||||||
|
//world
|
||||||
|
G4LogicalVolume * fLogicWorld;
|
||||||
|
G4VPhysicalVolume * fPhysiWorld;
|
||||||
|
|
||||||
|
// detector assembly
|
||||||
|
G4LogicalVolume * detector_log;
|
||||||
|
G4VPhysicalVolume * detector_phys;
|
||||||
|
|
||||||
|
|
||||||
|
// epoxybox
|
||||||
|
G4LogicalVolume* epoxyLog;
|
||||||
|
G4VPhysicalVolume* epoxyPhy;
|
||||||
|
|
||||||
|
// abs plastic
|
||||||
|
G4LogicalVolume* absLog;
|
||||||
|
G4VPhysicalVolume* absPhy;
|
||||||
|
|
||||||
|
|
||||||
|
// materials and properties for fibre sections
|
||||||
|
G4Material* scintCoreMaterial;
|
||||||
|
G4Material* innerCladdingMaterial;
|
||||||
|
G4Material* outerCladdingMaterial;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
40
SciFiSim/include/EventAction.hh
Executable file
40
SciFiSim/include/EventAction.hh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef EventAction_h
|
||||||
|
#define EventAction_h 1
|
||||||
|
|
||||||
|
#include "G4UserEventAction.hh"
|
||||||
|
#include "globals.hh"
|
||||||
|
|
||||||
|
class G4Event;
|
||||||
|
|
||||||
|
|
||||||
|
class EventAction : public G4UserEventAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
EventAction();
|
||||||
|
~EventAction();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void BeginOfEventAction(const G4Event* anEvent);
|
||||||
|
void EndOfEventAction(const G4Event*);
|
||||||
|
|
||||||
|
void AddCore(G4double de, G4double dl);
|
||||||
|
|
||||||
|
private:
|
||||||
|
G4double fEnergy;
|
||||||
|
G4double fTrackL;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
inline void EventAction::AddCore(G4double de, G4double dl)
|
||||||
|
{
|
||||||
|
fEnergy += de;
|
||||||
|
fTrackL += dl;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
170
SciFiSim/include/Parameters.hh
Executable file
170
SciFiSim/include/Parameters.hh
Executable file
@ -0,0 +1,170 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef PARAMETERS_HH_
|
||||||
|
#define PARAMETERS_HH_ 1
|
||||||
|
|
||||||
|
#include "G4Event.hh"
|
||||||
|
#include "G4Run.hh"
|
||||||
|
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Parameters
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
static Parameters* GetInstance()
|
||||||
|
{
|
||||||
|
if ( Parameters::singleton == NULL ) Parameters::singleton = new Parameters();
|
||||||
|
return Parameters::singleton;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~Parameters();
|
||||||
|
|
||||||
|
|
||||||
|
char* ParameterOutputFileName();
|
||||||
|
|
||||||
|
G4double RandomSeed();
|
||||||
|
G4double RandomNumber();
|
||||||
|
G4double FibreLength();
|
||||||
|
G4double SemiAxisZ();
|
||||||
|
G4double SemiAxisY();
|
||||||
|
G4double ProbabilityOfPhotonLossAtSurface();
|
||||||
|
G4bool PlaceMirror();
|
||||||
|
G4double MirrorReflectivity();
|
||||||
|
G4bool DetectorMaterial();
|
||||||
|
|
||||||
|
G4double TriggerX();
|
||||||
|
G4double TriggerY();
|
||||||
|
G4double TriggerZ();
|
||||||
|
|
||||||
|
G4double TriggerXPos();
|
||||||
|
G4double TriggerZPos();
|
||||||
|
|
||||||
|
char* EmissionSpectrumFileName();
|
||||||
|
G4int NumberOfEnergies();
|
||||||
|
G4double* Energy;
|
||||||
|
G4double* Intensity;
|
||||||
|
G4int NumberOfInterpolatedPoints();
|
||||||
|
|
||||||
|
char* WlsAbsSpectrumFileName();
|
||||||
|
G4int NumberOfWlsAbsEnergies();
|
||||||
|
G4double* WlsAbsEnergy;
|
||||||
|
G4double* WlsAbsLength;
|
||||||
|
|
||||||
|
char* WlsEmissionSpectrumFileName();
|
||||||
|
G4int NumberOfWlsEmissionEnergies();
|
||||||
|
G4double* WlsEmissionEnergy;
|
||||||
|
G4double* WlsEmissionIntensity;
|
||||||
|
|
||||||
|
G4double ScintillationYield();
|
||||||
|
G4double ResolutionScale();
|
||||||
|
G4double DecayTimeFast();
|
||||||
|
G4double DecayTimeSlow();
|
||||||
|
G4double YieldRatio();
|
||||||
|
G4double BirksConstant();
|
||||||
|
|
||||||
|
G4double WlsDecayTime();
|
||||||
|
|
||||||
|
char* RefractiveIndexVacuum();
|
||||||
|
char* RefractiveIndexCore();
|
||||||
|
char* RefractiveIndexClad1();
|
||||||
|
char* RefractiveIndexClad2();
|
||||||
|
|
||||||
|
char* AbsorptionCore();
|
||||||
|
char* AbsorptionClad1();
|
||||||
|
char* AbsorptionClad2();
|
||||||
|
|
||||||
|
char* AbsorptionFromIrradiationCore();
|
||||||
|
char* AbsorptionFromIrradiationClad1();
|
||||||
|
char* AbsorptionFromIrradiationClad2();
|
||||||
|
|
||||||
|
char* SectionsFileName();
|
||||||
|
G4int NumberOfSections();
|
||||||
|
|
||||||
|
char* RayleighCore();
|
||||||
|
char* RayleighClad1();
|
||||||
|
char* RayleighClad2();
|
||||||
|
|
||||||
|
// Conversion factor between wavelength and energy
|
||||||
|
const static G4double hcPERe;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Parameters();
|
||||||
|
static Parameters* singleton;
|
||||||
|
|
||||||
|
|
||||||
|
char parameterOutputFileName[50];
|
||||||
|
|
||||||
|
G4double randomSeed;
|
||||||
|
G4double randomNumber;
|
||||||
|
G4double fibreLength;
|
||||||
|
G4double semiAxisZ;
|
||||||
|
G4double semiAxisY;
|
||||||
|
G4double probabilityOfPhotonLossAtSurface;
|
||||||
|
G4bool placeMirror;
|
||||||
|
G4double mirrorReflectivity;
|
||||||
|
G4bool detectorMaterial;
|
||||||
|
|
||||||
|
G4double triggerX;
|
||||||
|
G4double triggerY;
|
||||||
|
G4double triggerZ;
|
||||||
|
|
||||||
|
G4double triggerXPos;
|
||||||
|
G4double triggerZPos;
|
||||||
|
|
||||||
|
char emissionSpectrumFileName[256];
|
||||||
|
G4int numberOfEnergies;
|
||||||
|
// G4double[] energy;
|
||||||
|
// G4double[] intensity;
|
||||||
|
G4int numberOfInterpolatedPoints;
|
||||||
|
|
||||||
|
char wlsAbsSpectrumFileName[256];
|
||||||
|
G4int numberOfWlsAbsEnergies;
|
||||||
|
|
||||||
|
char wlsEmissionSpectrumFileName[256];
|
||||||
|
G4int numberOfWlsEmissionEnergies;
|
||||||
|
|
||||||
|
G4double scintillationYield;
|
||||||
|
G4double resolutionScale;
|
||||||
|
G4double decayTimeFast;
|
||||||
|
G4double decayTimeSlow;
|
||||||
|
G4double yieldRatio;
|
||||||
|
G4double birksConstant;
|
||||||
|
|
||||||
|
G4double wlsDecayTime;
|
||||||
|
|
||||||
|
char refractiveIndexVacuum[256];
|
||||||
|
char refractiveIndexCore[256];
|
||||||
|
char refractiveIndexClad1[256];
|
||||||
|
char refractiveIndexClad2[256];
|
||||||
|
|
||||||
|
char absorptionCore[512];
|
||||||
|
char absorptionClad1[512];
|
||||||
|
char absorptionClad2[512];
|
||||||
|
|
||||||
|
char absorptionFromIrradiationCore[512];
|
||||||
|
char absorptionFromIrradiationClad1[512];
|
||||||
|
char absorptionFromIrradiationClad2[512];
|
||||||
|
|
||||||
|
char sectionsFileName[80];
|
||||||
|
G4int numberOfSections;
|
||||||
|
|
||||||
|
char rayleighCore[512];
|
||||||
|
char rayleighClad1[512];
|
||||||
|
char rayleighClad2[512];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
24
SciFiSim/include/PhysicsList.hh
Executable file
24
SciFiSim/include/PhysicsList.hh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
// $Id: PhysicsList.hh,v 1.7 2006/06/29 17:53:59 gunter Exp $
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef PhysicsList_h
|
||||||
|
#define PhysicsList_h 1
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4VModularPhysicsList.hh"
|
||||||
|
|
||||||
|
|
||||||
|
class PhysicsList : public G4VModularPhysicsList
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PhysicsList();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void ConstructParticle();
|
||||||
|
void SetCuts();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* PhysicsList_h */
|
||||||
|
|
29
SciFiSim/include/PrimaryGeneratorAction.hh
Executable file
29
SciFiSim/include/PrimaryGeneratorAction.hh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef PrimaryGeneratorAction_h
|
||||||
|
#define PrimaryGeneratorAction_h 1
|
||||||
|
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||||
|
#include "G4GeneralParticleSource.hh"
|
||||||
|
|
||||||
|
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PrimaryGeneratorAction();
|
||||||
|
~PrimaryGeneratorAction();
|
||||||
|
|
||||||
|
void GeneratePrimaries(G4Event*);
|
||||||
|
void SetOptPhotonPolar();
|
||||||
|
void SetOptPhotonPolar(G4double);
|
||||||
|
G4GeneralParticleSource* GetGun();
|
||||||
|
|
||||||
|
private:
|
||||||
|
G4GeneralParticleSource * InitializeGPS();
|
||||||
|
G4GeneralParticleSource * gun;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
30
SciFiSim/include/RunAction.hh
Executable file
30
SciFiSim/include/RunAction.hh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
//
|
||||||
|
// $Id: RunAction.hh,v 1.9 2006/06/29 17:54:10 gunter Exp $
|
||||||
|
// GEANT4 tag $Name: geant4-09-01-ref-02 $
|
||||||
|
|
||||||
|
#ifndef RunAction_h
|
||||||
|
#define RunAction_h 1
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4UserRunAction.hh"
|
||||||
|
|
||||||
|
|
||||||
|
class G4Timer;
|
||||||
|
class G4Run;
|
||||||
|
|
||||||
|
class RunAction : public G4UserRunAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
RunAction();
|
||||||
|
~RunAction();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void BeginOfRunAction(const G4Run* aRun);
|
||||||
|
void EndOfRunAction(const G4Run* aRun);
|
||||||
|
|
||||||
|
private:
|
||||||
|
G4Timer* timer;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*RunAction_h*/
|
23
SciFiSim/include/SensitiveDetector.hh
Executable file
23
SciFiSim/include/SensitiveDetector.hh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef SensitiveDetector_h
|
||||||
|
#define SensitiveDetector_h 1
|
||||||
|
|
||||||
|
#include "G4VSensitiveDetector.hh"
|
||||||
|
|
||||||
|
class G4Step;
|
||||||
|
class G4TouchableHistory;
|
||||||
|
class G4HCofThisEvent;
|
||||||
|
|
||||||
|
class SensitiveDetector : public G4VSensitiveDetector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SensitiveDetector(G4String SDname);
|
||||||
|
~SensitiveDetector();
|
||||||
|
|
||||||
|
G4bool ProcessHits(G4Step * step, G4TouchableHistory * ROhist);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
35
SciFiSim/include/StackingAction.hh
Executable file
35
SciFiSim/include/StackingAction.hh
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef StackingAction_H
|
||||||
|
#define StackingAction_H 1
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4UserStackingAction.hh"
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
class G4VProcess;
|
||||||
|
|
||||||
|
class StackingAction : public G4UserStackingAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StackingAction();
|
||||||
|
~StackingAction();
|
||||||
|
|
||||||
|
public:
|
||||||
|
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
|
||||||
|
void NewStage();
|
||||||
|
void PrepareNewEvent();
|
||||||
|
|
||||||
|
private:
|
||||||
|
G4int gammaCounter;
|
||||||
|
typedef std::map<const G4VProcess*,G4int> ProcMap;
|
||||||
|
ProcMap procs;
|
||||||
|
void AddProcess(const G4VProcess*);
|
||||||
|
void Reset();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
51
SciFiSim/include/SteppingAction.hh
Executable file
51
SciFiSim/include/SteppingAction.hh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef SteppingAction_H
|
||||||
|
#define SteppingAction_H 1
|
||||||
|
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4UserSteppingAction.hh"
|
||||||
|
#include "G4OpBoundaryProcess.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include "G4ParticleDefinition.hh"
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SteppingAction : public G4UserSteppingAction
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
SteppingAction(EventAction* eventAction, PrimaryGeneratorAction* pGA);
|
||||||
|
virtual ~SteppingAction();
|
||||||
|
virtual void UserSteppingAction( const G4Step* );
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
const char* primParticle;
|
||||||
|
G4ParticleDefinition* primDefinition;
|
||||||
|
PrimaryGeneratorAction* pGA;
|
||||||
|
EventAction* fEventAction;
|
||||||
|
G4int creatorProcess;
|
||||||
|
G4OpBoundaryProcess* opBoundaryProcess;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
58
SciFiSim/include/SteppingAction.hh~
Executable file
58
SciFiSim/include/SteppingAction.hh~
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
|
||||||
|
#ifndef SteppingAction_H
|
||||||
|
#define SteppingAction_H 1
|
||||||
|
|
||||||
|
|
||||||
|
#include "globals.hh"
|
||||||
|
#include "G4UserSteppingAction.hh"
|
||||||
|
#include "G4OpBoundaryProcess.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include "G4ParticleDefinition.hh"
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TH2F.h"
|
||||||
|
#include "TH1F.h"
|
||||||
|
#include "TTree.h"
|
||||||
|
#include "TObject.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class SteppingAction : public G4UserSteppingAction
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
SteppingAction(EventAction* eventAction, PrimaryGeneratorAction* pGA);
|
||||||
|
virtual ~SteppingAction();
|
||||||
|
virtual void UserSteppingAction( const G4Step* );
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
const char* primParticle;
|
||||||
|
G4ParticleDefinition* primDefinition;
|
||||||
|
PrimaryGeneratorAction* pGA;
|
||||||
|
EventAction* fEventAction;
|
||||||
|
G4int creatorProcess;
|
||||||
|
G4OpBoundaryProcess* opBoundaryProcess;
|
||||||
|
|
||||||
|
|
||||||
|
TFile * doseFile = new TFile("dose.root","READ");
|
||||||
|
Float_t dose;
|
||||||
|
|
||||||
|
TH2F * dosehist50invfb = (TH2F*)doseFile->Get("dosehist50invfb");
|
||||||
|
if (dosehist50invfb){
|
||||||
|
dosehist50invfb->SetDirectory(0);
|
||||||
|
}
|
||||||
|
// dosehist50invfb->SetDirectory(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
2
SciFiSim/old.md5
Normal file
2
SciFiSim/old.md5
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
431f92380100d8b8021a25843f9994c1 /home/lhcb/roessler/geant4_workdir/bin/Linux-g++/scifiSim
|
||||||
|
6d78d4562e149bd687f3ecb9cec78279 /home/lhcb/roessler/geant4_workdir/bin/Linux-g++/scifiSim
|
61
SciFiSim/outFile_32584.root.parameters
Normal file
61
SciFiSim/outFile_32584.root.parameters
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
Length of fibre: 0 m
|
||||||
|
Semi axis of fibre in z: 0 mm
|
||||||
|
Semi axis of fibre in y: 0 mm
|
||||||
|
Probability to lose photons at fibre surface: 0
|
||||||
|
Mirror placement at fibre end: 0
|
||||||
|
Reflectivity of mirror at fibre end: 0
|
||||||
|
Detector material vacuum/polystyrene (0/1): 0
|
||||||
|
Used emission spectrum: ""
|
||||||
|
Number of energies: 0
|
||||||
|
Energy / eV Intensity
|
||||||
|
Number of interpolated points per emission spectrum interval: 0
|
||||||
|
Used wls absorption spectrum: ""
|
||||||
|
Number of wls absorption energies: 0
|
||||||
|
Energy / eV WLS Absorption Length / m
|
||||||
|
Used wls emission spectrum: ""
|
||||||
|
Number of wls emission energies: 0
|
||||||
|
Energy / eV WLS emission intensity
|
||||||
|
Formulae to calculate refractive indices in
|
||||||
|
- vacuum: ""
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm.
|
||||||
|
Scintillation yield: 0/keV
|
||||||
|
Resolution scale: 0
|
||||||
|
Fast decay time: 0 ns
|
||||||
|
Slow decay time: 0 ns
|
||||||
|
Yield ratio: 0
|
||||||
|
Birks constant: 0 mm/MeV
|
||||||
|
WLS decay time: 0 ns
|
||||||
|
Formulae to calculate absorption [1/m] in
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm.
|
||||||
|
Formulae to calculate absorption due to irradiation [1/m] in
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm and y in kGy.
|
||||||
|
Used sections file: ""
|
||||||
|
Number of sections: 0
|
||||||
|
Formulae to calculate Rayleigh scattering [1/m] in
|
||||||
|
- core:
|
||||||
|
- inner cladding:
|
||||||
|
- outer cladding:
|
||||||
|
|
||||||
|
Scintillation emission spectrum:
|
||||||
|
Energy/eV Wavelength/nm Intensity
|
||||||
|
|
||||||
|
WLS emission spectrum:
|
||||||
|
Energy/eV Wavelength/nm Intensity
|
||||||
|
|
||||||
|
WLS absorption length / m:
|
||||||
|
Energy/eV Wavelength/nm Absorption length
|
||||||
|
|
||||||
|
Refractive indices:
|
||||||
|
Energy/eV Wavelength/nm Vacuum Clad2 Clad1 Core
|
||||||
|
|
||||||
|
Rayleigh scattering length / m:
|
||||||
|
Energy/eV Wavelength/nm Clad2 Clad1 Core
|
61
SciFiSim/outFile_32703.root.parameters
Normal file
61
SciFiSim/outFile_32703.root.parameters
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
Length of fibre: 0 m
|
||||||
|
Semi axis of fibre in z: 0 mm
|
||||||
|
Semi axis of fibre in y: 0 mm
|
||||||
|
Probability to lose photons at fibre surface: 0
|
||||||
|
Mirror placement at fibre end: 0
|
||||||
|
Reflectivity of mirror at fibre end: 0
|
||||||
|
Detector material vacuum/polystyrene (0/1): 0
|
||||||
|
Used emission spectrum: ""
|
||||||
|
Number of energies: 0
|
||||||
|
Energy / eV Intensity
|
||||||
|
Number of interpolated points per emission spectrum interval: 0
|
||||||
|
Used wls absorption spectrum: ""
|
||||||
|
Number of wls absorption energies: 0
|
||||||
|
Energy / eV WLS Absorption Length / m
|
||||||
|
Used wls emission spectrum: ""
|
||||||
|
Number of wls emission energies: 0
|
||||||
|
Energy / eV WLS emission intensity
|
||||||
|
Formulae to calculate refractive indices in
|
||||||
|
- vacuum: ""
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm.
|
||||||
|
Scintillation yield: 0/keV
|
||||||
|
Resolution scale: 0
|
||||||
|
Fast decay time: 0 ns
|
||||||
|
Slow decay time: 0 ns
|
||||||
|
Yield ratio: 0
|
||||||
|
Birks constant: 0 mm/MeV
|
||||||
|
WLS decay time: 0 ns
|
||||||
|
Formulae to calculate absorption [1/m] in
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm.
|
||||||
|
Formulae to calculate absorption due to irradiation [1/m] in
|
||||||
|
- core: ""
|
||||||
|
- inner cladding: ""
|
||||||
|
- outer cladding: ""
|
||||||
|
with x in nm and y in kGy.
|
||||||
|
Used sections file: ""
|
||||||
|
Number of sections: 0
|
||||||
|
Formulae to calculate Rayleigh scattering [1/m] in
|
||||||
|
- core:
|
||||||
|
- inner cladding:
|
||||||
|
- outer cladding:
|
||||||
|
|
||||||
|
Scintillation emission spectrum:
|
||||||
|
Energy/eV Wavelength/nm Intensity
|
||||||
|
|
||||||
|
WLS emission spectrum:
|
||||||
|
Energy/eV Wavelength/nm Intensity
|
||||||
|
|
||||||
|
WLS absorption length / m:
|
||||||
|
Energy/eV Wavelength/nm Absorption length
|
||||||
|
|
||||||
|
Refractive indices:
|
||||||
|
Energy/eV Wavelength/nm Vacuum Clad2 Clad1 Core
|
||||||
|
|
||||||
|
Rayleigh scattering length / m:
|
||||||
|
Energy/eV Wavelength/nm Clad2 Clad1 Core
|
1
SciFiSim/randomEngineSeed.txt
Normal file
1
SciFiSim/randomEngineSeed.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
0
|
124
SciFiSim/scifiSim.cc
Normal file
124
SciFiSim/scifiSim.cc
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
//#include "G4MTRunManager.hh"
|
||||||
|
#include "G4UImanager.hh"
|
||||||
|
#include "G4Version.hh"
|
||||||
|
|
||||||
|
#include "G4VisExecutive.hh"
|
||||||
|
#if G4VERSION_NUMBER>=930
|
||||||
|
#include "G4UIExecutive.hh"
|
||||||
|
#else
|
||||||
|
#include "G4UIterminal.hh"
|
||||||
|
#include "G4UItcsh.hh"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "DetectorConstruction.hh"
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "StackingAction.hh"
|
||||||
|
#include "SteppingAction.hh"
|
||||||
|
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include "RunAction.hh"
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
|
||||||
|
#include "PhysicsList.hh"
|
||||||
|
#include "ActionInitialization.hh"
|
||||||
|
|
||||||
|
#include "Randomize.hh"
|
||||||
|
|
||||||
|
// for file output
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
int main(int argc,char** argv)
|
||||||
|
{
|
||||||
|
|
||||||
|
// Set the seed for the random engine and save to file
|
||||||
|
G4int seed = Parameters::GetInstance()->RandomSeed();
|
||||||
|
G4Random::setTheEngine(new CLHEP::RanecuEngine);
|
||||||
|
G4Random::setTheSeed(seed);
|
||||||
|
|
||||||
|
std::ofstream myfile;
|
||||||
|
myfile.open("randomEngineSeed.txt");
|
||||||
|
myfile << seed;
|
||||||
|
myfile.close();
|
||||||
|
|
||||||
|
G4RunManager * runManager = new G4RunManager();
|
||||||
|
|
||||||
|
|
||||||
|
// mandatory Initialization classes
|
||||||
|
G4VUserDetectorConstruction* detector = new DetectorConstruction();
|
||||||
|
runManager->SetUserInitialization(detector);
|
||||||
|
|
||||||
|
G4VUserPhysicsList* physics = new PhysicsList();
|
||||||
|
runManager->SetUserInitialization(physics);
|
||||||
|
|
||||||
|
// mandatory User Action classes
|
||||||
|
runManager->SetUserInitialization(new ActionInitialization());
|
||||||
|
|
||||||
|
// Initialize G4 kernel
|
||||||
|
runManager->Initialize();
|
||||||
|
|
||||||
|
//Initilize the visualization manager
|
||||||
|
G4VisManager* visManager = new G4VisExecutive();
|
||||||
|
visManager->Initialize();
|
||||||
|
|
||||||
|
|
||||||
|
// Get the pointer to the User Interface manager
|
||||||
|
//
|
||||||
|
G4UImanager * UImanager = G4UImanager::GetUIpointer();
|
||||||
|
|
||||||
|
if (argc!=1)
|
||||||
|
{ // batch mode
|
||||||
|
//command line contains name of the macro to execute
|
||||||
|
G4String command = "/control/execute ";
|
||||||
|
G4String fileName = argv[1];
|
||||||
|
UImanager->ApplyCommand(command+fileName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // interactive mode : define UI session
|
||||||
|
|
||||||
|
#if G4VERSION_NUMBER>=930
|
||||||
|
//New since G4 9.3: UI executive setups up
|
||||||
|
//correct UI depending on env variables
|
||||||
|
G4UIExecutive * ui = new G4UIExecutive(argc,argv);
|
||||||
|
//If UI has graphics execute special macro: opens OpenGL Qt driver
|
||||||
|
if (ui->IsGUI())
|
||||||
|
UImanager->ApplyCommand("/control/execute visQt.mac");
|
||||||
|
else
|
||||||
|
UImanager->ApplyCommand("/control/execute vis.mac");
|
||||||
|
#else
|
||||||
|
//Older versions of G4: UI selected by user
|
||||||
|
#ifdef G4UI_USE_TCSH
|
||||||
|
G4UIsession * ui = new G4UIterminal(new G4UItcsh);
|
||||||
|
#else
|
||||||
|
G4UIsession * ui = new G4UIterminal();
|
||||||
|
#endif
|
||||||
|
UImanager->ApplyCommand("/control/execute vis.mac");
|
||||||
|
#endif
|
||||||
|
ui->SessionStart();
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Free the store: user actions, physics_list and detector_description are
|
||||||
|
// owned and deleted by the run manager, so they should not
|
||||||
|
// be deleted in the main() program !
|
||||||
|
|
||||||
|
Analysis::GetInstance()->Close();
|
||||||
|
|
||||||
|
|
||||||
|
delete runManager;
|
||||||
|
|
||||||
|
if(Analysis::GetInstance()!=NULL)
|
||||||
|
delete Analysis::GetInstance();
|
||||||
|
|
||||||
|
if(Parameters::GetInstance()!=NULL)
|
||||||
|
delete Parameters::GetInstance();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
37
SciFiSim/src/ActionInitialization.cc
Normal file
37
SciFiSim/src/ActionInitialization.cc
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "ActionInitialization.hh"
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "RunAction.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
|
||||||
|
#include "StackingAction.hh"
|
||||||
|
#include "SteppingAction.hh"
|
||||||
|
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
ActionInitialization::ActionInitialization() : G4VUserActionInitialization() {}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
ActionInitialization::~ActionInitialization() {}
|
||||||
|
|
||||||
|
// methods
|
||||||
|
|
||||||
|
void ActionInitialization::BuildForMaster() const
|
||||||
|
{
|
||||||
|
SetUserAction( new RunAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ActionInitialization::Build() const
|
||||||
|
{
|
||||||
|
PrimaryGeneratorAction* pGA = new PrimaryGeneratorAction;
|
||||||
|
SetUserAction( pGA);
|
||||||
|
SetUserAction( new RunAction);
|
||||||
|
EventAction* eventAction = new EventAction;
|
||||||
|
SetUserAction( eventAction);
|
||||||
|
SetUserAction( new StackingAction);
|
||||||
|
SetUserAction( new SteppingAction(eventAction, pGA));
|
||||||
|
}
|
||||||
|
|
444
SciFiSim/src/Analysis.cc
Normal file
444
SciFiSim/src/Analysis.cc
Normal file
@ -0,0 +1,444 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include <ctime>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
|
||||||
|
Analysis* Analysis::singleton = 0;
|
||||||
|
|
||||||
|
Analysis::Analysis()
|
||||||
|
{
|
||||||
|
// Set file name for simulation output
|
||||||
|
G4int threadNumber;
|
||||||
|
std::ifstream inFile;
|
||||||
|
inFile.open("threadNumber.txt");
|
||||||
|
inFile >> threadNumber;
|
||||||
|
inFile.close();
|
||||||
|
|
||||||
|
sprintf(fileName,"outFile_%i.root", threadNumber);
|
||||||
|
|
||||||
|
detectedPhotons = new TTree("DetectedPhotons","Photons detected at the detector strip.");
|
||||||
|
|
||||||
|
detectedPhotons->Branch("runID", &runIDBuffer, "runID/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("eventID", &eventIDBuffer, "eventID/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("detNumb", &detNumbBuffer, "detNumb/F"); //modifed by me
|
||||||
|
|
||||||
|
detectedPhotons->Branch("xPixel", &xPixelBuffer, "xPixel/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("yPixel", &yPixelBuffer, "yPixel/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("energy",&energyBuffer,"energy/F");
|
||||||
|
detectedPhotons->Branch("wavelength",&wavelengthBuffer,"wavelength/F");
|
||||||
|
detectedPhotons->Branch("localtime",&timeBuffer,"localtime/F");
|
||||||
|
detectedPhotons->Branch("abstime",&absTimeBuffer,"abstime/F");
|
||||||
|
detectedPhotons->Branch("length",&lengthBuffer,"length/F");
|
||||||
|
detectedPhotons->Branch("x",&xBuffer,"x/F");
|
||||||
|
detectedPhotons->Branch("y",&yBuffer,"y/F");
|
||||||
|
detectedPhotons->Branch("z",&zBuffer,"z/F");
|
||||||
|
detectedPhotons->Branch("px",&pxBuffer,"px/F");
|
||||||
|
detectedPhotons->Branch("py",&pyBuffer,"py/F");
|
||||||
|
detectedPhotons->Branch("pz",&pzBuffer,"pz/F");
|
||||||
|
detectedPhotons->Branch("vertexX",&vertexXBuffer,"vertexX/F");
|
||||||
|
detectedPhotons->Branch("vertexY",&vertexYBuffer,"vertexY/F");
|
||||||
|
detectedPhotons->Branch("vertexZ",&vertexZBuffer,"vertexZ/F");
|
||||||
|
detectedPhotons->Branch("vertexPx",&vertexPxBuffer,"vertexPx/F");
|
||||||
|
detectedPhotons->Branch("vertexPy",&vertexPyBuffer,"vertexPy/F");
|
||||||
|
detectedPhotons->Branch("vertexPz",&vertexPzBuffer,"vertexPz/F");
|
||||||
|
detectedPhotons->Branch("gpsPosX",&gpsPositionX,"gpsPosX/F");
|
||||||
|
detectedPhotons->Branch("gpsPosY",&gpsPositionY,"gpsPosY/F");
|
||||||
|
detectedPhotons->Branch("gpsPosZ",&gpsPositionZ,"gpsPosZ/F");
|
||||||
|
detectedPhotons->Branch("gpsDirX",&gpsDirectionX,"gpsPosX/F");
|
||||||
|
detectedPhotons->Branch("gpsDirY",&gpsDirectionY,"gpsPosY/F");
|
||||||
|
detectedPhotons->Branch("gpsDirZ",&gpsDirectionZ,"gpsPosZ/F");
|
||||||
|
detectedPhotons->Branch("runId",&runIdBuffer,"runId/I");
|
||||||
|
detectedPhotons->Branch("eventId",&eventIdBuffer,"eventId/I");
|
||||||
|
detectedPhotons->Branch("trackId",&trackIdBuffer,"trackId/I");
|
||||||
|
detectedPhotons->Branch("creatorProcess",&creatorProcessBuffer,"creatorProcess/I");
|
||||||
|
detectedPhotons->Branch("parentId",&parentIdBuffer,"parentId/I");
|
||||||
|
detectedPhotons->Branch("reflMirr",&reflMirrBuffer,"reflMirr/I");
|
||||||
|
detectedPhotons->Branch("reflSurf",&reflSurfBuffer,"reflSurf/I");
|
||||||
|
detectedPhotons->Branch("reflTotalCladClad",&reflTotalCladCladBuffer,"reflTotalCladClad/I");
|
||||||
|
detectedPhotons->Branch("reflTotalCoreClad",&reflTotalCoreCladBuffer,"reflTotalCoreClad/I");
|
||||||
|
detectedPhotons->Branch("reflFresnelCladClad",&reflFresnelCladCladBuffer,"reflFresnelCladClad/I");
|
||||||
|
detectedPhotons->Branch("reflFresnelCoreClad",&reflFresnelCoreCladBuffer,"reflFresnelCoreClad/I");
|
||||||
|
detectedPhotons->Branch("refracCladClad",&refracCladCladBuffer,"refracCladClad/I");
|
||||||
|
detectedPhotons->Branch("refracCoreClad",&refracCoreCladBuffer,"refracCoreClad/I");
|
||||||
|
detectedPhotons->Branch("rayleighScatterings",&rayleighScatteringsBuffer,"rayleighScatterings/I");
|
||||||
|
detectedPhotons->Branch("lengthInCore",&lengthInCoreBuffer,"lengthInCore/F");
|
||||||
|
detectedPhotons->Branch("lengthInInnerCladding",&lengthInInnerCladdingBuffer,"lengthInInnerCladding/F");
|
||||||
|
detectedPhotons->Branch("lengthInOuterCladding",&lengthInOuterCladdingBuffer,"lengthInOuterCladding/F");
|
||||||
|
|
||||||
|
trigger = new TTree("Trigger","Hits in the trigger.");
|
||||||
|
|
||||||
|
trigger->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
trigger->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
trigger->Branch("edep", &edepBuffer, "edep/F");
|
||||||
|
trigger->Branch("xPos", &xPosBuffer, "xPos/F");
|
||||||
|
trigger->Branch("yPos", &yPosBuffer, "yPos/F");
|
||||||
|
trigger->Branch("zPos", &zPosBuffer, "zPos/F");
|
||||||
|
|
||||||
|
energyTrack = new TTree("EnergyTrack", "Deposited energy and tracklength in core of fibre.");
|
||||||
|
|
||||||
|
energyTrack->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
energyTrack->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
energyTrack->Branch("edep", &energyBuffer, "edep/F");
|
||||||
|
energyTrack->Branch("trackL", &lengthBuffer, "trackL/F");
|
||||||
|
|
||||||
|
h_energy = new TH1F("h_energy","h_energy",200,0.0,1.0);
|
||||||
|
h_trackL = new TH1F("h_trackL","h_trackL",400,0.0,2.0);
|
||||||
|
|
||||||
|
primaryParticleTrack = new TTree("PrimaryParticleTrack", "Track of the primary particles");
|
||||||
|
|
||||||
|
primaryParticleTrack->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
primaryParticleTrack->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
primaryParticleTrack->Branch("xPos", &xPosBuffer, "xPos/F");
|
||||||
|
primaryParticleTrack->Branch("yPos", &yPosBuffer, "yPos/F");
|
||||||
|
primaryParticleTrack->Branch("zPos", &zPosBuffer, "zPos/F");
|
||||||
|
|
||||||
|
initialParticle = new TTree("InitialParticle", "Initial Particle");
|
||||||
|
|
||||||
|
initialParticle->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
initialParticle->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
initialParticle->Branch("energy", &energyBuffer, "energy/F");
|
||||||
|
initialParticle->Branch("xMom", &xMomBuffer, "xMom/F");
|
||||||
|
initialParticle->Branch("yMom", &yMomBuffer, "yMom/F");
|
||||||
|
initialParticle->Branch("zMom", &zMomBuffer, "zMom/F");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::PrepareNewRun(const G4Run* aRun)
|
||||||
|
{
|
||||||
|
runIdBuffer = aRun->GetRunID();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::EndOfRun()
|
||||||
|
{
|
||||||
|
dataFile = new TFile(fileName,"update");
|
||||||
|
|
||||||
|
detectedPhotons->Write("",TObject::kOverwrite);
|
||||||
|
trigger->Write("", TObject::kOverwrite);
|
||||||
|
primaryParticleTrack->Write("", TObject::kOverwrite);
|
||||||
|
initialParticle->Write("", TObject::kOverwrite);
|
||||||
|
energyTrack->Write("", TObject::kOverwrite);
|
||||||
|
h_energy->Write("", TObject::kOverwrite);
|
||||||
|
h_trackL->Write("", TObject::kOverwrite);
|
||||||
|
G4cout << "Data written to file " << fileName << G4endl;
|
||||||
|
|
||||||
|
dataFile->Close();
|
||||||
|
|
||||||
|
G4cout << "Data file closed: " << fileName << G4endl;
|
||||||
|
|
||||||
|
delete dataFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::Close()
|
||||||
|
{
|
||||||
|
delete detectedPhotons;
|
||||||
|
delete trigger;
|
||||||
|
delete initialParticle;
|
||||||
|
delete energyTrack;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::PrepareNewEvent(const G4Event* anEvent)
|
||||||
|
{
|
||||||
|
eventIdBuffer = anEvent->GetEventID();
|
||||||
|
|
||||||
|
reflectionsAtMirror.resize(0);
|
||||||
|
reflectionsAtFibreSurface.resize(0);
|
||||||
|
reflectionsTotalAtCladCladInterface.resize(0);
|
||||||
|
reflectionsTotalAtCoreCladInterface.resize(0);
|
||||||
|
reflectionsFresnelAtCladCladInterface.resize(0);
|
||||||
|
reflectionsFresnelAtCoreCladInterface.resize(0);
|
||||||
|
|
||||||
|
refractionsAtCladCladInterface.resize(0);
|
||||||
|
refractionsAtCoreCladInterface.resize(0);
|
||||||
|
|
||||||
|
rayleighScatterings.resize(0);
|
||||||
|
|
||||||
|
lengthInCore.resize(0);
|
||||||
|
lengthInInnerCladding.resize(0);
|
||||||
|
lengthInOuterCladding.resize(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillInitialParticle(Double_t runID, Double_t eventID, Double_t energy, Double_t xMom, Double_t yMom, Double_t zMom)
|
||||||
|
{
|
||||||
|
if(initialParticle != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
energyBuffer = energy;
|
||||||
|
xMomBuffer = xMom;
|
||||||
|
yMomBuffer = yMom;
|
||||||
|
zMomBuffer = zMom;
|
||||||
|
initialParticle->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
G4cout << "Nullpointer to initialParticle tree." << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillTrigger(Double_t runID, Double_t eventID, Double_t edep, Double_t xPos, Double_t yPos, Double_t zPos)
|
||||||
|
{
|
||||||
|
if(trigger != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
edepBuffer = edep;
|
||||||
|
xPosBuffer = xPos;
|
||||||
|
yPosBuffer = yPos;
|
||||||
|
zPosBuffer = zPos;
|
||||||
|
|
||||||
|
trigger->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to trigger tree." << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillEnergyTrack(Double_t runID, Double_t eventID, Double_t energy, Double_t trackL)
|
||||||
|
{
|
||||||
|
if(energyTrack != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
energyBuffer = energy;
|
||||||
|
lengthBuffer = trackL;
|
||||||
|
energyTrack->Fill();
|
||||||
|
h_energy->Fill(energy);
|
||||||
|
h_trackL->Fill(trackL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to energyTrack tree" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillPrimaryParticleTrack(Double_t runID, Double_t eventID,
|
||||||
|
Double_t xPos, Double_t yPos, Double_t zPos)
|
||||||
|
{
|
||||||
|
if(primaryParticleTrack != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
xPosBuffer = xPos;
|
||||||
|
yPosBuffer = yPos;
|
||||||
|
zPosBuffer = zPos;
|
||||||
|
primaryParticleTrack->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to primaryParticleTrack tree" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillDetectedPhotons(Double_t runID, Double_t eventID, Double_t detNumb, Double_t xPixel,
|
||||||
|
Double_t yPixel, Double_t energy,
|
||||||
|
Double_t time, Double_t length, Double_t absTime,
|
||||||
|
Double_t x, Double_t y, Double_t z,
|
||||||
|
Double_t px, Double_t py, Double_t pz,
|
||||||
|
Double_t vertexX, Double_t vertexY, Double_t vertexZ,
|
||||||
|
Double_t vertexPx, Double_t vertexPy, Double_t vertexPz,
|
||||||
|
Int_t trackId,
|
||||||
|
Int_t creatorProcess, Int_t parentId)
|
||||||
|
{
|
||||||
|
if(detectedPhotons!=NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
detNumbBuffer = detNumb;
|
||||||
|
xPixelBuffer = xPixel;
|
||||||
|
yPixelBuffer = yPixel;
|
||||||
|
|
||||||
|
energyBuffer = energy;
|
||||||
|
timeBuffer = time;
|
||||||
|
lengthBuffer = length;
|
||||||
|
|
||||||
|
wavelengthBuffer = 1239.842/energy;
|
||||||
|
|
||||||
|
absTimeBuffer = absTime;
|
||||||
|
xBuffer = x;
|
||||||
|
yBuffer = y;
|
||||||
|
zBuffer = z;
|
||||||
|
|
||||||
|
pxBuffer = px;
|
||||||
|
pyBuffer = py;
|
||||||
|
pzBuffer = pz;
|
||||||
|
|
||||||
|
vertexXBuffer = vertexX;
|
||||||
|
vertexYBuffer = vertexY;
|
||||||
|
vertexZBuffer = vertexZ;
|
||||||
|
|
||||||
|
vertexPxBuffer = vertexPx;
|
||||||
|
vertexPyBuffer = vertexPy;
|
||||||
|
vertexPzBuffer = vertexPz;
|
||||||
|
|
||||||
|
trackIdBuffer = trackId;
|
||||||
|
|
||||||
|
creatorProcessBuffer = creatorProcess;
|
||||||
|
parentIdBuffer = parentId;
|
||||||
|
|
||||||
|
reflMirrBuffer = reflectionsAtMirror[trackId];
|
||||||
|
reflSurfBuffer = reflectionsAtFibreSurface[trackId];
|
||||||
|
reflTotalCladCladBuffer = reflectionsTotalAtCladCladInterface[trackId];
|
||||||
|
reflTotalCoreCladBuffer = reflectionsTotalAtCoreCladInterface[trackId];
|
||||||
|
reflFresnelCladCladBuffer = reflectionsFresnelAtCladCladInterface[trackId];
|
||||||
|
reflFresnelCoreCladBuffer = reflectionsFresnelAtCoreCladInterface[trackId];
|
||||||
|
|
||||||
|
refracCladCladBuffer = refractionsAtCladCladInterface[trackId];
|
||||||
|
refracCoreCladBuffer = refractionsAtCoreCladInterface[trackId];
|
||||||
|
|
||||||
|
rayleighScatteringsBuffer = rayleighScatterings[trackId];
|
||||||
|
|
||||||
|
lengthInCoreBuffer = lengthInCore[trackId];
|
||||||
|
lengthInInnerCladdingBuffer = lengthInInnerCladding[trackId];
|
||||||
|
lengthInOuterCladdingBuffer = lengthInOuterCladding[trackId];
|
||||||
|
|
||||||
|
detectedPhotons->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << G4endl << "Pointer to detectedPhotons tree is NULL!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char* Analysis::FileName()
|
||||||
|
{
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::SetGpsPosition(G4ThreeVector position)
|
||||||
|
{
|
||||||
|
gpsPositionX = position[0];
|
||||||
|
gpsPositionY = position[1];
|
||||||
|
gpsPositionZ = position[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionsAtMirror(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsAtMirror[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::SetGpsDirection(G4ThreeVector direction)
|
||||||
|
{
|
||||||
|
gpsDirectionX = direction[0];
|
||||||
|
gpsDirectionY = direction[1];
|
||||||
|
gpsDirectionZ = direction[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionsAtFibreSurface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsAtFibreSurface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseTotalReflectionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsTotalAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseTotalReflectionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsTotalAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseFresnelReflectionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsFresnelAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseFresnelReflectionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsFresnelAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRefractionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
refractionsAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRefractionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
refractionsAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRayleighScatterings(Int_t trackId)
|
||||||
|
{
|
||||||
|
rayleighScatterings[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionRefractionAndScatteringVectors(Int_t trackId)
|
||||||
|
{
|
||||||
|
for(int i=reflectionsAtMirror.size(); i<trackId+1; i++)
|
||||||
|
reflectionsAtMirror.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsAtFibreSurface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsAtFibreSurface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsTotalAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsTotalAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsTotalAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsTotalAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsFresnelAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsFresnelAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsFresnelAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsFresnelAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=refractionsAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
refractionsAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=refractionsAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
refractionsAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=rayleighScatterings.size(); i<trackId+1; i++)
|
||||||
|
rayleighScatterings.push_back(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInCore(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInCore[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInInnerCladding(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInInnerCladding[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInOuterCladding(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInOuterCladding[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthVectors(Int_t trackId)
|
||||||
|
{
|
||||||
|
for(int i=lengthInCore.size(); i<trackId+1; i++)
|
||||||
|
lengthInCore.push_back(0);
|
||||||
|
|
||||||
|
for(int i=lengthInInnerCladding.size(); i<trackId+1; i++)
|
||||||
|
lengthInInnerCladding.push_back(0);
|
||||||
|
|
||||||
|
for(int i=lengthInOuterCladding.size(); i<trackId+1; i++)
|
||||||
|
lengthInOuterCladding.push_back(0);
|
||||||
|
}
|
444
SciFiSim/src/Analysis.cc~
Normal file
444
SciFiSim/src/Analysis.cc~
Normal file
@ -0,0 +1,444 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include <ctime>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
|
||||||
|
Analysis* Analysis::singleton = 0;
|
||||||
|
|
||||||
|
Analysis::Analysis()
|
||||||
|
{
|
||||||
|
// Set file name for simulation output
|
||||||
|
G4int threadNumber;
|
||||||
|
std::ifstream inFile;
|
||||||
|
inFile.open("threadNumber.txt");
|
||||||
|
inFile >> threadNumber;
|
||||||
|
inFile.close();
|
||||||
|
|
||||||
|
sprintf(fileName,"outFile_%i.root", threadNumber);
|
||||||
|
|
||||||
|
detectedPhotons = new TTree("DetectedPhotons","Photons detected at the detector strip.");
|
||||||
|
|
||||||
|
detectedPhotons->Branch("runID", &runIDBuffer, "runID/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("eventID", &eventIDBuffer, "eventID/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("detNumb", &detNumbBuffer, "detNumb/F"); //modifed by me
|
||||||
|
|
||||||
|
detectedPhotons->Branch("xPixel", &xPixelBuffer, "xPixel/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("yPixel", &yPixelBuffer, "yPixel/F"); //modifed by me
|
||||||
|
detectedPhotons->Branch("energy",&energyBuffer,"energy/F");
|
||||||
|
detectedPhotons->Branch("wavelength",&wavelengthBuffer,"wavelength/F");
|
||||||
|
detectedPhotons->Branch("localtime",&timeBuffer,"localtime/F");
|
||||||
|
detectedPhotons->Branch("abstime",&absTimeBuffer,"abstime/F");
|
||||||
|
detectedPhotons->Branch("length",&lengthBuffer,"length/F");
|
||||||
|
detectedPhotons->Branch("x",&xBuffer,"x/F");
|
||||||
|
detectedPhotons->Branch("y",&yBuffer,"y/F");
|
||||||
|
detectedPhotons->Branch("z",&zBuffer,"z/F");
|
||||||
|
detectedPhotons->Branch("px",&pxBuffer,"px/F");
|
||||||
|
detectedPhotons->Branch("py",&pyBuffer,"py/F");
|
||||||
|
detectedPhotons->Branch("pz",&pzBuffer,"pz/F");
|
||||||
|
detectedPhotons->Branch("vertexX",&vertexXBuffer,"vertexX/F");
|
||||||
|
detectedPhotons->Branch("vertexY",&vertexYBuffer,"vertexY/F");
|
||||||
|
detectedPhotons->Branch("vertexZ",&vertexZBuffer,"vertexZ/F");
|
||||||
|
detectedPhotons->Branch("vertexPx",&vertexPxBuffer,"vertexPx/F");
|
||||||
|
detectedPhotons->Branch("vertexPy",&vertexPyBuffer,"vertexPy/F");
|
||||||
|
detectedPhotons->Branch("vertexPz",&vertexPzBuffer,"vertexPz/F");
|
||||||
|
detectedPhotons->Branch("gpsPosX",&gpsPositionX,"gpsPosX/F");
|
||||||
|
detectedPhotons->Branch("gpsPosY",&gpsPositionY,"gpsPosY/F");
|
||||||
|
detectedPhotons->Branch("gpsPosZ",&gpsPositionZ,"gpsPosZ/F");
|
||||||
|
detectedPhotons->Branch("gpsDirX",&gpsDirectionX,"gpsPosX/F");
|
||||||
|
detectedPhotons->Branch("gpsDirY",&gpsDirectionY,"gpsPosY/F");
|
||||||
|
detectedPhotons->Branch("gpsDirZ",&gpsDirectionZ,"gpsPosZ/F");
|
||||||
|
detectedPhotons->Branch("runId",&runIdBuffer,"runId/I");
|
||||||
|
detectedPhotons->Branch("eventId",&eventIdBuffer,"eventId/I");
|
||||||
|
detectedPhotons->Branch("trackId",&trackIdBuffer,"trackId/I");
|
||||||
|
detectedPhotons->Branch("creatorProcess",&creatorProcessBuffer,"creatorProcess/I");
|
||||||
|
detectedPhotons->Branch("parentId",&parentIdBuffer,"parentId/I");
|
||||||
|
detectedPhotons->Branch("reflMirr",&reflMirrBuffer,"reflMirr/I");
|
||||||
|
detectedPhotons->Branch("reflSurf",&reflSurfBuffer,"reflSurf/I");
|
||||||
|
detectedPhotons->Branch("reflTotalCladClad",&reflTotalCladCladBuffer,"reflTotalCladClad/I");
|
||||||
|
detectedPhotons->Branch("reflTotalCoreClad",&reflTotalCoreCladBuffer,"reflTotalCoreClad/I");
|
||||||
|
detectedPhotons->Branch("reflFresnelCladClad",&reflFresnelCladCladBuffer,"reflFresnelCladClad/I");
|
||||||
|
detectedPhotons->Branch("reflFresnelCoreClad",&reflFresnelCoreCladBuffer,"reflFresnelCoreClad/I");
|
||||||
|
detectedPhotons->Branch("refracCladClad",&refracCladCladBuffer,"refracCladClad/I");
|
||||||
|
detectedPhotons->Branch("refracCoreClad",&refracCoreCladBuffer,"refracCoreClad/I");
|
||||||
|
detectedPhotons->Branch("rayleighScatterings",&rayleighScatteringsBuffer,"rayleighScatterings/I");
|
||||||
|
detectedPhotons->Branch("lengthInCore",&lengthInCoreBuffer,"lengthInCore/F");
|
||||||
|
detectedPhotons->Branch("lengthInInnerCladding",&lengthInInnerCladdingBuffer,"lengthInInnerCladding/F");
|
||||||
|
detectedPhotons->Branch("lengthInOuterCladding",&lengthInOuterCladdingBuffer,"lengthInOuterCladding/F");
|
||||||
|
|
||||||
|
trigger = new TTree("Trigger","Hits in the trigger.");
|
||||||
|
|
||||||
|
trigger->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
trigger->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
trigger->Branch("edep", &edepBuffer, "edep/F");
|
||||||
|
trigger->Branch("xPos", &xPosBuffer, "xPos/F");
|
||||||
|
trigger->Branch("yPos", &yPosBuffer, "yPos/F");
|
||||||
|
trigger->Branch("zPos", &zPosBuffer, "zPos/F");
|
||||||
|
|
||||||
|
energyTrack = new TTree("EnergyTrack", "Deposited energy and tracklength in core of fibre.");
|
||||||
|
|
||||||
|
energyTrack->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
energyTrack->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
energyTrack->Branch("edep", &energyBuffer, "edep/F");
|
||||||
|
energyTrack->Branch("trackL", &lengthBuffer, "trackL/F");
|
||||||
|
|
||||||
|
h_energy = new TH1F("h_energy","h_energy",200,0.0,1.0);
|
||||||
|
h_trackL = new TH1F("h_trackL","h_trackL",400,0.0,2.0);
|
||||||
|
|
||||||
|
primaryParticleTrack = new TTree("PrimaryParticleTrack", "Track of the primary particles");
|
||||||
|
|
||||||
|
primaryParticleTrack->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
primaryParticleTrack->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
primaryParticleTrack->Branch("xPos", &xPosBuffer, "xPos/F");
|
||||||
|
primaryParticleTrack->Branch("yPos", &yPosBuffer, "yPos/F");
|
||||||
|
primaryParticleTrack->Branch("zPos", &zPosBuffer, "zPos/F");
|
||||||
|
|
||||||
|
initialParticle = new TTree("InitialParticle", "Initial Particle");
|
||||||
|
|
||||||
|
initialParticle->Branch("runID", &runIDBuffer, "runID/F");
|
||||||
|
initialParticle->Branch("eventID", &eventIDBuffer, "eventID/F");
|
||||||
|
initialParticle->Branch("energy", &energyBuffer, "energy/F");
|
||||||
|
initialParticle->Branch("xMom", &xMomBuffer, "xMom/F");
|
||||||
|
initialParticle->Branch("yMom", &yMomBuffer, "yMom/F");
|
||||||
|
initialParticle->Branch("zMom", &zMomBuffer, "zMom/F");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::PrepareNewRun(const G4Run* aRun)
|
||||||
|
{
|
||||||
|
runIdBuffer = aRun->GetRunID();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::EndOfRun()
|
||||||
|
{
|
||||||
|
dataFile = new TFile(fileName,"update");
|
||||||
|
|
||||||
|
//detectedPhotons->Write("",TObject::kOverwrite);
|
||||||
|
//trigger->Write("", TObject::kOverwrite);
|
||||||
|
// primaryParticleTrack->Write("", TObject::kOverwrite);
|
||||||
|
//initialParticle->Write("", TObject::kOverwrite);
|
||||||
|
// energyTrack->Write("", TObject::kOverwrite);
|
||||||
|
h_energy->Write("", TObject::kOverwrite);
|
||||||
|
h_trackL->Write("", TObject::kOverwrite);
|
||||||
|
G4cout << "Data written to file " << fileName << G4endl;
|
||||||
|
|
||||||
|
dataFile->Close();
|
||||||
|
|
||||||
|
G4cout << "Data file closed: " << fileName << G4endl;
|
||||||
|
|
||||||
|
delete dataFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::Close()
|
||||||
|
{
|
||||||
|
delete detectedPhotons;
|
||||||
|
delete trigger;
|
||||||
|
delete initialParticle;
|
||||||
|
delete energyTrack;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::PrepareNewEvent(const G4Event* anEvent)
|
||||||
|
{
|
||||||
|
eventIdBuffer = anEvent->GetEventID();
|
||||||
|
|
||||||
|
reflectionsAtMirror.resize(0);
|
||||||
|
reflectionsAtFibreSurface.resize(0);
|
||||||
|
reflectionsTotalAtCladCladInterface.resize(0);
|
||||||
|
reflectionsTotalAtCoreCladInterface.resize(0);
|
||||||
|
reflectionsFresnelAtCladCladInterface.resize(0);
|
||||||
|
reflectionsFresnelAtCoreCladInterface.resize(0);
|
||||||
|
|
||||||
|
refractionsAtCladCladInterface.resize(0);
|
||||||
|
refractionsAtCoreCladInterface.resize(0);
|
||||||
|
|
||||||
|
rayleighScatterings.resize(0);
|
||||||
|
|
||||||
|
lengthInCore.resize(0);
|
||||||
|
lengthInInnerCladding.resize(0);
|
||||||
|
lengthInOuterCladding.resize(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillInitialParticle(Double_t runID, Double_t eventID, Double_t energy, Double_t xMom, Double_t yMom, Double_t zMom)
|
||||||
|
{
|
||||||
|
if(initialParticle != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
energyBuffer = energy;
|
||||||
|
xMomBuffer = xMom;
|
||||||
|
yMomBuffer = yMom;
|
||||||
|
zMomBuffer = zMom;
|
||||||
|
// initialParticle->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
G4cout << "Nullpointer to initialParticle tree." << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillTrigger(Double_t runID, Double_t eventID, Double_t edep, Double_t xPos, Double_t yPos, Double_t zPos)
|
||||||
|
{
|
||||||
|
if(trigger != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
edepBuffer = edep;
|
||||||
|
xPosBuffer = xPos;
|
||||||
|
yPosBuffer = yPos;
|
||||||
|
zPosBuffer = zPos;
|
||||||
|
|
||||||
|
// trigger->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to trigger tree." << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillEnergyTrack(Double_t runID, Double_t eventID, Double_t energy, Double_t trackL)
|
||||||
|
{
|
||||||
|
if(energyTrack != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
energyBuffer = energy;
|
||||||
|
lengthBuffer = trackL;
|
||||||
|
// energyTrack->Fill();
|
||||||
|
h_energy->Fill(energy);
|
||||||
|
h_trackL->Fill(trackL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to energyTrack tree" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillPrimaryParticleTrack(Double_t runID, Double_t eventID,
|
||||||
|
Double_t xPos, Double_t yPos, Double_t zPos)
|
||||||
|
{
|
||||||
|
if(primaryParticleTrack != NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
xPosBuffer = xPos;
|
||||||
|
yPosBuffer = yPos;
|
||||||
|
zPosBuffer = zPos;
|
||||||
|
// primaryParticleTrack->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Nullpointer to primaryParticleTrack tree" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::FillDetectedPhotons(Double_t runID, Double_t eventID, Double_t detNumb, Double_t xPixel,
|
||||||
|
Double_t yPixel, Double_t energy,
|
||||||
|
Double_t time, Double_t length, Double_t absTime,
|
||||||
|
Double_t x, Double_t y, Double_t z,
|
||||||
|
Double_t px, Double_t py, Double_t pz,
|
||||||
|
Double_t vertexX, Double_t vertexY, Double_t vertexZ,
|
||||||
|
Double_t vertexPx, Double_t vertexPy, Double_t vertexPz,
|
||||||
|
Int_t trackId,
|
||||||
|
Int_t creatorProcess, Int_t parentId)
|
||||||
|
{
|
||||||
|
if(detectedPhotons!=NULL)
|
||||||
|
{
|
||||||
|
runIDBuffer = runID;
|
||||||
|
eventIDBuffer = eventID;
|
||||||
|
detNumbBuffer = detNumb;
|
||||||
|
xPixelBuffer = xPixel;
|
||||||
|
yPixelBuffer = yPixel;
|
||||||
|
|
||||||
|
energyBuffer = energy;
|
||||||
|
timeBuffer = time;
|
||||||
|
lengthBuffer = length;
|
||||||
|
|
||||||
|
wavelengthBuffer = 1239.842/energy;
|
||||||
|
|
||||||
|
absTimeBuffer = absTime;
|
||||||
|
xBuffer = x;
|
||||||
|
yBuffer = y;
|
||||||
|
zBuffer = z;
|
||||||
|
|
||||||
|
pxBuffer = px;
|
||||||
|
pyBuffer = py;
|
||||||
|
pzBuffer = pz;
|
||||||
|
|
||||||
|
vertexXBuffer = vertexX;
|
||||||
|
vertexYBuffer = vertexY;
|
||||||
|
vertexZBuffer = vertexZ;
|
||||||
|
|
||||||
|
vertexPxBuffer = vertexPx;
|
||||||
|
vertexPyBuffer = vertexPy;
|
||||||
|
vertexPzBuffer = vertexPz;
|
||||||
|
|
||||||
|
trackIdBuffer = trackId;
|
||||||
|
|
||||||
|
creatorProcessBuffer = creatorProcess;
|
||||||
|
parentIdBuffer = parentId;
|
||||||
|
|
||||||
|
reflMirrBuffer = reflectionsAtMirror[trackId];
|
||||||
|
reflSurfBuffer = reflectionsAtFibreSurface[trackId];
|
||||||
|
reflTotalCladCladBuffer = reflectionsTotalAtCladCladInterface[trackId];
|
||||||
|
reflTotalCoreCladBuffer = reflectionsTotalAtCoreCladInterface[trackId];
|
||||||
|
reflFresnelCladCladBuffer = reflectionsFresnelAtCladCladInterface[trackId];
|
||||||
|
reflFresnelCoreCladBuffer = reflectionsFresnelAtCoreCladInterface[trackId];
|
||||||
|
|
||||||
|
refracCladCladBuffer = refractionsAtCladCladInterface[trackId];
|
||||||
|
refracCoreCladBuffer = refractionsAtCoreCladInterface[trackId];
|
||||||
|
|
||||||
|
rayleighScatteringsBuffer = rayleighScatterings[trackId];
|
||||||
|
|
||||||
|
lengthInCoreBuffer = lengthInCore[trackId];
|
||||||
|
lengthInInnerCladdingBuffer = lengthInInnerCladding[trackId];
|
||||||
|
lengthInOuterCladdingBuffer = lengthInOuterCladding[trackId];
|
||||||
|
|
||||||
|
// detectedPhotons->Fill();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << G4endl << "Pointer to detectedPhotons tree is NULL!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char* Analysis::FileName()
|
||||||
|
{
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::SetGpsPosition(G4ThreeVector position)
|
||||||
|
{
|
||||||
|
gpsPositionX = position[0];
|
||||||
|
gpsPositionY = position[1];
|
||||||
|
gpsPositionZ = position[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionsAtMirror(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsAtMirror[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::SetGpsDirection(G4ThreeVector direction)
|
||||||
|
{
|
||||||
|
gpsDirectionX = direction[0];
|
||||||
|
gpsDirectionY = direction[1];
|
||||||
|
gpsDirectionZ = direction[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionsAtFibreSurface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsAtFibreSurface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseTotalReflectionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsTotalAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseTotalReflectionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsTotalAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseFresnelReflectionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsFresnelAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseFresnelReflectionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
reflectionsFresnelAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRefractionsAtCladCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
refractionsAtCladCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRefractionsAtCoreCladInterface(Int_t trackId)
|
||||||
|
{
|
||||||
|
refractionsAtCoreCladInterface[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseRayleighScatterings(Int_t trackId)
|
||||||
|
{
|
||||||
|
rayleighScatterings[trackId]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseReflectionRefractionAndScatteringVectors(Int_t trackId)
|
||||||
|
{
|
||||||
|
for(int i=reflectionsAtMirror.size(); i<trackId+1; i++)
|
||||||
|
reflectionsAtMirror.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsAtFibreSurface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsAtFibreSurface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsTotalAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsTotalAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsTotalAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsTotalAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsFresnelAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsFresnelAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=reflectionsFresnelAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
reflectionsFresnelAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=refractionsAtCladCladInterface.size(); i<trackId+1; i++)
|
||||||
|
refractionsAtCladCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=refractionsAtCoreCladInterface.size(); i<trackId+1; i++)
|
||||||
|
refractionsAtCoreCladInterface.push_back(0);
|
||||||
|
|
||||||
|
for(int i=rayleighScatterings.size(); i<trackId+1; i++)
|
||||||
|
rayleighScatterings.push_back(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInCore(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInCore[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInInnerCladding(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInInnerCladding[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthInOuterCladding(Int_t trackId, Float_t lengthValue)
|
||||||
|
{
|
||||||
|
lengthInOuterCladding[trackId] += lengthValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Analysis::IncreaseLengthVectors(Int_t trackId)
|
||||||
|
{
|
||||||
|
for(int i=lengthInCore.size(); i<trackId+1; i++)
|
||||||
|
lengthInCore.push_back(0);
|
||||||
|
|
||||||
|
for(int i=lengthInInnerCladding.size(); i<trackId+1; i++)
|
||||||
|
lengthInInnerCladding.push_back(0);
|
||||||
|
|
||||||
|
for(int i=lengthInOuterCladding.size(); i<trackId+1; i++)
|
||||||
|
lengthInOuterCladding.push_back(0);
|
||||||
|
}
|
913
SciFiSim/src/DetectorConstruction.cc
Executable file
913
SciFiSim/src/DetectorConstruction.cc
Executable file
@ -0,0 +1,913 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "G4Navigator.hh"
|
||||||
|
#include "DetectorConstruction.hh"
|
||||||
|
#include "G4Material.hh"
|
||||||
|
#include "G4LogicalBorderSurface.hh"
|
||||||
|
#include "G4LogicalSkinSurface.hh"
|
||||||
|
#include "G4Box.hh"
|
||||||
|
#include "G4Tubs.hh"
|
||||||
|
#include "G4EllipticalTube.hh"
|
||||||
|
#include "G4SubtractionSolid.hh"
|
||||||
|
#include "G4LogicalVolume.hh"
|
||||||
|
#include "G4RotationMatrix.hh"
|
||||||
|
#include "G4PVPlacement.hh"
|
||||||
|
#include "G4OpBoundaryProcess.hh"
|
||||||
|
#include "G4MaterialPropertyVector.hh"
|
||||||
|
#include "G4NistManager.hh"
|
||||||
|
#include "G4VisAttributes.hh"
|
||||||
|
#include "G4Colour.hh"
|
||||||
|
#include "G4PVParameterised.hh"
|
||||||
|
#include "SensitiveDetector.hh"
|
||||||
|
#include "G4SDManager.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include "TF1.h"
|
||||||
|
#include "TF2.h"
|
||||||
|
#include "Randomize.hh"
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
#include "G4VPVParameterisation.hh"
|
||||||
|
#include "Convert.hh"
|
||||||
|
#include <math.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
DetectorConstruction::DetectorConstruction()
|
||||||
|
: G4VUserDetectorConstruction(),
|
||||||
|
fScoringVolume(0)
|
||||||
|
{
|
||||||
|
// Size of experimental hall and fibre length //
|
||||||
|
detector_x = 10*cm;
|
||||||
|
detector_y = 2*cm;
|
||||||
|
detector_z = (Parameters::GetInstance()->FibreLength()+0.5)/2.*m+1*cm;
|
||||||
|
scint_z = Parameters::GetInstance()->FibreLength()/2.*m;
|
||||||
|
|
||||||
|
// mat/detector dimensions
|
||||||
|
Nj = 1; //rows of fibre in Y
|
||||||
|
Nk = 10; // number of fibers in X
|
||||||
|
|
||||||
|
xDist = 0.275 *4* mm; //horizontal pitch of fibres (each row staggered by xDist/2)
|
||||||
|
yDist = 0.210 *4* mm; //vertical pitch of rows
|
||||||
|
stripWidth = 1.0 * mm; //SiPM channel width
|
||||||
|
stripHeight = 1.00 * mm; //SiPM channel height
|
||||||
|
|
||||||
|
airGap = 0.001 * mm; //airgap between epoxy and fibre
|
||||||
|
pixelDimX = 0.05 * mm; // pixel dimension X
|
||||||
|
pixelDimY = 0.05 * mm; //pixel dimension Y
|
||||||
|
epoxy_strip_width = 0.1*mm; //epoxy thickness over SiPM silicon
|
||||||
|
|
||||||
|
Nx = 20; // number of SiPM pixels in X
|
||||||
|
Ny = 20; // number of SiPM pixels in Y
|
||||||
|
|
||||||
|
//Geant4 World
|
||||||
|
fWorldSizeX = 1000*cm;
|
||||||
|
fWorldSizeY = 1000*cm;
|
||||||
|
fWorldSizeZ = 1000*cm;
|
||||||
|
|
||||||
|
fMirrorToggle = true; //mirror at the end of the fibre mat
|
||||||
|
fMirrorPolish = 1.; //polish parameter
|
||||||
|
fMirrorReflectivity = 0.8; //reflectivity parameter
|
||||||
|
|
||||||
|
|
||||||
|
fMirrorZ = 0.1*mm; //mirror thickness
|
||||||
|
fMirrorRmax = 0.250*mm; //TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
DetectorConstruction::~DetectorConstruction(){}
|
||||||
|
|
||||||
|
void DetectorConstruction::DefineMaterials()
|
||||||
|
{
|
||||||
|
// Get nist material manager
|
||||||
|
G4NistManager* man = G4NistManager::Instance();
|
||||||
|
// Option to switch on/off checking of volumes overlaps
|
||||||
|
//
|
||||||
|
G4bool checkOverlaps = true;
|
||||||
|
|
||||||
|
|
||||||
|
// Elements to cunstruct inner cladding material (PMMA)
|
||||||
|
G4double densityPMMA = 1190*kg/m3;
|
||||||
|
std::vector<G4String> PMMA_elm;
|
||||||
|
std::vector<G4int> PMMA_nbAtoms;
|
||||||
|
PMMA_elm.push_back("H"); PMMA_nbAtoms.push_back(8);
|
||||||
|
PMMA_elm.push_back("C"); PMMA_nbAtoms.push_back(5);
|
||||||
|
PMMA_elm.push_back("O"); PMMA_nbAtoms.push_back(2);
|
||||||
|
PMMA = man->ConstructNewMaterial("PMMA", PMMA_elm, PMMA_nbAtoms, densityPMMA);
|
||||||
|
|
||||||
|
// Elements to cunstruct outer cladding material (PTFEMA)
|
||||||
|
G4double densityPMMA2 = 1430*kg/m3;
|
||||||
|
std::vector<G4String> PMMA2_elm;
|
||||||
|
std::vector<G4int> PMMA2_nbAtoms;
|
||||||
|
PMMA2_elm.push_back("H"); PMMA2_nbAtoms.push_back(7);
|
||||||
|
PMMA2_elm.push_back("C"); PMMA2_nbAtoms.push_back(6);
|
||||||
|
PMMA2_elm.push_back("O"); PMMA2_nbAtoms.push_back(2);
|
||||||
|
PMMA2_elm.push_back("F"); PMMA2_nbAtoms.push_back(3);
|
||||||
|
PMMA2 = man->ConstructNewMaterial("PMMA2", PMMA2_elm, PMMA2_nbAtoms, densityPMMA2=1430*kg/m3);
|
||||||
|
|
||||||
|
// Glue (Epo-Tek 301)
|
||||||
|
G4double Glue_density = 1.15*g/cm3;
|
||||||
|
std::vector<G4String> Glue_elm;
|
||||||
|
std::vector<G4int> Glue_nbAtoms;
|
||||||
|
Glue_elm.push_back("C"); Glue_nbAtoms.push_back(19);
|
||||||
|
Glue_elm.push_back("H"); Glue_nbAtoms.push_back(27);
|
||||||
|
Glue_elm.push_back("O"); Glue_nbAtoms.push_back(3);
|
||||||
|
Glue = man->ConstructNewMaterial("Glue",Glue_elm, Glue_nbAtoms, Glue_density);
|
||||||
|
|
||||||
|
// TiO2
|
||||||
|
G4double TiO2_density = 4.26*g/cm3;
|
||||||
|
std::vector<G4String> TiO2_elm;
|
||||||
|
std::vector<G4int> TiO2_nbAtoms;
|
||||||
|
TiO2_elm.push_back("Ti"); TiO2_nbAtoms.push_back(1);
|
||||||
|
TiO2_elm.push_back("Ti"); TiO2_nbAtoms.push_back(2);
|
||||||
|
TiO2 = man->ConstructNewMaterial("TiO2",TiO2_elm, TiO2_nbAtoms, TiO2_density);
|
||||||
|
|
||||||
|
// Abs plastic
|
||||||
|
G4double Abs_density = 1.07*g/cm3;
|
||||||
|
std::vector<G4String> Abs_elm;
|
||||||
|
std::vector<G4int> Abs_nbAtoms;
|
||||||
|
Abs_elm.push_back("H"); Abs_nbAtoms.push_back(17);
|
||||||
|
Abs_elm.push_back("C"); Abs_nbAtoms.push_back(13);
|
||||||
|
Abs_elm.push_back("N"); Abs_nbAtoms.push_back(1);
|
||||||
|
Abs_plastic = man->ConstructNewMaterial("Abs_plastic", Abs_elm, Abs_nbAtoms, Abs_density);
|
||||||
|
|
||||||
|
// Epoxy
|
||||||
|
G4double Epoxy_density = 1.5*g/cm3;
|
||||||
|
Epoxy = new G4Material("Epoxy", Epoxy_density, 2);
|
||||||
|
Epoxy->AddMaterial(TiO2, 25*perCent);
|
||||||
|
Epoxy->AddMaterial(Glue, 75*perCent);
|
||||||
|
|
||||||
|
// Environment
|
||||||
|
Air = man->FindOrBuildMaterial("G4_AIR");
|
||||||
|
Vacuum = man->FindOrBuildMaterial("G4_Galactic");
|
||||||
|
|
||||||
|
// Polystyrene G4_POLYSTYRENE
|
||||||
|
Pstyrene = man->FindOrBuildMaterial("G4_POLYSTYRENE");
|
||||||
|
|
||||||
|
// Aluminium
|
||||||
|
alu = man->FindOrBuildMaterial("G4_Al");
|
||||||
|
|
||||||
|
// Core sections
|
||||||
|
G4String materialNameCore = "ScintCoreMaterial";
|
||||||
|
scintCoreMaterial = new G4Material(materialNameCore,Pstyrene->GetDensity(),1);
|
||||||
|
scintCoreMaterial->AddMaterial(Pstyrene,1.);
|
||||||
|
|
||||||
|
// Inner cladding sections
|
||||||
|
G4String materialNameCladding1 = "InnerCladdingMaterial";
|
||||||
|
innerCladdingMaterial = new G4Material(materialNameCladding1,PMMA->GetDensity(),1);
|
||||||
|
innerCladdingMaterial->AddMaterial(PMMA,1.);
|
||||||
|
|
||||||
|
// Outer cladding sections
|
||||||
|
G4String materialNameCladding2 = "OuterCladdingMaterial";
|
||||||
|
outerCladdingMaterial = new G4Material(materialNameCladding2,PMMA2->GetDensity(),1);
|
||||||
|
outerCladdingMaterial->AddMaterial(PMMA2,1.);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void DetectorConstruction::DefineMaterialProperties()
|
||||||
|
{
|
||||||
|
// Initialise considered ENERGIES and EMISSION SPECTRA for scintillation and wls
|
||||||
|
|
||||||
|
const G4int numInterpolPoints = Parameters::GetInstance()->NumberOfInterpolatedPoints();
|
||||||
|
|
||||||
|
// Set scintillation emmision spectrum
|
||||||
|
G4int E_NUMENTRIES = Parameters::GetInstance()->NumberOfEnergies();
|
||||||
|
G4double* Energy = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
Energy[i] = Parameters::GetInstance()->Energy[i]*eV;
|
||||||
|
|
||||||
|
G4double* ScintilEnergyDist = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
ScintilEnergyDist[i] = Parameters::GetInstance()->Intensity[i];
|
||||||
|
|
||||||
|
G4MaterialPropertyVector* scintSpecVector = new G4MaterialPropertyVector(Energy, ScintilEnergyDist, E_NUMENTRIES);
|
||||||
|
scintSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
// Set the Birks Constant for the Polystyrene scintillator
|
||||||
|
Pstyrene->GetIonisation()->SetBirksConstant(Parameters::GetInstance()->BirksConstant()*mm/MeV);
|
||||||
|
|
||||||
|
// Set wls emmision spectrum
|
||||||
|
G4int WLS_E_NUMENTRIES = Parameters::GetInstance()->NumberOfWlsEmissionEnergies();
|
||||||
|
G4double* WlsEnergy = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
WlsEnergy[i] = Parameters::GetInstance()->WlsEmissionEnergy[i]*eV;
|
||||||
|
|
||||||
|
G4double* WlsEnergyDist = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
WlsEnergyDist[i] = Parameters::GetInstance()->WlsEmissionIntensity[i];
|
||||||
|
|
||||||
|
G4MaterialPropertyVector* wlsSpecVector = new G4MaterialPropertyVector(WlsEnergy, WlsEnergyDist, WLS_E_NUMENTRIES);
|
||||||
|
wlsSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
if(numInterpolPoints>0)
|
||||||
|
{
|
||||||
|
// Interpolate scintillation spectrum
|
||||||
|
|
||||||
|
const G4int E_NUMENTRIES_New = (E_NUMENTRIES-1)*(numInterpolPoints+1)+1;
|
||||||
|
G4double* NewEnergy = new G4double[E_NUMENTRIES_New];
|
||||||
|
G4double* NewValue = new G4double[E_NUMENTRIES_New];
|
||||||
|
G4double* scintInterpolValue = new G4double[numInterpolPoints];
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES-1; j++)
|
||||||
|
{
|
||||||
|
G4double interpolDist = (Energy[j+1]-Energy[j])/(numInterpolPoints+1);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)] = Energy[j];
|
||||||
|
NewValue[j*(numInterpolPoints+1)] = scintSpecVector->Value(Energy[j]);
|
||||||
|
|
||||||
|
for(int k=0; k<numInterpolPoints; k++)
|
||||||
|
{
|
||||||
|
scintInterpolValue[k] = scintSpecVector->Value(Energy[j]+(k+1)*interpolDist);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)+(k+1)] = Energy[j]+(k+1)*interpolDist;
|
||||||
|
|
||||||
|
if(scintInterpolValue[k]>=0)
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = scintInterpolValue[k];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = 0;
|
||||||
|
G4cout << "Warning: Intensity of emission spectrum set to 0 for energy "
|
||||||
|
<< NewEnergy[j*(numInterpolPoints+1)+(k+1)]*1e6
|
||||||
|
<< " eV.\nSpline interpolation led to negative value!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NewEnergy[E_NUMENTRIES_New-1] = Energy[E_NUMENTRIES-1];
|
||||||
|
NewValue[E_NUMENTRIES_New-1] = scintSpecVector->Value(Energy[E_NUMENTRIES-1]);
|
||||||
|
|
||||||
|
delete[] Energy;
|
||||||
|
delete[] ScintilEnergyDist;
|
||||||
|
delete scintSpecVector;
|
||||||
|
|
||||||
|
E_NUMENTRIES = E_NUMENTRIES_New;
|
||||||
|
Energy = new G4double[E_NUMENTRIES];
|
||||||
|
ScintilEnergyDist = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
Energy[i] = NewEnergy[i];
|
||||||
|
ScintilEnergyDist[i] = NewValue[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
scintSpecVector = new G4MaterialPropertyVector(Energy, ScintilEnergyDist, E_NUMENTRIES);
|
||||||
|
scintSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] NewEnergy;
|
||||||
|
delete[] NewValue;
|
||||||
|
delete[] scintInterpolValue;
|
||||||
|
|
||||||
|
|
||||||
|
// Interpolate wls spectrum
|
||||||
|
|
||||||
|
const G4int WLS_E_NUMENTRIES_New = (WLS_E_NUMENTRIES-1)*(numInterpolPoints+1)+1;
|
||||||
|
NewEnergy = new G4double[WLS_E_NUMENTRIES_New];
|
||||||
|
NewValue = new G4double[WLS_E_NUMENTRIES_New];
|
||||||
|
|
||||||
|
G4double* wlsInterpolValue = new G4double[numInterpolPoints];
|
||||||
|
|
||||||
|
for(int j=0; j<WLS_E_NUMENTRIES-1; j++)
|
||||||
|
{
|
||||||
|
G4double interpolDist = (WlsEnergy[j+1]-WlsEnergy[j])/(numInterpolPoints+1);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)] = WlsEnergy[j];
|
||||||
|
NewValue[j*(numInterpolPoints+1)] = wlsSpecVector->Value(WlsEnergy[j]);
|
||||||
|
|
||||||
|
for(int k=0; k<numInterpolPoints; k++)
|
||||||
|
{
|
||||||
|
wlsInterpolValue[k] = wlsSpecVector->Value(WlsEnergy[j]+(k+1)*interpolDist);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)+(k+1)] = WlsEnergy[j]+(k+1)*interpolDist;
|
||||||
|
if(wlsInterpolValue[k]>=0)
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = wlsInterpolValue[k];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = 0;
|
||||||
|
G4cout << "Warning: Intensity of WLS emission spectrum set to 0 for energy "
|
||||||
|
<< NewEnergy[j*(numInterpolPoints+1)+(k+1)]*1e6
|
||||||
|
<< " eV.\nSpline interpolation led to negative value!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NewEnergy[WLS_E_NUMENTRIES_New-1] = WlsEnergy[WLS_E_NUMENTRIES-1];
|
||||||
|
NewValue[WLS_E_NUMENTRIES_New-1] = wlsSpecVector->Value(WlsEnergy[WLS_E_NUMENTRIES-1]);
|
||||||
|
|
||||||
|
delete[] WlsEnergy;
|
||||||
|
delete[] WlsEnergyDist;
|
||||||
|
delete wlsSpecVector;
|
||||||
|
|
||||||
|
WLS_E_NUMENTRIES = WLS_E_NUMENTRIES_New;
|
||||||
|
WlsEnergy = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
WlsEnergyDist = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
WlsEnergy[i] = NewEnergy[i];
|
||||||
|
WlsEnergyDist[i] = NewValue[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
wlsSpecVector = new G4MaterialPropertyVector(WlsEnergy, WlsEnergyDist, WLS_E_NUMENTRIES);
|
||||||
|
wlsSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] NewEnergy;
|
||||||
|
delete[] NewValue;
|
||||||
|
delete[] wlsInterpolValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save spectra to parameter file
|
||||||
|
std::ofstream parameterOutputFile;
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
|
||||||
|
parameterOutputFile << G4endl << "Scintillation emission spectrum:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tIntensity" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << ScintilEnergyDist[i]<< "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
parameterOutputFile << G4endl << "WLS emission spectrum:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tIntensity" << "\n";
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << WlsEnergy[i]*1e6 << "\t" << Parameters::hcPERe/WlsEnergy[i]*1e3
|
||||||
|
<< "\t" << WlsEnergyDist[i]<< "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
// WLS ABSORPTION
|
||||||
|
const G4int WLS_ABS_ENTRIES = Parameters::GetInstance()->NumberOfWlsAbsEnergies();
|
||||||
|
G4double* WlsAbsEnergy = new G4double[WLS_ABS_ENTRIES];
|
||||||
|
G4double* WlsAbsLength = new G4double[WLS_ABS_ENTRIES];
|
||||||
|
|
||||||
|
for(int j=0; j<WLS_ABS_ENTRIES; j++)
|
||||||
|
{
|
||||||
|
WlsAbsEnergy[j] = Parameters::GetInstance()->WlsAbsEnergy[j]*eV;
|
||||||
|
WlsAbsLength[j] = Parameters::GetInstance()->WlsAbsLength[j]*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save WLS absorption lengths to parameter file
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "WLS absorption length / m:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tAbsorption length" << "\n";
|
||||||
|
for(int i=0; i<WLS_ABS_ENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << WlsAbsEnergy[i]*1e6 << "\t" << Parameters::hcPERe/WlsAbsEnergy[i]*1e3
|
||||||
|
<< "\t" << WlsAbsLength[i]*1e-3 << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
// REFRACTIVE INDICES
|
||||||
|
|
||||||
|
G4double* Vacuum_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Pstyrene_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Epoxy_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
// Functions are saved in parameter-file
|
||||||
|
// todo: write this functions in c++ code
|
||||||
|
TF1 vacuumRind("vacuumRind",Parameters::GetInstance()->RefractiveIndexVacuum(),300,800);
|
||||||
|
TF1 coreRind("coreRind",Parameters::GetInstance()->RefractiveIndexCore(),300,800);
|
||||||
|
TF1 clad1Rind("clad1Rind",Parameters::GetInstance()->RefractiveIndexClad1(),300,800);
|
||||||
|
TF1 clad2Rind("clad2Rind",Parameters::GetInstance()->RefractiveIndexClad2(),300,800);
|
||||||
|
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[i]*1e3;
|
||||||
|
Vacuum_RIND[i] = vacuumRind.Eval(wavelengthNanometer);
|
||||||
|
Pstyrene_RIND[i] = coreRind.Eval(wavelengthNanometer);
|
||||||
|
PMMA_RIND[i] = clad1Rind.Eval(wavelengthNanometer);
|
||||||
|
PMMA2_RIND[i] = clad2Rind.Eval(wavelengthNanometer);
|
||||||
|
Epoxy_RIND[i] = 1.59;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save refractive indices to parameter file
|
||||||
|
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "Refractive indices:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tVacuum\tClad2\tClad1\tCore" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << Vacuum_RIND[i]<< "\t" << PMMA2_RIND[i] << "\t"
|
||||||
|
<< PMMA_RIND[i] << "\t" << Pstyrene_RIND[i] << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
|
||||||
|
// Set material properties table of Vacuum
|
||||||
|
|
||||||
|
G4double* Vacuum_ABS = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Epoxy_ABS = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++){
|
||||||
|
Vacuum_ABS[i] = 5e4*m; // absorption length in vacuum...
|
||||||
|
Epoxy_ABS[i] = 1*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable *Vacuum_mt = new G4MaterialPropertiesTable();
|
||||||
|
Vacuum_mt->AddProperty("RINDEX", Energy, Vacuum_RIND,E_NUMENTRIES);
|
||||||
|
Vacuum_mt->AddProperty("ABSLENGTH",Energy,Vacuum_ABS,E_NUMENTRIES);
|
||||||
|
Vacuum->SetMaterialPropertiesTable(Vacuum_mt);
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable *Epoxy_mt = new G4MaterialPropertiesTable();
|
||||||
|
Epoxy_mt->AddProperty("RINDEX", Energy, Epoxy_RIND, E_NUMENTRIES);
|
||||||
|
Epoxy_mt->AddProperty("ABSLENGTH", Energy, Epoxy_ABS, E_NUMENTRIES);
|
||||||
|
Glue->SetMaterialPropertiesTable(Epoxy_mt);
|
||||||
|
|
||||||
|
// give air same material properties as vacuum
|
||||||
|
Air->SetMaterialPropertiesTable(Vacuum_mt);
|
||||||
|
|
||||||
|
// RAYLEIGH SCATTERING
|
||||||
|
|
||||||
|
G4double* Pstyrene_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
TF1 coreRayleigh("coreRayleigh",Parameters::GetInstance()->RayleighCore(),300,800);
|
||||||
|
TF1 clad1Rayleigh("clad1Rayleigh",Parameters::GetInstance()->RayleighClad1(),300,800);
|
||||||
|
TF1 clad2Rayleigh("clad2Rayleigh",Parameters::GetInstance()->RayleighClad2(),300,800);
|
||||||
|
|
||||||
|
// Calculate scattering lengths
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES; j++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[j]*1e3;
|
||||||
|
// todo : write this functions in c++
|
||||||
|
Pstyrene_RAYLEIGH[j] = 1./coreRayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA_RAYLEIGH[j] = 1./clad1Rayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA2_RAYLEIGH[j] = 1./clad2Rayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save Rayleigh scattering lengths to parameter file
|
||||||
|
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "Rayleigh scattering length / m:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tClad2\tClad1\tCore" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << PMMA2_RAYLEIGH[i]*1e-3 << "\t" << PMMA_RAYLEIGH[i]*1e-3
|
||||||
|
<< "\t" << Pstyrene_RAYLEIGH[i]*1e-3 << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Material properties table
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable* scintCoreMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
G4MaterialPropertiesTable* innerCladMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
G4MaterialPropertiesTable* outerCladMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
|
||||||
|
// Set refractive indices
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("RINDEX",Energy,Pstyrene_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("RINDEX",Energy,PMMA_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("RINDEX",Energy,PMMA2_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
// Set absorption
|
||||||
|
|
||||||
|
// todo : write functions in c++ code
|
||||||
|
TF1 coreAbs("coreAbs",Parameters::GetInstance()->AbsorptionCore(),300,800);
|
||||||
|
TF1 clad1Abs("clad1Abs",Parameters::GetInstance()->AbsorptionClad1(),300,800);
|
||||||
|
TF1 clad2Abs("clad2Abs",Parameters::GetInstance()->AbsorptionClad2(),300,800);
|
||||||
|
|
||||||
|
G4double* Pstyrene_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
// Calculate absorption lengths
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES; j++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[j]*1e3;
|
||||||
|
|
||||||
|
Pstyrene_ABSLENGTH[j] = 1./coreAbs.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA_ABSLENGTH[j] = 1./clad1Abs.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA2_ABSLENGTH[j] = 1./clad2Abs.Eval(wavelengthNanometer)*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("ABSLENGTH",Energy,Pstyrene_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("ABSLENGTH",Energy,PMMA_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("ABSLENGTH",Energy,PMMA2_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] Pstyrene_ABSLENGTH;
|
||||||
|
delete[] PMMA_ABSLENGTH;
|
||||||
|
delete[] PMMA2_ABSLENGTH;
|
||||||
|
|
||||||
|
// Set Rayleigh scattering
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("RAYLEIGH",Energy,Pstyrene_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("RAYLEIGH",Energy,PMMA_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("RAYLEIGH",Energy,PMMA2_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
// Set scintillation and WLS properties
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("FASTCOMPONENT",scintSpecVector);
|
||||||
|
scintCoreMaterialProperties->AddProperty("SLOWCOMPONENT",scintSpecVector);
|
||||||
|
scintCoreMaterialProperties->AddProperty("WLSCOMPONENT",wlsSpecVector);
|
||||||
|
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("SCINTILLATIONYIELD",
|
||||||
|
Parameters::GetInstance()->ScintillationYield()/keV);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("RESOLUTIONSCALE",
|
||||||
|
Parameters::GetInstance()->ResolutionScale());
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("FASTTIMECONSTANT",
|
||||||
|
Parameters::GetInstance()->DecayTimeFast()*ns);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("SLOWTIMECONSTANT",
|
||||||
|
Parameters::GetInstance()->DecayTimeSlow()*ns);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("YIELDRATIO", Parameters::GetInstance()->YieldRatio());
|
||||||
|
// Is set in "PhysicsList.hh" as well due to inconsistency in Geant4 (G4OpticalPhsysics default value)
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("WLSABSLENGTH",
|
||||||
|
WlsAbsEnergy,WlsAbsLength,WLS_ABS_ENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("WLSTIMECONSTANT", Parameters::GetInstance()->WlsDecayTime()*ns);
|
||||||
|
|
||||||
|
// Assign material properties tables
|
||||||
|
|
||||||
|
scintCoreMaterial->SetMaterialPropertiesTable(scintCoreMaterialProperties);
|
||||||
|
innerCladdingMaterial->SetMaterialPropertiesTable(innerCladMaterialProperties);
|
||||||
|
outerCladdingMaterial->SetMaterialPropertiesTable(outerCladMaterialProperties);
|
||||||
|
|
||||||
|
// Set the Birks Constant for the Polystyrene scintillator
|
||||||
|
scintCoreMaterial->GetIonisation()->SetBirksConstant(Parameters::GetInstance()->BirksConstant()*mm/MeV);
|
||||||
|
|
||||||
|
delete[] Energy;
|
||||||
|
delete[] ScintilEnergyDist;
|
||||||
|
|
||||||
|
delete[] WlsEnergy;
|
||||||
|
delete[] WlsEnergyDist;
|
||||||
|
|
||||||
|
delete[] WlsAbsEnergy;
|
||||||
|
delete[] WlsAbsLength;
|
||||||
|
|
||||||
|
delete[] Vacuum_RIND;
|
||||||
|
delete[] Vacuum_ABS;
|
||||||
|
|
||||||
|
delete[] Pstyrene_RIND;
|
||||||
|
delete[] PMMA_RIND;
|
||||||
|
delete[] PMMA2_RIND;
|
||||||
|
|
||||||
|
delete[] Pstyrene_RAYLEIGH;
|
||||||
|
delete[] PMMA_RAYLEIGH;
|
||||||
|
delete[] PMMA2_RAYLEIGH;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
G4VPhysicalVolume* DetectorConstruction::Construct()
|
||||||
|
{
|
||||||
|
DefineMaterials();
|
||||||
|
DefineMaterialProperties();
|
||||||
|
|
||||||
|
// Placing the world (experimental hall)
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// World
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
G4Box * world_box =
|
||||||
|
new G4Box("World", fWorldSizeX, fWorldSizeY, fWorldSizeZ);
|
||||||
|
|
||||||
|
fLogicWorld = new G4LogicalVolume(world_box,
|
||||||
|
Air,
|
||||||
|
"World");
|
||||||
|
|
||||||
|
fPhysiWorld = new G4PVPlacement(0,G4ThreeVector(0.,0.,0.), fLogicWorld,"World", 0, false, 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
G4Box* detector_box = new G4Box("Detector",detector_x,detector_y,detector_z);
|
||||||
|
detector_log = new G4LogicalVolume(detector_box,Air,"Detector");
|
||||||
|
detector_phys = new G4PVPlacement(0,G4ThreeVector(0. , 0., scint_z ),detector_log,"Detector",fLogicWorld,false,0);
|
||||||
|
|
||||||
|
|
||||||
|
// Epoxy (a sheet of epoxy that the fibres are embedded inside)
|
||||||
|
G4double xEpoxy = 0.5*(Nk*xDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+5*mm;
|
||||||
|
G4double yEpoxy = 0.5*(Nj*yDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+0.5*mm;
|
||||||
|
G4Box* epoxyBox = new G4Box("EpoxyBox",xEpoxy, yEpoxy, scint_z);
|
||||||
|
epoxyLog = new G4LogicalVolume(epoxyBox, Epoxy, "EpoxyBox", 0, 0, 0);
|
||||||
|
epoxyPhy = new G4PVPlacement(0, G4ThreeVector() , epoxyLog, "EpoxyBox", detector_log, false, 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// Mirror for reflection at one of the end
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
// Place the mirror only if the user wants the mirror
|
||||||
|
if (fMirrorToggle) {
|
||||||
|
|
||||||
|
G4VSolid* solidMirror = new G4Box("Mirror",
|
||||||
|
xEpoxy,
|
||||||
|
yEpoxy,
|
||||||
|
fMirrorZ);
|
||||||
|
|
||||||
|
G4LogicalVolume* logicMirror = new G4LogicalVolume(solidMirror,
|
||||||
|
alu,
|
||||||
|
"Mirror");
|
||||||
|
|
||||||
|
G4OpticalSurface* mirrorSurface = new G4OpticalSurface("MirrorSurface",
|
||||||
|
glisur,
|
||||||
|
ground,
|
||||||
|
dielectric_metal,
|
||||||
|
fMirrorPolish);
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable* mirrorSurfaceProperty =
|
||||||
|
new G4MaterialPropertiesTable();
|
||||||
|
|
||||||
|
G4double p_mirror[] = {2.00*eV, 3.47*eV};
|
||||||
|
const G4int nbins = sizeof(p_mirror)/sizeof(G4double);
|
||||||
|
G4double refl_mirror[] = {fMirrorReflectivity,fMirrorReflectivity};
|
||||||
|
assert(sizeof(refl_mirror) == sizeof(p_mirror));
|
||||||
|
G4double effi_mirror[] = {0, 0};
|
||||||
|
assert(sizeof(effi_mirror) == sizeof(effi_mirror));
|
||||||
|
|
||||||
|
mirrorSurfaceProperty->
|
||||||
|
AddProperty("REFLECTIVITY",p_mirror,refl_mirror,nbins);
|
||||||
|
mirrorSurfaceProperty->
|
||||||
|
AddProperty("EFFICIENCY",p_mirror,effi_mirror,nbins);
|
||||||
|
|
||||||
|
mirrorSurface -> SetMaterialPropertiesTable(mirrorSurfaceProperty);
|
||||||
|
|
||||||
|
new G4PVPlacement(0,
|
||||||
|
G4ThreeVector(0.0,0.0,-scint_z-2*fMirrorZ),
|
||||||
|
logicMirror,
|
||||||
|
"Mirror",
|
||||||
|
detector_log,
|
||||||
|
false,
|
||||||
|
0);
|
||||||
|
|
||||||
|
new G4LogicalSkinSurface("MirrorSurface",logicMirror,mirrorSurface);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ABS plastic (some dead material)
|
||||||
|
G4double xABS = xEpoxy;
|
||||||
|
G4double yABS = 2.5*mm;
|
||||||
|
G4double zABS = scint_z;
|
||||||
|
G4Box* absBox = new G4Box("AbsBox", xABS, yABS/2., zABS);
|
||||||
|
absLog = new G4LogicalVolume(absBox, Abs_plastic, "AbsBox", 0, 0,0);
|
||||||
|
//absPhy = new G4PVPlacement(0, G4ThreeVector(0., -(yEpoxy+yABS/2.), 0.), absLog, "AbsBox", detector_log, false, 0);
|
||||||
|
|
||||||
|
ConstructFiber(); //place the fibres
|
||||||
|
// ConstructFiberSheet();
|
||||||
|
|
||||||
|
/* ++ Construction and placement of the detector strips ++ */
|
||||||
|
|
||||||
|
// Epoxy layer infront of det strip
|
||||||
|
G4VSolid* epoxy_strip = new G4Box("EpoxyStrip", stripWidth/2., stripHeight/2., epoxy_strip_width/2.);
|
||||||
|
G4LogicalVolume* epoxy_strip_log = new G4LogicalVolume(epoxy_strip, Glue, "EpoxyStrip", 0, 0, 0);
|
||||||
|
|
||||||
|
//place the pixels at the end of the fibre mat
|
||||||
|
G4VSolid* pixelS = new G4Box("Pixel", pixelDimX/2., pixelDimY/2., stripWidth/2.);
|
||||||
|
G4LogicalVolume* pixelL = new G4LogicalVolume(pixelS, Glue, "Pixel", 0, 0, 0);
|
||||||
|
|
||||||
|
SensitiveDetector* sensitive = new SensitiveDetector("/Sensitive");
|
||||||
|
G4SDManager* sdman = G4SDManager::GetSDMpointer();
|
||||||
|
sdman->AddNewDetector(sensitive);
|
||||||
|
pixelL->SetSensitiveDetector(sensitive);
|
||||||
|
|
||||||
|
// G4int Nk_s = ceil(((G4double)Nk)*(xDist/stripWidth)); // Determ. autom. nb. of detector strips.
|
||||||
|
G4int Nk_s = Nk;//set to the same number of SiPMs as the number of fibres
|
||||||
|
|
||||||
|
for(int k = 0; k < Nk_s; k++) //for every sipm
|
||||||
|
{
|
||||||
|
new G4PVPlacement(0, objectPos(Nj/2, k, scint_z+epoxy_strip_width/2.+airGap), epoxy_strip_log,
|
||||||
|
"EpoxyStrip", detector_log, false, 0);
|
||||||
|
|
||||||
|
for(int i = 0; i < Nx; i++) //rows of pixels in each SiPM
|
||||||
|
{
|
||||||
|
for(int j = 0; j < Ny; j++){ //columns of pixels in each SiPM
|
||||||
|
// new G4PVPlacement(0, objectPos(Nj/2, i, j, k, scint_z+stripWidth/2.+epoxy_strip_width+airGap), pixelL, "SensitiveDetector"+C::c1(k)+C::c2(i)+C::c3(j), detector_log, false, 0);
|
||||||
|
// C::c1(k)+C::c2(i)+C::c3(j) = "kkkijj" with 0-padding in front
|
||||||
|
// this currently breaks if i>9
|
||||||
|
/// need C::c1(k)+C::c3(i)+C::c3(j)
|
||||||
|
new G4PVPlacement(0, objectPos(Nj/2, i, j, k, scint_z+stripWidth/2.+epoxy_strip_width+airGap), pixelL, "SensitiveDetector"+C::c1(k)+C::c3(i)+C::c3(j), detector_log, false, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of Constr. and placem. of det. strips ++ */
|
||||||
|
|
||||||
|
/* Construction and placement of trigger
|
||||||
|
* Trigger should have the same x,y-dimensions as epoxyBox
|
||||||
|
*/
|
||||||
|
|
||||||
|
G4double xTrigger = xEpoxy;//Parameters::GetInstance()->TriggerX()*mm;
|
||||||
|
G4double yTrigger = Parameters::GetInstance()->TriggerY()*mm;
|
||||||
|
G4double zTrigger = scint_z*2.0;//;Parameters::GetInstance()->TriggerZ()*mm;
|
||||||
|
|
||||||
|
G4double triggerXPos = 0.0; //Parameters::GetInstance()->TriggerXPos()*mm;
|
||||||
|
G4double triggerZPos = 0.0; //Parameters::GetInstance()->TriggerZPos()*mm;
|
||||||
|
|
||||||
|
G4VSolid* triggerS = new G4Box("Trigger", xTrigger/2., yTrigger/2., zTrigger/2.);
|
||||||
|
G4LogicalVolume* triggerL = new G4LogicalVolume(triggerS, Air, "Trigger", 0, 0, 0);
|
||||||
|
new G4PVPlacement(0 , G4ThreeVector(triggerXPos, -(yEpoxy+yTrigger/2.+yABS), triggerZPos),
|
||||||
|
triggerL, "Trigger", detector_log, false, 0);
|
||||||
|
|
||||||
|
return fPhysiWorld;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DetectorConstruction::ConstructFiberSheet()
|
||||||
|
{
|
||||||
|
//a generic sheet of scintillator
|
||||||
|
// dimensions
|
||||||
|
|
||||||
|
G4double dim_z;
|
||||||
|
G4double sphi, ephi;
|
||||||
|
dim_z = scint_z;
|
||||||
|
sphi = 0.00*deg;
|
||||||
|
ephi = 360.*deg;
|
||||||
|
G4double xEpoxy = 0.5*(Nk*xDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+5*mm;
|
||||||
|
// Scintillating core
|
||||||
|
// G4Tubs* coreSection_tube = new G4Tubs("CoreSection",core_rZmin,core_rZmax,dim_z, sphi,ephi);
|
||||||
|
// G4Box* coreSection_tube= new G4Box("CoreSection", stripWidth/3., 0.85*mm, epoxy_strip_width/2.);
|
||||||
|
G4Box* CoreBox = new G4Box("CoreBox",xEpoxy-1*mm, 0.8294/2.0*mm, scint_z);
|
||||||
|
G4LogicalVolume *coreSection_log = new G4LogicalVolume(CoreBox,
|
||||||
|
scintCoreMaterial, "CoreSection",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, G4ThreeVector(), coreSection_log, "Core", epoxyLog, true, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
void DetectorConstruction::ConstructFiber()
|
||||||
|
{
|
||||||
|
// dimensions
|
||||||
|
G4double dim_z;
|
||||||
|
G4double sphi, ephi;
|
||||||
|
G4double core_rZmin,core_rZmax;
|
||||||
|
G4double core_rYmin,core_rYmax;
|
||||||
|
G4double clad1_rZmin,clad1_rZmax;
|
||||||
|
G4double clad1_rYmin,clad1_rYmax;
|
||||||
|
G4double clad2_rZmin,clad2_rZmax;
|
||||||
|
G4double clad2_rYmin,clad2_rYmax;
|
||||||
|
|
||||||
|
dim_z = scint_z;
|
||||||
|
sphi = 0.00*deg;
|
||||||
|
ephi = 360.*deg;
|
||||||
|
|
||||||
|
core_rZmin = 0.00*cm;
|
||||||
|
core_rYmin = 0.00*cm;
|
||||||
|
|
||||||
|
core_rZmax = Parameters::GetInstance()->SemiAxisZ()*(88./100.)*mm;
|
||||||
|
core_rYmax = Parameters::GetInstance()->SemiAxisY()*(88./100.)*mm;
|
||||||
|
|
||||||
|
clad1_rZmin = core_rZmax;
|
||||||
|
clad1_rYmin = core_rYmax;
|
||||||
|
|
||||||
|
clad1_rZmax = core_rZmax + 3./88.*core_rZmax*2.;
|
||||||
|
clad1_rYmax = core_rYmax + 3./88.*core_rYmax*2.;
|
||||||
|
|
||||||
|
clad2_rZmin = clad1_rZmax;
|
||||||
|
clad2_rYmin = clad1_rYmax;
|
||||||
|
|
||||||
|
clad2_rZmax = Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
clad2_rYmax = Parameters::GetInstance()->SemiAxisY()*mm;
|
||||||
|
|
||||||
|
G4ThreeVector origin;
|
||||||
|
/* ++ Fibre Placement ++ */
|
||||||
|
for(int j = 0; j < Nj; j++)
|
||||||
|
{
|
||||||
|
for(int k = 0; k < Nk; k++)
|
||||||
|
{
|
||||||
|
origin = objectPos(j,k);
|
||||||
|
|
||||||
|
// Outer cladding
|
||||||
|
G4Tubs* clad2Section_tube = new G4Tubs("Cladding2Section",clad2_rZmin,clad2_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *clad2Section_log = new G4LogicalVolume(clad2Section_tube,
|
||||||
|
outerCladdingMaterial, "Cladding2Section",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, clad2Section_log, "Cladding2"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
|
||||||
|
|
||||||
|
// Inner cladding
|
||||||
|
G4Tubs* clad1Section_tube = new G4Tubs("Cladding1Section",clad1_rZmin,clad1_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *clad1Section_log = new G4LogicalVolume(clad1Section_tube,
|
||||||
|
innerCladdingMaterial, "Cladding1Section",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, clad1Section_log, "Cladding1"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
|
||||||
|
// Scintillating core
|
||||||
|
G4Tubs* coreSection_tube = new G4Tubs("CoreSection",core_rZmin,core_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *coreSection_log = new G4LogicalVolume(coreSection_tube,
|
||||||
|
scintCoreMaterial, "CoreSection",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, coreSection_log, "Core"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of Fibre Placement ++ */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// for fibre placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int k)
|
||||||
|
{
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
G4double xsigma = (-0.49*j*j + 7.0*j-1.8)/1000.;
|
||||||
|
G4double xvar = G4RandGauss::shoot(0.,xsigma);
|
||||||
|
while(fabs(xvar)>=0.020*mm) {
|
||||||
|
xvar = G4RandGauss::shoot(0.,xsigma);
|
||||||
|
}
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
G4ThreeVector origin(xDist*k+xDispl-xOffset+xvar, -yDist*j+yOffset, 0.);
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
std::ofstream outFile;
|
||||||
|
outFile.open("fibrePos.txt",std::ios::app);
|
||||||
|
outFile << origin.x() << "\t" << origin.y() << std::endl;
|
||||||
|
outFile.close();
|
||||||
|
|
||||||
|
//G4cout << "Placing Fibre[" << k << ":" << j << "]: " << origin << G4endl;
|
||||||
|
|
||||||
|
//G4cout << origin.x() << "\t" << origin.y() << G4endl;
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for detector placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int k, G4double zPos)
|
||||||
|
{
|
||||||
|
G4double randomN = Parameters::GetInstance()->RandomNumber();
|
||||||
|
G4double offset = (stripWidth/2.)*randomN;
|
||||||
|
|
||||||
|
// Save random number
|
||||||
|
std::ofstream myfile;
|
||||||
|
myfile.open("randomN.txt");
|
||||||
|
myfile << randomN;
|
||||||
|
myfile.close();
|
||||||
|
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
// G4ThreeVector origin(stripWidth*k+xDispl-xOffset-offset, -yDist*j+yOffset, zPos);
|
||||||
|
G4ThreeVector origin(xDist*k+xDispl-xOffset-offset, -yDist*j+yOffset, zPos); //set at fibre position
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
std::ofstream detFile;
|
||||||
|
detFile.open("detPos.txt",std::ios::app);
|
||||||
|
detFile << k << " " << stripWidth*k+xDispl-xOffset-offset << std::endl;
|
||||||
|
detFile.close();
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for detector placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int i, G4int j2, G4int k, G4double zPos)
|
||||||
|
{
|
||||||
|
G4double randomN = Parameters::GetInstance()->RandomNumber();
|
||||||
|
G4double offset = (stripWidth/2.)*randomN;
|
||||||
|
|
||||||
|
// Save random number
|
||||||
|
//std::ofstream myfile;
|
||||||
|
//myfile.open("randomN.txt");
|
||||||
|
//myfile << randomN;
|
||||||
|
//myfile.close();
|
||||||
|
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm + 3/2*pixelDimY;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
//std::ofstream detFile;
|
||||||
|
//detFile.open("detPos.txt",std::ios::app);
|
||||||
|
//detFile << k << " " << stripWidth*k+xDispl-xOffset-offset << std::endl;
|
||||||
|
//detFile.close();
|
||||||
|
|
||||||
|
G4double pixelX = pixelDimX + i*pixelDimX - stripWidth/2.;
|
||||||
|
G4double pixelY = -pixelDimY/2. + j2*pixelDimY - stripHeight/2.;
|
||||||
|
|
||||||
|
// G4ThreeVector origin(stripWidth*k+xDispl-xOffset-offset + pixelX, -yDist*j+yOffset + pixelY, zPos);
|
||||||
|
G4ThreeVector origin(xDist*k+xDispl-xOffset-offset + pixelX, -yDist*j+yOffset + pixelY, zPos); //start at fibre postion
|
||||||
|
|
||||||
|
std::ofstream detFileY;
|
||||||
|
detFileY.open("detPosY.txt",std::ios::app);
|
||||||
|
detFileY << k << " " << -yDist*j+yOffset + pixelY << std::endl;
|
||||||
|
detFileY.close();
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
884
SciFiSim/src/DetectorConstruction.cc~
Executable file
884
SciFiSim/src/DetectorConstruction.cc~
Executable file
@ -0,0 +1,884 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "DetectorConstruction.hh"
|
||||||
|
#include "G4Material.hh"
|
||||||
|
#include "G4LogicalBorderSurface.hh"
|
||||||
|
#include "G4LogicalSkinSurface.hh"
|
||||||
|
#include "G4Box.hh"
|
||||||
|
#include "G4Tubs.hh"
|
||||||
|
#include "G4EllipticalTube.hh"
|
||||||
|
#include "G4SubtractionSolid.hh"
|
||||||
|
#include "G4LogicalVolume.hh"
|
||||||
|
#include "G4RotationMatrix.hh"
|
||||||
|
#include "G4PVPlacement.hh"
|
||||||
|
#include "G4OpBoundaryProcess.hh"
|
||||||
|
#include "G4MaterialPropertyVector.hh"
|
||||||
|
#include "G4NistManager.hh"
|
||||||
|
#include "G4VisAttributes.hh"
|
||||||
|
#include "G4Colour.hh"
|
||||||
|
#include "G4PVParameterised.hh"
|
||||||
|
#include "SensitiveDetector.hh"
|
||||||
|
#include "G4SDManager.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include "TF1.h"
|
||||||
|
#include "TF2.h"
|
||||||
|
#include "Randomize.hh"
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
#include "G4VPVParameterisation.hh"
|
||||||
|
#include "Convert.hh"
|
||||||
|
#include <math.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
DetectorConstruction::DetectorConstruction()
|
||||||
|
: G4VUserDetectorConstruction(),
|
||||||
|
fScoringVolume(0)
|
||||||
|
{
|
||||||
|
// Size of experimental hall and fibre length //
|
||||||
|
expHall_x = 35*mm/2.+0.5*m;
|
||||||
|
expHall_y = 10*mm/2.+0.5*m;
|
||||||
|
expHall_z = (Parameters::GetInstance()->FibreLength()+0.5)/2.*m+0.5*m;
|
||||||
|
scint_z = Parameters::GetInstance()->FibreLength()/2.*m;
|
||||||
|
|
||||||
|
// mat/detector dimensions
|
||||||
|
Nj = 8;
|
||||||
|
Nk = 128;
|
||||||
|
|
||||||
|
xDist = 0.350 * mm;
|
||||||
|
yDist = 0.185 * mm;
|
||||||
|
stripWidth = 0.25 * mm;
|
||||||
|
stripHeight = 1.62 * mm;
|
||||||
|
|
||||||
|
airGap = 0.001 * mm;
|
||||||
|
pixelDimX = 0.0625 * mm;
|
||||||
|
pixelDimY = 0.0675 * mm;
|
||||||
|
epoxy_strip_width = 0.1*mm;
|
||||||
|
|
||||||
|
Nx = 4;
|
||||||
|
Ny = 24;
|
||||||
|
|
||||||
|
|
||||||
|
fMirrorToggle = true;
|
||||||
|
fMirrorPolish = 1.;
|
||||||
|
fMirrorReflectivity = 0.8;
|
||||||
|
|
||||||
|
|
||||||
|
fMirrorZ = 0.1*mm;
|
||||||
|
fMirrorRmax = 0.250*mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
DetectorConstruction::~DetectorConstruction(){}
|
||||||
|
|
||||||
|
void DetectorConstruction::DefineMaterials()
|
||||||
|
{
|
||||||
|
// Get nist material manager
|
||||||
|
G4NistManager* man = G4NistManager::Instance();
|
||||||
|
// Option to switch on/off checking of volumes overlaps
|
||||||
|
//
|
||||||
|
G4bool checkOverlaps = true;
|
||||||
|
|
||||||
|
|
||||||
|
// Elements to cunstruct inner cladding material (PMMA)
|
||||||
|
G4double densityPMMA = 1190*kg/m3;
|
||||||
|
std::vector<G4String> PMMA_elm;
|
||||||
|
std::vector<G4int> PMMA_nbAtoms;
|
||||||
|
PMMA_elm.push_back("H"); PMMA_nbAtoms.push_back(8);
|
||||||
|
PMMA_elm.push_back("C"); PMMA_nbAtoms.push_back(5);
|
||||||
|
PMMA_elm.push_back("O"); PMMA_nbAtoms.push_back(2);
|
||||||
|
PMMA = man->ConstructNewMaterial("PMMA", PMMA_elm, PMMA_nbAtoms, densityPMMA);
|
||||||
|
|
||||||
|
// Elements to cunstruct outer cladding material (PTFEMA)
|
||||||
|
G4double densityPMMA2 = 1430*kg/m3;
|
||||||
|
std::vector<G4String> PMMA2_elm;
|
||||||
|
std::vector<G4int> PMMA2_nbAtoms;
|
||||||
|
PMMA2_elm.push_back("H"); PMMA2_nbAtoms.push_back(7);
|
||||||
|
PMMA2_elm.push_back("C"); PMMA2_nbAtoms.push_back(6);
|
||||||
|
PMMA2_elm.push_back("O"); PMMA2_nbAtoms.push_back(2);
|
||||||
|
PMMA2_elm.push_back("F"); PMMA2_nbAtoms.push_back(3);
|
||||||
|
PMMA2 = man->ConstructNewMaterial("PMMA2", PMMA2_elm, PMMA2_nbAtoms, densityPMMA2=1430*kg/m3);
|
||||||
|
|
||||||
|
// Glue (Epo-Tek 301)
|
||||||
|
G4double Glue_density = 1.15*g/cm3;
|
||||||
|
std::vector<G4String> Glue_elm;
|
||||||
|
std::vector<G4int> Glue_nbAtoms;
|
||||||
|
Glue_elm.push_back("C"); Glue_nbAtoms.push_back(19);
|
||||||
|
Glue_elm.push_back("H"); Glue_nbAtoms.push_back(27);
|
||||||
|
Glue_elm.push_back("O"); Glue_nbAtoms.push_back(3);
|
||||||
|
Glue = man->ConstructNewMaterial("Glue",Glue_elm, Glue_nbAtoms, Glue_density);
|
||||||
|
|
||||||
|
// TiO2
|
||||||
|
G4double TiO2_density = 4.26*g/cm3;
|
||||||
|
std::vector<G4String> TiO2_elm;
|
||||||
|
std::vector<G4int> TiO2_nbAtoms;
|
||||||
|
TiO2_elm.push_back("Ti"); TiO2_nbAtoms.push_back(1);
|
||||||
|
TiO2_elm.push_back("Ti"); TiO2_nbAtoms.push_back(2);
|
||||||
|
TiO2 = man->ConstructNewMaterial("TiO2",TiO2_elm, TiO2_nbAtoms, TiO2_density);
|
||||||
|
|
||||||
|
// Abs plastic
|
||||||
|
G4double Abs_density = 1.07*g/cm3;
|
||||||
|
std::vector<G4String> Abs_elm;
|
||||||
|
std::vector<G4int> Abs_nbAtoms;
|
||||||
|
Abs_elm.push_back("H"); Abs_nbAtoms.push_back(17);
|
||||||
|
Abs_elm.push_back("C"); Abs_nbAtoms.push_back(13);
|
||||||
|
Abs_elm.push_back("N"); Abs_nbAtoms.push_back(1);
|
||||||
|
Abs_plastic = man->ConstructNewMaterial("Abs_plastic", Abs_elm, Abs_nbAtoms, Abs_density);
|
||||||
|
|
||||||
|
// Epoxy
|
||||||
|
G4double Epoxy_density = 1.5*g/cm3;
|
||||||
|
Epoxy = new G4Material("Epoxy", Epoxy_density, 2);
|
||||||
|
Epoxy->AddMaterial(TiO2, 25*perCent);
|
||||||
|
Epoxy->AddMaterial(Glue, 75*perCent);
|
||||||
|
|
||||||
|
// Environment
|
||||||
|
Air = man->FindOrBuildMaterial("G4_AIR");
|
||||||
|
Vacuum = man->FindOrBuildMaterial("G4_Galactic");
|
||||||
|
|
||||||
|
// Polystyrene G4_POLYSTYRENE
|
||||||
|
Pstyrene = man->FindOrBuildMaterial("G4_POLYSTYRENE");
|
||||||
|
|
||||||
|
// Aluminium
|
||||||
|
alu = man->FindOrBuildMaterial("G4_Al");
|
||||||
|
|
||||||
|
// Core sections
|
||||||
|
G4String materialNameCore = "ScintCoreMaterial";
|
||||||
|
scintCoreMaterial = new G4Material(materialNameCore,Pstyrene->GetDensity(),1);
|
||||||
|
scintCoreMaterial->AddMaterial(Pstyrene,1.);
|
||||||
|
|
||||||
|
// Inner cladding sections
|
||||||
|
G4String materialNameCladding1 = "InnerCladdingMaterial";
|
||||||
|
innerCladdingMaterial = new G4Material(materialNameCladding1,PMMA->GetDensity(),1);
|
||||||
|
innerCladdingMaterial->AddMaterial(PMMA,1.);
|
||||||
|
|
||||||
|
// Outer cladding sections
|
||||||
|
G4String materialNameCladding2 = "OuterCladdingMaterial";
|
||||||
|
outerCladdingMaterial = new G4Material(materialNameCladding2,PMMA2->GetDensity(),1);
|
||||||
|
outerCladdingMaterial->AddMaterial(PMMA2,1.);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void DetectorConstruction::DefineMaterialProperties()
|
||||||
|
{
|
||||||
|
// Initialise considered ENERGIES and EMISSION SPECTRA for scintillation and wls
|
||||||
|
|
||||||
|
const G4int numInterpolPoints = Parameters::GetInstance()->NumberOfInterpolatedPoints();
|
||||||
|
|
||||||
|
// Set scintillation emmision spectrum
|
||||||
|
G4int E_NUMENTRIES = Parameters::GetInstance()->NumberOfEnergies();
|
||||||
|
G4double* Energy = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
Energy[i] = Parameters::GetInstance()->Energy[i]*eV;
|
||||||
|
|
||||||
|
G4double* ScintilEnergyDist = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
ScintilEnergyDist[i] = Parameters::GetInstance()->Intensity[i];
|
||||||
|
|
||||||
|
G4MaterialPropertyVector* scintSpecVector = new G4MaterialPropertyVector(Energy, ScintilEnergyDist, E_NUMENTRIES);
|
||||||
|
scintSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
// Set the Birks Constant for the Polystyrene scintillator
|
||||||
|
Pstyrene->GetIonisation()->SetBirksConstant(Parameters::GetInstance()->BirksConstant()*mm/MeV);
|
||||||
|
|
||||||
|
// Set wls emmision spectrum
|
||||||
|
G4int WLS_E_NUMENTRIES = Parameters::GetInstance()->NumberOfWlsEmissionEnergies();
|
||||||
|
G4double* WlsEnergy = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
WlsEnergy[i] = Parameters::GetInstance()->WlsEmissionEnergy[i]*eV;
|
||||||
|
|
||||||
|
G4double* WlsEnergyDist = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
WlsEnergyDist[i] = Parameters::GetInstance()->WlsEmissionIntensity[i];
|
||||||
|
|
||||||
|
G4MaterialPropertyVector* wlsSpecVector = new G4MaterialPropertyVector(WlsEnergy, WlsEnergyDist, WLS_E_NUMENTRIES);
|
||||||
|
wlsSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
if(numInterpolPoints>0)
|
||||||
|
{
|
||||||
|
// Interpolate scintillation spectrum
|
||||||
|
|
||||||
|
const G4int E_NUMENTRIES_New = (E_NUMENTRIES-1)*(numInterpolPoints+1)+1;
|
||||||
|
G4double* NewEnergy = new G4double[E_NUMENTRIES_New];
|
||||||
|
G4double* NewValue = new G4double[E_NUMENTRIES_New];
|
||||||
|
G4double* scintInterpolValue = new G4double[numInterpolPoints];
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES-1; j++)
|
||||||
|
{
|
||||||
|
G4double interpolDist = (Energy[j+1]-Energy[j])/(numInterpolPoints+1);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)] = Energy[j];
|
||||||
|
NewValue[j*(numInterpolPoints+1)] = scintSpecVector->Value(Energy[j]);
|
||||||
|
|
||||||
|
for(int k=0; k<numInterpolPoints; k++)
|
||||||
|
{
|
||||||
|
scintInterpolValue[k] = scintSpecVector->Value(Energy[j]+(k+1)*interpolDist);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)+(k+1)] = Energy[j]+(k+1)*interpolDist;
|
||||||
|
|
||||||
|
if(scintInterpolValue[k]>=0)
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = scintInterpolValue[k];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = 0;
|
||||||
|
G4cout << "Warning: Intensity of emission spectrum set to 0 for energy "
|
||||||
|
<< NewEnergy[j*(numInterpolPoints+1)+(k+1)]*1e6
|
||||||
|
<< " eV.\nSpline interpolation led to negative value!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NewEnergy[E_NUMENTRIES_New-1] = Energy[E_NUMENTRIES-1];
|
||||||
|
NewValue[E_NUMENTRIES_New-1] = scintSpecVector->Value(Energy[E_NUMENTRIES-1]);
|
||||||
|
|
||||||
|
delete[] Energy;
|
||||||
|
delete[] ScintilEnergyDist;
|
||||||
|
delete scintSpecVector;
|
||||||
|
|
||||||
|
E_NUMENTRIES = E_NUMENTRIES_New;
|
||||||
|
Energy = new G4double[E_NUMENTRIES];
|
||||||
|
ScintilEnergyDist = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
Energy[i] = NewEnergy[i];
|
||||||
|
ScintilEnergyDist[i] = NewValue[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
scintSpecVector = new G4MaterialPropertyVector(Energy, ScintilEnergyDist, E_NUMENTRIES);
|
||||||
|
scintSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] NewEnergy;
|
||||||
|
delete[] NewValue;
|
||||||
|
delete[] scintInterpolValue;
|
||||||
|
|
||||||
|
|
||||||
|
// Interpolate wls spectrum
|
||||||
|
|
||||||
|
const G4int WLS_E_NUMENTRIES_New = (WLS_E_NUMENTRIES-1)*(numInterpolPoints+1)+1;
|
||||||
|
NewEnergy = new G4double[WLS_E_NUMENTRIES_New];
|
||||||
|
NewValue = new G4double[WLS_E_NUMENTRIES_New];
|
||||||
|
|
||||||
|
G4double* wlsInterpolValue = new G4double[numInterpolPoints];
|
||||||
|
|
||||||
|
for(int j=0; j<WLS_E_NUMENTRIES-1; j++)
|
||||||
|
{
|
||||||
|
G4double interpolDist = (WlsEnergy[j+1]-WlsEnergy[j])/(numInterpolPoints+1);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)] = WlsEnergy[j];
|
||||||
|
NewValue[j*(numInterpolPoints+1)] = wlsSpecVector->Value(WlsEnergy[j]);
|
||||||
|
|
||||||
|
for(int k=0; k<numInterpolPoints; k++)
|
||||||
|
{
|
||||||
|
wlsInterpolValue[k] = wlsSpecVector->Value(WlsEnergy[j]+(k+1)*interpolDist);
|
||||||
|
NewEnergy[j*(numInterpolPoints+1)+(k+1)] = WlsEnergy[j]+(k+1)*interpolDist;
|
||||||
|
if(wlsInterpolValue[k]>=0)
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = wlsInterpolValue[k];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewValue[j*(numInterpolPoints+1)+(k+1)] = 0;
|
||||||
|
G4cout << "Warning: Intensity of WLS emission spectrum set to 0 for energy "
|
||||||
|
<< NewEnergy[j*(numInterpolPoints+1)+(k+1)]*1e6
|
||||||
|
<< " eV.\nSpline interpolation led to negative value!" << G4endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NewEnergy[WLS_E_NUMENTRIES_New-1] = WlsEnergy[WLS_E_NUMENTRIES-1];
|
||||||
|
NewValue[WLS_E_NUMENTRIES_New-1] = wlsSpecVector->Value(WlsEnergy[WLS_E_NUMENTRIES-1]);
|
||||||
|
|
||||||
|
delete[] WlsEnergy;
|
||||||
|
delete[] WlsEnergyDist;
|
||||||
|
delete wlsSpecVector;
|
||||||
|
|
||||||
|
WLS_E_NUMENTRIES = WLS_E_NUMENTRIES_New;
|
||||||
|
WlsEnergy = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
WlsEnergyDist = new G4double[WLS_E_NUMENTRIES];
|
||||||
|
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
WlsEnergy[i] = NewEnergy[i];
|
||||||
|
WlsEnergyDist[i] = NewValue[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
wlsSpecVector = new G4MaterialPropertyVector(WlsEnergy, WlsEnergyDist, WLS_E_NUMENTRIES);
|
||||||
|
wlsSpecVector->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] NewEnergy;
|
||||||
|
delete[] NewValue;
|
||||||
|
delete[] wlsInterpolValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save spectra to parameter file
|
||||||
|
std::ofstream parameterOutputFile;
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
|
||||||
|
parameterOutputFile << G4endl << "Scintillation emission spectrum:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tIntensity" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << ScintilEnergyDist[i]<< "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
parameterOutputFile << G4endl << "WLS emission spectrum:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tIntensity" << "\n";
|
||||||
|
for(int i=0; i<WLS_E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << WlsEnergy[i]*1e6 << "\t" << Parameters::hcPERe/WlsEnergy[i]*1e3
|
||||||
|
<< "\t" << WlsEnergyDist[i]<< "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
// WLS ABSORPTION
|
||||||
|
const G4int WLS_ABS_ENTRIES = Parameters::GetInstance()->NumberOfWlsAbsEnergies();
|
||||||
|
G4double* WlsAbsEnergy = new G4double[WLS_ABS_ENTRIES];
|
||||||
|
G4double* WlsAbsLength = new G4double[WLS_ABS_ENTRIES];
|
||||||
|
|
||||||
|
for(int j=0; j<WLS_ABS_ENTRIES; j++)
|
||||||
|
{
|
||||||
|
WlsAbsEnergy[j] = Parameters::GetInstance()->WlsAbsEnergy[j]*eV;
|
||||||
|
WlsAbsLength[j] = Parameters::GetInstance()->WlsAbsLength[j]*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save WLS absorption lengths to parameter file
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "WLS absorption length / m:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tAbsorption length" << "\n";
|
||||||
|
for(int i=0; i<WLS_ABS_ENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << WlsAbsEnergy[i]*1e6 << "\t" << Parameters::hcPERe/WlsAbsEnergy[i]*1e3
|
||||||
|
<< "\t" << WlsAbsLength[i]*1e-3 << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
// REFRACTIVE INDICES
|
||||||
|
|
||||||
|
G4double* Vacuum_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Pstyrene_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Epoxy_RIND = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
// Functions are saved in parameter-file
|
||||||
|
// todo: write this functions in c++ code
|
||||||
|
TF1 vacuumRind("vacuumRind",Parameters::GetInstance()->RefractiveIndexVacuum(),300,800);
|
||||||
|
TF1 coreRind("coreRind",Parameters::GetInstance()->RefractiveIndexCore(),300,800);
|
||||||
|
TF1 clad1Rind("clad1Rind",Parameters::GetInstance()->RefractiveIndexClad1(),300,800);
|
||||||
|
TF1 clad2Rind("clad2Rind",Parameters::GetInstance()->RefractiveIndexClad2(),300,800);
|
||||||
|
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[i]*1e3;
|
||||||
|
Vacuum_RIND[i] = vacuumRind.Eval(wavelengthNanometer);
|
||||||
|
Pstyrene_RIND[i] = coreRind.Eval(wavelengthNanometer);
|
||||||
|
PMMA_RIND[i] = clad1Rind.Eval(wavelengthNanometer);
|
||||||
|
PMMA2_RIND[i] = clad2Rind.Eval(wavelengthNanometer);
|
||||||
|
Epoxy_RIND[i] = 1.59;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save refractive indices to parameter file
|
||||||
|
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "Refractive indices:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tVacuum\tClad2\tClad1\tCore" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << Vacuum_RIND[i]<< "\t" << PMMA2_RIND[i] << "\t"
|
||||||
|
<< PMMA_RIND[i] << "\t" << Pstyrene_RIND[i] << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
|
||||||
|
// Set material properties table of Vacuum
|
||||||
|
|
||||||
|
G4double* Vacuum_ABS = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* Epoxy_ABS = new G4double[E_NUMENTRIES];
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++){
|
||||||
|
Vacuum_ABS[i] = 5e4*m; // absorption length in vacuum...
|
||||||
|
Epoxy_ABS[i] = 1*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable *Vacuum_mt = new G4MaterialPropertiesTable();
|
||||||
|
Vacuum_mt->AddProperty("RINDEX", Energy, Vacuum_RIND,E_NUMENTRIES);
|
||||||
|
Vacuum_mt->AddProperty("ABSLENGTH",Energy,Vacuum_ABS,E_NUMENTRIES);
|
||||||
|
Vacuum->SetMaterialPropertiesTable(Vacuum_mt);
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable *Epoxy_mt = new G4MaterialPropertiesTable();
|
||||||
|
Epoxy_mt->AddProperty("RINDEX", Energy, Epoxy_RIND, E_NUMENTRIES);
|
||||||
|
Epoxy_mt->AddProperty("ABSLENGTH", Energy, Epoxy_ABS, E_NUMENTRIES);
|
||||||
|
Glue->SetMaterialPropertiesTable(Epoxy_mt);
|
||||||
|
|
||||||
|
// give air same material properties as vacuum
|
||||||
|
Air->SetMaterialPropertiesTable(Vacuum_mt);
|
||||||
|
|
||||||
|
// RAYLEIGH SCATTERING
|
||||||
|
|
||||||
|
G4double* Pstyrene_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_RAYLEIGH = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
TF1 coreRayleigh("coreRayleigh",Parameters::GetInstance()->RayleighCore(),300,800);
|
||||||
|
TF1 clad1Rayleigh("clad1Rayleigh",Parameters::GetInstance()->RayleighClad1(),300,800);
|
||||||
|
TF1 clad2Rayleigh("clad2Rayleigh",Parameters::GetInstance()->RayleighClad2(),300,800);
|
||||||
|
|
||||||
|
// Calculate scattering lengths
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES; j++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[j]*1e3;
|
||||||
|
// todo : write this functions in c++
|
||||||
|
Pstyrene_RAYLEIGH[j] = 1./coreRayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA_RAYLEIGH[j] = 1./clad1Rayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA2_RAYLEIGH[j] = 1./clad2Rayleigh.Eval(wavelengthNanometer)*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save Rayleigh scattering lengths to parameter file
|
||||||
|
|
||||||
|
parameterOutputFile.open(Parameters::GetInstance()->ParameterOutputFileName(), std::ios_base::app);
|
||||||
|
parameterOutputFile << G4endl << "Rayleigh scattering length / m:" << G4endl;
|
||||||
|
parameterOutputFile << "Energy/eV\tWavelength/nm\tClad2\tClad1\tCore" << "\n";
|
||||||
|
for(int i=0; i<E_NUMENTRIES; i++)
|
||||||
|
{
|
||||||
|
parameterOutputFile << Energy[i]*1e6 << "\t" << Parameters::hcPERe/Energy[i]*1e3
|
||||||
|
<< "\t" << PMMA2_RAYLEIGH[i]*1e-3 << "\t" << PMMA_RAYLEIGH[i]*1e-3
|
||||||
|
<< "\t" << Pstyrene_RAYLEIGH[i]*1e-3 << "\n";
|
||||||
|
}
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Material properties table
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable* scintCoreMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
G4MaterialPropertiesTable* innerCladMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
G4MaterialPropertiesTable* outerCladMaterialProperties = new G4MaterialPropertiesTable();
|
||||||
|
|
||||||
|
// Set refractive indices
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("RINDEX",Energy,Pstyrene_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("RINDEX",Energy,PMMA_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("RINDEX",Energy,PMMA2_RIND,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
// Set absorption
|
||||||
|
|
||||||
|
// todo : write functions in c++ code
|
||||||
|
TF1 coreAbs("coreAbs",Parameters::GetInstance()->AbsorptionCore(),300,800);
|
||||||
|
TF1 clad1Abs("clad1Abs",Parameters::GetInstance()->AbsorptionClad1(),300,800);
|
||||||
|
TF1 clad2Abs("clad2Abs",Parameters::GetInstance()->AbsorptionClad2(),300,800);
|
||||||
|
|
||||||
|
G4double* Pstyrene_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
G4double* PMMA2_ABSLENGTH = new G4double[E_NUMENTRIES];
|
||||||
|
|
||||||
|
// Calculate absorption lengths
|
||||||
|
|
||||||
|
for(int j=0; j<E_NUMENTRIES; j++)
|
||||||
|
{
|
||||||
|
double wavelengthNanometer = Parameters::hcPERe/Energy[j]*1e3;
|
||||||
|
|
||||||
|
Pstyrene_ABSLENGTH[j] = 1./coreAbs.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA_ABSLENGTH[j] = 1./clad1Abs.Eval(wavelengthNanometer)*m;
|
||||||
|
PMMA2_ABSLENGTH[j] = 1./clad2Abs.Eval(wavelengthNanometer)*m;
|
||||||
|
}
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("ABSLENGTH",Energy,Pstyrene_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("ABSLENGTH",Energy,PMMA_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("ABSLENGTH",Energy,PMMA2_ABSLENGTH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
delete[] Pstyrene_ABSLENGTH;
|
||||||
|
delete[] PMMA_ABSLENGTH;
|
||||||
|
delete[] PMMA2_ABSLENGTH;
|
||||||
|
|
||||||
|
// Set Rayleigh scattering
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("RAYLEIGH",Energy,Pstyrene_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
innerCladMaterialProperties->AddProperty("RAYLEIGH",Energy,PMMA_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
outerCladMaterialProperties->AddProperty("RAYLEIGH",Energy,PMMA2_RAYLEIGH,E_NUMENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
// Set scintillation and WLS properties
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("FASTCOMPONENT",scintSpecVector);
|
||||||
|
scintCoreMaterialProperties->AddProperty("SLOWCOMPONENT",scintSpecVector);
|
||||||
|
scintCoreMaterialProperties->AddProperty("WLSCOMPONENT",wlsSpecVector);
|
||||||
|
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("SCINTILLATIONYIELD",
|
||||||
|
Parameters::GetInstance()->ScintillationYield()/keV);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("RESOLUTIONSCALE",
|
||||||
|
Parameters::GetInstance()->ResolutionScale());
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("FASTTIMECONSTANT",
|
||||||
|
Parameters::GetInstance()->DecayTimeFast()*ns);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("SLOWTIMECONSTANT",
|
||||||
|
Parameters::GetInstance()->DecayTimeSlow()*ns);
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("YIELDRATIO", Parameters::GetInstance()->YieldRatio());
|
||||||
|
// Is set in "PhysicsList.hh" as well due to inconsistency in Geant4 (G4OpticalPhsysics default value)
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddProperty("WLSABSLENGTH",
|
||||||
|
WlsAbsEnergy,WlsAbsLength,WLS_ABS_ENTRIES)->SetSpline(true);
|
||||||
|
|
||||||
|
scintCoreMaterialProperties->AddConstProperty("WLSTIMECONSTANT", Parameters::GetInstance()->WlsDecayTime()*ns);
|
||||||
|
|
||||||
|
// Assign material properties tables
|
||||||
|
|
||||||
|
scintCoreMaterial->SetMaterialPropertiesTable(scintCoreMaterialProperties);
|
||||||
|
innerCladdingMaterial->SetMaterialPropertiesTable(innerCladMaterialProperties);
|
||||||
|
outerCladdingMaterial->SetMaterialPropertiesTable(outerCladMaterialProperties);
|
||||||
|
|
||||||
|
// Set the Birks Constant for the Polystyrene scintillator
|
||||||
|
scintCoreMaterial->GetIonisation()->SetBirksConstant(Parameters::GetInstance()->BirksConstant()*mm/MeV);
|
||||||
|
|
||||||
|
delete[] Energy;
|
||||||
|
delete[] ScintilEnergyDist;
|
||||||
|
|
||||||
|
delete[] WlsEnergy;
|
||||||
|
delete[] WlsEnergyDist;
|
||||||
|
|
||||||
|
delete[] WlsAbsEnergy;
|
||||||
|
delete[] WlsAbsLength;
|
||||||
|
|
||||||
|
delete[] Vacuum_RIND;
|
||||||
|
delete[] Vacuum_ABS;
|
||||||
|
|
||||||
|
delete[] Pstyrene_RIND;
|
||||||
|
delete[] PMMA_RIND;
|
||||||
|
delete[] PMMA2_RIND;
|
||||||
|
|
||||||
|
delete[] Pstyrene_RAYLEIGH;
|
||||||
|
delete[] PMMA_RAYLEIGH;
|
||||||
|
delete[] PMMA2_RAYLEIGH;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
G4VPhysicalVolume* DetectorConstruction::Construct()
|
||||||
|
{
|
||||||
|
DefineMaterials();
|
||||||
|
DefineMaterialProperties();
|
||||||
|
|
||||||
|
// Placing the world (experimental hall)
|
||||||
|
G4Box* expHall_box = new G4Box("World",expHall_x,expHall_y,expHall_z);
|
||||||
|
expHall_log = new G4LogicalVolume(expHall_box,Air,"World",0,0,0);
|
||||||
|
expHall_phys = new G4PVPlacement(0,G4ThreeVector(),expHall_log,"World",0,false,0);
|
||||||
|
|
||||||
|
|
||||||
|
// Epoxy
|
||||||
|
G4double xEpoxy = 0.5*(Nk*xDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+5*mm;
|
||||||
|
G4double yEpoxy = 0.5*(Nj*yDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+0.2*mm;
|
||||||
|
G4Box* epoxyBox = new G4Box("EpoxyBox",xEpoxy, yEpoxy, scint_z);
|
||||||
|
epoxyLog = new G4LogicalVolume(epoxyBox, Epoxy, "EpoxyBox", 0, 0, 0);
|
||||||
|
epoxyPhy = new G4PVPlacement(0, G4ThreeVector() , epoxyLog, "EpoxyBox", expHall_log, false, 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// Mirror for reflection at one of the end
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
// Place the mirror only if the user wants the mirror
|
||||||
|
if (fMirrorToggle) {
|
||||||
|
|
||||||
|
G4VSolid* solidMirror = new G4Box("Mirror",
|
||||||
|
xEpoxy,
|
||||||
|
yEpoxy,
|
||||||
|
fMirrorZ);
|
||||||
|
|
||||||
|
G4LogicalVolume* logicMirror = new G4LogicalVolume(solidMirror,
|
||||||
|
alu,
|
||||||
|
"Mirror");
|
||||||
|
|
||||||
|
G4OpticalSurface* mirrorSurface = new G4OpticalSurface("MirrorSurface",
|
||||||
|
glisur,
|
||||||
|
ground,
|
||||||
|
dielectric_metal,
|
||||||
|
fMirrorPolish);
|
||||||
|
|
||||||
|
G4MaterialPropertiesTable* mirrorSurfaceProperty =
|
||||||
|
new G4MaterialPropertiesTable();
|
||||||
|
|
||||||
|
G4double p_mirror[] = {2.00*eV, 3.47*eV};
|
||||||
|
const G4int nbins = sizeof(p_mirror)/sizeof(G4double);
|
||||||
|
G4double refl_mirror[] = {fMirrorReflectivity,fMirrorReflectivity};
|
||||||
|
assert(sizeof(refl_mirror) == sizeof(p_mirror));
|
||||||
|
G4double effi_mirror[] = {0, 0};
|
||||||
|
assert(sizeof(effi_mirror) == sizeof(effi_mirror));
|
||||||
|
|
||||||
|
mirrorSurfaceProperty->
|
||||||
|
AddProperty("REFLECTIVITY",p_mirror,refl_mirror,nbins);
|
||||||
|
mirrorSurfaceProperty->
|
||||||
|
AddProperty("EFFICIENCY",p_mirror,effi_mirror,nbins);
|
||||||
|
|
||||||
|
mirrorSurface -> SetMaterialPropertiesTable(mirrorSurfaceProperty);
|
||||||
|
|
||||||
|
new G4PVPlacement(0,
|
||||||
|
G4ThreeVector(0.0,0.0,-scint_z-2*fMirrorZ),
|
||||||
|
logicMirror,
|
||||||
|
"Mirror",
|
||||||
|
expHall_log,
|
||||||
|
false,
|
||||||
|
0);
|
||||||
|
|
||||||
|
new G4LogicalSkinSurface("MirrorSurface",logicMirror,mirrorSurface);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ABS plastic
|
||||||
|
G4double xABS = xEpoxy;
|
||||||
|
G4double yABS = 2.5*mm;
|
||||||
|
G4double zABS = scint_z;
|
||||||
|
G4Box* absBox = new G4Box("AbsBox", xABS, yABS/2., zABS);
|
||||||
|
absLog = new G4LogicalVolume(absBox, Abs_plastic, "AbsBox", 0, 0,0);
|
||||||
|
absPhy = new G4PVPlacement(0, G4ThreeVector(0., -(yEpoxy+yABS/2.), 0.), absLog, "AbsBox", expHall_log, false, 0);
|
||||||
|
|
||||||
|
ConstructFiber();
|
||||||
|
// ConstructFiberSheet();
|
||||||
|
|
||||||
|
/* ++ Construction and placement of the detector strips ++ */
|
||||||
|
|
||||||
|
// Epoxy layer infront of det strip
|
||||||
|
G4VSolid* epoxy_strip = new G4Box("EpoxyStrip", stripWidth/2., stripHeight/2., epoxy_strip_width/2.);
|
||||||
|
G4LogicalVolume* epoxy_strip_log = new G4LogicalVolume(epoxy_strip, Glue, "EpoxyStrip", 0, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
|
G4VSolid* pixelS = new G4Box("Pixel", pixelDimX/2., pixelDimY/2., stripWidth/2.);
|
||||||
|
G4LogicalVolume* pixelL = new G4LogicalVolume(pixelS, Glue, "Pixel", 0, 0, 0);
|
||||||
|
|
||||||
|
SensitiveDetector* sensitive = new SensitiveDetector("/Sensitive");
|
||||||
|
G4SDManager* sdman = G4SDManager::GetSDMpointer();
|
||||||
|
sdman->AddNewDetector(sensitive);
|
||||||
|
pixelL->SetSensitiveDetector(sensitive);
|
||||||
|
|
||||||
|
G4int Nk_s = ceil(((G4double)Nk)*(xDist/stripWidth)); // Determ. autom. nb. of detector strips.
|
||||||
|
for(int k = 1; k < Nk_s-1; k++)
|
||||||
|
{
|
||||||
|
new G4PVPlacement(0, objectPos(Nj/2, k, scint_z+epoxy_strip_width/2.+airGap), epoxy_strip_log,
|
||||||
|
"EpoxyStrip", expHall_log, false, 0);
|
||||||
|
|
||||||
|
for(int i = 0; i < Nx; i++)
|
||||||
|
{
|
||||||
|
for(int j = 0; j < Ny; j++){
|
||||||
|
new G4PVPlacement(0, objectPos(Nj/2, i, j, k, scint_z+stripWidth/2.+epoxy_strip_width+airGap),
|
||||||
|
pixelL, "SensitiveDetector"+C::c1(k)+C::c2(i)+C::c3(j), expHall_log, false, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of Constr. and placem. of det. strips ++ */
|
||||||
|
|
||||||
|
/* Construction and placement of trigger
|
||||||
|
* Trigger should have the same x,y-dimensions as epoxyBox
|
||||||
|
*/
|
||||||
|
|
||||||
|
G4double xTrigger = xEpoxy;//Parameters::GetInstance()->TriggerX()*mm;
|
||||||
|
G4double yTrigger = Parameters::GetInstance()->TriggerY()*mm;
|
||||||
|
G4double zTrigger = scint_z*2.0;//;Parameters::GetInstance()->TriggerZ()*mm;
|
||||||
|
|
||||||
|
G4double triggerXPos = 0.0; //Parameters::GetInstance()->TriggerXPos()*mm;
|
||||||
|
G4double triggerZPos = 0.0; //Parameters::GetInstance()->TriggerZPos()*mm;
|
||||||
|
|
||||||
|
G4VSolid* triggerS = new G4Box("Trigger", xTrigger/2., yTrigger/2., zTrigger/2.);
|
||||||
|
G4LogicalVolume* triggerL = new G4LogicalVolume(triggerS, Air, "Trigger", 0, 0, 0);
|
||||||
|
new G4PVPlacement(0 , G4ThreeVector(triggerXPos, -(yEpoxy+yTrigger/2.+yABS), triggerZPos),
|
||||||
|
triggerL, "Trigger", expHall_log, false, 0);
|
||||||
|
|
||||||
|
return expHall_phys;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DetectorConstruction::ConstructFiberSheet()
|
||||||
|
{
|
||||||
|
// dimensions
|
||||||
|
G4double dim_z;
|
||||||
|
G4double sphi, ephi;
|
||||||
|
dim_z = scint_z;
|
||||||
|
sphi = 0.00*deg;
|
||||||
|
ephi = 360.*deg;
|
||||||
|
G4double xEpoxy = 0.5*(Nk*xDist+2*Parameters::GetInstance()->SemiAxisZ()*mm)+5*mm;
|
||||||
|
// Scintillating core
|
||||||
|
// G4Tubs* coreSection_tube = new G4Tubs("CoreSection",core_rZmin,core_rZmax,dim_z, sphi,ephi);
|
||||||
|
// G4Box* coreSection_tube= new G4Box("CoreSection", stripWidth/3., 0.85*mm, epoxy_strip_width/2.);
|
||||||
|
G4Box* CoreBox = new G4Box("CoreBox",xEpoxy-1*mm, 0.8294/2.0*mm, scint_z);
|
||||||
|
G4LogicalVolume *coreSection_log = new G4LogicalVolume(CoreBox,
|
||||||
|
scintCoreMaterial, "CoreSection",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, G4ThreeVector(), coreSection_log, "Core", epoxyLog, true, 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
void DetectorConstruction::ConstructFiber()
|
||||||
|
{
|
||||||
|
// dimensions
|
||||||
|
G4double dim_z;
|
||||||
|
G4double sphi, ephi;
|
||||||
|
G4double core_rZmin,core_rZmax;
|
||||||
|
G4double core_rYmin,core_rYmax;
|
||||||
|
G4double clad1_rZmin,clad1_rZmax;
|
||||||
|
G4double clad1_rYmin,clad1_rYmax;
|
||||||
|
G4double clad2_rZmin,clad2_rZmax;
|
||||||
|
G4double clad2_rYmin,clad2_rYmax;
|
||||||
|
|
||||||
|
dim_z = scint_z;
|
||||||
|
sphi = 0.00*deg;
|
||||||
|
ephi = 360.*deg;
|
||||||
|
|
||||||
|
core_rZmin = 0.00*cm;
|
||||||
|
core_rYmin = 0.00*cm;
|
||||||
|
|
||||||
|
core_rZmax = Parameters::GetInstance()->SemiAxisZ()*(88./100.)*mm;
|
||||||
|
core_rYmax = Parameters::GetInstance()->SemiAxisY()*(88./100.)*mm;
|
||||||
|
|
||||||
|
clad1_rZmin = core_rZmax;
|
||||||
|
clad1_rYmin = core_rYmax;
|
||||||
|
|
||||||
|
clad1_rZmax = core_rZmax + 3./88.*core_rZmax*2.;
|
||||||
|
clad1_rYmax = core_rYmax + 3./88.*core_rYmax*2.;
|
||||||
|
|
||||||
|
clad2_rZmin = clad1_rZmax;
|
||||||
|
clad2_rYmin = clad1_rYmax;
|
||||||
|
|
||||||
|
clad2_rZmax = Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
clad2_rYmax = Parameters::GetInstance()->SemiAxisY()*mm;
|
||||||
|
|
||||||
|
G4ThreeVector origin;
|
||||||
|
/* ++ Fibre Placement ++ */
|
||||||
|
for(int j = 0; j < Nj; j++)
|
||||||
|
{
|
||||||
|
for(int k = 0; k < Nk; k++)
|
||||||
|
{
|
||||||
|
origin = objectPos(j,k);
|
||||||
|
|
||||||
|
// Outer cladding
|
||||||
|
G4Tubs* clad2Section_tube = new G4Tubs("Cladding2Section",clad2_rZmin,clad2_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *clad2Section_log = new G4LogicalVolume(clad2Section_tube,
|
||||||
|
outerCladdingMaterial, "Cladding2Section",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, clad2Section_log, "Cladding2"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
|
||||||
|
|
||||||
|
// Inner cladding
|
||||||
|
G4Tubs* clad1Section_tube = new G4Tubs("Cladding1Section",clad1_rZmin,clad1_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *clad1Section_log = new G4LogicalVolume(clad1Section_tube,
|
||||||
|
innerCladdingMaterial, "Cladding1Section",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, clad1Section_log, "Cladding1"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
|
||||||
|
// Scintillating core
|
||||||
|
G4Tubs* coreSection_tube = new G4Tubs("CoreSection",core_rZmin,core_rZmax,dim_z, sphi,ephi);
|
||||||
|
G4LogicalVolume *coreSection_log = new G4LogicalVolume(coreSection_tube,
|
||||||
|
scintCoreMaterial, "CoreSection",0,0,0);
|
||||||
|
|
||||||
|
new G4PVPlacement(0, origin, coreSection_log, "Core"+C::c(j)+C::c(k), epoxyLog, true, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of Fibre Placement ++ */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// for fibre placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int k)
|
||||||
|
{
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
G4double xsigma = (-0.49*j*j + 7.0*j-1.8)/1000.;
|
||||||
|
G4double xvar = G4RandGauss::shoot(0.,xsigma);
|
||||||
|
while(fabs(xvar)>=0.020*mm) {
|
||||||
|
xvar = G4RandGauss::shoot(0.,xsigma);
|
||||||
|
}
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
G4ThreeVector origin(xDist*k+xDispl-xOffset+xvar, -yDist*j+yOffset, 0.);
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
std::ofstream outFile;
|
||||||
|
outFile.open("fibrePos.txt",std::ios::app);
|
||||||
|
outFile << origin.x() << "\t" << origin.y() << std::endl;
|
||||||
|
outFile.close();
|
||||||
|
|
||||||
|
//G4cout << "Placing Fibre[" << k << ":" << j << "]: " << origin << G4endl;
|
||||||
|
|
||||||
|
//G4cout << origin.x() << "\t" << origin.y() << G4endl;
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for detector placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int k, G4double zPos)
|
||||||
|
{
|
||||||
|
G4double randomN = Parameters::GetInstance()->RandomNumber();
|
||||||
|
G4double offset = (stripWidth/2.)*randomN;
|
||||||
|
|
||||||
|
// Save random number
|
||||||
|
std::ofstream myfile;
|
||||||
|
myfile.open("randomN.txt");
|
||||||
|
myfile << randomN;
|
||||||
|
myfile.close();
|
||||||
|
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
G4ThreeVector origin(stripWidth*k+xDispl-xOffset-offset, -yDist*j+yOffset, zPos);
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
std::ofstream detFile;
|
||||||
|
detFile.open("detPos.txt",std::ios::app);
|
||||||
|
detFile << k << " " << stripWidth*k+xDispl-xOffset-offset << std::endl;
|
||||||
|
detFile.close();
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// for detector placement
|
||||||
|
G4ThreeVector DetectorConstruction::objectPos(G4int j, G4int i, G4int j2, G4int k, G4double zPos)
|
||||||
|
{
|
||||||
|
G4double randomN = Parameters::GetInstance()->RandomNumber();
|
||||||
|
G4double offset = (stripWidth/2.)*randomN;
|
||||||
|
|
||||||
|
// Save random number
|
||||||
|
//std::ofstream myfile;
|
||||||
|
//myfile.open("randomN.txt");
|
||||||
|
//myfile << randomN;
|
||||||
|
//myfile.close();
|
||||||
|
|
||||||
|
G4double xOffset = xDist*(((G4double)Nk)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm/2.;
|
||||||
|
G4double yOffset = yDist*(((G4double)Nj)/2.)-Parameters::GetInstance()->SemiAxisZ()*mm + 3/2*pixelDimY;
|
||||||
|
|
||||||
|
G4double xDispl;
|
||||||
|
|
||||||
|
j % 2 == 0 ? xDispl = 0. : xDispl = xDist/2.;
|
||||||
|
|
||||||
|
// print detector positions into file
|
||||||
|
//std::ofstream detFile;
|
||||||
|
//detFile.open("detPos.txt",std::ios::app);
|
||||||
|
//detFile << k << " " << stripWidth*k+xDispl-xOffset-offset << std::endl;
|
||||||
|
//detFile.close();
|
||||||
|
|
||||||
|
G4double pixelX = pixelDimX/2. + i*pixelDimX - stripWidth/2.;
|
||||||
|
G4double pixelY = pixelDimY/2. + j2*pixelDimY - stripHeight/2.;
|
||||||
|
|
||||||
|
G4ThreeVector origin(stripWidth*k+xDispl-xOffset-offset + pixelX, -yDist*j+yOffset + pixelY, zPos);
|
||||||
|
|
||||||
|
std::ofstream detFileY;
|
||||||
|
detFileY.open("detPosY.txt",std::ios::app);
|
||||||
|
detFileY << k << " " << -yDist*j+yOffset + pixelY << std::endl;
|
||||||
|
detFileY.close();
|
||||||
|
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
40
SciFiSim/src/EventAction.cc
Executable file
40
SciFiSim/src/EventAction.cc
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "EventAction.hh"
|
||||||
|
|
||||||
|
#include "G4Event.hh"
|
||||||
|
#include "G4EventManager.hh"
|
||||||
|
#include "G4TrajectoryContainer.hh"
|
||||||
|
#include "G4Trajectory.hh"
|
||||||
|
#include "G4VVisManager.hh"
|
||||||
|
#include "G4ios.hh"
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
|
||||||
|
EventAction::EventAction() : fEnergy(0.), fTrackL(0.)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
EventAction::~EventAction()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
void EventAction::BeginOfEventAction(const G4Event* anEvent)
|
||||||
|
{
|
||||||
|
G4cout << "# Event " << anEvent->GetEventID() << " start." << G4endl;
|
||||||
|
Analysis::GetInstance()->PrepareNewEvent(anEvent);
|
||||||
|
|
||||||
|
fEnergy = 0.0;
|
||||||
|
fTrackL = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EventAction::EndOfEventAction(const G4Event* anEvent)
|
||||||
|
{
|
||||||
|
G4double runID = (G4double) G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID();
|
||||||
|
Analysis::GetInstance()->FillEnergyTrack(runID, anEvent->GetEventID(), fEnergy, fTrackL);
|
||||||
|
}
|
597
SciFiSim/src/Parameters.cc
Executable file
597
SciFiSim/src/Parameters.cc
Executable file
@ -0,0 +1,597 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "Parameters.hh"
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Parameters* Parameters::singleton = 0;
|
||||||
|
|
||||||
|
Parameters::Parameters()
|
||||||
|
{
|
||||||
|
|
||||||
|
//// Read parameter values and set corresponding variables ////
|
||||||
|
|
||||||
|
G4cout << ">>> Constructor of Parameter class called <<<" << G4endl;
|
||||||
|
|
||||||
|
//char parameterFileName[40] = "parameterFiles/parameters.dat";
|
||||||
|
|
||||||
|
#if defined __APPLE__
|
||||||
|
char parameterFileName[200] = "/Users/basti/Programming/LHCb/SciFiSim-Xcode/SimulationData/parameterFiles/parameters.dat";
|
||||||
|
#pragma message("Compiling for MacOSX")
|
||||||
|
#else
|
||||||
|
char parameterFileName[40] = "parameterFiles/parameters.dat";
|
||||||
|
#pragma message("Compiling for Linux")
|
||||||
|
#endif
|
||||||
|
std::ifstream parameterFile;
|
||||||
|
parameterFile.open(parameterFileName);
|
||||||
|
|
||||||
|
if(parameterFile.good())
|
||||||
|
{
|
||||||
|
parameterFile >> randomSeed; // random seed for random engine
|
||||||
|
parameterFile >> randomNumber; // random number for detector strip positioning
|
||||||
|
randomNumber = randomNumber/32767.0; // max random number in bourne shell random number generator
|
||||||
|
parameterFile >> fibreLength; // length of fibre in meter
|
||||||
|
parameterFile >> semiAxisZ; // semi axis of fibre in z in millimeter
|
||||||
|
parameterFile >> semiAxisY; // semi axis of fibre in y in millimeter
|
||||||
|
parameterFile >> triggerX; // x-size of Trigger in mm
|
||||||
|
parameterFile >> triggerY; // y-size of Trigger in mm
|
||||||
|
parameterFile >> triggerZ; // z-size of Trigger in mm
|
||||||
|
parameterFile >> triggerXPos; // x-position of Trigger in millimeter
|
||||||
|
parameterFile >> triggerZPos; // z-position of Trigger in millimeter
|
||||||
|
parameterFile >> probabilityOfPhotonLossAtSurface; // probability that a photon is killed when reaching fibre surface
|
||||||
|
|
||||||
|
if(probabilityOfPhotonLossAtSurface<0 || probabilityOfPhotonLossAtSurface>1)
|
||||||
|
probabilityOfPhotonLossAtSurface = 1;
|
||||||
|
|
||||||
|
parameterFile >> placeMirror; // place a mirror at fibre end
|
||||||
|
parameterFile >> mirrorReflectivity; // reflectivity of mirror at fibre end
|
||||||
|
parameterFile >> detectorMaterial; // place a mirror at fibre end
|
||||||
|
|
||||||
|
parameterFile.ignore(256,'\n');
|
||||||
|
parameterFile.peek();
|
||||||
|
parameterFile.getline(emissionSpectrumFileName,256);
|
||||||
|
|
||||||
|
G4cout << "Emission FIle: " << emissionSpectrumFileName << G4endl;
|
||||||
|
|
||||||
|
std::ifstream emissionFile;
|
||||||
|
emissionFile.open(emissionSpectrumFileName);
|
||||||
|
|
||||||
|
if(emissionFile.good())
|
||||||
|
{
|
||||||
|
std::vector<G4double> energyVector;
|
||||||
|
std::vector<G4double> intensityVector;
|
||||||
|
G4double readValue1;
|
||||||
|
G4double readValue2;
|
||||||
|
numberOfEnergies = 0;
|
||||||
|
|
||||||
|
while(emissionFile >> readValue1)
|
||||||
|
{
|
||||||
|
if(emissionFile >> readValue2)
|
||||||
|
{
|
||||||
|
energyVector.push_back(readValue1);
|
||||||
|
intensityVector.push_back(readValue2);
|
||||||
|
numberOfEnergies ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Energy = new G4double[numberOfEnergies];
|
||||||
|
Intensity = new G4double[numberOfEnergies];
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfEnergies; i++)
|
||||||
|
{
|
||||||
|
Energy[i] = energyVector[i];
|
||||||
|
Intensity[i] = intensityVector[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Could not read emission spectrum file: " << emissionSpectrumFileName <<" !" << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
emissionFile.close();
|
||||||
|
parameterFile >> numberOfInterpolatedPoints; // number of points to be interpolated within each emission spectrum interval
|
||||||
|
|
||||||
|
parameterFile.ignore(256,'\n');
|
||||||
|
parameterFile.peek();
|
||||||
|
parameterFile.getline(wlsAbsSpectrumFileName,256);
|
||||||
|
std::ifstream wlsAbsFile;
|
||||||
|
wlsAbsFile.open(wlsAbsSpectrumFileName);
|
||||||
|
|
||||||
|
if(wlsAbsFile.good())
|
||||||
|
{
|
||||||
|
std::vector<G4double> wlsAbsEnergyVector;
|
||||||
|
std::vector<G4double> wlsAbsLengthVector;
|
||||||
|
G4double readValue1;
|
||||||
|
G4double readValue2;
|
||||||
|
numberOfWlsAbsEnergies = 0;
|
||||||
|
|
||||||
|
while(wlsAbsFile >> readValue1)
|
||||||
|
{
|
||||||
|
if(wlsAbsFile >> readValue2)
|
||||||
|
{
|
||||||
|
wlsAbsEnergyVector.push_back(readValue1);
|
||||||
|
wlsAbsLengthVector.push_back(readValue2);
|
||||||
|
numberOfWlsAbsEnergies ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WlsAbsEnergy = new G4double[numberOfWlsAbsEnergies];
|
||||||
|
WlsAbsLength = new G4double[numberOfWlsAbsEnergies];
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfWlsAbsEnergies; i++)
|
||||||
|
{
|
||||||
|
WlsAbsEnergy[i] = wlsAbsEnergyVector[i];
|
||||||
|
WlsAbsLength[i] = wlsAbsLengthVector[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Could not read wls absorption spectrum file: " << wlsAbsSpectrumFileName <<" !" << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
wlsAbsFile.close();
|
||||||
|
|
||||||
|
parameterFile.getline(wlsEmissionSpectrumFileName,256);
|
||||||
|
std::ifstream wlsEmissionFile;
|
||||||
|
wlsEmissionFile.open(wlsEmissionSpectrumFileName);
|
||||||
|
|
||||||
|
if(wlsEmissionFile.good())
|
||||||
|
{
|
||||||
|
std::vector<G4double> wlsEmissionEnergyVector;
|
||||||
|
std::vector<G4double> wlsEmissionIntensityVector;
|
||||||
|
G4double readValue1;
|
||||||
|
G4double readValue2;
|
||||||
|
numberOfWlsEmissionEnergies = 0;
|
||||||
|
|
||||||
|
while(wlsEmissionFile >> readValue1)
|
||||||
|
{
|
||||||
|
if(wlsEmissionFile >> readValue2)
|
||||||
|
{
|
||||||
|
wlsEmissionEnergyVector.push_back(readValue1);
|
||||||
|
wlsEmissionIntensityVector.push_back(readValue2);
|
||||||
|
numberOfWlsEmissionEnergies ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WlsEmissionEnergy = new G4double[numberOfWlsEmissionEnergies];
|
||||||
|
WlsEmissionIntensity = new G4double[numberOfWlsEmissionEnergies];
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfWlsEmissionEnergies; i++)
|
||||||
|
{
|
||||||
|
WlsEmissionEnergy[i] = wlsEmissionEnergyVector[i];
|
||||||
|
WlsEmissionIntensity[i] = wlsEmissionIntensityVector[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Could not read wls emission spectrum file: " << wlsEmissionSpectrumFileName <<" !" << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
wlsEmissionFile.close();
|
||||||
|
|
||||||
|
parameterFile >> scintillationYield; //scintillation yield in photons per keV
|
||||||
|
parameterFile >> resolutionScale; // width of gaussian to generate photon number
|
||||||
|
parameterFile >> decayTimeFast; // fast decay time of excited states in ns
|
||||||
|
parameterFile >> decayTimeSlow; // slow decay time of excited states in ns
|
||||||
|
parameterFile >> yieldRatio; // ratio of fast component and total scintillation yield
|
||||||
|
parameterFile >> birksConstant; // Birk's constant in mm/MeV
|
||||||
|
|
||||||
|
parameterFile >> wlsDecayTime; // decay time of wls excited states in ns
|
||||||
|
|
||||||
|
parameterFile.ignore(256,'\n');
|
||||||
|
parameterFile.peek();
|
||||||
|
parameterFile.getline(refractiveIndexVacuum,256);
|
||||||
|
parameterFile.getline(refractiveIndexCore,256);
|
||||||
|
parameterFile.getline(refractiveIndexClad1,256);
|
||||||
|
parameterFile.getline(refractiveIndexClad2,256);
|
||||||
|
|
||||||
|
parameterFile.getline(absorptionCore,512);
|
||||||
|
parameterFile.getline(absorptionClad1,512);
|
||||||
|
parameterFile.getline(absorptionClad2,512);
|
||||||
|
|
||||||
|
parameterFile.getline(absorptionFromIrradiationCore,512);
|
||||||
|
parameterFile.getline(absorptionFromIrradiationClad1,512);
|
||||||
|
parameterFile.getline(absorptionFromIrradiationClad2,512);
|
||||||
|
|
||||||
|
parameterFile.getline(sectionsFileName,80);
|
||||||
|
std::ifstream sectionsFile;
|
||||||
|
sectionsFile.open(sectionsFileName);
|
||||||
|
|
||||||
|
if(sectionsFile.good())
|
||||||
|
sectionsFile >> numberOfSections;
|
||||||
|
else
|
||||||
|
G4cout << "Could not read sections file: " << sectionsFileName <<" !" << G4endl;
|
||||||
|
|
||||||
|
sectionsFile.close();
|
||||||
|
|
||||||
|
parameterFile.getline(rayleighCore,512);
|
||||||
|
parameterFile.getline(rayleighClad1,512);
|
||||||
|
parameterFile.getline(rayleighClad2,512);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G4cout << "Could not read parameter file: " << parameterFileName <<" !" << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
parameterFile.close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//// Open file to store parameters ////
|
||||||
|
|
||||||
|
sprintf(parameterOutputFileName,"%s.parameters",Analysis::GetInstance()->FileName());
|
||||||
|
|
||||||
|
std::ofstream parameterOutputFile;
|
||||||
|
parameterOutputFile.open(parameterOutputFileName);
|
||||||
|
|
||||||
|
parameterOutputFile << "Length of fibre: ";
|
||||||
|
parameterOutputFile << fibreLength << " m \n";
|
||||||
|
parameterOutputFile << "Semi axis of fibre in z: ";
|
||||||
|
parameterOutputFile << semiAxisZ << " mm \n";
|
||||||
|
parameterOutputFile << "Semi axis of fibre in y: ";
|
||||||
|
parameterOutputFile << semiAxisY << " mm \n";
|
||||||
|
parameterOutputFile << "Probability to lose photons at fibre surface: ";
|
||||||
|
parameterOutputFile << probabilityOfPhotonLossAtSurface << "\n";
|
||||||
|
parameterOutputFile << "Mirror placement at fibre end: ";
|
||||||
|
parameterOutputFile << placeMirror << "\n";
|
||||||
|
parameterOutputFile << "Reflectivity of mirror at fibre end: ";
|
||||||
|
parameterOutputFile << mirrorReflectivity << "\n";
|
||||||
|
parameterOutputFile << "Detector material vacuum/polystyrene (0/1): ";
|
||||||
|
parameterOutputFile << detectorMaterial << "\n";
|
||||||
|
parameterOutputFile << "Used emission spectrum: \"";
|
||||||
|
parameterOutputFile << emissionSpectrumFileName << "\"\n";
|
||||||
|
parameterOutputFile << "Number of energies: ";
|
||||||
|
parameterOutputFile << numberOfEnergies << "\n";
|
||||||
|
parameterOutputFile << "Energy / eV \t Intensity\n";
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfEnergies; i++)
|
||||||
|
parameterOutputFile << Energy[i] << "\t" << Intensity[i] <<"\n";
|
||||||
|
|
||||||
|
parameterOutputFile << "Number of interpolated points per emission spectrum interval: ";
|
||||||
|
parameterOutputFile << numberOfInterpolatedPoints << "\n";
|
||||||
|
parameterOutputFile << "Used wls absorption spectrum: \"";
|
||||||
|
parameterOutputFile << wlsAbsSpectrumFileName << "\"\n";
|
||||||
|
parameterOutputFile << "Number of wls absorption energies: ";
|
||||||
|
parameterOutputFile << numberOfWlsAbsEnergies << "\n";
|
||||||
|
parameterOutputFile << "Energy / eV \t WLS Absorption Length / m\n";
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfWlsAbsEnergies; i++)
|
||||||
|
parameterOutputFile << WlsAbsEnergy[i] << "\t" << WlsAbsLength[i] <<"\n";
|
||||||
|
|
||||||
|
parameterOutputFile << "Used wls emission spectrum: \"";
|
||||||
|
parameterOutputFile << wlsEmissionSpectrumFileName << "\"\n";
|
||||||
|
parameterOutputFile << "Number of wls emission energies: ";
|
||||||
|
parameterOutputFile << numberOfWlsEmissionEnergies << "\n";
|
||||||
|
parameterOutputFile << "Energy / eV \t WLS emission intensity\n";
|
||||||
|
|
||||||
|
for(int i=0; i<numberOfWlsEmissionEnergies; i++)
|
||||||
|
parameterOutputFile << WlsEmissionEnergy[i] << "\t" << WlsEmissionIntensity[i] <<"\n";
|
||||||
|
|
||||||
|
parameterOutputFile << "Formulae to calculate refractive indices in\n";
|
||||||
|
parameterOutputFile << " - vacuum: \"" << refractiveIndexVacuum << "\"\n";
|
||||||
|
parameterOutputFile << " - core: \"" << refractiveIndexCore << "\"\n";
|
||||||
|
parameterOutputFile << " - inner cladding: \"" << refractiveIndexClad1 << "\"\n";
|
||||||
|
parameterOutputFile << " - outer cladding: \"" << refractiveIndexClad2 << "\"\n";
|
||||||
|
parameterOutputFile << " with x in nm.\n";
|
||||||
|
parameterOutputFile << "Scintillation yield: " << scintillationYield << "/keV\n";
|
||||||
|
parameterOutputFile << "Resolution scale: " << resolutionScale << "\n";
|
||||||
|
parameterOutputFile << "Fast decay time: " << decayTimeFast << " ns\n";
|
||||||
|
parameterOutputFile << "Slow decay time: " << decayTimeSlow << " ns\n";
|
||||||
|
parameterOutputFile << "Yield ratio: " << yieldRatio << "\n";
|
||||||
|
parameterOutputFile << "Birks constant: " << birksConstant << " mm/MeV\n";
|
||||||
|
parameterOutputFile << "WLS decay time: " << wlsDecayTime << " ns\n";
|
||||||
|
parameterOutputFile << "Formulae to calculate absorption [1/m] in\n";
|
||||||
|
parameterOutputFile << " - core: \"" << absorptionCore << "\"\n";
|
||||||
|
parameterOutputFile << " - inner cladding: \"" << absorptionClad1 << "\"\n";
|
||||||
|
parameterOutputFile << " - outer cladding: \"" << absorptionClad2 << "\"\n";
|
||||||
|
parameterOutputFile << " with x in nm.\n";
|
||||||
|
parameterOutputFile << "Formulae to calculate absorption due to irradiation [1/m] in\n";
|
||||||
|
parameterOutputFile << " - core: \"" << absorptionFromIrradiationCore << "\"\n";
|
||||||
|
parameterOutputFile << " - inner cladding: \"" << absorptionFromIrradiationClad1 << "\"\n";
|
||||||
|
parameterOutputFile << " - outer cladding: \"" << absorptionFromIrradiationClad2 << "\"\n";
|
||||||
|
parameterOutputFile << " with x in nm and y in kGy.\n";
|
||||||
|
parameterOutputFile << "Used sections file: \"";
|
||||||
|
parameterOutputFile << sectionsFileName << "\"\n";
|
||||||
|
parameterOutputFile << "Number of sections: ";
|
||||||
|
parameterOutputFile << numberOfSections << "\n";
|
||||||
|
parameterOutputFile << "Formulae to calculate Rayleigh scattering [1/m] in\n";
|
||||||
|
parameterOutputFile << " - core: " << rayleighCore << "\n";
|
||||||
|
parameterOutputFile << " - inner cladding: " << rayleighClad1 << "\n";
|
||||||
|
parameterOutputFile << " - outer cladding: " << rayleighClad2 << "\n";
|
||||||
|
|
||||||
|
parameterOutputFile.close();
|
||||||
|
|
||||||
|
G4cout << "Simulation parameters written to \"" << parameterOutputFileName << "\"" << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Parameters::~Parameters() {
|
||||||
|
if(numberOfEnergies != 0)
|
||||||
|
{
|
||||||
|
delete[] Energy;
|
||||||
|
delete[] Intensity;
|
||||||
|
}
|
||||||
|
if(numberOfWlsAbsEnergies != 0)
|
||||||
|
{
|
||||||
|
delete[] WlsAbsEnergy;
|
||||||
|
delete[] WlsAbsLength;
|
||||||
|
}
|
||||||
|
if(numberOfWlsEmissionEnergies != 0)
|
||||||
|
{
|
||||||
|
delete[] WlsEmissionEnergy;
|
||||||
|
delete[] WlsEmissionIntensity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::ParameterOutputFileName()
|
||||||
|
{
|
||||||
|
return parameterOutputFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::RandomSeed()
|
||||||
|
{
|
||||||
|
return randomSeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::RandomNumber()
|
||||||
|
{
|
||||||
|
return randomNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::FibreLength()
|
||||||
|
{
|
||||||
|
return fibreLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::SemiAxisZ()
|
||||||
|
{
|
||||||
|
return semiAxisZ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::SemiAxisY()
|
||||||
|
{
|
||||||
|
return semiAxisY;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::TriggerX()
|
||||||
|
{
|
||||||
|
return triggerX;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::TriggerY()
|
||||||
|
{
|
||||||
|
return triggerY;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::TriggerZ()
|
||||||
|
{
|
||||||
|
return triggerZ;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::TriggerXPos()
|
||||||
|
{
|
||||||
|
return triggerXPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::TriggerZPos()
|
||||||
|
{
|
||||||
|
return triggerZPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4double Parameters::ProbabilityOfPhotonLossAtSurface()
|
||||||
|
{
|
||||||
|
return probabilityOfPhotonLossAtSurface;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4bool Parameters::PlaceMirror()
|
||||||
|
{
|
||||||
|
return placeMirror;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::MirrorReflectivity()
|
||||||
|
{
|
||||||
|
return mirrorReflectivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4bool Parameters::DetectorMaterial()
|
||||||
|
{
|
||||||
|
return detectorMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::EmissionSpectrumFileName()
|
||||||
|
{
|
||||||
|
return emissionSpectrumFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4int Parameters::NumberOfEnergies()
|
||||||
|
{
|
||||||
|
return numberOfEnergies;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4int Parameters::NumberOfInterpolatedPoints()
|
||||||
|
{
|
||||||
|
return numberOfInterpolatedPoints;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::WlsAbsSpectrumFileName()
|
||||||
|
{
|
||||||
|
return wlsAbsSpectrumFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4int Parameters::NumberOfWlsAbsEnergies()
|
||||||
|
{
|
||||||
|
return numberOfWlsAbsEnergies;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::WlsEmissionSpectrumFileName()
|
||||||
|
{
|
||||||
|
return wlsEmissionSpectrumFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4int Parameters::NumberOfWlsEmissionEnergies()
|
||||||
|
{
|
||||||
|
return numberOfWlsEmissionEnergies;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::ScintillationYield()
|
||||||
|
{
|
||||||
|
return scintillationYield;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::ResolutionScale()
|
||||||
|
{
|
||||||
|
return resolutionScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::DecayTimeFast()
|
||||||
|
{
|
||||||
|
return decayTimeFast;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::DecayTimeSlow()
|
||||||
|
{
|
||||||
|
return decayTimeSlow;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::YieldRatio()
|
||||||
|
{
|
||||||
|
return yieldRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::BirksConstant()
|
||||||
|
{
|
||||||
|
return birksConstant;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4double Parameters::WlsDecayTime()
|
||||||
|
{
|
||||||
|
return wlsDecayTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RefractiveIndexVacuum()
|
||||||
|
{
|
||||||
|
return refractiveIndexVacuum;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RefractiveIndexCore()
|
||||||
|
{
|
||||||
|
return refractiveIndexCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RefractiveIndexClad1()
|
||||||
|
{
|
||||||
|
return refractiveIndexClad1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RefractiveIndexClad2()
|
||||||
|
{
|
||||||
|
return refractiveIndexClad2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionCore()
|
||||||
|
{
|
||||||
|
return absorptionCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionClad1()
|
||||||
|
{
|
||||||
|
return absorptionClad1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionClad2()
|
||||||
|
{
|
||||||
|
return absorptionClad2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionFromIrradiationCore()
|
||||||
|
{
|
||||||
|
return absorptionFromIrradiationCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionFromIrradiationClad1()
|
||||||
|
{
|
||||||
|
return absorptionFromIrradiationClad1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::AbsorptionFromIrradiationClad2()
|
||||||
|
{
|
||||||
|
return absorptionFromIrradiationClad1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::SectionsFileName()
|
||||||
|
{
|
||||||
|
return sectionsFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
G4int Parameters::NumberOfSections()
|
||||||
|
{
|
||||||
|
return numberOfSections;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RayleighCore()
|
||||||
|
{
|
||||||
|
return rayleighCore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RayleighClad1()
|
||||||
|
{
|
||||||
|
return rayleighClad1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char* Parameters::RayleighClad2()
|
||||||
|
{
|
||||||
|
return rayleighClad2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const G4double Parameters::hcPERe = 1.239842e-6; // unit: V*m
|
68
SciFiSim/src/PhysicsList.cc
Executable file
68
SciFiSim/src/PhysicsList.cc
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
// Written by Mirco DECKENHOFF based on
|
||||||
|
//
|
||||||
|
// $Id: PhysicsList.cc,v 1.17 2009/11/10 05:16:23 gum Exp $
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// modified by Peter Stromberger
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "PhysicsList.hh"
|
||||||
|
|
||||||
|
#include "G4EmStandardPhysics.hh"
|
||||||
|
#include "G4DecayPhysics.hh"
|
||||||
|
#include "G4OpticalPhysics.hh"
|
||||||
|
#include "G4ProcessManager.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "G4hIonisation.hh"
|
||||||
|
|
||||||
|
#include "Parameters.hh"
|
||||||
|
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
|
||||||
|
PhysicsList::PhysicsList() : G4VModularPhysicsList()
|
||||||
|
{
|
||||||
|
// default cut value (1.0mm)
|
||||||
|
defaultCutValue = 1.0*mm;
|
||||||
|
|
||||||
|
// * EM Physics
|
||||||
|
RegisterPhysics( new G4EmStandardPhysics() );
|
||||||
|
|
||||||
|
|
||||||
|
// * Optical Physics
|
||||||
|
G4OpticalPhysics* opticalPhysics = new G4OpticalPhysics();
|
||||||
|
RegisterPhysics( opticalPhysics );
|
||||||
|
|
||||||
|
// adjust some parameters for the optical physics
|
||||||
|
opticalPhysics->SetWLSTimeProfile("exponential");
|
||||||
|
|
||||||
|
opticalPhysics->SetScintillationYieldFactor(1.0);
|
||||||
|
opticalPhysics->SetScintillationExcitationRatio(Parameters::GetInstance()->YieldRatio());
|
||||||
|
|
||||||
|
opticalPhysics->SetMaxNumPhotonsPerStep(100);
|
||||||
|
opticalPhysics->SetMaxBetaChangePerStep(10.0);
|
||||||
|
|
||||||
|
// opticalPhysics->SetTrackSecondariesFirst(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void PhysicsList::ConstructParticle()
|
||||||
|
{
|
||||||
|
// Constructs all paricles
|
||||||
|
G4VModularPhysicsList::ConstructParticle();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void PhysicsList::SetCuts()
|
||||||
|
{
|
||||||
|
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||||
|
// the default cut value for all particle types
|
||||||
|
//
|
||||||
|
SetCutsWithDefault();
|
||||||
|
|
||||||
|
if (verboseLevel>0)
|
||||||
|
DumpCutValuesTable();
|
||||||
|
}
|
||||||
|
|
68
SciFiSim/src/PhysicsList.cc~
Executable file
68
SciFiSim/src/PhysicsList.cc~
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
// Written by Mirco DECKENHOFF based on
|
||||||
|
//
|
||||||
|
// $Id: PhysicsList.cc,v 1.17 2009/11/10 05:16:23 gum Exp $
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// modified by Peter Stromberger
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "PhysicsList.hh"
|
||||||
|
|
||||||
|
#include "G4EmStandardPhysics.hh"
|
||||||
|
#include "G4DecayPhysics.hh"
|
||||||
|
#include "G4OpticalPhysics.hh"
|
||||||
|
#include "G4ProcessManager.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "G4hIonisation.hh"
|
||||||
|
|
||||||
|
#include "Parameters.hh"
|
||||||
|
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
|
||||||
|
PhysicsList::PhysicsList() : G4VModularPhysicsList()
|
||||||
|
{
|
||||||
|
// default cut value (1.0mm)
|
||||||
|
defaultCutValue = 1.0*mm;
|
||||||
|
|
||||||
|
// * EM Physics
|
||||||
|
RegisterPhysics( new G4EmStandardPhysics() );
|
||||||
|
|
||||||
|
/*
|
||||||
|
// * Optical Physics
|
||||||
|
G4OpticalPhysics* opticalPhysics = new G4OpticalPhysics();
|
||||||
|
RegisterPhysics( opticalPhysics );
|
||||||
|
|
||||||
|
// adjust some parameters for the optical physics
|
||||||
|
opticalPhysics->SetWLSTimeProfile("exponential");
|
||||||
|
|
||||||
|
opticalPhysics->SetScintillationYieldFactor(1.0);
|
||||||
|
opticalPhysics->SetScintillationExcitationRatio(Parameters::GetInstance()->YieldRatio());
|
||||||
|
|
||||||
|
opticalPhysics->SetMaxNumPhotonsPerStep(100);
|
||||||
|
opticalPhysics->SetMaxBetaChangePerStep(10.0);
|
||||||
|
*/
|
||||||
|
// opticalPhysics->SetTrackSecondariesFirst(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void PhysicsList::ConstructParticle()
|
||||||
|
{
|
||||||
|
// Constructs all paricles
|
||||||
|
G4VModularPhysicsList::ConstructParticle();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void PhysicsList::SetCuts()
|
||||||
|
{
|
||||||
|
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||||
|
// the default cut value for all particle types
|
||||||
|
//
|
||||||
|
SetCutsWithDefault();
|
||||||
|
|
||||||
|
if (verboseLevel>0)
|
||||||
|
DumpCutValuesTable();
|
||||||
|
}
|
||||||
|
|
88
SciFiSim/src/PrimaryGeneratorAction.cc
Executable file
88
SciFiSim/src/PrimaryGeneratorAction.cc
Executable file
@ -0,0 +1,88 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "PrimaryGeneratorAction.hh"
|
||||||
|
#include "G4Event.hh"
|
||||||
|
#include "G4ParticleGun.hh"
|
||||||
|
#include "G4GeneralParticleSource.hh"
|
||||||
|
#include "G4ParticleTable.hh"
|
||||||
|
#include "G4ParticleDefinition.hh"
|
||||||
|
#include "Randomize.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
|
||||||
|
PrimaryGeneratorAction::PrimaryGeneratorAction()
|
||||||
|
{
|
||||||
|
gun = InitializeGPS();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||||
|
{
|
||||||
|
gun->GeneratePrimaryVertex(anEvent);
|
||||||
|
|
||||||
|
G4double runID = (G4double) G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID();
|
||||||
|
G4double eventID = (G4double) anEvent->GetEventID();
|
||||||
|
G4double energy = (G4double) gun->GetParticleEnergy();
|
||||||
|
G4double xMom = (G4double) gun->GetParticleMomentumDirection()[0];
|
||||||
|
G4double yMom = (G4double) gun->GetParticleMomentumDirection()[1];
|
||||||
|
G4double zMom = (G4double) gun->GetParticleMomentumDirection()[2];
|
||||||
|
|
||||||
|
Analysis::GetInstance()->FillInitialParticle(runID, eventID, energy, xMom, yMom, zMom);
|
||||||
|
|
||||||
|
// Necessery?
|
||||||
|
Analysis::GetInstance()->SetGpsPosition(gun->GetParticlePosition());
|
||||||
|
Analysis::GetInstance()->SetGpsDirection(gun->GetParticleMomentumDirection());
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimaryGeneratorAction::~PrimaryGeneratorAction()
|
||||||
|
{
|
||||||
|
delete gun;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4GeneralParticleSource* PrimaryGeneratorAction::GetGun()
|
||||||
|
{
|
||||||
|
return gun;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4GeneralParticleSource* PrimaryGeneratorAction::InitializeGPS()
|
||||||
|
{
|
||||||
|
G4GeneralParticleSource * gps = new G4GeneralParticleSource();
|
||||||
|
return gps;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PrimaryGeneratorAction::SetOptPhotonPolar()
|
||||||
|
{
|
||||||
|
G4double angle = G4UniformRand() * 360.0*deg;
|
||||||
|
SetOptPhotonPolar(angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void PrimaryGeneratorAction::SetOptPhotonPolar(G4double angle)
|
||||||
|
{
|
||||||
|
if (gun->GetParticleDefinition()->GetParticleName() != "opticalphoton")
|
||||||
|
{
|
||||||
|
G4cout << "--> warning from PrimaryGeneratorAction::SetOptPhotonPolar() :"
|
||||||
|
"the particleGun is not an opticalphoton" << G4endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
G4ThreeVector normal (1., 0., 0.);
|
||||||
|
G4ThreeVector kphoton = gun->GetParticleMomentumDirection();
|
||||||
|
G4ThreeVector product = normal.cross(kphoton);
|
||||||
|
G4double modul2 = product*product;
|
||||||
|
|
||||||
|
G4ThreeVector e_perpend (0., 0., 1.);
|
||||||
|
|
||||||
|
if (modul2 > 0.)
|
||||||
|
e_perpend = (1./std::sqrt(modul2))*product;
|
||||||
|
|
||||||
|
G4ThreeVector e_paralle = e_perpend.cross(kphoton);
|
||||||
|
|
||||||
|
G4ThreeVector polar = std::cos(angle)*e_paralle + std::sin(angle)*e_perpend;
|
||||||
|
gun->SetParticlePolarization(polar);
|
||||||
|
}
|
||||||
|
|
43
SciFiSim/src/RunAction.cc
Executable file
43
SciFiSim/src/RunAction.cc
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
// Written by Mirco DECKENHOFF
|
||||||
|
// based on
|
||||||
|
// $Id: RunAction.cc,v 1.10 2006/06/29 17:54:31 gunter Exp $
|
||||||
|
// GEANT4 tag $Name: geant4-09-01-ref-02 $
|
||||||
|
//
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
#include "G4Timer.hh"
|
||||||
|
|
||||||
|
#include "RunAction.hh"
|
||||||
|
|
||||||
|
#include "G4Run.hh"
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
|
||||||
|
|
||||||
|
RunAction::RunAction()
|
||||||
|
{
|
||||||
|
timer = new G4Timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RunAction::~RunAction()
|
||||||
|
{
|
||||||
|
delete timer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RunAction::BeginOfRunAction(const G4Run* aRun)
|
||||||
|
{
|
||||||
|
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
|
||||||
|
timer->Start();
|
||||||
|
Analysis::GetInstance()->PrepareNewRun(aRun);
|
||||||
|
G4cout << "Analysis Instance Address: " << Analysis::GetInstance() << G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RunAction::EndOfRunAction(const G4Run* aRun)
|
||||||
|
{
|
||||||
|
timer->Stop();
|
||||||
|
G4cout << "number of event = " << aRun->GetNumberOfEvent() << " \t" << *timer << G4endl;
|
||||||
|
Analysis::GetInstance()->EndOfRun(/*aRun*/);
|
||||||
|
}
|
90
SciFiSim/src/SensitiveDetector.cc
Executable file
90
SciFiSim/src/SensitiveDetector.cc
Executable file
@ -0,0 +1,90 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "SensitiveDetector.hh"
|
||||||
|
#include "G4TouchableHistory.hh"
|
||||||
|
#include "G4Step.hh"
|
||||||
|
#include "G4HCofThisEvent.hh"
|
||||||
|
#include "G4HCtable.hh"
|
||||||
|
#include "G4UnitsTable.hh"
|
||||||
|
#include "G4VProcess.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "G4UIcommand.hh"
|
||||||
|
#include "G4EventManager.hh"
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SensitiveDetector::SensitiveDetector(G4String SDname): G4VSensitiveDetector(SDname){}
|
||||||
|
|
||||||
|
SensitiveDetector::~SensitiveDetector(){}
|
||||||
|
|
||||||
|
G4bool SensitiveDetector::ProcessHits(G4Step * step, G4TouchableHistory *)
|
||||||
|
{
|
||||||
|
G4TouchableHandle touchable = step->GetPreStepPoint()->GetTouchableHandle();
|
||||||
|
|
||||||
|
/* ++ particle is at geometry boundary and an optical photon (for SiPM) ++ */
|
||||||
|
if(step->GetPreStepPoint()->GetStepStatus() == fGeomBoundary
|
||||||
|
&& step->GetTrack()->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
|
||||||
|
{
|
||||||
|
if(step->GetStepLength() != 0) // Avoid division by zero and counting reflected photons
|
||||||
|
{
|
||||||
|
G4int creatorProcessId = 0;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Scintillation")
|
||||||
|
creatorProcessId = 1;
|
||||||
|
|
||||||
|
if (step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Cerenkov")
|
||||||
|
creatorProcessId = 2;
|
||||||
|
|
||||||
|
if (step->GetTrack()->GetCreatorProcess()->GetProcessName() == "OpWLS")
|
||||||
|
creatorProcessId = 3;
|
||||||
|
|
||||||
|
G4double myRunID = (G4double) G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID();
|
||||||
|
|
||||||
|
G4double myEventID = (G4double) G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID();
|
||||||
|
|
||||||
|
G4double myDetectorID = G4UIcommand::ConvertToDouble((G4String)
|
||||||
|
(step->GetPreStepPoint()->GetPhysicalVolume()->GetName()).substr(17,3));
|
||||||
|
|
||||||
|
G4double xPixel = G4UIcommand::ConvertToDouble((G4String)
|
||||||
|
(step->GetPreStepPoint()->GetPhysicalVolume()->GetName()).substr(20,2));
|
||||||
|
|
||||||
|
G4double yPixel = G4UIcommand::ConvertToDouble((G4String)
|
||||||
|
(step->GetPreStepPoint()->GetPhysicalVolume()->GetName()).substr(22,2));
|
||||||
|
|
||||||
|
Analysis::GetInstance()->FillDetectedPhotons(myRunID,
|
||||||
|
myEventID,
|
||||||
|
myDetectorID,
|
||||||
|
xPixel,
|
||||||
|
yPixel,
|
||||||
|
step->GetTrack()->GetTotalEnergy()*1e6,
|
||||||
|
step->GetTrack()->GetLocalTime()-step->GetDeltaTime(),
|
||||||
|
step->GetTrack()->GetTrackLength()-step->GetStepLength(),
|
||||||
|
step->GetTrack()->GetGlobalTime()-step->GetDeltaTime(),
|
||||||
|
step->GetTrack()->GetPosition()[0]-step->GetDeltaPosition()[0],
|
||||||
|
step->GetTrack()->GetPosition()[1]-step->GetDeltaPosition()[1],
|
||||||
|
step->GetTrack()->GetPosition()[2]-step->GetDeltaPosition()[2],
|
||||||
|
step->GetDeltaPosition()[0]/step->GetStepLength(),
|
||||||
|
step->GetDeltaPosition()[1]/step->GetStepLength(),
|
||||||
|
step->GetDeltaPosition()[2]/step->GetStepLength(),
|
||||||
|
step->GetTrack()->GetVertexPosition()[0],
|
||||||
|
step->GetTrack()->GetVertexPosition()[1],
|
||||||
|
step->GetTrack()->GetVertexPosition()[2],
|
||||||
|
step->GetTrack()->GetVertexMomentumDirection()[0],
|
||||||
|
step->GetTrack()->GetVertexMomentumDirection()[1],
|
||||||
|
step->GetTrack()->GetVertexMomentumDirection()[2],
|
||||||
|
step->GetTrack()->GetTrackID(),
|
||||||
|
creatorProcessId,
|
||||||
|
step->GetTrack()->GetParentID());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Also kill reflected photons to avoid many reflections without detection
|
||||||
|
step->GetTrack()->SetTrackStatus(fKillTrackAndSecondaries);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
91
SciFiSim/src/StackingAction.cc
Executable file
91
SciFiSim/src/StackingAction.cc
Executable file
@ -0,0 +1,91 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "StackingAction.hh"
|
||||||
|
|
||||||
|
#include "G4ParticleDefinition.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "G4Track.hh"
|
||||||
|
#include "G4ios.hh"
|
||||||
|
|
||||||
|
#include "G4VProcess.hh"
|
||||||
|
|
||||||
|
#include "Analysis.hh"
|
||||||
|
|
||||||
|
|
||||||
|
#include "G4EventManager.hh"
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
|
||||||
|
StackingAction::StackingAction(): gammaCounter(0){}
|
||||||
|
|
||||||
|
|
||||||
|
StackingAction::~StackingAction(){}
|
||||||
|
|
||||||
|
|
||||||
|
G4ClassificationOfNewTrack StackingAction::ClassifyNewTrack(const G4Track * aTrack)
|
||||||
|
{
|
||||||
|
/* ++ StackingAction for optical photons ++ */
|
||||||
|
if(aTrack->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
|
||||||
|
{
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionRefractionAndScatteringVectors(aTrack->GetTrackID());
|
||||||
|
Analysis::GetInstance()->IncreaseLengthVectors(aTrack->GetTrackID());
|
||||||
|
|
||||||
|
if(aTrack->GetParentID()>0) // particle is secondary
|
||||||
|
{
|
||||||
|
gammaCounter++;
|
||||||
|
G4int creatorProcessId = 0;
|
||||||
|
|
||||||
|
if(aTrack->GetCreatorProcess()->GetProcessName() == "Scintillation")
|
||||||
|
creatorProcessId = 1;
|
||||||
|
|
||||||
|
if(aTrack->GetCreatorProcess()->GetProcessName() == "Cerenkov")
|
||||||
|
creatorProcessId = 2;
|
||||||
|
|
||||||
|
if(aTrack->GetCreatorProcess()->GetProcessName() == "OpWLS")
|
||||||
|
creatorProcessId = 3;
|
||||||
|
|
||||||
|
if (aTrack->GetCreatorProcess())
|
||||||
|
AddProcess(aTrack->GetCreatorProcess());// classify here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of StackingAction of optical photons ++ */
|
||||||
|
|
||||||
|
return fUrgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void StackingAction::NewStage()
|
||||||
|
{
|
||||||
|
G4cout << "Number of optical photons produced in this event : " << gammaCounter << G4endl << G4endl;
|
||||||
|
|
||||||
|
for(ProcMap::iterator it=procs.begin() ; it!=procs.end() ; ++it)
|
||||||
|
G4cout << " Process " << it->first->GetProcessName() << " generated " << it->second << " photons" << G4endl;
|
||||||
|
|
||||||
|
G4cout<<G4endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void StackingAction::PrepareNewEvent()
|
||||||
|
{
|
||||||
|
gammaCounter = 0;
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void StackingAction::AddProcess(const G4VProcess * p)
|
||||||
|
{
|
||||||
|
ProcMap::iterator it = procs.find(p);
|
||||||
|
|
||||||
|
if (it!=procs.end())
|
||||||
|
it->second++;
|
||||||
|
else
|
||||||
|
procs[p]=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void StackingAction::Reset()
|
||||||
|
{
|
||||||
|
for (ProcMap::iterator it = procs.begin() ; it!=procs.end() ; ++it)
|
||||||
|
it->second=0;
|
||||||
|
}
|
211
SciFiSim/src/SteppingAction.cc
Executable file
211
SciFiSim/src/SteppingAction.cc
Executable file
@ -0,0 +1,211 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "SteppingAction.hh"
|
||||||
|
#include "G4Step.hh"
|
||||||
|
#include "G4VTouchable.hh"
|
||||||
|
#include "G4SteppingManager.hh"
|
||||||
|
#include "G4UnitsTable.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "G4ProcessManager.hh"
|
||||||
|
#include "G4VProcess.hh"
|
||||||
|
#include "G4ProcessVector.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include <string>
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
#include "Randomize.hh"
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
|
||||||
|
|
||||||
|
SteppingAction::SteppingAction(EventAction* eventAction, PrimaryGeneratorAction* p)
|
||||||
|
{
|
||||||
|
creatorProcess = -1;
|
||||||
|
fEventAction = eventAction;
|
||||||
|
pGA = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
SteppingAction::~SteppingAction(){}
|
||||||
|
|
||||||
|
void SteppingAction::UserSteppingAction( const G4Step * step )
|
||||||
|
{
|
||||||
|
|
||||||
|
primDefinition = (pGA->GetGun())->GetParticleDefinition();
|
||||||
|
primParticle = (primDefinition->GetParticleName()).c_str();
|
||||||
|
|
||||||
|
/* ++ SteppingAction for optical photons ++ */
|
||||||
|
if(step->GetTrack()->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
|
||||||
|
{
|
||||||
|
G4int trackId = step->GetTrack()->GetTrackID();
|
||||||
|
G4double stepLength = step->GetStepLength();
|
||||||
|
|
||||||
|
G4String prePhysicalVolumeName = step->GetPreStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
G4String postPhysicalVolumeName = "";
|
||||||
|
|
||||||
|
// PostStep does only exist if the particle is not exiting the EpoxyBox volume!
|
||||||
|
if(step->GetTrack()->GetTrackStatus() != fStopAndKill)
|
||||||
|
postPhysicalVolumeName = step->GetPostStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
|
||||||
|
|
||||||
|
// Kill photons at fibre surface
|
||||||
|
// Count the reflections and refractions
|
||||||
|
|
||||||
|
if(step->GetPostStepPoint()->GetStepStatus()==fGeomBoundary)
|
||||||
|
{
|
||||||
|
if(postPhysicalVolumeName == "EpoxyBox" && prePhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
{
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() == 1)
|
||||||
|
step->GetTrack()->SetTrackStatus(fStopAndKill);
|
||||||
|
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() < 1
|
||||||
|
&& Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() > 0)
|
||||||
|
{
|
||||||
|
G4double randomNumber = CLHEP::RandFlat::shoot();
|
||||||
|
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() < randomNumber)
|
||||||
|
{
|
||||||
|
if (step->GetStepLength() > 0)
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtFibreSurface(trackId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
step->GetTrack()->SetTrackStatus(fStopAndKill);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (step->GetStepLength() > 0)
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtFibreSurface(trackId);
|
||||||
|
}
|
||||||
|
if(postPhysicalVolumeName == "Mirror")
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtMirror(trackId);
|
||||||
|
|
||||||
|
|
||||||
|
// Retrieve status of the photon boundary process
|
||||||
|
|
||||||
|
|
||||||
|
G4OpBoundaryProcessStatus theBoundaryStatus = Undefined;
|
||||||
|
|
||||||
|
G4ProcessManager* OpManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
|
||||||
|
|
||||||
|
if(OpManager)
|
||||||
|
{
|
||||||
|
G4int MAXofPostStepLoops = OpManager->GetPostStepProcessVector()->entries();
|
||||||
|
G4ProcessVector* fPostStepDoItVector = OpManager->GetPostStepProcessVector(typeDoIt);
|
||||||
|
|
||||||
|
for(G4int i = 0; i<MAXofPostStepLoops; i++)
|
||||||
|
{
|
||||||
|
G4VProcess* fCurrentProcess = (*fPostStepDoItVector)[i];
|
||||||
|
opBoundaryProcess = dynamic_cast<G4OpBoundaryProcess*>(fCurrentProcess);
|
||||||
|
|
||||||
|
if(opBoundaryProcess)
|
||||||
|
{
|
||||||
|
theBoundaryStatus = opBoundaryProcess->GetStatus();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(theBoundaryStatus != Undefined)
|
||||||
|
{
|
||||||
|
if((prePhysicalVolumeName.substr(0,9) == "Cladding1" && postPhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
|| (prePhysicalVolumeName.substr(0,9) == "Cladding2" && postPhysicalVolumeName.substr(0,9) == "Cladding1"))
|
||||||
|
{
|
||||||
|
if(theBoundaryStatus == TotalInternalReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseTotalReflectionsAtCladCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseFresnelReflectionsAtCladCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelRefraction)
|
||||||
|
Analysis::GetInstance()->IncreaseRefractionsAtCladCladInterface(trackId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((prePhysicalVolumeName.substr(0,4) == "Core" && postPhysicalVolumeName.substr(0,9) == "Cladding1")
|
||||||
|
|| (prePhysicalVolumeName.substr(0,9) == "Cladding1" && postPhysicalVolumeName.substr(0,9) == "Core"))
|
||||||
|
{
|
||||||
|
if(theBoundaryStatus == TotalInternalReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseTotalReflectionsAtCoreCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseFresnelReflectionsAtCoreCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelRefraction)
|
||||||
|
Analysis::GetInstance()->IncreaseRefractionsAtCoreCladInterface(trackId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // Check for Rayleigh scattering
|
||||||
|
if (step->GetDeltaMomentum()[0] != 0 || step->GetDeltaMomentum()[1] != 0 || step->GetDeltaMomentum()[2] != 0)
|
||||||
|
Analysis::GetInstance()->IncreaseRayleighScatterings(trackId);
|
||||||
|
|
||||||
|
|
||||||
|
// Store length per volume
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,4) == "Core")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInCore(trackId,stepLength);
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,9) == "Cladding1")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInInnerCladding(trackId,stepLength);
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInOuterCladding(trackId,stepLength);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Store photons killed by OpWLS process, if not primary particle
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetParentID() > 0 && step->GetTrack()->GetTrackStatus() == fStopAndKill && step->GetSecondary()->size() == 1)
|
||||||
|
{
|
||||||
|
G4int creatorProcessId = 0;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Scintillation")
|
||||||
|
creatorProcessId = 1;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Cerenkov")
|
||||||
|
creatorProcessId = 2;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "OpWLS")
|
||||||
|
creatorProcessId = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
/* ++ End of SteppingAction of optical photons. ++ */
|
||||||
|
|
||||||
|
|
||||||
|
/* ++ SteppingAction for electrons and muon ++ */
|
||||||
|
if((step->GetTrack()->GetDefinition() == primDefinition))
|
||||||
|
{
|
||||||
|
G4double runID = (G4double) G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID();
|
||||||
|
G4double eventID = (G4double) G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID();
|
||||||
|
|
||||||
|
Analysis::GetInstance()->FillPrimaryParticleTrack(runID,
|
||||||
|
eventID,
|
||||||
|
step->GetTrack()->GetPosition()[0],
|
||||||
|
step->GetTrack()->GetPosition()[1],
|
||||||
|
step->GetTrack()->GetPosition()[2]);
|
||||||
|
|
||||||
|
G4String prePhysicalVolumeName = step->GetPreStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
if (prePhysicalVolumeName.substr(0,4) == "Core")
|
||||||
|
{
|
||||||
|
G4double edep = step->GetTotalEnergyDeposit();
|
||||||
|
G4double stepLength = step->GetStepLength();
|
||||||
|
|
||||||
|
fEventAction->AddCore(edep, stepLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName == "Trigger")
|
||||||
|
{
|
||||||
|
G4double edep = step->GetTotalEnergyDeposit();
|
||||||
|
Analysis::GetInstance()->FillTrigger(runID,
|
||||||
|
eventID,
|
||||||
|
edep,
|
||||||
|
step->GetTrack()->GetPosition()[0],
|
||||||
|
step->GetTrack()->GetPosition()[1],
|
||||||
|
step->GetTrack()->GetPosition()[2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of SteppingAction for electrons and muon ++ */
|
||||||
|
}
|
221
SciFiSim/src/SteppingAction.cc~
Executable file
221
SciFiSim/src/SteppingAction.cc~
Executable file
@ -0,0 +1,221 @@
|
|||||||
|
// Written by Peter Stromberger
|
||||||
|
// based on work of Mirco Deckenhoff
|
||||||
|
// modified by Bastian Rössler
|
||||||
|
|
||||||
|
|
||||||
|
#include "SteppingAction.hh"
|
||||||
|
#include "G4Step.hh"
|
||||||
|
#include "G4VTouchable.hh"
|
||||||
|
#include "G4SteppingManager.hh"
|
||||||
|
#include "G4UnitsTable.hh"
|
||||||
|
#include "G4ParticleTypes.hh"
|
||||||
|
#include "G4ProcessManager.hh"
|
||||||
|
#include "G4VProcess.hh"
|
||||||
|
#include "G4ProcessVector.hh"
|
||||||
|
#include "EventAction.hh"
|
||||||
|
#include <string>
|
||||||
|
#include "Parameters.hh"
|
||||||
|
#include "Analysis.hh"
|
||||||
|
#include "G4RunManager.hh"
|
||||||
|
#include "Randomize.hh"
|
||||||
|
#include "G4SystemOfUnits.hh"
|
||||||
|
|
||||||
|
|
||||||
|
SteppingAction::SteppingAction(EventAction* eventAction, PrimaryGeneratorAction* p)
|
||||||
|
{
|
||||||
|
creatorProcess = -1;
|
||||||
|
fEventAction = eventAction;
|
||||||
|
pGA = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
SteppingAction::~SteppingAction(){}
|
||||||
|
|
||||||
|
void SteppingAction::UserSteppingAction( const G4Step * step )
|
||||||
|
{
|
||||||
|
|
||||||
|
primDefinition = (pGA->GetGun())->GetParticleDefinition();
|
||||||
|
primParticle = (primDefinition->GetParticleName()).c_str();
|
||||||
|
|
||||||
|
/* ++ SteppingAction for optical photons ++ */
|
||||||
|
if(step->GetTrack()->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
|
||||||
|
{
|
||||||
|
G4int trackId = step->GetTrack()->GetTrackID();
|
||||||
|
G4double stepLength = step->GetStepLength();
|
||||||
|
|
||||||
|
G4String prePhysicalVolumeName = step->GetPreStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
G4String postPhysicalVolumeName = "";
|
||||||
|
|
||||||
|
// PostStep does only exist if the particle is not exiting the EpoxyBox volume!
|
||||||
|
if(step->GetTrack()->GetTrackStatus() != fStopAndKill)
|
||||||
|
postPhysicalVolumeName = step->GetPostStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
|
||||||
|
|
||||||
|
// Kill photons at fibre surface
|
||||||
|
// Count the reflections and refractions
|
||||||
|
|
||||||
|
if(step->GetPostStepPoint()->GetStepStatus()==fGeomBoundary)
|
||||||
|
{
|
||||||
|
if(postPhysicalVolumeName == "EpoxyBox" && prePhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
{
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() == 1)
|
||||||
|
step->GetTrack()->SetTrackStatus(fStopAndKill);
|
||||||
|
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() < 1
|
||||||
|
&& Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() > 0)
|
||||||
|
{
|
||||||
|
G4double randomNumber = CLHEP::RandFlat::shoot();
|
||||||
|
|
||||||
|
if(Parameters::GetInstance()->ProbabilityOfPhotonLossAtSurface() < randomNumber)
|
||||||
|
{
|
||||||
|
if (step->GetStepLength() > 0)
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtFibreSurface(trackId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
step->GetTrack()->SetTrackStatus(fStopAndKill);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (step->GetStepLength() > 0)
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtFibreSurface(trackId);
|
||||||
|
}
|
||||||
|
if(postPhysicalVolumeName == "Mirror")
|
||||||
|
Analysis::GetInstance()->IncreaseReflectionsAtMirror(trackId);
|
||||||
|
|
||||||
|
|
||||||
|
// Retrieve status of the photon boundary process
|
||||||
|
|
||||||
|
|
||||||
|
G4OpBoundaryProcessStatus theBoundaryStatus = Undefined;
|
||||||
|
|
||||||
|
G4ProcessManager* OpManager = G4OpticalPhoton::OpticalPhoton()->GetProcessManager();
|
||||||
|
|
||||||
|
if(OpManager)
|
||||||
|
{
|
||||||
|
G4int MAXofPostStepLoops = OpManager->GetPostStepProcessVector()->entries();
|
||||||
|
G4ProcessVector* fPostStepDoItVector = OpManager->GetPostStepProcessVector(typeDoIt);
|
||||||
|
|
||||||
|
for(G4int i = 0; i<MAXofPostStepLoops; i++)
|
||||||
|
{
|
||||||
|
G4VProcess* fCurrentProcess = (*fPostStepDoItVector)[i];
|
||||||
|
opBoundaryProcess = dynamic_cast<G4OpBoundaryProcess*>(fCurrentProcess);
|
||||||
|
|
||||||
|
if(opBoundaryProcess)
|
||||||
|
{
|
||||||
|
theBoundaryStatus = opBoundaryProcess->GetStatus();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(theBoundaryStatus != Undefined)
|
||||||
|
{
|
||||||
|
if((prePhysicalVolumeName.substr(0,9) == "Cladding1" && postPhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
|| (prePhysicalVolumeName.substr(0,9) == "Cladding2" && postPhysicalVolumeName.substr(0,9) == "Cladding1"))
|
||||||
|
{
|
||||||
|
if(theBoundaryStatus == TotalInternalReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseTotalReflectionsAtCladCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseFresnelReflectionsAtCladCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelRefraction)
|
||||||
|
Analysis::GetInstance()->IncreaseRefractionsAtCladCladInterface(trackId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((prePhysicalVolumeName.substr(0,4) == "Core" && postPhysicalVolumeName.substr(0,9) == "Cladding1")
|
||||||
|
|| (prePhysicalVolumeName.substr(0,9) == "Cladding1" && postPhysicalVolumeName.substr(0,9) == "Core"))
|
||||||
|
{
|
||||||
|
if(theBoundaryStatus == TotalInternalReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseTotalReflectionsAtCoreCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelReflection)
|
||||||
|
Analysis::GetInstance()->IncreaseFresnelReflectionsAtCoreCladInterface(trackId);
|
||||||
|
|
||||||
|
if(theBoundaryStatus == FresnelRefraction)
|
||||||
|
Analysis::GetInstance()->IncreaseRefractionsAtCoreCladInterface(trackId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // Check for Rayleigh scattering
|
||||||
|
if (step->GetDeltaMomentum()[0] != 0 || step->GetDeltaMomentum()[1] != 0 || step->GetDeltaMomentum()[2] != 0)
|
||||||
|
Analysis::GetInstance()->IncreaseRayleighScatterings(trackId);
|
||||||
|
|
||||||
|
|
||||||
|
// Store length per volume
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,4) == "Core")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInCore(trackId,stepLength);
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,9) == "Cladding1")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInInnerCladding(trackId,stepLength);
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName.substr(0,9) == "Cladding2")
|
||||||
|
Analysis::GetInstance()->IncreaseLengthInOuterCladding(trackId,stepLength);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Store photons killed by OpWLS process, if not primary particle
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetParentID() > 0 && step->GetTrack()->GetTrackStatus() == fStopAndKill && step->GetSecondary()->size() == 1)
|
||||||
|
{
|
||||||
|
G4int creatorProcessId = 0;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Scintillation")
|
||||||
|
creatorProcessId = 1;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "Cerenkov")
|
||||||
|
creatorProcessId = 2;
|
||||||
|
|
||||||
|
if(step->GetTrack()->GetCreatorProcess()->GetProcessName() == "OpWLS")
|
||||||
|
creatorProcessId = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Radiation damage
|
||||||
|
dose = h_dose->GetBinContent(1,1 );
|
||||||
|
dose = 0;
|
||||||
|
std::cout << step->GetTrack()->GetPosition().x() << " " << step->GetTrack()->GetPosition().y() << " " << step->GetTrack()->GetPosition().z() << " " << dose << "\n ";
|
||||||
|
|
||||||
|
G4float attlength = 100.*1./(dose * 1.5*exp(9.412 -0.0256721 * 1240./(step->GetTrack()->GetTotalEnergy()/eV)) );
|
||||||
|
double xf = G4UniformRand();
|
||||||
|
//std::cout << xf << " " << attlength<< " " << 1240./(step->GetTrack()->GetTotalEnergy()/eV) << "\n";
|
||||||
|
if(xf>(exp(-stepLength*cm/attlength)) ){ //randomly kill photon based on attenuation length
|
||||||
|
step->GetTrack()->SetTrackStatus(fStopAndKill);}
|
||||||
|
|
||||||
|
}
|
||||||
|
/* ++ End of SteppingAction of optical photons. ++ */
|
||||||
|
|
||||||
|
|
||||||
|
/* ++ SteppingAction for electrons and muon ++ */
|
||||||
|
if((step->GetTrack()->GetDefinition() == primDefinition))
|
||||||
|
{
|
||||||
|
G4double runID = (G4double) G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID();
|
||||||
|
G4double eventID = (G4double) G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID();
|
||||||
|
|
||||||
|
Analysis::GetInstance()->FillPrimaryParticleTrack(runID,
|
||||||
|
eventID,
|
||||||
|
step->GetTrack()->GetPosition()[0],
|
||||||
|
step->GetTrack()->GetPosition()[1],
|
||||||
|
step->GetTrack()->GetPosition()[2]);
|
||||||
|
|
||||||
|
G4String prePhysicalVolumeName = step->GetPreStepPoint()->GetPhysicalVolume()->GetName();
|
||||||
|
if (prePhysicalVolumeName.substr(0,4) == "Core")
|
||||||
|
{
|
||||||
|
G4double edep = step->GetTotalEnergyDeposit();
|
||||||
|
G4double stepLength = step->GetStepLength();
|
||||||
|
|
||||||
|
fEventAction->AddCore(edep, stepLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prePhysicalVolumeName == "Trigger")
|
||||||
|
{
|
||||||
|
G4double edep = step->GetTotalEnergyDeposit();
|
||||||
|
Analysis::GetInstance()->FillTrigger(runID,
|
||||||
|
eventID,
|
||||||
|
edep,
|
||||||
|
step->GetTrack()->GetPosition()[0],
|
||||||
|
step->GetTrack()->GetPosition()[1],
|
||||||
|
step->GetTrack()->GetPosition()[2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ++ End of SteppingAction for electrons and muon ++ */
|
||||||
|
}
|
BIN
SciFiSim/src/dose.root
Normal file
BIN
SciFiSim/src/dose.root
Normal file
Binary file not shown.
72
SciFiSim/src/dosehist.C
Normal file
72
SciFiSim/src/dosehist.C
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
Double_t dosebig[25][30] = {
|
||||||
|
{ 1.34E+01, 1.45E+01, 7.95E+00, 5.45E+00, 4.17E+00, 3.37E+00, 2.81E+00, 2.55E+00, 2.24E+00, 2.02E+00, 1.83E+00, 1.68E+00, 1.55E+00, 1.43E+00, 1.34E+00, 1.28E+00, 1.20E+00, 1.15E+00, 1.06E+00, 9.75E-01, 9.35E-01, 8.60E-01, 7.95E-01, 7.45E-01, 6.85E-01, 6.20E-01, 5.80E-01, 5.20E-01, 4.96E-01, 4.65E-01} ,
|
||||||
|
{ 7.20E+00, 6.20E+00, 4.64E+00, 3.47E+00, 2.68E+00, 2.28E+00, 1.98E+00, 1.66E+00, 1.50E+00, 1.38E+00, 1.27E+00, 1.16E+00, 1.04E+00, 9.85E-01, 9.15E-01, 8.95E-01, 8.45E-01, 7.75E-01, 7.25E-01, 6.95E-01, 6.60E-01, 6.00E-01, 5.40E-01, 5.30E-01, 4.66E-01, 4.20E-01, 3.99E-01, 3.64E-01, 3.33E-01, 2.90E-01} ,
|
||||||
|
{ 2.74E+00, 2.55E+00, 2.23E+00, 2.04E+00, 1.65E+00, 1.47E+00, 1.29E+00, 1.25E+00, 1.06E+00, 9.70E-01, 8.85E-01, 8.50E-01, 7.75E-01, 7.20E-01, 6.75E-01, 6.65E-01, 6.10E-01, 5.65E-01, 5.50E-01, 5.10E-01, 4.74E-01, 4.51E-01, 4.06E-01, 3.80E-01, 3.75E-01, 3.16E-01, 2.86E-01, 2.72E-01, 2.54E-01, 1.89E-01} ,
|
||||||
|
{ 1.57E+00, 1.39E+00, 1.31E+00, 1.30E+00, 1.12E+00, 1.06E+00, 9.55E-01, 8.70E-01, 8.30E-01, 7.90E-01, 6.95E-01, 6.45E-01, 6.10E-01, 5.65E-01, 5.50E-01, 4.86E-01, 5.10E-01, 4.66E-01, 4.30E-01, 4.41E-01, 3.89E-01, 3.59E-01, 3.20E-01, 3.35E-01, 2.98E-01, 2.73E-01, 2.67E-01, 2.27E-01, 2.10E-01, 1.54E-01} ,
|
||||||
|
{ 1.00E+00, 9.00E-01, 9.10E-01, 9.15E-01, 8.25E-01, 8.00E-01, 7.40E-01, 6.75E-01, 6.65E-01, 5.80E-01, 5.35E-01, 5.10E-01, 4.60E-01, 4.58E-01, 4.09E-01, 3.93E-01, 3.78E-01, 3.63E-01, 3.52E-01, 3.49E-01, 2.88E-01, 2.78E-01, 2.64E-01, 2.56E-01, 2.44E-01, 2.23E-01, 2.21E-01, 1.97E-01, 1.73E-01, 1.37E-01} ,
|
||||||
|
{ 6.60E-01, 6.20E-01, 6.10E-01, 6.30E-01, 5.95E-01, 5.65E-01, 5.55E-01, 5.10E-01, 4.96E-01, 4.92E-01, 4.90E-01, 3.97E-01, 4.07E-01, 3.47E-01, 3.38E-01, 3.10E-01, 2.93E-01, 2.92E-01, 2.65E-01, 2.65E-01, 2.40E-01, 2.48E-01, 2.06E-01, 2.10E-01, 2.40E-01, 1.98E-01, 1.85E-01, 1.89E-01, 1.38E-01, 1.34E-01} ,
|
||||||
|
{ 4.83E-01, 4.77E-01, 4.60E-01, 4.75E-01, 4.39E-01, 4.12E-01, 4.47E-01, 4.00E-01, 3.78E-01, 3.65E-01, 3.43E-01, 3.31E-01, 2.85E-01, 3.22E-01, 2.85E-01, 2.54E-01, 2.53E-01, 2.49E-01, 2.48E-01, 2.20E-01, 2.17E-01, 1.95E-01, 1.99E-01, 1.80E-01, 1.75E-01, 1.68E-01, 1.77E-01, 1.51E-01, 1.37E-01, 1.10E-01} ,
|
||||||
|
{ 3.89E-01, 3.67E-01, 3.61E-01, 3.74E-01, 3.70E-01, 3.45E-01, 3.45E-01, 3.11E-01, 2.97E-01, 3.11E-01, 2.93E-01, 2.65E-01, 2.68E-01, 2.23E-01, 2.11E-01, 2.26E-01, 2.18E-01, 1.97E-01, 1.97E-01, 1.88E-01, 1.97E-01, 1.72E-01, 1.66E-01, 1.75E-01, 1.44E-01, 1.60E-01, 1.41E-01, 1.40E-01, 1.05E-01, 1.19E-01} ,
|
||||||
|
{ 3.18E-01, 2.54E-01, 3.06E-01, 2.89E-01, 2.74E-01, 2.80E-01, 2.57E-01, 2.59E-01, 2.51E-01, 2.45E-01, 2.62E-01, 2.36E-01, 2.15E-01, 2.12E-01, 1.96E-01, 2.12E-01, 1.78E-01, 1.75E-01, 1.69E-01, 1.64E-01, 1.64E-01, 1.62E-01, 1.53E-01, 1.49E-01, 1.47E-01, 1.49E-01, 1.42E-01, 1.20E-01, 1.01E-01, 9.00E-02} ,
|
||||||
|
{ 2.75E-01, 2.51E-01, 2.24E-01, 2.69E-01, 2.34E-01, 2.28E-01, 2.30E-01, 1.96E-01, 2.08E-01, 2.27E-01, 2.09E-01, 1.91E-01, 2.14E-01, 1.79E-01, 1.79E-01, 2.05E-01, 1.79E-01, 1.58E-01, 1.88E-01, 1.49E-01, 1.57E-01, 1.30E-01, 1.32E-01, 1.39E-01, 1.32E-01, 1.18E-01, 1.34E-01, 1.05E-01, 9.65E-02, 8.65E-02} ,
|
||||||
|
{ 2.35E-01, 2.34E-01, 2.27E-01, 2.17E-01, 2.41E-01, 2.21E-01, 2.01E-01, 1.87E-01, 2.04E-01, 1.85E-01, 1.75E-01, 1.69E-01, 1.79E-01, 1.92E-01, 1.56E-01, 1.79E-01, 1.78E-01, 1.41E-01, 1.45E-01, 1.41E-01, 1.36E-01, 1.44E-01, 1.11E-01, 1.24E-01, 1.13E-01, 1.29E-01, 1.02E-01, 9.30E-02, 9.65E-02, 8.40E-02} ,
|
||||||
|
{ 1.89E-01, 1.72E-01, 1.94E-01, 1.94E-01, 2.07E-01, 2.42E-01, 2.02E-01, 1.80E-01, 1.80E-01, 1.54E-01, 1.60E-01, 1.67E-01, 1.57E-01, 1.39E-01, 1.57E-01, 1.46E-01, 1.62E-01, 1.35E-01, 1.29E-01, 1.32E-01, 1.25E-01, 1.13E-01, 1.05E-01, 1.02E-01, 1.12E-01, 9.75E-02, 8.85E-02, 9.10E-02, 7.35E-02, 9.00E-02} ,
|
||||||
|
{ 1.56E-01, 1.40E-01, 1.52E-01, 1.70E-01, 1.55E-01, 1.48E-01, 1.54E-01, 1.61E-01, 1.58E-01, 1.54E-01, 1.34E-01, 1.43E-01, 1.40E-01, 1.41E-01, 1.26E-01, 1.17E-01, 1.20E-01, 1.05E-01, 1.11E-01, 1.06E-01, 1.03E-01, 9.50E-02, 1.02E-01, 8.65E-02, 9.45E-02, 9.35E-02, 7.05E-02, 6.70E-02, 7.55E-02, 5.80E-02} ,
|
||||||
|
{ 1.50E-01, 1.34E-01, 1.23E-01, 1.50E-01, 1.35E-01, 1.28E-01, 1.32E-01, 1.43E-01, 1.13E-01, 1.20E-01, 1.35E-01, 1.15E-01, 1.07E-01, 1.15E-01, 1.17E-01, 1.09E-01, 1.09E-01, 1.11E-01, 9.85E-02, 9.25E-02, 8.95E-02, 7.65E-02, 8.30E-02, 7.75E-02, 7.05E-02, 7.60E-02, 5.95E-02, 8.25E-02, 6.20E-02, 7.45E-02} ,
|
||||||
|
{ 1.29E-01, 1.08E-01, 1.05E-01, 1.28E-01, 1.33E-01, 1.18E-01, 1.11E-01, 1.30E-01, 1.13E-01, 1.01E-01, 1.05E-01, 9.20E-02, 9.35E-02, 9.30E-02, 9.45E-02, 1.17E-01, 1.00E-01, 8.75E-02, 9.15E-02, 8.45E-02, 5.95E-02, 6.50E-02, 7.65E-02, 7.45E-02, 7.05E-02, 7.50E-02, 5.40E-02, 5.75E-02, 5.65E-02, 5.40E-02} ,
|
||||||
|
{ 1.46E-01, 1.07E-01, 1.13E-01, 1.08E-01, 1.11E-01, 1.07E-01, 9.65E-02, 9.80E-02, 9.65E-02, 8.60E-02, 8.45E-02, 9.80E-02, 9.05E-02, 1.06E-01, 8.30E-02, 8.35E-02, 7.80E-02, 8.00E-02, 6.80E-02, 7.10E-02, 6.65E-02, 7.10E-02, 7.35E-02, 6.45E-02, 5.40E-02, 5.50E-02, 5.60E-02, 6.30E-02, 5.10E-02, 4.84E-02} ,
|
||||||
|
{ 1.15E-01, 9.80E-02, 9.65E-02, 1.08E-01, 1.00E-01, 1.32E-01, 8.25E-02, 9.90E-02, 9.30E-02, 8.40E-02, 8.75E-02, 7.70E-02, 9.30E-02, 7.65E-02, 7.70E-02, 8.00E-02, 7.20E-02, 7.10E-02, 6.90E-02, 6.95E-02, 6.25E-02, 5.90E-02, 7.15E-02, 6.10E-02, 5.10E-02, 5.10E-02, 5.20E-02, 5.80E-02, 6.35E-02, 4.94E-02} ,
|
||||||
|
{ 1.13E-01, 1.01E-01, 1.08E-01, 1.16E-01, 8.75E-02, 8.80E-02, 7.55E-02, 8.20E-02, 8.20E-02, 8.80E-02, 8.20E-02, 8.55E-02, 7.40E-02, 6.80E-02, 6.85E-02, 7.40E-02, 6.70E-02, 6.20E-02, 5.85E-02, 5.55E-02, 5.65E-02, 6.15E-02, 5.90E-02, 6.50E-02, 5.20E-02, 5.60E-02, 4.47E-02, 4.64E-02, 3.90E-02, 5.55E-02} ,
|
||||||
|
{ 9.35E-02, 7.60E-02, 7.45E-02, 8.60E-02, 8.85E-02, 7.30E-02, 5.95E-02, 6.60E-02, 7.25E-02, 7.05E-02, 7.00E-02, 7.50E-02, 6.90E-02, 7.30E-02, 6.30E-02, 6.45E-02, 6.05E-02, 5.95E-02, 5.60E-02, 5.20E-02, 4.72E-02, 5.25E-02, 5.65E-02, 4.89E-02, 3.86E-02, 4.41E-02, 4.57E-02, 3.96E-02, 4.49E-02, 5.15E-02} ,
|
||||||
|
{ 7.65E-02, 6.10E-02, 6.20E-02, 7.85E-02, 6.95E-02, 6.15E-02, 7.50E-02, 7.80E-02, 6.30E-02, 5.60E-02, 4.98E-02, 6.45E-02, 6.05E-02, 4.74E-02, 6.20E-02, 5.50E-02, 5.85E-02, 4.84E-02, 4.11E-02, 4.64E-02, 5.25E-02, 4.39E-02, 4.03E-02, 4.15E-02, 3.31E-02, 3.77E-02, 3.87E-02, 3.65E-02, 4.22E-02, 3.39E-02} ,
|
||||||
|
{ 6.55E-02, 5.30E-02, 5.45E-02, 5.90E-02, 5.25E-02, 5.70E-02, 5.75E-02, 5.10E-02, 5.95E-02, 4.73E-02, 5.85E-02, 5.90E-02, 5.35E-02, 5.70E-02, 5.10E-02, 4.50E-02, 5.10E-02, 5.10E-02, 4.80E-02, 4.16E-02, 4.56E-02, 4.21E-02, 4.22E-02, 3.65E-02, 3.55E-02, 3.69E-02, 3.99E-02, 3.91E-02, 3.20E-02, 2.36E-02} ,
|
||||||
|
{ 6.05E-02, 4.49E-02, 3.60E-02, 4.88E-02, 6.15E-02, 4.71E-02, 5.40E-02, 4.40E-02, 5.15E-02, 5.30E-02, 4.63E-02, 4.52E-02, 5.95E-02, 6.90E-02, 3.83E-02, 4.28E-02, 4.57E-02, 3.39E-02, 4.74E-02, 4.59E-02, 3.64E-02, 4.23E-02, 4.00E-02, 3.39E-02, 3.47E-02, 2.82E-02, 3.14E-02, 3.44E-02, 2.83E-02, 3.07E-02} ,
|
||||||
|
{ 4.42E-02, 3.93E-02, 3.97E-02, 4.28E-02, 4.25E-02, 4.61E-02, 3.78E-02, 3.64E-02, 4.53E-02, 4.21E-02, 4.04E-02, 4.10E-02, 4.33E-02, 4.15E-02, 3.29E-02, 3.88E-02, 3.14E-02, 3.34E-02, 3.60E-02, 3.53E-02, 3.64E-02, 3.60E-02, 2.79E-02, 2.96E-02, 3.28E-02, 2.95E-02, 2.75E-02, 2.83E-02, 2.64E-02, 2.49E-02} ,
|
||||||
|
{ 5.20E-02, 3.80E-02, 4.32E-02, 3.51E-02, 3.67E-02, 4.66E-02, 3.98E-02, 3.43E-02, 4.17E-02, 4.25E-02, 3.50E-02, 3.88E-02, 3.69E-02, 3.79E-02, 4.09E-02, 3.51E-02, 3.53E-02, 4.07E-02, 3.25E-02, 3.10E-02, 4.01E-02, 3.75E-02, 2.81E-02, 2.72E-02, 2.77E-02, 2.57E-02, 3.09E-02, 2.49E-02, 2.65E-02, 1.74E-02} ,
|
||||||
|
{ 3.84E-02, 3.99E-02, 3.29E-02, 3.76E-02, 3.31E-02, 3.33E-02, 3.40E-02, 3.55E-02, 3.63E-02, 3.01E-02, 3.40E-02, 4.82E-02, 3.13E-02, 4.77E-02, 3.41E-02, 4.30E-02, 3.45E-02, 3.01E-02, 3.07E-02, 2.94E-02, 2.56E-02, 2.21E-02, 2.40E-02, 2.43E-02, 2.66E-02, 2.44E-02, 1.98E-02, 2.55E-02, 2.41E-02, 2.00E-02}
|
||||||
|
};
|
||||||
|
|
||||||
|
Double_t dosesmall[20][20] =
|
||||||
|
{{3.705,3.97,3.43,3.615,3.375,3.27,3.515,3.74,3.29,3.42,3.985,3.415,3.32,3.305,3.765,3.22,3.37,2.855,3.23,3.145},
|
||||||
|
{4.565,4,3.98,3.735,3.995,3.73,3.6,3.495,3.73,4.06,3.865,4.355,3.745,3.535,3.47,3.17,3.835,3.425,3.19,3.29},
|
||||||
|
{ 4.65,4.37,4.09,4.29,4.65,4.62,4.04,3.845,4.375,4.09,4.05,4.885,4.35,4.705,3.905,4.06,3.82,3.665,3.61,3.67},
|
||||||
|
{ 4.905,4.74,5.1,4.62,4.425,4.625,4.695,4.395,4.685,4.335,4.665,4.575,4.485,4.725,5,4.715,4.055,4.32,4.76,4.225},
|
||||||
|
{ 5.55,6.35,5.3,5.15,5.25,5.35,5.05,5.25,5.6,5.4,5.25,4.68,4.645,4.98,4.555,4.935,4.725,4.485,4.51,4.135},
|
||||||
|
{ 6,6.55,6.35,6.5,6,5.55,5.65,6.15,5.95,5.75,5.75,5.55,5.6,5.3,4.71,5.15,4.905,5.6,4.565,4.38},
|
||||||
|
{ 7.35,7.6,6.9,7.1,6.9,7.05,6.3,6.7,6.45,7.75,5.8,5.7,6,5.6,5.85,5.4,5.9,5.55,5.55,4.835},
|
||||||
|
{ 8.65,8.45,18.65,7.6,8,8.9,7.55,7.4,7.7,6.45,8.35,7.5,6.95,7.55,7.2,7.2,7.05,6.1,6.2,5.6},
|
||||||
|
{ 11.45,11.5,11.4,11.1,15.25,10.5,9.5,9.15,8.25,8.15,8.35,8.65,8.25,8.7,7.8,7.5,7,6.8,6.7,5.85},
|
||||||
|
{ 15.75,16.6,15.9,16.95,14.05,15.8,13.2,12.35,12.95,11.25,10.5,10,9.7,9.85,8.95,8.25,7.9,7.75,7.45,7.3},
|
||||||
|
{ 20.8,5.4,20.8,19.05,19.1,17.05,16.55,17.25,13.5,12.65,11.9,12.05,11.15,11.5,10.25,9.65,9.6,8.3,8.95,8.2},
|
||||||
|
{ 24.85,23.95,22.6,21.85,22.5,18.9,20.7,22.4,17.05,15.65,13.45,12.05,11.85,10.7,10.5,10.25,9.65,9.3,8.65,7.95},
|
||||||
|
{ 3.575,6.7,12.65,22.2,20.35,28.85,18.7,17.55,17.85,16.5,13.95,12.65,12.45,11.7,10.45,9.85,9.15,8.85,8.2,8.8},
|
||||||
|
{ 0,0,0,1.665,14.75,27.4,28.7,20,19.75,18.65,26.45,14.3,13.6,13.25,11.5,11.2,10.7,11.1,9,9.15},
|
||||||
|
{ 0,0,0,0,0,12.2,26.5,22.45,20.9,20.45,22,17.2,14.75,13.15,13.1,11.3,11.35,9.75,10.85,8.65},
|
||||||
|
{ 0,0,0,0,0,0,27.25,27.1,25.65,20.9,22.5,18.65,15.7,13.6,14,11.65,10.65,9.6,9.7,8.45},
|
||||||
|
{ 0,0,0,0,0,0,11.8,30.05,26.45,37.8,23.45,22.5,17.3,15.05,13.7,11.65,11.85,10.7,9.95,8.9},
|
||||||
|
{ 0,0,0,0,0,0,0,29.65,32.05,26.4,22.95,27.95,17.65,14.6,13.3,12.2,11.9,10.75,10.3,10.1},
|
||||||
|
{ 0,0,0,0,0,0,0,13.1,38.05,30.2,35.8,21.65,19.4,15.45,14.05,12.95,12.6,11,10.55,9.5},
|
||||||
|
{ 0,0,0,0,0,0,0,8.25,37.85,28.8,32,23.35,19.85,17.65,15.35,12.75,12.35,10.95,10.25,9.35}};
|
||||||
|
|
||||||
|
TFile f("dose.root","recreate");
|
||||||
|
TH2F * dosehist50invfb = new TH2F("dosehist50invfb","dosehist50invfb",300,0,300,250,0,250);
|
||||||
|
|
||||||
|
for (unsigned int i = 0;i<250;i++){
|
||||||
|
for (unsigned int j = 0;j<300;j++){
|
||||||
|
dosehist50invfb->SetBinContent(j+1,i+1,dosebig[floor(i/10)][floor(j/10)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (unsigned int i = 0;i<20;i++){
|
||||||
|
for (unsigned int j = 0;j<20;j++){
|
||||||
|
dosehist50invfb->SetBinContent(j+1,20-i,dosesmall[i][j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dosehist50invfb->Draw("coloz");
|
||||||
|
dosehist50invfb->Write();
|
||||||
|
f.Close();
|
||||||
|
}
|
71
SciFiSim/src/dosehist.C~
Normal file
71
SciFiSim/src/dosehist.C~
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
Double_t dosebig[25][30] = {
|
||||||
|
{ 1.34E+01, 1.45E+01, 7.95E+00, 5.45E+00, 4.17E+00, 3.37E+00, 2.81E+00, 2.55E+00, 2.24E+00, 2.02E+00, 1.83E+00, 1.68E+00, 1.55E+00, 1.43E+00, 1.34E+00, 1.28E+00, 1.20E+00, 1.15E+00, 1.06E+00, 9.75E-01, 9.35E-01, 8.60E-01, 7.95E-01, 7.45E-01, 6.85E-01, 6.20E-01, 5.80E-01, 5.20E-01, 4.96E-01, 4.65E-01} ,
|
||||||
|
{ 7.20E+00, 6.20E+00, 4.64E+00, 3.47E+00, 2.68E+00, 2.28E+00, 1.98E+00, 1.66E+00, 1.50E+00, 1.38E+00, 1.27E+00, 1.16E+00, 1.04E+00, 9.85E-01, 9.15E-01, 8.95E-01, 8.45E-01, 7.75E-01, 7.25E-01, 6.95E-01, 6.60E-01, 6.00E-01, 5.40E-01, 5.30E-01, 4.66E-01, 4.20E-01, 3.99E-01, 3.64E-01, 3.33E-01, 2.90E-01} ,
|
||||||
|
{ 2.74E+00, 2.55E+00, 2.23E+00, 2.04E+00, 1.65E+00, 1.47E+00, 1.29E+00, 1.25E+00, 1.06E+00, 9.70E-01, 8.85E-01, 8.50E-01, 7.75E-01, 7.20E-01, 6.75E-01, 6.65E-01, 6.10E-01, 5.65E-01, 5.50E-01, 5.10E-01, 4.74E-01, 4.51E-01, 4.06E-01, 3.80E-01, 3.75E-01, 3.16E-01, 2.86E-01, 2.72E-01, 2.54E-01, 1.89E-01} ,
|
||||||
|
{ 1.57E+00, 1.39E+00, 1.31E+00, 1.30E+00, 1.12E+00, 1.06E+00, 9.55E-01, 8.70E-01, 8.30E-01, 7.90E-01, 6.95E-01, 6.45E-01, 6.10E-01, 5.65E-01, 5.50E-01, 4.86E-01, 5.10E-01, 4.66E-01, 4.30E-01, 4.41E-01, 3.89E-01, 3.59E-01, 3.20E-01, 3.35E-01, 2.98E-01, 2.73E-01, 2.67E-01, 2.27E-01, 2.10E-01, 1.54E-01} ,
|
||||||
|
{ 1.00E+00, 9.00E-01, 9.10E-01, 9.15E-01, 8.25E-01, 8.00E-01, 7.40E-01, 6.75E-01, 6.65E-01, 5.80E-01, 5.35E-01, 5.10E-01, 4.60E-01, 4.58E-01, 4.09E-01, 3.93E-01, 3.78E-01, 3.63E-01, 3.52E-01, 3.49E-01, 2.88E-01, 2.78E-01, 2.64E-01, 2.56E-01, 2.44E-01, 2.23E-01, 2.21E-01, 1.97E-01, 1.73E-01, 1.37E-01} ,
|
||||||
|
{ 6.60E-01, 6.20E-01, 6.10E-01, 6.30E-01, 5.95E-01, 5.65E-01, 5.55E-01, 5.10E-01, 4.96E-01, 4.92E-01, 4.90E-01, 3.97E-01, 4.07E-01, 3.47E-01, 3.38E-01, 3.10E-01, 2.93E-01, 2.92E-01, 2.65E-01, 2.65E-01, 2.40E-01, 2.48E-01, 2.06E-01, 2.10E-01, 2.40E-01, 1.98E-01, 1.85E-01, 1.89E-01, 1.38E-01, 1.34E-01} ,
|
||||||
|
{ 4.83E-01, 4.77E-01, 4.60E-01, 4.75E-01, 4.39E-01, 4.12E-01, 4.47E-01, 4.00E-01, 3.78E-01, 3.65E-01, 3.43E-01, 3.31E-01, 2.85E-01, 3.22E-01, 2.85E-01, 2.54E-01, 2.53E-01, 2.49E-01, 2.48E-01, 2.20E-01, 2.17E-01, 1.95E-01, 1.99E-01, 1.80E-01, 1.75E-01, 1.68E-01, 1.77E-01, 1.51E-01, 1.37E-01, 1.10E-01} ,
|
||||||
|
{ 3.89E-01, 3.67E-01, 3.61E-01, 3.74E-01, 3.70E-01, 3.45E-01, 3.45E-01, 3.11E-01, 2.97E-01, 3.11E-01, 2.93E-01, 2.65E-01, 2.68E-01, 2.23E-01, 2.11E-01, 2.26E-01, 2.18E-01, 1.97E-01, 1.97E-01, 1.88E-01, 1.97E-01, 1.72E-01, 1.66E-01, 1.75E-01, 1.44E-01, 1.60E-01, 1.41E-01, 1.40E-01, 1.05E-01, 1.19E-01} ,
|
||||||
|
{ 3.18E-01, 2.54E-01, 3.06E-01, 2.89E-01, 2.74E-01, 2.80E-01, 2.57E-01, 2.59E-01, 2.51E-01, 2.45E-01, 2.62E-01, 2.36E-01, 2.15E-01, 2.12E-01, 1.96E-01, 2.12E-01, 1.78E-01, 1.75E-01, 1.69E-01, 1.64E-01, 1.64E-01, 1.62E-01, 1.53E-01, 1.49E-01, 1.47E-01, 1.49E-01, 1.42E-01, 1.20E-01, 1.01E-01, 9.00E-02} ,
|
||||||
|
{ 2.75E-01, 2.51E-01, 2.24E-01, 2.69E-01, 2.34E-01, 2.28E-01, 2.30E-01, 1.96E-01, 2.08E-01, 2.27E-01, 2.09E-01, 1.91E-01, 2.14E-01, 1.79E-01, 1.79E-01, 2.05E-01, 1.79E-01, 1.58E-01, 1.88E-01, 1.49E-01, 1.57E-01, 1.30E-01, 1.32E-01, 1.39E-01, 1.32E-01, 1.18E-01, 1.34E-01, 1.05E-01, 9.65E-02, 8.65E-02} ,
|
||||||
|
{ 2.35E-01, 2.34E-01, 2.27E-01, 2.17E-01, 2.41E-01, 2.21E-01, 2.01E-01, 1.87E-01, 2.04E-01, 1.85E-01, 1.75E-01, 1.69E-01, 1.79E-01, 1.92E-01, 1.56E-01, 1.79E-01, 1.78E-01, 1.41E-01, 1.45E-01, 1.41E-01, 1.36E-01, 1.44E-01, 1.11E-01, 1.24E-01, 1.13E-01, 1.29E-01, 1.02E-01, 9.30E-02, 9.65E-02, 8.40E-02} ,
|
||||||
|
{ 1.89E-01, 1.72E-01, 1.94E-01, 1.94E-01, 2.07E-01, 2.42E-01, 2.02E-01, 1.80E-01, 1.80E-01, 1.54E-01, 1.60E-01, 1.67E-01, 1.57E-01, 1.39E-01, 1.57E-01, 1.46E-01, 1.62E-01, 1.35E-01, 1.29E-01, 1.32E-01, 1.25E-01, 1.13E-01, 1.05E-01, 1.02E-01, 1.12E-01, 9.75E-02, 8.85E-02, 9.10E-02, 7.35E-02, 9.00E-02} ,
|
||||||
|
{ 1.56E-01, 1.40E-01, 1.52E-01, 1.70E-01, 1.55E-01, 1.48E-01, 1.54E-01, 1.61E-01, 1.58E-01, 1.54E-01, 1.34E-01, 1.43E-01, 1.40E-01, 1.41E-01, 1.26E-01, 1.17E-01, 1.20E-01, 1.05E-01, 1.11E-01, 1.06E-01, 1.03E-01, 9.50E-02, 1.02E-01, 8.65E-02, 9.45E-02, 9.35E-02, 7.05E-02, 6.70E-02, 7.55E-02, 5.80E-02} ,
|
||||||
|
{ 1.50E-01, 1.34E-01, 1.23E-01, 1.50E-01, 1.35E-01, 1.28E-01, 1.32E-01, 1.43E-01, 1.13E-01, 1.20E-01, 1.35E-01, 1.15E-01, 1.07E-01, 1.15E-01, 1.17E-01, 1.09E-01, 1.09E-01, 1.11E-01, 9.85E-02, 9.25E-02, 8.95E-02, 7.65E-02, 8.30E-02, 7.75E-02, 7.05E-02, 7.60E-02, 5.95E-02, 8.25E-02, 6.20E-02, 7.45E-02} ,
|
||||||
|
{ 1.29E-01, 1.08E-01, 1.05E-01, 1.28E-01, 1.33E-01, 1.18E-01, 1.11E-01, 1.30E-01, 1.13E-01, 1.01E-01, 1.05E-01, 9.20E-02, 9.35E-02, 9.30E-02, 9.45E-02, 1.17E-01, 1.00E-01, 8.75E-02, 9.15E-02, 8.45E-02, 5.95E-02, 6.50E-02, 7.65E-02, 7.45E-02, 7.05E-02, 7.50E-02, 5.40E-02, 5.75E-02, 5.65E-02, 5.40E-02} ,
|
||||||
|
{ 1.46E-01, 1.07E-01, 1.13E-01, 1.08E-01, 1.11E-01, 1.07E-01, 9.65E-02, 9.80E-02, 9.65E-02, 8.60E-02, 8.45E-02, 9.80E-02, 9.05E-02, 1.06E-01, 8.30E-02, 8.35E-02, 7.80E-02, 8.00E-02, 6.80E-02, 7.10E-02, 6.65E-02, 7.10E-02, 7.35E-02, 6.45E-02, 5.40E-02, 5.50E-02, 5.60E-02, 6.30E-02, 5.10E-02, 4.84E-02} ,
|
||||||
|
{ 1.15E-01, 9.80E-02, 9.65E-02, 1.08E-01, 1.00E-01, 1.32E-01, 8.25E-02, 9.90E-02, 9.30E-02, 8.40E-02, 8.75E-02, 7.70E-02, 9.30E-02, 7.65E-02, 7.70E-02, 8.00E-02, 7.20E-02, 7.10E-02, 6.90E-02, 6.95E-02, 6.25E-02, 5.90E-02, 7.15E-02, 6.10E-02, 5.10E-02, 5.10E-02, 5.20E-02, 5.80E-02, 6.35E-02, 4.94E-02} ,
|
||||||
|
{ 1.13E-01, 1.01E-01, 1.08E-01, 1.16E-01, 8.75E-02, 8.80E-02, 7.55E-02, 8.20E-02, 8.20E-02, 8.80E-02, 8.20E-02, 8.55E-02, 7.40E-02, 6.80E-02, 6.85E-02, 7.40E-02, 6.70E-02, 6.20E-02, 5.85E-02, 5.55E-02, 5.65E-02, 6.15E-02, 5.90E-02, 6.50E-02, 5.20E-02, 5.60E-02, 4.47E-02, 4.64E-02, 3.90E-02, 5.55E-02} ,
|
||||||
|
{ 9.35E-02, 7.60E-02, 7.45E-02, 8.60E-02, 8.85E-02, 7.30E-02, 5.95E-02, 6.60E-02, 7.25E-02, 7.05E-02, 7.00E-02, 7.50E-02, 6.90E-02, 7.30E-02, 6.30E-02, 6.45E-02, 6.05E-02, 5.95E-02, 5.60E-02, 5.20E-02, 4.72E-02, 5.25E-02, 5.65E-02, 4.89E-02, 3.86E-02, 4.41E-02, 4.57E-02, 3.96E-02, 4.49E-02, 5.15E-02} ,
|
||||||
|
{ 7.65E-02, 6.10E-02, 6.20E-02, 7.85E-02, 6.95E-02, 6.15E-02, 7.50E-02, 7.80E-02, 6.30E-02, 5.60E-02, 4.98E-02, 6.45E-02, 6.05E-02, 4.74E-02, 6.20E-02, 5.50E-02, 5.85E-02, 4.84E-02, 4.11E-02, 4.64E-02, 5.25E-02, 4.39E-02, 4.03E-02, 4.15E-02, 3.31E-02, 3.77E-02, 3.87E-02, 3.65E-02, 4.22E-02, 3.39E-02} ,
|
||||||
|
{ 6.55E-02, 5.30E-02, 5.45E-02, 5.90E-02, 5.25E-02, 5.70E-02, 5.75E-02, 5.10E-02, 5.95E-02, 4.73E-02, 5.85E-02, 5.90E-02, 5.35E-02, 5.70E-02, 5.10E-02, 4.50E-02, 5.10E-02, 5.10E-02, 4.80E-02, 4.16E-02, 4.56E-02, 4.21E-02, 4.22E-02, 3.65E-02, 3.55E-02, 3.69E-02, 3.99E-02, 3.91E-02, 3.20E-02, 2.36E-02} ,
|
||||||
|
{ 6.05E-02, 4.49E-02, 3.60E-02, 4.88E-02, 6.15E-02, 4.71E-02, 5.40E-02, 4.40E-02, 5.15E-02, 5.30E-02, 4.63E-02, 4.52E-02, 5.95E-02, 6.90E-02, 3.83E-02, 4.28E-02, 4.57E-02, 3.39E-02, 4.74E-02, 4.59E-02, 3.64E-02, 4.23E-02, 4.00E-02, 3.39E-02, 3.47E-02, 2.82E-02, 3.14E-02, 3.44E-02, 2.83E-02, 3.07E-02} ,
|
||||||
|
{ 4.42E-02, 3.93E-02, 3.97E-02, 4.28E-02, 4.25E-02, 4.61E-02, 3.78E-02, 3.64E-02, 4.53E-02, 4.21E-02, 4.04E-02, 4.10E-02, 4.33E-02, 4.15E-02, 3.29E-02, 3.88E-02, 3.14E-02, 3.34E-02, 3.60E-02, 3.53E-02, 3.64E-02, 3.60E-02, 2.79E-02, 2.96E-02, 3.28E-02, 2.95E-02, 2.75E-02, 2.83E-02, 2.64E-02, 2.49E-02} ,
|
||||||
|
{ 5.20E-02, 3.80E-02, 4.32E-02, 3.51E-02, 3.67E-02, 4.66E-02, 3.98E-02, 3.43E-02, 4.17E-02, 4.25E-02, 3.50E-02, 3.88E-02, 3.69E-02, 3.79E-02, 4.09E-02, 3.51E-02, 3.53E-02, 4.07E-02, 3.25E-02, 3.10E-02, 4.01E-02, 3.75E-02, 2.81E-02, 2.72E-02, 2.77E-02, 2.57E-02, 3.09E-02, 2.49E-02, 2.65E-02, 1.74E-02} ,
|
||||||
|
{ 3.84E-02, 3.99E-02, 3.29E-02, 3.76E-02, 3.31E-02, 3.33E-02, 3.40E-02, 3.55E-02, 3.63E-02, 3.01E-02, 3.40E-02, 4.82E-02, 3.13E-02, 4.77E-02, 3.41E-02, 4.30E-02, 3.45E-02, 3.01E-02, 3.07E-02, 2.94E-02, 2.56E-02, 2.21E-02, 2.40E-02, 2.43E-02, 2.66E-02, 2.44E-02, 1.98E-02, 2.55E-02, 2.41E-02, 2.00E-02}
|
||||||
|
};
|
||||||
|
|
||||||
|
Double_t dosesmall[20][20] =
|
||||||
|
{{3.705,3.97,3.43,3.615,3.375,3.27,3.515,3.74,3.29,3.42,3.985,3.415,3.32,3.305,3.765,3.22,3.37,2.855,3.23,3.145},
|
||||||
|
{4.565,4,3.98,3.735,3.995,3.73,3.6,3.495,3.73,4.06,3.865,4.355,3.745,3.535,3.47,3.17,3.835,3.425,3.19,3.29},
|
||||||
|
{ 4.65,4.37,4.09,4.29,4.65,4.62,4.04,3.845,4.375,4.09,4.05,4.885,4.35,4.705,3.905,4.06,3.82,3.665,3.61,3.67},
|
||||||
|
{ 4.905,4.74,5.1,4.62,4.425,4.625,4.695,4.395,4.685,4.335,4.665,4.575,4.485,4.725,5,4.715,4.055,4.32,4.76,4.225},
|
||||||
|
{ 5.55,6.35,5.3,5.15,5.25,5.35,5.05,5.25,5.6,5.4,5.25,4.68,4.645,4.98,4.555,4.935,4.725,4.485,4.51,4.135},
|
||||||
|
{ 6,6.55,6.35,6.5,6,5.55,5.65,6.15,5.95,5.75,5.75,5.55,5.6,5.3,4.71,5.15,4.905,5.6,4.565,4.38},
|
||||||
|
{ 7.35,7.6,6.9,7.1,6.9,7.05,6.3,6.7,6.45,7.75,5.8,5.7,6,5.6,5.85,5.4,5.9,5.55,5.55,4.835},
|
||||||
|
{ 8.65,8.45,18.65,7.6,8,8.9,7.55,7.4,7.7,6.45,8.35,7.5,6.95,7.55,7.2,7.2,7.05,6.1,6.2,5.6},
|
||||||
|
{ 11.45,11.5,11.4,11.1,15.25,10.5,9.5,9.15,8.25,8.15,8.35,8.65,8.25,8.7,7.8,7.5,7,6.8,6.7,5.85},
|
||||||
|
{ 15.75,16.6,15.9,16.95,14.05,15.8,13.2,12.35,12.95,11.25,10.5,10,9.7,9.85,8.95,8.25,7.9,7.75,7.45,7.3},
|
||||||
|
{ 20.8,5.4,20.8,19.05,19.1,17.05,16.55,17.25,13.5,12.65,11.9,12.05,11.15,11.5,10.25,9.65,9.6,8.3,8.95,8.2},
|
||||||
|
{ 24.85,23.95,22.6,21.85,22.5,18.9,20.7,22.4,17.05,15.65,13.45,12.05,11.85,10.7,10.5,10.25,9.65,9.3,8.65,7.95},
|
||||||
|
{ 3.575,6.7,12.65,22.2,20.35,28.85,18.7,17.55,17.85,16.5,13.95,12.65,12.45,11.7,10.45,9.85,9.15,8.85,8.2,8.8},
|
||||||
|
{ 0,0,0,1.665,14.75,27.4,28.7,20,19.75,18.65,26.45,14.3,13.6,13.25,11.5,11.2,10.7,11.1,9,9.15},
|
||||||
|
{ 0,0,0,0,0,12.2,26.5,22.45,20.9,20.45,22,17.2,14.75,13.15,13.1,11.3,11.35,9.75,10.85,8.65},
|
||||||
|
{ 0,0,0,0,0,0,27.25,27.1,25.65,20.9,22.5,18.65,15.7,13.6,14,11.65,10.65,9.6,9.7,8.45},
|
||||||
|
{ 0,0,0,0,0,0,11.8,30.05,26.45,37.8,23.45,22.5,17.3,15.05,13.7,11.65,11.85,10.7,9.95,8.9},
|
||||||
|
{ 0,0,0,0,0,0,0,29.65,32.05,26.4,22.95,27.95,17.65,14.6,13.3,12.2,11.9,10.75,10.3,10.1},
|
||||||
|
{ 0,0,0,0,0,0,0,13.1,38.05,30.2,35.8,21.65,19.4,15.45,14.05,12.95,12.6,11,10.55,9.5},
|
||||||
|
{ 0,0,0,0,0,0,0,8.25,37.85,28.8,32,23.35,19.85,17.65,15.35,12.75,12.35,10.95,10.25,9.35}};
|
||||||
|
|
||||||
|
|
||||||
|
TH2F * dosehist50invfb = new TH2F("dosehist50invfb","dosehist50invfb",300,0,300,250,0,250);
|
||||||
|
|
||||||
|
for (unsigned int i = 0;i<250;i++){
|
||||||
|
for (unsigned int j = 0;j<300;j++){
|
||||||
|
dosehist50invfb->SetBinContent(j+1,i+1,dosebig[floor(i/10)][floor(j/10)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (unsigned int i = 0;i<20;i++){
|
||||||
|
for (unsigned int j = 0;j<20;j++){
|
||||||
|
dosehist50invfb->SetBinContent(j+1,20-i,dosesmall[i][j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dosehist50invfb->Draw("coloz");
|
||||||
|
|
||||||
|
}
|
93
SimulationData/G4History.macro
Normal file
93
SimulationData/G4History.macro
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/event/verbose 0
|
||||||
|
/run/verbose 2
|
||||||
|
/vis/open OGL 600x600-0+0
|
||||||
|
/vis/sceneHandler/create OGL
|
||||||
|
/vis/viewer/create ! ! 600x600-0+0
|
||||||
|
/vis/viewer/refresh
|
||||||
|
/vis/viewer/set/autoRefresh false
|
||||||
|
/vis/verbose errors
|
||||||
|
/vis/drawVolume
|
||||||
|
/vis/scene/create
|
||||||
|
/vis/scene/add/volume world -1 -1 none m 0 0 0 0 0 0
|
||||||
|
/vis/sceneHandler/attach
|
||||||
|
/vis/scene/add/trajectories smooth
|
||||||
|
/tracking/storeTrajectory 2
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/tracking/storeTrajectory 2
|
||||||
|
/vis/geometry/set/visibility World 0 false
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility Detector 0 true
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility EpoxyBox 0 false
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility AbsBox 0 false
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility EpoxyStrip 0 true
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility Pixel 0 true
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/visibility Trigger 0 false
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour all 0 0 0 0
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour Cladding2Section 1 0. 0.5 0.5
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour Cladding1Section 0 0.5 0.5 0.5
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour CoreSection 0 0.5 0.0 0.5
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour Pixel 0 0.0 0.5 0.0 1.0
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour EpoxyStrip 0 .90 .90 1.0 .3
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour EpoxyBox 0 0.9 0.9 0.9 1.
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/geometry/set/colour Detector 0 0.0 0.1 0.1 .0
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/viewer/set/viewpointVector -1 0 0
|
||||||
|
/vis/viewer/set/lightsVector -1 0 0
|
||||||
|
/vis/viewer/set/style surface
|
||||||
|
/vis/viewer/set/lineSegmentsPerCircle 100
|
||||||
|
/vis/viewer/set/targetPoint 0.0 0.0 .250 m
|
||||||
|
/vis/viewer/set/viewpointThetaPhi 10 -20
|
||||||
|
/vis/viewer/zoomTo 10
|
||||||
|
/vis/viewer/set/background white
|
||||||
|
/vis/scene/notifyHandlers
|
||||||
|
/vis/modeling/trajectories/create/drawByCharge
|
||||||
|
/vis/modeling/trajectories/create/drawByCharge
|
||||||
|
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/modeling/trajectories/drawByCharge-0/set 1 blue
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/modeling/trajectories/drawByCharge-0/set -1 red
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/vis/modeling/trajectories/list
|
||||||
|
/vis/modeling/trajectories/select drawByCharge-0
|
||||||
|
/vis/scene/endOfEventAction accumulate
|
||||||
|
/vis/viewer/set/autoRefresh true
|
||||||
|
/vis/viewer/refresh
|
||||||
|
/vis/viewer/refresh
|
||||||
|
/vis/verbose warnings
|
||||||
|
/gps/particle mu-
|
||||||
|
/gps/ene/mono 4 GeV
|
||||||
|
/gps/pos/type Plane
|
||||||
|
/gps/pos/shape Square
|
||||||
|
/gps/pos/halfx 5 mm
|
||||||
|
/gps/pos/halfy 5 mm
|
||||||
|
/gps/pos/halfz 5 mm
|
||||||
|
/gps/pos/rot2 0 0 1
|
||||||
|
/gps/pos/centre 0. 5.0 5. mm
|
||||||
|
/gps/ang/type iso
|
||||||
|
/gps/ang/mintheta 0.0 deg
|
||||||
|
/gps/ang/maxtheta 1.0 deg
|
||||||
|
/gps/ang/minphi 0.0 deg
|
||||||
|
/gps/ang/maxphi 0.1 deg
|
||||||
|
/run/beamOn 1
|
||||||
|
/vis/scene/notifyHandlers scene-0
|
||||||
|
/run/beamOn 1
|
||||||
|
/run/beamOn 1
|
33
SimulationData/MyAnalysis/GNUmakefile
Normal file
33
SimulationData/MyAnalysis/GNUmakefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
PROGNAME = myanalysis
|
||||||
|
SOURCEFILES = myanalysis.C
|
||||||
|
OBJS = $(patsubst %.C, %.o, $(SOURCEFILES))
|
||||||
|
|
||||||
|
ROOTCFLAGS := $(shell root-config --cflags)
|
||||||
|
ROOTLIBS := $(shell root-config --libs)
|
||||||
|
ROOTGLIBS := $(shell root-config --glibs)
|
||||||
|
|
||||||
|
GSLCFLAGS := $(shell gsl-config --cflags)
|
||||||
|
GSLLIBS := $(shell gsl-config --libs)
|
||||||
|
GSLGLIBS := $(shell gsl-config --glibs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LDFLAGS = -O
|
||||||
|
LIBS += $(ROOTLIBS) $(GSLLIBS)
|
||||||
|
CFLAGS += $(ROOTCFLAGS) $(GSLCFLAGS)
|
||||||
|
|
||||||
|
# Not sure why Minuit isn't being included -- put in by hand
|
||||||
|
#
|
||||||
|
LIBS += -lMinuit
|
||||||
|
|
||||||
|
%.o: %.C
|
||||||
|
g++ ${CFLAGS} -std=c++17 -c -g -o $@ $<
|
||||||
|
|
||||||
|
$(PROGNAME): $(OBJS)
|
||||||
|
g++ -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
test:
|
||||||
|
@echo $(ROOTCFLAGS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f ${PROGNAME} ${OBJS}
|
33
SimulationData/MyAnalysis/GNUmakefile~
Normal file
33
SimulationData/MyAnalysis/GNUmakefile~
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
PROGNAME = myanalysis
|
||||||
|
SOURCEFILES = myanalysis.C
|
||||||
|
OBJS = $(patsubst %.C, %.o, $(SOURCEFILES))
|
||||||
|
|
||||||
|
ROOTCFLAGS := $(shell root-config --cflags)
|
||||||
|
ROOTLIBS := $(shell root-config --libs)
|
||||||
|
ROOTGLIBS := $(shell root-config --glibs)
|
||||||
|
|
||||||
|
GSLCFLAGS := $(shell gsl-config --cflags)
|
||||||
|
GSLLIBS := $(shell gsl-config --libs)
|
||||||
|
GSLGLIBS := $(shell gsl-config --glibs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LDFLAGS = -O
|
||||||
|
LIBS += $(ROOTLIBS) $(GSLLIBS)
|
||||||
|
CFLAGS += $(ROOTCFLAGS) $(GSLCFLAGS) -std=c++17
|
||||||
|
|
||||||
|
# Not sure why Minuit isn't being included -- put in by hand
|
||||||
|
#
|
||||||
|
LIBS += -lMinuit
|
||||||
|
|
||||||
|
%.o: %.cc
|
||||||
|
g++ ${CFLAGS} -c -g -o $@ $<
|
||||||
|
|
||||||
|
$(PROGNAME): $(OBJS)
|
||||||
|
g++ -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
test:
|
||||||
|
@echo $(ROOTCFLAGS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f ${PROGNAME} ${OBJS}
|
210
SimulationData/MyAnalysis/myanalysis.C
Normal file
210
SimulationData/MyAnalysis/myanalysis.C
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
#define myanalysis_cxx
|
||||||
|
#include "myanalysis.h"
|
||||||
|
#include <TH2.h>
|
||||||
|
#include <TStyle.h>
|
||||||
|
#include <TCanvas.h>
|
||||||
|
#include <TTree.h>
|
||||||
|
#include <TFrame.h>
|
||||||
|
#include <TH1F.h>
|
||||||
|
#include <TBenchmark.h>
|
||||||
|
#include <TRandom.h>
|
||||||
|
#include <TSystem.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
void myanalysis::Loop()
|
||||||
|
{
|
||||||
|
// In a ROOT session, you can do:
|
||||||
|
// root> .L MyAnalysis/myanalysis.C
|
||||||
|
// root> myanalysis t
|
||||||
|
// root> t.Loop(); // Loop on all entries
|
||||||
|
//
|
||||||
|
|
||||||
|
// This is the loop skeleton where:
|
||||||
|
// jentry is the global entry number in the chain
|
||||||
|
// ientry is the entry number in the current Tree
|
||||||
|
// Note that the argument to GetEntry must be:
|
||||||
|
// jentry for TChain::GetEntry
|
||||||
|
// ientry for TTree::GetEntry and TBranch::GetEntry
|
||||||
|
//
|
||||||
|
// To read only selected branches, Insert statements like:
|
||||||
|
// METHOD1:
|
||||||
|
// fChain->SetBranchStatus("*",0); // disable all branches
|
||||||
|
// fChain->SetBranchStatus("branchname",1); // activate branchname
|
||||||
|
// METHOD2: replace line
|
||||||
|
// fChain->GetEntry(jentry); //read all branches
|
||||||
|
//by b_branchname->GetEntry(ientry); //read only this branch
|
||||||
|
if (fChain == 0) return;
|
||||||
|
|
||||||
|
Long64_t nentries = fChain->GetEntriesFast();
|
||||||
|
int lasteventID = 0;
|
||||||
|
int nPhotoelectrons = 0;
|
||||||
|
bool sameEvent_bool = true;
|
||||||
|
int eventDiff = 0;
|
||||||
|
float countphotons = 0;
|
||||||
|
std::vector<int> unique_detectorCopy_vec;
|
||||||
|
std::vector<int> hits_detectorCopy_vec;
|
||||||
|
|
||||||
|
|
||||||
|
TFile * outfile = new TFile("myanalysis_out.root", "RECREATE");
|
||||||
|
if ( outfile->IsOpen() ) printf("OUTPUT file opened successfully\n");
|
||||||
|
TH1F * nphotons = new TH1F("nphotons","nphotons per event",500,0,1000);
|
||||||
|
// Create a TTree
|
||||||
|
TTree *t = new TTree("tvec","Tree with vectors");
|
||||||
|
t->Branch("runID_vec",&runID_vec);
|
||||||
|
t->Branch("eventID_vec",&eventID_vec);
|
||||||
|
t->Branch("detNumb_vec",&detNumb_vec);
|
||||||
|
t->Branch("xPixel_vec",&xPixel_vec);
|
||||||
|
t->Branch("yPixel_vec",&yPixel_vec);
|
||||||
|
t->Branch("energy_vec",&energy_vec);
|
||||||
|
t->Branch("wavelength_vec",&wavelength_vec);
|
||||||
|
t->Branch("localtime_vec",&localtime_vec);
|
||||||
|
t->Branch("abstime_vec",&abstime_vec);
|
||||||
|
t->Branch("length_vec",&length_vec);
|
||||||
|
t->Branch("x_vec",&x_vec);
|
||||||
|
t->Branch("y_vec",&y_vec);
|
||||||
|
t->Branch("z_vec",&z_vec);
|
||||||
|
t->Branch("px_vec",&px_vec);
|
||||||
|
t->Branch("py_vec",&py_vec);
|
||||||
|
t->Branch("pz_vec",&pz_vec);
|
||||||
|
t->Branch("vertexX_vec",&vertexX_vec);
|
||||||
|
t->Branch("vertexY_vec",&vertexY_vec);
|
||||||
|
t->Branch("vertexZ_vec",&vertexZ_vec);
|
||||||
|
t->Branch("vertexPx_vec",&vertexPx_vec);
|
||||||
|
t->Branch("vertexPy_vec",&vertexPy_vec);
|
||||||
|
t->Branch("vertexPz_vec",&vertexPz_vec);
|
||||||
|
t->Branch("gpsPosX_vec",&gpsPosX_vec);
|
||||||
|
t->Branch("gpsPosY_vec",&gpsPosY_vec);
|
||||||
|
t->Branch("gpsPosZ_vec",&gpsPosZ_vec);
|
||||||
|
t->Branch("runId_vec",&runId_vec);
|
||||||
|
t->Branch("eventId_vec",&eventId_vec);
|
||||||
|
t->Branch("trackId_vec",&trackId_vec);
|
||||||
|
t->Branch("creatorProcess_vec",&creatorProcess_vec);
|
||||||
|
t->Branch("parentId_vec",&parentId_vec);
|
||||||
|
t->Branch("lengthInCore_vec",&lengthInCore_vec);
|
||||||
|
t->Branch("lengthInInnerCladding_vec",&lengthInInnerCladding_vec);
|
||||||
|
t->Branch("lengthInOuterCladding_vec",&lengthInOuterCladding_vec);
|
||||||
|
// t->Branch("detectorCopy_vec",&detectorCopy_vec);
|
||||||
|
// t->Branch("subdetectorCopy_vec",&subdetectorCopy_vec);
|
||||||
|
t->Branch("countphotons",&countphotons);
|
||||||
|
|
||||||
|
|
||||||
|
Long64_t nbytes = 0, nb = 0;
|
||||||
|
for (Long64_t jentry=0; jentry<nentries;jentry++) {
|
||||||
|
Long64_t ientry = LoadTree(jentry);
|
||||||
|
if (ientry < 0) break;
|
||||||
|
nb = fChain->GetEntry(jentry); nbytes += nb;
|
||||||
|
// if (Cut(ientry) < 0) continue;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (ientry==0) {lasteventID = eventID;}
|
||||||
|
|
||||||
|
if(eventID == lasteventID) {sameEvent_bool = true;}
|
||||||
|
else {
|
||||||
|
eventDiff = eventID - lasteventID;
|
||||||
|
sameEvent_bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (sameEvent_bool == false ){
|
||||||
|
|
||||||
|
lasteventID = eventID;
|
||||||
|
|
||||||
|
for (int kk = 0; kk<eventDiff;kk++){
|
||||||
|
std::cout << xPixel_vec.size() << std::endl;
|
||||||
|
countphotons = xPixel_vec.size();
|
||||||
|
nphotons->Fill( xPixel_vec.size() );
|
||||||
|
t->Fill();
|
||||||
|
|
||||||
|
runID_vec.clear();
|
||||||
|
eventID_vec.clear();
|
||||||
|
detNumb_vec.clear();
|
||||||
|
xPixel_vec.clear();
|
||||||
|
yPixel_vec.clear();
|
||||||
|
energy_vec.clear();
|
||||||
|
wavelength_vec.clear();
|
||||||
|
localtime_vec.clear();
|
||||||
|
abstime_vec.clear();
|
||||||
|
length_vec.clear();
|
||||||
|
x_vec.clear();
|
||||||
|
y_vec.clear();
|
||||||
|
z_vec.clear();
|
||||||
|
px_vec.clear();
|
||||||
|
py_vec.clear();
|
||||||
|
pz_vec.clear();
|
||||||
|
vertexX_vec.clear();
|
||||||
|
vertexY_vec.clear();
|
||||||
|
vertexZ_vec.clear();
|
||||||
|
vertexPx_vec.clear();
|
||||||
|
vertexPy_vec.clear();
|
||||||
|
vertexPz_vec.clear();
|
||||||
|
gpsPosX_vec.clear();
|
||||||
|
gpsPosY_vec.clear();
|
||||||
|
gpsPosZ_vec.clear();
|
||||||
|
gpsDirX_vec.clear();
|
||||||
|
gpsDirY_vec.clear();
|
||||||
|
gpsDirZ_vec.clear();
|
||||||
|
runId_vec.clear();
|
||||||
|
eventId_vec.clear();
|
||||||
|
trackId_vec.clear();
|
||||||
|
creatorProcess_vec.clear();
|
||||||
|
parentId_vec.clear();
|
||||||
|
lengthInCore_vec.clear();
|
||||||
|
lengthInInnerCladding_vec.clear();
|
||||||
|
lengthInOuterCladding_vec.clear();
|
||||||
|
// detectorCopy_vec.clear();
|
||||||
|
// subdetectorCopy_vec.clear();
|
||||||
|
}
|
||||||
|
sameEvent_bool = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sameEvent_bool == true){
|
||||||
|
runID_vec.push_back(runID);
|
||||||
|
eventID_vec.push_back(eventID);
|
||||||
|
detNumb_vec.push_back(detNumb);
|
||||||
|
xPixel_vec.push_back(xPixel);
|
||||||
|
yPixel_vec.push_back(yPixel);
|
||||||
|
energy_vec.push_back(energy);
|
||||||
|
wavelength_vec.push_back(wavelength);
|
||||||
|
localtime_vec.push_back(localtime);
|
||||||
|
abstime_vec.push_back(abstime);
|
||||||
|
length_vec.push_back(length);
|
||||||
|
x_vec.push_back(x);
|
||||||
|
y_vec.push_back(y);
|
||||||
|
z_vec.push_back(z);
|
||||||
|
px_vec.push_back(px);
|
||||||
|
py_vec.push_back(py);
|
||||||
|
pz_vec.push_back(pz);
|
||||||
|
vertexX_vec.push_back(vertexX);
|
||||||
|
vertexY_vec.push_back(vertexY);
|
||||||
|
vertexZ_vec.push_back(vertexZ);
|
||||||
|
vertexPx_vec.push_back(vertexPx);
|
||||||
|
vertexPy_vec.push_back(vertexPy);
|
||||||
|
vertexPz_vec.push_back(vertexPz);
|
||||||
|
gpsPosX_vec.push_back(gpsPosX);
|
||||||
|
gpsPosY_vec.push_back(gpsPosY);
|
||||||
|
gpsPosZ_vec.push_back(gpsPosZ);
|
||||||
|
gpsDirX_vec.push_back(gpsDirX);
|
||||||
|
gpsDirY_vec.push_back(gpsDirY);
|
||||||
|
gpsDirZ_vec.push_back(gpsDirZ);
|
||||||
|
runId_vec.push_back(runId);
|
||||||
|
eventId_vec.push_back(eventId);
|
||||||
|
trackId_vec.push_back(trackId);
|
||||||
|
creatorProcess_vec.push_back(creatorProcess);
|
||||||
|
parentId_vec.push_back(parentId);
|
||||||
|
lengthInCore_vec.push_back(lengthInCore);
|
||||||
|
lengthInInnerCladding_vec.push_back(lengthInInnerCladding);
|
||||||
|
lengthInOuterCladding_vec.push_back(lengthInOuterCladding);
|
||||||
|
// detectorCopy_vec.push_back(detectorCopy);
|
||||||
|
// subdetectorCopy_vec.push_back(subdetectorCopy);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}//end of loop
|
||||||
|
outfile->Write();
|
||||||
|
|
||||||
|
delete outfile;
|
||||||
|
}
|
205
SimulationData/MyAnalysis/myanalysis.C~
Normal file
205
SimulationData/MyAnalysis/myanalysis.C~
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
#define myanalysis_cxx
|
||||||
|
#include "myanalysis.h"
|
||||||
|
#include <TH2.h>
|
||||||
|
#include <TStyle.h>
|
||||||
|
#include <TCanvas.h>
|
||||||
|
#include <TTree.h>
|
||||||
|
#include <TFrame.h>
|
||||||
|
#include <TH1F.h>
|
||||||
|
#include <TBenchmark.h>
|
||||||
|
#include <TRandom.h>
|
||||||
|
#include <TSystem.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
void myanalysis::Loop()
|
||||||
|
{
|
||||||
|
// In a ROOT session, you can do:
|
||||||
|
// root> .L myanalysis.C
|
||||||
|
// root> myanalysis t
|
||||||
|
// root> t.GetEntry(12); // Fill t data members with entry number 12
|
||||||
|
// root> t.Show(); // Show values of entry 12
|
||||||
|
// root> t.Show(16); // Read and show values of entry 16
|
||||||
|
// root> t.Loop(); // Loop on all entries
|
||||||
|
//
|
||||||
|
|
||||||
|
// This is the loop skeleton where:
|
||||||
|
// jentry is the global entry number in the chain
|
||||||
|
// ientry is the entry number in the current Tree
|
||||||
|
// Note that the argument to GetEntry must be:
|
||||||
|
// jentry for TChain::GetEntry
|
||||||
|
// ientry for TTree::GetEntry and TBranch::GetEntry
|
||||||
|
//
|
||||||
|
// To read only selected branches, Insert statements like:
|
||||||
|
// METHOD1:
|
||||||
|
// fChain->SetBranchStatus("*",0); // disable all branches
|
||||||
|
// fChain->SetBranchStatus("branchname",1); // activate branchname
|
||||||
|
// METHOD2: replace line
|
||||||
|
// fChain->GetEntry(jentry); //read all branches
|
||||||
|
//by b_branchname->GetEntry(ientry); //read only this branch
|
||||||
|
if (fChain == 0) return;
|
||||||
|
|
||||||
|
Long64_t nentries = fChain->GetEntriesFast();
|
||||||
|
int lasteventID = 0;
|
||||||
|
int nPhotoelectrons = 0;
|
||||||
|
bool sameEvent_bool = true;
|
||||||
|
|
||||||
|
std::vector<int> unique_detectorCopy_vec;
|
||||||
|
std::vector<int> hits_detectorCopy_vec;
|
||||||
|
|
||||||
|
|
||||||
|
TFile * outfile = new TFile("myanalysis_out.root", "RECREATE");
|
||||||
|
if ( outfile->IsOpen() ) printf("OUTPUT file opened successfully\n");
|
||||||
|
// Create a TTree
|
||||||
|
TTree *t = new TTree("tvec","Tree with vectors");
|
||||||
|
t->Branch("runID_vec",&runID_vec);
|
||||||
|
t->Branch("eventID_vec",&eventID_vec);
|
||||||
|
t->Branch("detNumb_vec",&detNumb_vec);
|
||||||
|
t->Branch("xPixel_vec",&xPixel_vec);
|
||||||
|
t->Branch("yPixel_vec",&yPixel_vec);
|
||||||
|
t->Branch("energy_vec",&energy_vec);
|
||||||
|
t->Branch("wavelength_vec",&wavelength_vec);
|
||||||
|
t->Branch("localtime_vec",&localtime_vec);
|
||||||
|
t->Branch("abstime_vec",&abstime_vec);
|
||||||
|
t->Branch("length_vec",&length_vec);
|
||||||
|
t->Branch("x_vec",&x_vec);
|
||||||
|
t->Branch("y_vec",&y_vec);
|
||||||
|
t->Branch("z_vec",&z_vec);
|
||||||
|
t->Branch("px_vec",&px_vec);
|
||||||
|
t->Branch("py_vec",&py_vec);
|
||||||
|
t->Branch("pz_vec",&pz_vec);
|
||||||
|
t->Branch("vertexX_vec",&vertexX_vec);
|
||||||
|
t->Branch("vertexY_vec",&vertexY_vec);
|
||||||
|
t->Branch("vertexZ_vec",&vertexZ_vec);
|
||||||
|
t->Branch("vertexPx_vec",&vertexPx_vec);
|
||||||
|
t->Branch("vertexPy_vec",&vertexPy_vec);
|
||||||
|
t->Branch("vertexPz_vec",&vertexPz_vec);
|
||||||
|
t->Branch("gpsPosX_vec",&gpsPosX_vec);
|
||||||
|
t->Branch("gpsPosY_vec",&gpsPosY_vec);
|
||||||
|
t->Branch("gpsPosZ_vec",&gpsPosZ_vec);
|
||||||
|
t->Branch("runId_vec",&runId_vec);
|
||||||
|
t->Branch("eventId_vec",&eventId_vec);
|
||||||
|
t->Branch("trackId_vec",&trackId_vec);
|
||||||
|
t->Branch("creatorProcess_vec",&creatorProcess_vec);
|
||||||
|
t->Branch("parentId_vec",&parentId_vec);
|
||||||
|
t->Branch("lengthInCore_vec",&lengthInCore_vec);
|
||||||
|
t->Branch("lengthInInnerCladding_vec",&lengthInInnerCladding_vec);
|
||||||
|
t->Branch("lengthInOuterCladding_vec",&lengthInOuterCladding_vec);
|
||||||
|
// t->Branch("detectorCopy_vec",&detectorCopy_vec);
|
||||||
|
// t->Branch("subdetectorCopy_vec",&subdetectorCopy_vec);
|
||||||
|
|
||||||
|
|
||||||
|
Long64_t nbytes = 0, nb = 0;
|
||||||
|
for (Long64_t jentry=0; jentry<nentries;jentry++) {
|
||||||
|
Long64_t ientry = LoadTree(jentry);
|
||||||
|
if (ientry < 0) break;
|
||||||
|
nb = fChain->GetEntry(jentry); nbytes += nb;
|
||||||
|
// if (Cut(ientry) < 0) continue;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (ientry==0) {lasteventID = eventID;}
|
||||||
|
|
||||||
|
if(eventID == lasteventID) {sameEvent_bool = true;}
|
||||||
|
else { sameEvent_bool = false; }
|
||||||
|
|
||||||
|
|
||||||
|
if (sameEvent_bool == false ){
|
||||||
|
lasteventID = eventID;
|
||||||
|
|
||||||
|
|
||||||
|
std::cout << xPixel_vec.size() << " " << uniqCnt << ": ";
|
||||||
|
std::cout << std::endl;
|
||||||
|
|
||||||
|
t->Fill();
|
||||||
|
runID_vec.clear();
|
||||||
|
eventID_vec.clear();
|
||||||
|
detNumb_vec.clear();
|
||||||
|
xPixel_vec.clear();
|
||||||
|
yPixel_vec.clear();
|
||||||
|
energy_vec.clear();
|
||||||
|
wavelength_vec.clear();
|
||||||
|
localtime_vec.clear();
|
||||||
|
abstime_vec.clear();
|
||||||
|
length_vec.clear();
|
||||||
|
x_vec.clear();
|
||||||
|
y_vec.clear();
|
||||||
|
z_vec.clear();
|
||||||
|
px_vec.clear();
|
||||||
|
py_vec.clear();
|
||||||
|
pz_vec.clear();
|
||||||
|
vertexX_vec.clear();
|
||||||
|
vertexY_vec.clear();
|
||||||
|
vertexZ_vec.clear();
|
||||||
|
vertexPx_vec.clear();
|
||||||
|
vertexPy_vec.clear();
|
||||||
|
vertexPz_vec.clear();
|
||||||
|
gpsPosX_vec.clear();
|
||||||
|
gpsPosY_vec.clear();
|
||||||
|
gpsPosZ_vec.clear();
|
||||||
|
gpsDirX_vec.clear();
|
||||||
|
gpsDirY_vec.clear();
|
||||||
|
gpsDirZ_vec.clear();
|
||||||
|
runId_vec.clear();
|
||||||
|
eventId_vec.clear();
|
||||||
|
trackId_vec.clear();
|
||||||
|
creatorProcess_vec.clear();
|
||||||
|
parentId_vec.clear();
|
||||||
|
lengthInCore_vec.clear();
|
||||||
|
lengthInInnerCladding_vec.clear();
|
||||||
|
lengthInOuterCladding_vec.clear();
|
||||||
|
// detectorCopy_vec.clear();
|
||||||
|
// subdetectorCopy_vec.clear();
|
||||||
|
|
||||||
|
sameEvent_bool = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sameEvent_bool == true){
|
||||||
|
runID_vec.push_back(runID);
|
||||||
|
eventID_vec.push_back(eventID);
|
||||||
|
detNumb_vec.push_back(detNumb);
|
||||||
|
xPixel_vec.push_back(xPixel);
|
||||||
|
yPixel_vec.push_back(yPixel);
|
||||||
|
energy_vec.push_back(energy);
|
||||||
|
wavelength_vec.push_back(wavelength);
|
||||||
|
localtime_vec.push_back(localtime);
|
||||||
|
abstime_vec.push_back(abstime);
|
||||||
|
length_vec.push_back(length);
|
||||||
|
x_vec.push_back(x);
|
||||||
|
y_vec.push_back(y);
|
||||||
|
z_vec.push_back(z);
|
||||||
|
px_vec.push_back(px);
|
||||||
|
py_vec.push_back(py);
|
||||||
|
pz_vec.push_back(pz);
|
||||||
|
vertexX_vec.push_back(vertexX);
|
||||||
|
vertexY_vec.push_back(vertexY);
|
||||||
|
vertexZ_vec.push_back(vertexZ);
|
||||||
|
vertexPx_vec.push_back(vertexPx);
|
||||||
|
vertexPy_vec.push_back(vertexPy);
|
||||||
|
vertexPz_vec.push_back(vertexPz);
|
||||||
|
gpsPosX_vec.push_back(gpsPosX);
|
||||||
|
gpsPosY_vec.push_back(gpsPosY);
|
||||||
|
gpsPosZ_vec.push_back(gpsPosZ);
|
||||||
|
gpsDirX_vec.push_back(gpsDirX);
|
||||||
|
gpsDirY_vec.push_back(gpsDirY);
|
||||||
|
gpsDirZ_vec.push_back(gpsDirZ);
|
||||||
|
runId_vec.push_back(runId);
|
||||||
|
eventId_vec.push_back(eventId);
|
||||||
|
trackId_vec.push_back(trackId);
|
||||||
|
creatorProcess_vec.push_back(creatorProcess);
|
||||||
|
parentId_vec.push_back(parentId);
|
||||||
|
lengthInCore_vec.push_back(lengthInCore);
|
||||||
|
lengthInInnerCladding_vec.push_back(lengthInInnerCladding);
|
||||||
|
lengthInOuterCladding_vec.push_back(lengthInOuterCladding);
|
||||||
|
// detectorCopy_vec.push_back(detectorCopy);
|
||||||
|
// subdetectorCopy_vec.push_back(subdetectorCopy);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}//end of loop
|
||||||
|
outfile->Write();
|
||||||
|
|
||||||
|
delete outfile;
|
||||||
|
}
|
308
SimulationData/MyAnalysis/myanalysis.h
Normal file
308
SimulationData/MyAnalysis/myanalysis.h
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
//////////////////////////////////////////////////////////
|
||||||
|
// This class has been automatically generated on
|
||||||
|
// Tue Apr 21 13:01:22 2020 by ROOT version 6.12/06
|
||||||
|
// from TTree DetectedPhotons/Photons detected at the detector strip.
|
||||||
|
// found on file: outFile_1.root
|
||||||
|
//////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef myanalysis_h
|
||||||
|
#define myanalysis_h
|
||||||
|
|
||||||
|
#include <TROOT.h>
|
||||||
|
#include <TChain.h>
|
||||||
|
#include <TFile.h>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
//#ifdef __MAKECINT__
|
||||||
|
//#pragma link C++ class vector<float>+;
|
||||||
|
//#pragma link C++ class vector<int>+;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
// Header file for the classes stored in the TTree if any.
|
||||||
|
|
||||||
|
class myanalysis {
|
||||||
|
public :
|
||||||
|
TTree *fChain; //!pointer to the analyzed TTree or TChain
|
||||||
|
Int_t fCurrent; //!current Tree number in a TChain
|
||||||
|
|
||||||
|
// Fixed size dimensions of array or collections stored in the TTree if any.
|
||||||
|
|
||||||
|
// Declaration of leaf types
|
||||||
|
Float_t runID;
|
||||||
|
Float_t eventID;
|
||||||
|
Float_t detNumb;
|
||||||
|
Float_t xPixel;
|
||||||
|
Float_t yPixel;
|
||||||
|
Float_t energy;
|
||||||
|
Float_t wavelength;
|
||||||
|
Float_t localtime;
|
||||||
|
Float_t abstime;
|
||||||
|
Float_t length;
|
||||||
|
Float_t x;
|
||||||
|
Float_t y;
|
||||||
|
Float_t z;
|
||||||
|
Float_t px;
|
||||||
|
Float_t py;
|
||||||
|
Float_t pz;
|
||||||
|
Float_t vertexX;
|
||||||
|
Float_t vertexY;
|
||||||
|
Float_t vertexZ;
|
||||||
|
Float_t vertexPx;
|
||||||
|
Float_t vertexPy;
|
||||||
|
Float_t vertexPz;
|
||||||
|
Float_t gpsPosX;
|
||||||
|
Float_t gpsPosY;
|
||||||
|
Float_t gpsPosZ;
|
||||||
|
Float_t gpsDirX;
|
||||||
|
Float_t gpsDirY;
|
||||||
|
Float_t gpsDirZ;
|
||||||
|
Int_t runId;
|
||||||
|
Int_t eventId;
|
||||||
|
Int_t trackId;
|
||||||
|
Int_t creatorProcess;
|
||||||
|
Int_t parentId;
|
||||||
|
Int_t reflMirr;
|
||||||
|
Int_t reflSurf;
|
||||||
|
Int_t reflTotalCladClad;
|
||||||
|
Int_t reflTotalCoreClad;
|
||||||
|
Int_t reflFresnelCladClad;
|
||||||
|
Int_t reflFresnelCoreClad;
|
||||||
|
Int_t refracCladClad;
|
||||||
|
Int_t refracCoreClad;
|
||||||
|
Int_t rayleighScatterings;
|
||||||
|
Float_t lengthInCore;
|
||||||
|
Float_t lengthInInnerCladding;
|
||||||
|
Float_t lengthInOuterCladding;
|
||||||
|
// Int_t detectorCopy;
|
||||||
|
// Int_t subdetectorCopy;
|
||||||
|
|
||||||
|
// List of branches
|
||||||
|
TBranch *b_runID; //!
|
||||||
|
TBranch *b_eventID; //!
|
||||||
|
TBranch *b_detNumb; //!
|
||||||
|
TBranch *b_xPixel; //!
|
||||||
|
TBranch *b_yPixel; //!
|
||||||
|
TBranch *b_energy; //!
|
||||||
|
TBranch *b_wavelength; //!
|
||||||
|
TBranch *b_localtime; //!
|
||||||
|
TBranch *b_abstime; //!
|
||||||
|
TBranch *b_length; //!
|
||||||
|
TBranch *b_x; //!
|
||||||
|
TBranch *b_y; //!
|
||||||
|
TBranch *b_z; //!
|
||||||
|
TBranch *b_px; //!
|
||||||
|
TBranch *b_py; //!
|
||||||
|
TBranch *b_pz; //!
|
||||||
|
TBranch *b_vertexX; //!
|
||||||
|
TBranch *b_vertexY; //!
|
||||||
|
TBranch *b_vertexZ; //!
|
||||||
|
TBranch *b_vertexPx; //!
|
||||||
|
TBranch *b_vertexPy; //!
|
||||||
|
TBranch *b_vertexPz; //!
|
||||||
|
TBranch *b_gpsPosX; //!
|
||||||
|
TBranch *b_gpsPosY; //!
|
||||||
|
TBranch *b_gpsPosZ; //!
|
||||||
|
TBranch *b_runId; //!
|
||||||
|
TBranch *b_eventId; //!
|
||||||
|
TBranch *b_trackId; //!
|
||||||
|
TBranch *b_creatorProcess; //!
|
||||||
|
TBranch *b_parentId; //!
|
||||||
|
TBranch *b_reflMirr; //!
|
||||||
|
TBranch *b_reflSurf; //!
|
||||||
|
TBranch *b_reflTotalCladClad; //!
|
||||||
|
TBranch *b_reflTotalCoreClad; //!
|
||||||
|
TBranch *b_reflFresnelCladClad; //!
|
||||||
|
TBranch *b_reflFresnelCoreClad; //!
|
||||||
|
TBranch *b_refracCladClad; //!
|
||||||
|
TBranch *b_refracCoreClad; //!
|
||||||
|
TBranch *b_rayleighScatterings; //!
|
||||||
|
TBranch *b_lengthInCore; //!
|
||||||
|
TBranch *b_lengthInInnerCladding; //!
|
||||||
|
TBranch *b_lengthInOuterCladding; //!
|
||||||
|
// TBranch *b_detectorCopy; //!
|
||||||
|
//TBranch *b_subdetectorCopy; //!
|
||||||
|
|
||||||
|
myanalysis(TTree *tree=0);
|
||||||
|
virtual ~myanalysis();
|
||||||
|
virtual Int_t Cut(Long64_t entry);
|
||||||
|
virtual Int_t GetEntry(Long64_t entry);
|
||||||
|
virtual Long64_t LoadTree(Long64_t entry);
|
||||||
|
virtual void Init(TTree *tree);
|
||||||
|
virtual void Loop();
|
||||||
|
virtual Bool_t Notify();
|
||||||
|
virtual void Show(Long64_t entry = -1);
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<float> runID_vec;
|
||||||
|
std::vector<float> eventID_vec;
|
||||||
|
std::vector<float> detNumb_vec;
|
||||||
|
std::vector<float> xPixel_vec;
|
||||||
|
std::vector<float> yPixel_vec;
|
||||||
|
std::vector<float> energy_vec;
|
||||||
|
std::vector<float> wavelength_vec;
|
||||||
|
std::vector<float> localtime_vec;
|
||||||
|
std::vector<float> abstime_vec;
|
||||||
|
std::vector<float> length_vec;
|
||||||
|
std::vector<float> x_vec;
|
||||||
|
std::vector<float> y_vec;
|
||||||
|
std::vector<float> z_vec;
|
||||||
|
std::vector<float> px_vec;
|
||||||
|
std::vector<float> py_vec;
|
||||||
|
std::vector<float> pz_vec;
|
||||||
|
std::vector<float> vertexX_vec;
|
||||||
|
std::vector<float> vertexY_vec;
|
||||||
|
std::vector<float> vertexZ_vec;
|
||||||
|
std::vector<float> vertexPx_vec;
|
||||||
|
std::vector<float> vertexPy_vec;
|
||||||
|
std::vector<float> vertexPz_vec;
|
||||||
|
std::vector<float> gpsPosX_vec;
|
||||||
|
std::vector<float> gpsPosY_vec;
|
||||||
|
std::vector<float> gpsPosZ_vec;
|
||||||
|
std::vector<float> gpsDirX_vec;
|
||||||
|
std::vector<float> gpsDirY_vec;
|
||||||
|
std::vector<float> gpsDirZ_vec;
|
||||||
|
std::vector<int> runId_vec;
|
||||||
|
std::vector<int> eventId_vec;
|
||||||
|
std::vector<int> trackId_vec;
|
||||||
|
std::vector<int> creatorProcess_vec;
|
||||||
|
std::vector<int> parentId_vec;
|
||||||
|
std::vector<int> reflMirr_vec;
|
||||||
|
std::vector<int> reflSurf_vec;
|
||||||
|
std::vector<int> reflTotalCladClad_vec;
|
||||||
|
std::vector<int> reflTotalCoreClad_vec;
|
||||||
|
std::vector<int> reflFresnelCladClad_vec;
|
||||||
|
std::vector<int> reflFresnelCoreClad_vec;
|
||||||
|
std::vector<int> refracCladClad_vec;
|
||||||
|
std::vector<int> refracCoreClad_vec;
|
||||||
|
std::vector<int> rayleighScatterings_vec;
|
||||||
|
std::vector<float> lengthInCore_vec;
|
||||||
|
std::vector<float> lengthInInnerCladding_vec;
|
||||||
|
std::vector<float> lengthInOuterCladding_vec;
|
||||||
|
// std::vector<int> detectorCopy_vec;
|
||||||
|
// std::vector<int> subdetectorCopy_vec;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef myanalysis_cxx
|
||||||
|
myanalysis::myanalysis(TTree *tree) : fChain(0)
|
||||||
|
{
|
||||||
|
// if parameter tree is not specified (or zero), connect the file
|
||||||
|
// used to generate this class and read the Tree.
|
||||||
|
if (tree == 0) {
|
||||||
|
TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("outFile_1.root");
|
||||||
|
if (!f || !f->IsOpen()) {
|
||||||
|
f = new TFile("outFile_1.root");
|
||||||
|
}
|
||||||
|
f->GetObject("DetectedPhotons",tree);
|
||||||
|
|
||||||
|
}
|
||||||
|
Init(tree);
|
||||||
|
}
|
||||||
|
|
||||||
|
myanalysis::~myanalysis()
|
||||||
|
{
|
||||||
|
if (!fChain) return;
|
||||||
|
delete fChain->GetCurrentFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
Int_t myanalysis::GetEntry(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Read contents of entry.
|
||||||
|
if (!fChain) return 0;
|
||||||
|
return fChain->GetEntry(entry);
|
||||||
|
}
|
||||||
|
Long64_t myanalysis::LoadTree(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Set the environment to read one entry
|
||||||
|
if (!fChain) return -5;
|
||||||
|
Long64_t centry = fChain->LoadTree(entry);
|
||||||
|
if (centry < 0) return centry;
|
||||||
|
if (fChain->GetTreeNumber() != fCurrent) {
|
||||||
|
fCurrent = fChain->GetTreeNumber();
|
||||||
|
Notify();
|
||||||
|
}
|
||||||
|
return centry;
|
||||||
|
}
|
||||||
|
|
||||||
|
void myanalysis::Init(TTree *tree)
|
||||||
|
{
|
||||||
|
// The Init() function is called when the selector needs to initialize
|
||||||
|
// a new tree or chain. Typically here the branch addresses and branch
|
||||||
|
// pointers of the tree will be set.
|
||||||
|
// It is normally not necessary to make changes to the generated
|
||||||
|
// code, but the routine can be extended by the user if needed.
|
||||||
|
// Init() will be called many times when running on PROOF
|
||||||
|
// (once per file to be processed).
|
||||||
|
|
||||||
|
// Set branch addresses and branch pointers
|
||||||
|
if (!tree) return;
|
||||||
|
fChain = tree;
|
||||||
|
fCurrent = -1;
|
||||||
|
fChain->SetMakeClass(1);
|
||||||
|
|
||||||
|
fChain->SetBranchAddress("runID", &runID, &b_runID);
|
||||||
|
fChain->SetBranchAddress("eventID", &eventID, &b_eventID);
|
||||||
|
fChain->SetBranchAddress("detNumb", &detNumb, &b_detNumb);
|
||||||
|
fChain->SetBranchAddress("xPixel", &xPixel, &b_xPixel);
|
||||||
|
fChain->SetBranchAddress("yPixel", &yPixel, &b_yPixel);
|
||||||
|
fChain->SetBranchAddress("energy", &energy, &b_energy);
|
||||||
|
fChain->SetBranchAddress("wavelength", &wavelength, &b_wavelength);
|
||||||
|
fChain->SetBranchAddress("localtime", &localtime, &b_localtime);
|
||||||
|
fChain->SetBranchAddress("abstime", &abstime, &b_abstime);
|
||||||
|
fChain->SetBranchAddress("length", &length, &b_length);
|
||||||
|
fChain->SetBranchAddress("x", &x, &b_x);
|
||||||
|
fChain->SetBranchAddress("y", &y, &b_y);
|
||||||
|
fChain->SetBranchAddress("z", &z, &b_z);
|
||||||
|
fChain->SetBranchAddress("px", &px, &b_px);
|
||||||
|
fChain->SetBranchAddress("py", &py, &b_py);
|
||||||
|
fChain->SetBranchAddress("pz", &pz, &b_pz);
|
||||||
|
fChain->SetBranchAddress("vertexX", &vertexX, &b_vertexX);
|
||||||
|
fChain->SetBranchAddress("vertexY", &vertexY, &b_vertexY);
|
||||||
|
fChain->SetBranchAddress("vertexZ", &vertexZ, &b_vertexZ);
|
||||||
|
fChain->SetBranchAddress("vertexPx", &vertexPx, &b_vertexPx);
|
||||||
|
fChain->SetBranchAddress("vertexPy", &vertexPy, &b_vertexPy);
|
||||||
|
fChain->SetBranchAddress("vertexPz", &vertexPz, &b_vertexPz);
|
||||||
|
fChain->SetBranchAddress("gpsPosX", &gpsPosX, &b_gpsPosX);
|
||||||
|
fChain->SetBranchAddress("gpsPosY", &gpsPosY, &b_gpsPosY);
|
||||||
|
fChain->SetBranchAddress("gpsPosZ", &gpsPosZ, &b_gpsPosZ);
|
||||||
|
fChain->SetBranchAddress("runId", &runId, &b_runId);
|
||||||
|
fChain->SetBranchAddress("eventId", &eventId, &b_eventId);
|
||||||
|
fChain->SetBranchAddress("trackId", &trackId, &b_trackId);
|
||||||
|
fChain->SetBranchAddress("creatorProcess", &creatorProcess, &b_creatorProcess);
|
||||||
|
fChain->SetBranchAddress("parentId", &parentId, &b_parentId);
|
||||||
|
fChain->SetBranchAddress("lengthInCore", &lengthInCore, &b_lengthInCore);
|
||||||
|
fChain->SetBranchAddress("lengthInInnerCladding", &lengthInInnerCladding, &b_lengthInInnerCladding);
|
||||||
|
fChain->SetBranchAddress("lengthInOuterCladding", &lengthInOuterCladding, &b_lengthInOuterCladding);
|
||||||
|
// fChain->SetBranchAddress("detectorCopy", &detectorCopy, &b_detectorCopy);
|
||||||
|
// fChain->SetBranchAddress("subdetectorCopy", &subdetectorCopy, &b_subdetectorCopy);
|
||||||
|
Notify();
|
||||||
|
}
|
||||||
|
|
||||||
|
Bool_t myanalysis::Notify()
|
||||||
|
{
|
||||||
|
// The Notify() function is called when a new file is opened. This
|
||||||
|
// can be either for a new TTree in a TChain or when when a new TTree
|
||||||
|
// is started when using PROOF. It is normally not necessary to make changes
|
||||||
|
// to the generated code, but the routine can be extended by the
|
||||||
|
// user if needed. The return value is currently not used.
|
||||||
|
|
||||||
|
return kTRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void myanalysis::Show(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Print contents of entry.
|
||||||
|
// If entry is not specified, print current entry
|
||||||
|
if (!fChain) return;
|
||||||
|
fChain->Show(entry);
|
||||||
|
}
|
||||||
|
Int_t myanalysis::Cut(Long64_t entry)
|
||||||
|
{
|
||||||
|
// This function may be called from Loop.
|
||||||
|
// returns 1 if entry is accepted.
|
||||||
|
// returns -1 otherwise.
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif // #ifdef myanalysis_cxx
|
308
SimulationData/MyAnalysis/myanalysis.h~
Normal file
308
SimulationData/MyAnalysis/myanalysis.h~
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
//////////////////////////////////////////////////////////
|
||||||
|
// This class has been automatically generated on
|
||||||
|
// Tue Apr 21 13:01:22 2020 by ROOT version 6.12/06
|
||||||
|
// from TTree DetectedPhotons/Photons detected at the detector strip.
|
||||||
|
// found on file: outFile_1.root
|
||||||
|
//////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef myanalysis_h
|
||||||
|
#define myanalysis_h
|
||||||
|
|
||||||
|
#include <TROOT.h>
|
||||||
|
#include <TChain.h>
|
||||||
|
#include <TFile.h>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
//#ifdef __MAKECINT__
|
||||||
|
//#pragma link C++ class vector<float>+;
|
||||||
|
//#pragma link C++ class vector<int>+;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
// Header file for the classes stored in the TTree if any.
|
||||||
|
|
||||||
|
class myanalysis {
|
||||||
|
public :
|
||||||
|
TTree *fChain; //!pointer to the analyzed TTree or TChain
|
||||||
|
Int_t fCurrent; //!current Tree number in a TChain
|
||||||
|
|
||||||
|
// Fixed size dimensions of array or collections stored in the TTree if any.
|
||||||
|
|
||||||
|
// Declaration of leaf types
|
||||||
|
Float_t runID;
|
||||||
|
Float_t eventID;
|
||||||
|
Float_t detNumb;
|
||||||
|
Float_t xPixel;
|
||||||
|
Float_t yPixel;
|
||||||
|
Float_t energy;
|
||||||
|
Float_t wavelength;
|
||||||
|
Float_t localtime;
|
||||||
|
Float_t abstime;
|
||||||
|
Float_t length;
|
||||||
|
Float_t x;
|
||||||
|
Float_t y;
|
||||||
|
Float_t z;
|
||||||
|
Float_t px;
|
||||||
|
Float_t py;
|
||||||
|
Float_t pz;
|
||||||
|
Float_t vertexX;
|
||||||
|
Float_t vertexY;
|
||||||
|
Float_t vertexZ;
|
||||||
|
Float_t vertexPx;
|
||||||
|
Float_t vertexPy;
|
||||||
|
Float_t vertexPz;
|
||||||
|
Float_t gpsPosX;
|
||||||
|
Float_t gpsPosY;
|
||||||
|
Float_t gpsPosZ;
|
||||||
|
Float_t gpsDirX;
|
||||||
|
Float_t gpsDirY;
|
||||||
|
Float_t gpsDirZ;
|
||||||
|
Int_t runId;
|
||||||
|
Int_t eventId;
|
||||||
|
Int_t trackId;
|
||||||
|
Int_t creatorProcess;
|
||||||
|
Int_t parentId;
|
||||||
|
Int_t reflMirr;
|
||||||
|
Int_t reflSurf;
|
||||||
|
Int_t reflTotalCladClad;
|
||||||
|
Int_t reflTotalCoreClad;
|
||||||
|
Int_t reflFresnelCladClad;
|
||||||
|
Int_t reflFresnelCoreClad;
|
||||||
|
Int_t refracCladClad;
|
||||||
|
Int_t refracCoreClad;
|
||||||
|
Int_t rayleighScatterings;
|
||||||
|
Float_t lengthInCore;
|
||||||
|
Float_t lengthInInnerCladding;
|
||||||
|
Float_t lengthInOuterCladding;
|
||||||
|
Int_t detectorCopy;
|
||||||
|
Int_t subdetectorCopy;
|
||||||
|
|
||||||
|
// List of branches
|
||||||
|
TBranch *b_runID; //!
|
||||||
|
TBranch *b_eventID; //!
|
||||||
|
TBranch *b_detNumb; //!
|
||||||
|
TBranch *b_xPixel; //!
|
||||||
|
TBranch *b_yPixel; //!
|
||||||
|
TBranch *b_energy; //!
|
||||||
|
TBranch *b_wavelength; //!
|
||||||
|
TBranch *b_localtime; //!
|
||||||
|
TBranch *b_abstime; //!
|
||||||
|
TBranch *b_length; //!
|
||||||
|
TBranch *b_x; //!
|
||||||
|
TBranch *b_y; //!
|
||||||
|
TBranch *b_z; //!
|
||||||
|
TBranch *b_px; //!
|
||||||
|
TBranch *b_py; //!
|
||||||
|
TBranch *b_pz; //!
|
||||||
|
TBranch *b_vertexX; //!
|
||||||
|
TBranch *b_vertexY; //!
|
||||||
|
TBranch *b_vertexZ; //!
|
||||||
|
TBranch *b_vertexPx; //!
|
||||||
|
TBranch *b_vertexPy; //!
|
||||||
|
TBranch *b_vertexPz; //!
|
||||||
|
TBranch *b_gpsPosX; //!
|
||||||
|
TBranch *b_gpsPosY; //!
|
||||||
|
TBranch *b_gpsPosZ; //!
|
||||||
|
TBranch *b_runId; //!
|
||||||
|
TBranch *b_eventId; //!
|
||||||
|
TBranch *b_trackId; //!
|
||||||
|
TBranch *b_creatorProcess; //!
|
||||||
|
TBranch *b_parentId; //!
|
||||||
|
TBranch *b_reflMirr; //!
|
||||||
|
TBranch *b_reflSurf; //!
|
||||||
|
TBranch *b_reflTotalCladClad; //!
|
||||||
|
TBranch *b_reflTotalCoreClad; //!
|
||||||
|
TBranch *b_reflFresnelCladClad; //!
|
||||||
|
TBranch *b_reflFresnelCoreClad; //!
|
||||||
|
TBranch *b_refracCladClad; //!
|
||||||
|
TBranch *b_refracCoreClad; //!
|
||||||
|
TBranch *b_rayleighScatterings; //!
|
||||||
|
TBranch *b_lengthInCore; //!
|
||||||
|
TBranch *b_lengthInInnerCladding; //!
|
||||||
|
TBranch *b_lengthInOuterCladding; //!
|
||||||
|
TBranch *b_detectorCopy; //!
|
||||||
|
TBranch *b_subdetectorCopy; //!
|
||||||
|
|
||||||
|
myanalysis(TTree *tree=0);
|
||||||
|
virtual ~myanalysis();
|
||||||
|
virtual Int_t Cut(Long64_t entry);
|
||||||
|
virtual Int_t GetEntry(Long64_t entry);
|
||||||
|
virtual Long64_t LoadTree(Long64_t entry);
|
||||||
|
virtual void Init(TTree *tree);
|
||||||
|
virtual void Loop();
|
||||||
|
virtual Bool_t Notify();
|
||||||
|
virtual void Show(Long64_t entry = -1);
|
||||||
|
|
||||||
|
|
||||||
|
std::vector<float> runID_vec;
|
||||||
|
std::vector<float> eventID_vec;
|
||||||
|
std::vector<float> detNumb_vec;
|
||||||
|
std::vector<float> xPixel_vec;
|
||||||
|
std::vector<float> yPixel_vec;
|
||||||
|
std::vector<float> energy_vec;
|
||||||
|
std::vector<float> wavelength_vec;
|
||||||
|
std::vector<float> localtime_vec;
|
||||||
|
std::vector<float> abstime_vec;
|
||||||
|
std::vector<float> length_vec;
|
||||||
|
std::vector<float> x_vec;
|
||||||
|
std::vector<float> y_vec;
|
||||||
|
std::vector<float> z_vec;
|
||||||
|
std::vector<float> px_vec;
|
||||||
|
std::vector<float> py_vec;
|
||||||
|
std::vector<float> pz_vec;
|
||||||
|
std::vector<float> vertexX_vec;
|
||||||
|
std::vector<float> vertexY_vec;
|
||||||
|
std::vector<float> vertexZ_vec;
|
||||||
|
std::vector<float> vertexPx_vec;
|
||||||
|
std::vector<float> vertexPy_vec;
|
||||||
|
std::vector<float> vertexPz_vec;
|
||||||
|
std::vector<float> gpsPosX_vec;
|
||||||
|
std::vector<float> gpsPosY_vec;
|
||||||
|
std::vector<float> gpsPosZ_vec;
|
||||||
|
std::vector<float> gpsDirX_vec;
|
||||||
|
std::vector<float> gpsDirY_vec;
|
||||||
|
std::vector<float> gpsDirZ_vec;
|
||||||
|
std::vector<int> runId_vec;
|
||||||
|
std::vector<int> eventId_vec;
|
||||||
|
std::vector<int> trackId_vec;
|
||||||
|
std::vector<int> creatorProcess_vec;
|
||||||
|
std::vector<int> parentId_vec;
|
||||||
|
std::vector<int> reflMirr_vec;
|
||||||
|
std::vector<int> reflSurf_vec;
|
||||||
|
std::vector<int> reflTotalCladClad_vec;
|
||||||
|
std::vector<int> reflTotalCoreClad_vec;
|
||||||
|
std::vector<int> reflFresnelCladClad_vec;
|
||||||
|
std::vector<int> reflFresnelCoreClad_vec;
|
||||||
|
std::vector<int> refracCladClad_vec;
|
||||||
|
std::vector<int> refracCoreClad_vec;
|
||||||
|
std::vector<int> rayleighScatterings_vec;
|
||||||
|
std::vector<float> lengthInCore_vec;
|
||||||
|
std::vector<float> lengthInInnerCladding_vec;
|
||||||
|
std::vector<float> lengthInOuterCladding_vec;
|
||||||
|
std::vector<int> detectorCopy_vec;
|
||||||
|
std::vector<int> subdetectorCopy_vec;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef myanalysis_cxx
|
||||||
|
myanalysis::myanalysis(TTree *tree) : fChain(0)
|
||||||
|
{
|
||||||
|
// if parameter tree is not specified (or zero), connect the file
|
||||||
|
// used to generate this class and read the Tree.
|
||||||
|
if (tree == 0) {
|
||||||
|
TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("outFile_1.root");
|
||||||
|
if (!f || !f->IsOpen()) {
|
||||||
|
f = new TFile("outFile_1.root");
|
||||||
|
}
|
||||||
|
f->GetObject("DetectedPhotons",tree);
|
||||||
|
|
||||||
|
}
|
||||||
|
Init(tree);
|
||||||
|
}
|
||||||
|
|
||||||
|
myanalysis::~myanalysis()
|
||||||
|
{
|
||||||
|
if (!fChain) return;
|
||||||
|
delete fChain->GetCurrentFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
Int_t myanalysis::GetEntry(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Read contents of entry.
|
||||||
|
if (!fChain) return 0;
|
||||||
|
return fChain->GetEntry(entry);
|
||||||
|
}
|
||||||
|
Long64_t myanalysis::LoadTree(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Set the environment to read one entry
|
||||||
|
if (!fChain) return -5;
|
||||||
|
Long64_t centry = fChain->LoadTree(entry);
|
||||||
|
if (centry < 0) return centry;
|
||||||
|
if (fChain->GetTreeNumber() != fCurrent) {
|
||||||
|
fCurrent = fChain->GetTreeNumber();
|
||||||
|
Notify();
|
||||||
|
}
|
||||||
|
return centry;
|
||||||
|
}
|
||||||
|
|
||||||
|
void myanalysis::Init(TTree *tree)
|
||||||
|
{
|
||||||
|
// The Init() function is called when the selector needs to initialize
|
||||||
|
// a new tree or chain. Typically here the branch addresses and branch
|
||||||
|
// pointers of the tree will be set.
|
||||||
|
// It is normally not necessary to make changes to the generated
|
||||||
|
// code, but the routine can be extended by the user if needed.
|
||||||
|
// Init() will be called many times when running on PROOF
|
||||||
|
// (once per file to be processed).
|
||||||
|
|
||||||
|
// Set branch addresses and branch pointers
|
||||||
|
if (!tree) return;
|
||||||
|
fChain = tree;
|
||||||
|
fCurrent = -1;
|
||||||
|
fChain->SetMakeClass(1);
|
||||||
|
|
||||||
|
fChain->SetBranchAddress("runID", &runID, &b_runID);
|
||||||
|
fChain->SetBranchAddress("eventID", &eventID, &b_eventID);
|
||||||
|
fChain->SetBranchAddress("detNumb", &detNumb, &b_detNumb);
|
||||||
|
fChain->SetBranchAddress("xPixel", &xPixel, &b_xPixel);
|
||||||
|
fChain->SetBranchAddress("yPixel", &yPixel, &b_yPixel);
|
||||||
|
fChain->SetBranchAddress("energy", &energy, &b_energy);
|
||||||
|
fChain->SetBranchAddress("wavelength", &wavelength, &b_wavelength);
|
||||||
|
fChain->SetBranchAddress("localtime", &localtime, &b_localtime);
|
||||||
|
fChain->SetBranchAddress("abstime", &abstime, &b_abstime);
|
||||||
|
fChain->SetBranchAddress("length", &length, &b_length);
|
||||||
|
fChain->SetBranchAddress("x", &x, &b_x);
|
||||||
|
fChain->SetBranchAddress("y", &y, &b_y);
|
||||||
|
fChain->SetBranchAddress("z", &z, &b_z);
|
||||||
|
fChain->SetBranchAddress("px", &px, &b_px);
|
||||||
|
fChain->SetBranchAddress("py", &py, &b_py);
|
||||||
|
fChain->SetBranchAddress("pz", &pz, &b_pz);
|
||||||
|
fChain->SetBranchAddress("vertexX", &vertexX, &b_vertexX);
|
||||||
|
fChain->SetBranchAddress("vertexY", &vertexY, &b_vertexY);
|
||||||
|
fChain->SetBranchAddress("vertexZ", &vertexZ, &b_vertexZ);
|
||||||
|
fChain->SetBranchAddress("vertexPx", &vertexPx, &b_vertexPx);
|
||||||
|
fChain->SetBranchAddress("vertexPy", &vertexPy, &b_vertexPy);
|
||||||
|
fChain->SetBranchAddress("vertexPz", &vertexPz, &b_vertexPz);
|
||||||
|
fChain->SetBranchAddress("gpsPosX", &gpsPosX, &b_gpsPosX);
|
||||||
|
fChain->SetBranchAddress("gpsPosY", &gpsPosY, &b_gpsPosY);
|
||||||
|
fChain->SetBranchAddress("gpsPosZ", &gpsPosZ, &b_gpsPosZ);
|
||||||
|
fChain->SetBranchAddress("runId", &runId, &b_runId);
|
||||||
|
fChain->SetBranchAddress("eventId", &eventId, &b_eventId);
|
||||||
|
fChain->SetBranchAddress("trackId", &trackId, &b_trackId);
|
||||||
|
fChain->SetBranchAddress("creatorProcess", &creatorProcess, &b_creatorProcess);
|
||||||
|
fChain->SetBranchAddress("parentId", &parentId, &b_parentId);
|
||||||
|
fChain->SetBranchAddress("lengthInCore", &lengthInCore, &b_lengthInCore);
|
||||||
|
fChain->SetBranchAddress("lengthInInnerCladding", &lengthInInnerCladding, &b_lengthInInnerCladding);
|
||||||
|
fChain->SetBranchAddress("lengthInOuterCladding", &lengthInOuterCladding, &b_lengthInOuterCladding);
|
||||||
|
fChain->SetBranchAddress("detectorCopy", &detectorCopy, &b_detectorCopy);
|
||||||
|
fChain->SetBranchAddress("subdetectorCopy", &subdetectorCopy, &b_subdetectorCopy);
|
||||||
|
Notify();
|
||||||
|
}
|
||||||
|
|
||||||
|
Bool_t myanalysis::Notify()
|
||||||
|
{
|
||||||
|
// The Notify() function is called when a new file is opened. This
|
||||||
|
// can be either for a new TTree in a TChain or when when a new TTree
|
||||||
|
// is started when using PROOF. It is normally not necessary to make changes
|
||||||
|
// to the generated code, but the routine can be extended by the
|
||||||
|
// user if needed. The return value is currently not used.
|
||||||
|
|
||||||
|
return kTRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void myanalysis::Show(Long64_t entry)
|
||||||
|
{
|
||||||
|
// Print contents of entry.
|
||||||
|
// If entry is not specified, print current entry
|
||||||
|
if (!fChain) return;
|
||||||
|
fChain->Show(entry);
|
||||||
|
}
|
||||||
|
Int_t myanalysis::Cut(Long64_t entry)
|
||||||
|
{
|
||||||
|
// This function may be called from Loop.
|
||||||
|
// returns 1 if entry is accepted.
|
||||||
|
// returns -1 otherwise.
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif // #ifdef myanalysis_cxx
|
BIN
SimulationData/MyAnalysis/myanalysis.o
Normal file
BIN
SimulationData/MyAnalysis/myanalysis.o
Normal file
Binary file not shown.
96
SimulationData/edep.C
Normal file
96
SimulationData/edep.C
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
|
||||||
|
{
|
||||||
|
gROOT->Reset();
|
||||||
|
|
||||||
|
gROOT->Reset();
|
||||||
|
gStyle.SetStripDecimals(0);
|
||||||
|
gStyle.SetPadLeftMargin(.15);
|
||||||
|
gStyle.SetPadRightMargin(.05);
|
||||||
|
gStyle.SetPadBottomMargin(.15);
|
||||||
|
gStyle->SetOptStat(1);
|
||||||
|
gStyle->SetOptFit(0);
|
||||||
|
gStyle->SetOptTitle(1);
|
||||||
|
|
||||||
|
|
||||||
|
TCanvas * c1 = new TCanvas("c1","multipads",800,800);
|
||||||
|
gStyle->SetPadBorderMode(0);
|
||||||
|
gStyle->SetFrameBorderMode(0);
|
||||||
|
Float_t small = 1e-5;
|
||||||
|
c1->Divide(1,3,small,small);
|
||||||
|
|
||||||
|
TFile *_file0 = TFile::Open("Sept142015/outFile_5layer_0.275mm.root");
|
||||||
|
TH1F *h1 = new TH1F("h1","5 layer 0.275mm",200,0.0,0.7);
|
||||||
|
h1->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
TFile *_file1 = TFile::Open("Sept142015/outFile_6layer_0.275mm.root");
|
||||||
|
TH1F *h2 = new TH1F("h2","6 layer 0.275mm",200,0.0,0.7);
|
||||||
|
h2->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
TFile *_file2 = TFile::Open("Sept142015/outFile_7layer_0.300mm.root");
|
||||||
|
TH1F *h3 = new TH1F("h3","7 layer 0.300mm",200,0.0,0.7);
|
||||||
|
h3->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
TFile *_file3 = TFile::Open("Sept142015/outFile_7layer_0.325mm.root");
|
||||||
|
TH1F *h4 = new TH1F("h4","7 layer 0.325mm",200,0.0,0.7);
|
||||||
|
h4->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
TFile *_file4 = TFile::Open("Sept142015/outFile_8layer_0.350mm.root");
|
||||||
|
TH1F *h5 = new TH1F("h5","8 layer 0.350mm",200,0.0,0.7);
|
||||||
|
h5->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
TFile *_file5 = TFile::Open("Sept142015/outFile_8layer_0.375mm.root");
|
||||||
|
TH1F *h6 = new TH1F("h6","8 layer 0.375mm",200,0.0,0.7);
|
||||||
|
h6->GetYaxis()->SetRangeUser(0,6500);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
_file0->cd();
|
||||||
|
EnergyTrack->Project("h1","edep");
|
||||||
|
_file1->cd();
|
||||||
|
EnergyTrack->Project("h2","edep");
|
||||||
|
_file2->cd();
|
||||||
|
EnergyTrack->Project("h3","edep");
|
||||||
|
_file3->cd();
|
||||||
|
EnergyTrack->Project("h4","edep");
|
||||||
|
_file4->cd();
|
||||||
|
EnergyTrack->Project("h5","edep");
|
||||||
|
_file5->cd();
|
||||||
|
EnergyTrack->Project("h6","edep");
|
||||||
|
|
||||||
|
c1->cd(1);
|
||||||
|
gPad->SetBottomMargin(small);
|
||||||
|
_file0->cd();
|
||||||
|
h1->Draw();
|
||||||
|
|
||||||
|
c1->cd(2);
|
||||||
|
gPad->SetTopMargin(small);
|
||||||
|
gPad->SetBottomMargin(small);
|
||||||
|
h2->Draw();
|
||||||
|
|
||||||
|
c1->cd(3);
|
||||||
|
gPad->SetTopMargin(small);
|
||||||
|
h3->Draw();
|
||||||
|
|
||||||
|
TCanvas * c2 = new TCanvas("c2","multipads",800,800);
|
||||||
|
gStyle->SetPadBorderMode(0);
|
||||||
|
gStyle->SetFrameBorderMode(0);
|
||||||
|
Float_t small = 1e-5;
|
||||||
|
c2->Divide(1,3,small,small);
|
||||||
|
|
||||||
|
c2->cd(1);
|
||||||
|
gPad->SetTopMargin(small);
|
||||||
|
gPad->SetBottomMargin(small);
|
||||||
|
h4->Draw();
|
||||||
|
|
||||||
|
c2->cd(2);
|
||||||
|
gPad->SetTopMargin(small);
|
||||||
|
gPad->SetBottomMargin(small);
|
||||||
|
h5->Draw();
|
||||||
|
|
||||||
|
c2->cd(3);
|
||||||
|
gPad->SetTopMargin(small);
|
||||||
|
gPad->SetTickx();
|
||||||
|
h6->Draw();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
25
SimulationData/muongun.mac
Normal file
25
SimulationData/muongun.mac
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/control/verbose 0
|
||||||
|
/tracking/verbose 0
|
||||||
|
/event/verbose 0
|
||||||
|
/gps/verbose 0
|
||||||
|
|
||||||
|
/gps/particle mu-
|
||||||
|
/gps/ene/mono 4 GeV
|
||||||
|
/gps/pos/type Plane
|
||||||
|
/gps/pos/shape Square
|
||||||
|
/gps/pos/halfx 2 mm
|
||||||
|
/gps/pos/halfy 2 mm
|
||||||
|
/gps/pos/halfz 2 mm
|
||||||
|
/gps/pos/rot2 0 0 1 # sets the x-y plane of source in the global x-z plane.
|
||||||
|
/gps/pos/centre 0. 5.0 5. mm
|
||||||
|
/gps/ang/type iso
|
||||||
|
/gps/ang/mintheta 0.0 deg
|
||||||
|
/gps/ang/maxtheta 1.0 deg
|
||||||
|
/gps/ang/minphi 0.0 deg
|
||||||
|
/gps/ang/maxphi 0.1 deg
|
||||||
|
|
||||||
|
|
||||||
|
/run/beamOn 200
|
||||||
|
#/run/beamOn 10
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user